diff --git a/src/read_sequencing/__init__.py b/src/read_sequencing/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..b03b3e1196a1f4953679709027bd08f192f60548 --- /dev/null +++ b/src/read_sequencing/__init__.py @@ -0,0 +1,3 @@ +"""Placeholder package.""" + +__version__ = '0.1.0' diff --git a/src/read_sequencing/cli.py b/src/read_sequencing/cli.py new file mode 100644 index 0000000000000000000000000000000000000000..8451c47a635776be1c403cc9afedf6ba569ebe80 --- /dev/null +++ b/src/read_sequencing/cli.py @@ -0,0 +1,53 @@ +import argparse +from read_sequencing import read_sequencing + + +def parse_args() -> argparse.Namespace: + """Parse CLI arguments. + + Returns: + Parsed CLI arguments. + """ + + # initiate parser + parser = argparse.ArgumentParser(description='Simulate the Sequencing of Reads') + + # add arguments + parser.add_argument('--frag_file_name', + type=str, + help='input file name') + + parser.add_argument('--output_file_name', + type=str, + help='output file name') + + parser.add_argument('--num_reads', + type=int, + help='desired number of reads') + + parser.add_argument('--read_len', + type=int, + help='length of each read') + + return parser.parse_args() + + +def main() -> None: + """Main function. + + Interprets the arguments from the commandline, + Runs the functions read_sequencing. + """ + + args = parse_args() + read_sequencing(frag_file_name=args.frag_file_name, + output_file_name=args.output_file_name, + num_reads=args.num_reads, + read_len=args.read_len) + + +if __name__ == '__main__': + """Initiates main. + Calls main function only if run from commandline, but not if imported. + """ + main() diff --git a/src/read_sequencing.py b/src/read_sequencing/read_sequencing.py similarity index 100% rename from src/read_sequencing.py rename to src/read_sequencing/read_sequencing.py