From 3e933d2d5f764266689fc16eef4c9f6e43ede186 Mon Sep 17 00:00:00 2001 From: "kathleen.moriarty" <kathleen.moriarty@unibas.ch> Date: Mon, 3 Jan 2022 13:34:49 +0100 Subject: [PATCH] add subpackage with cli --- src/read_sequencing/__init__.py | 3 ++ src/read_sequencing/cli.py | 53 ++++++++++++++++++++ src/{ => read_sequencing}/read_sequencing.py | 0 3 files changed, 56 insertions(+) create mode 100644 src/read_sequencing/__init__.py create mode 100644 src/read_sequencing/cli.py rename src/{ => read_sequencing}/read_sequencing.py (100%) diff --git a/src/read_sequencing/__init__.py b/src/read_sequencing/__init__.py new file mode 100644 index 0000000..b03b3e1 --- /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 0000000..8451c47 --- /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 -- GitLab