string usage(ArgProcessor args) { bool show_advanced = args.isArgSet("--show_advanced"); stringstream usage_info; usage_info << endl << endl << "Usage:" << endl << " inchworm --reads <filename.fasta> --run_inchworm [opts] " << endl << " inchworm --kmers <filename.fasta> --run_inchworm [opts] " << endl << " inchworm --kmer_files_listing <kmer_file_list.txt> --run_inchworm [opts] " << endl << endl << "**Required" << endl << " --reads <str> " << ":fasta file containing reads" << endl << " --kmers <str> " << ":fasta file containing kmers" << endl << " --kmer_files_listing <str> " << ":file listing filenames containing kmers" << endl << endl; usage_info << endl << "** Run modes:" << endl << " --run_inchworm " << ":run inchworm, report sequences" << endl; if (show_advanced) { usage_info << " * advanced: " << endl << " --describe_kmers " << ":just describe kmers in the graph" << endl << " --checkFastaPath <str> " << ":check fastea seqs for path in kmer graph" << endl << " --threadFasta <str> " << ":thread sequences through the kmer graph, report kmer" << endl; } usage_info << endl << "** General opts" << endl << " -K <int> " << ":kmer length (default: 25, meaning 24mer overlaps) max = 32 (stored as 64-bit integers, 2-base char encoding)" << endl << " --minKmerCount <int> " << ":min kmer count, lower abundant kmers are pruned from graph (default: 1)" << endl << " -L <int> " << ":min contig length to be reported (default: 25)" << endl << " --min_assembly_coverage <int> " << ":min kmer coverage of an assembled contig to be reported (default: 2)" << endl << " --coverage_outfile <str> " << ":file to store per-base kmer coverage for contigs" << endl << " --DS " << ":double-stranded RNA-Seq mode (not strand-specific)" << endl << " --no_prune_error_kmers " << ":disable pruning of kmers that occur at below --min_ratio_non_error " << endl << " --min_ratio_non_error <float> " << ":min ratio for low/high alternative extension that is not an error (default: 0.05)" << endl << " --num_threads <int> " << ":number of threads to use. (by default, uses OMP_NUM_THREADS env var setting)" << endl << " --PARALLEL_IWORM " << ":run the contig building in parallel; by default, only does parallel read parsing." << endl; if (show_advanced) { usage_info << " * advanced opts:" << endl // << " -R <int> " << ":maximum recursion length (default: 1)" << endl << " --min_any_entropy <float> " << ":kmer must have at least this entropy to be added to the graph (default: 0)" << endl << " --min_seed_entropy <float> " << ":min seed kmer entropy (default: 1.5)" << endl << " --min_seed_coverage <int> " << ":min seed kmer coverage (default: 2)" << endl // << " --crawl " << ":drag tail of inchworm by --crawl_length" << endl // << " --crawl_length <int> " << ":length of tail end crawl (default: 1)" << endl // << " --pacman " << ":exclude kmers as they're visited in descending order of counts" << endl // << " --pruneSingletonKmersReadInterval <long> " << ":at num reads parsed interval, prune singleton kmers (default: 0)" << endl // << " --min_con_ratio <float> " << ":minimum connectivity ratio (min/max) between neighboring kmers (default: 0)" << endl // << " --reassembleIworm " << ":redo assembly using previous inchworm outputs. Post-process to vary-K" << endl; << " * developer flags: " << endl << " --DEVEL_no_kmer_sort " << ":no sorting of kmer by abundance values occurs. Kmer seeds chosen according to hash iterator order." << endl << " --DEVEL_no_greedy_extend " << ":instead of greedy contig extensions, any non-zero kmer is chosen to extend." << endl << " --DEVEL_no_tie_breaking " << ":if tie, choose either path randomly" << endl << " --DEVEL_zero_kmer_on_use " << ":zero kmer counts on use rather than after contig construction" << endl << " --DEVEL_rand_fracture_prob <float> " << " :probability of fracturing an inchworm contig at each extension (default: 0 (off)" << endl << " --SINGLE_PHASE " << ":in parallel mode, do a single iworm construction phase instead of default 2-phase" << endl << " --keep_tmp_files " << ":retain temporary files." << endl; } usage_info << endl << "** Misc opts." << endl << " --help " << ":produce this menu." << endl << " --monitor <int> " << ":verbosity. ( '1': recommended, '2': for debugging ) " << endl << " --show_advanced " << ":more advanced options (mostly experimental)" << endl << endl << endl << endl; return (usage_info.str()); }
string usage (ArgProcessor args) { bool show_advanced = args.isArgSet("--show_advanced"); stringstream usage_info; usage_info << endl << endl << "Usage:" << endl << " inchworm --reads <filename.fasta> --run_inchworm [opts] " << endl << " inchworm --kmers <filename.fasta> --run_inchworm [opts] " << endl << " inchworm --kmer_files_listing <kmer_file_list.txt> --run_inchworm [opts] " << endl << endl << "**Required" << endl << " --reads <str> " << ":fasta file containing reads" << endl << " --kmers <str> " << ":fasta file containing kmers" << endl << " --kmer_files_listing <str> " << ":file listing filenames containing kmers" << endl << endl; usage_info << endl << "** Run modes:" << endl << " --run_inchworm " << ":run inchworm, report sequences" << endl; if (show_advanced) { usage_info << " * advanced: " << endl // << " --describe_kmers " << ":just describe kmers in the graph" << endl << " --checkFastaPath <str> " << ":check fastea seqs for path in kmer graph" << endl << " --threadFasta <str> " << ":thread sequences through the kmer graph, report kmer" << endl; } usage_info << endl << "** General opts" << endl << " -K <int> " << ":kmer length (default: 25, meaning 24mer overlaps) max = 32 (stored as 64-bit integers, 2-base char encoding)" << endl << " --minKmerCount <int> " << ":min kmer count, lower abundant kmers are pruned from graph (default: 1)" << endl << " -L <int> " << ":min contig length to be reported (default: 25)" << endl << " --min_assembly_coverage <int> " << ":min kmer coverage of an assembled contig to be reported (default: 2)" << endl << " --coverage_outfile <str> " << ":file to store per-base kmer coverage for contigs" << endl << " --DS " << ":double-stranded RNA-Seq mode (not strand-specific)" << endl << " --no_prune_error_kmers " << ":disable pruning of kmers that occur at below --min_ratio_non_error " << endl << " --min_ratio_non_error <float> " << ":min ratio for low/high alternative extension that is not an error (default: 0.05)" << endl << " --num_threads <int> " << ":number of threads to use." << endl ; if (show_advanced) { usage_info << " * advanced opts:" << endl // << " -R <int> " << ":maximum recursion length (default: 1)" << endl << " --min_any_entropy <float> " << ":kmer must have at least this entropy to be added to the graph (default: 0)" << endl << " --min_seed_entropy <float> " << ":min seed kmer entropy (default: 1.5)" << endl << " --min_seed_coverage <int> " << ":min seed kmer coverage (default: 2)" << endl // << " --crawl " << ":drag tail of inchworm by --crawl_length" << endl // << " --crawl_length <int> " << ":length of tail end crawl (default: 1)" << endl // << " --pacman " << ":exclude kmers as they're visited in descending order of counts" << endl // << " --pruneSingletonKmersReadInterval <long> " << ":at num reads parsed interval, prune singleton kmers (default: 0)" << endl // << " --min_con_ratio <float> " << ":minimum connectivity ratio (min/max) between neighboring kmers (default: 0)" << endl // << " --reassembleIworm " << ":redo assembly using previous inchworm outputs. Post-process to vary-K" << endl; ; } usage_info << endl << "** Misc opts." << endl << " --help " << ":produce this menu." << endl << " --monitor <int> " << ":verbosity. ( '1': recommended, '2': for debugging ) " << endl << " --show_advanced " << ":more advanced options (mostly experimental)" << endl << endl << endl << endl; return(usage_info.str()); }