diff --git a/ariba/tasks/prepareref.py b/ariba/tasks/prepareref.py index e665e23e..62fb74ef 100644 --- a/ariba/tasks/prepareref.py +++ b/ariba/tasks/prepareref.py @@ -1,3 +1,4 @@ +import sys import argparse from ariba import ref_preparer, external_progs, versions @@ -14,8 +15,8 @@ def run(): input_group.add_argument('--metadata', help='tsv file of metadata about the reference sequences', metavar='FILENAME') cdhit_group = parser.add_argument_group('cd-hit options') - cdhit_group.add_argument('--no_cdhit', action='store_true', help='Do not run cd-hit. Each input sequence is put into its own "cluster"') - cdhit_group.add_argument('--cdhit_clusters', help='File specifying how the sequences should be clustered. Will be used instead of running cdhit. Format is one cluster per line. Sequence names separated by whitespace. First name in line is the cluster representative', metavar='FILENAME') + cdhit_group.add_argument('--no_cdhit', action='store_true', help='Do not run cd-hit. Each input sequence is put into its own "cluster". Incompatible with --cdhit_clusters.') + cdhit_group.add_argument('--cdhit_clusters', help='File specifying how the sequences should be clustered. Will be used instead of running cdhit. Format is one cluster per line. Sequence names separated by whitespace. First name in line is the cluster representative. Incompatible with --no_cdhit', metavar='FILENAME') cdhit_group.add_argument('--cdhit_min_id', type=float, help='Sequence identity threshold (cd-hit option -c) [%(default)s]', default=0.9, metavar='FLOAT') cdhit_group.add_argument('--cdhit_min_length', type=float, help='length difference cutoff (cd-hit option -s) [%(default)s]', default=0.9, metavar='FLOAT') @@ -29,6 +30,9 @@ def run(): parser.add_argument('outdir', help='Output directory (must not already exist)') options = parser.parse_args() + if options.no_cdhit and options.cdhit_clusters is not None: + sys.exit('Cannot use both --no_cdhit and --cdhit_clusters. Neither or exactly one of those options must be used') + extern_progs, version_report_lines = versions.get_all_versions() if options.verbose: print(*version_report_lines, sep='\n')