@@ -860,7 +860,11 @@ void parseArg(int argc, char *argv[], Params ¶ms) {
860860 params.partfinder_log_rate = true ;
861861 params.remove_empty_seq = true ;
862862 params.terrace_aware = true ;
863+ #ifdef IQTREE_TERRAPHAST
864+ params.terrace_analysis = true ;
865+ #else
863866 params.terrace_analysis = false ;
867+ #endif
864868 params.sequence_type = NULL ;
865869 params.aln_output = NULL ;
866870 params.aln_site_list = NULL ;
@@ -1137,7 +1141,7 @@ void parseArg(int argc, char *argv[], Params ¶ms) {
11371141#endif
11381142 continue ;
11391143 }
1140- if (strcmp (argv[cnt], " -version" ) == 0 || strcmp (argv[cnt], " --version" ) == 0 ) {
1144+ if (strcmp (argv[cnt], " -V " ) == 0 || strcmp (argv[cnt], " - version" ) == 0 || strcmp (argv[cnt], " --version" ) == 0 ) {
11411145 printCopyright (cout);
11421146 exit (EXIT_SUCCESS);
11431147 }
@@ -2085,7 +2089,13 @@ void parseArg(int argc, char *argv[], Params ¶ms) {
20852089#endif
20862090 continue ;
20872091 }
2088- if (strcmp (argv[cnt], " -sf" ) == 0 ) {
2092+
2093+ if (strcmp (argv[cnt], " --no-terrace" ) == 0 ) {
2094+ params.terrace_analysis = false ;
2095+ continue ;
2096+ }
2097+
2098+ if (strcmp (argv[cnt], " -sf" ) == 0 ) {
20892099 cnt++;
20902100 if (cnt >= argc)
20912101 throw " Use -sf <ngs_file>" ;
@@ -2731,13 +2741,15 @@ void parseArg(int argc, char *argv[], Params ¶ms) {
27312741 throw " Wrong number of threads" ;
27322742 continue ;
27332743 }
2734- if (strcmp (argv[cnt], " -b" ) == 0 || strcmp (argv[cnt], " -j" ) == 0 || strcmp (argv[cnt], " -bo" ) == 0 || strcmp (argv[cnt], " --bonly" ) == 0 ) {
2744+ if (strcmp (argv[cnt], " -b" ) == 0 || strcmp (argv[cnt], " --boot" ) == 0 ||
2745+ strcmp (argv[cnt], " -j" ) == 0 || strcmp (argv[cnt], " --jack" ) == 0 ||
2746+ strcmp (argv[cnt], " -bo" ) == 0 || strcmp (argv[cnt], " --bonly" ) == 0 ) {
27352747 params.multi_tree = true ;
27362748 if (strcmp (argv[cnt], " -bo" ) == 0 || strcmp (argv[cnt], " --bonly" ) == 0 )
27372749 params.compute_ml_tree = false ;
27382750 else
27392751 params.consensus_type = CT_CONSENSUS_TREE;
2740- if (strcmp (argv[cnt], " -j" ) == 0 && params.jackknife_prop == 0.0 )
2752+ if (( strcmp (argv[cnt], " -j" ) == 0 || strcmp (argv[cnt], " --jack " ) == 0 ) && params.jackknife_prop == 0.0 )
27412753 params.jackknife_prop = 0.5 ;
27422754 cnt++;
27432755 if (cnt >= argc)
@@ -2751,7 +2763,7 @@ void parseArg(int argc, char *argv[], Params ¶ms) {
27512763 params.consensus_type = CT_NONE;
27522764 continue ;
27532765 }
2754- if (strcmp (argv[cnt], " --bsam" ) == 0 || strcmp (argv[cnt], " -bsam" ) == 0 ) {
2766+ if (strcmp (argv[cnt], " --bsam" ) == 0 || strcmp (argv[cnt], " -bsam" ) == 0 || strcmp (argv[cnt], " --sampling " ) == 0 ) {
27552767 cnt++;
27562768 if (cnt >= argc)
27572769 throw " Use -bsam <bootstrap_specification>" ;
@@ -2813,7 +2825,7 @@ void parseArg(int argc, char *argv[], Params ¶ms) {
28132825 continue ;
28142826 }
28152827
2816- if (strcmp (argv[cnt], " -wt" ) == 0 ) {
2828+ if (strcmp (argv[cnt], " -wt" ) == 0 || strcmp (argv[cnt], " --treels " ) == 0 ) {
28172829 params.write_intermediate_trees = 1 ;
28182830 continue ;
28192831 }
@@ -2940,12 +2952,12 @@ void parseArg(int argc, char *argv[], Params ¶ms) {
29402952 throw " Local bootstrap (LBP) replicates must be at least 1000" ;
29412953 continue ;
29422954 }
2943- if (strcmp (argv[cnt], " -wsl" ) == 0 ) {
2955+ if (strcmp (argv[cnt], " -wsl" ) == 0 || strcmp (argv[cnt], " --sitelh " ) == 0 ) {
29442956 params.print_site_lh = WSL_SITE;
29452957 continue ;
29462958 }
29472959
2948- if (strcmp (argv[cnt], " -wpl" ) == 0 ) {
2960+ if (strcmp (argv[cnt], " -wpl" ) == 0 || strcmp (argv[cnt], " --partlh " ) == 0 ) {
29492961 params.print_partition_lh = true ;
29502962 continue ;
29512963 }
@@ -3204,12 +3216,13 @@ void parseArg(int argc, char *argv[], Params ¶ms) {
32043216 params.eco_run = convert_int (argv[cnt]);
32053217 continue ;
32063218 }
3207- if (strcmp (argv[cnt], " -bb" ) == 0 || strcmp (argv[cnt], " -B" ) == 0 || strcmp (argv[cnt], " -J" ) == 0 ) {
3208- if (strcmp (argv[cnt], " -J" ) == 0 && params.jackknife_prop == 0.0 )
3219+ if (strcmp (argv[cnt], " -bb" ) == 0 || strcmp (argv[cnt], " -B" ) == 0 || strcmp (argv[cnt], " --ufboot" ) == 0 ||
3220+ strcmp (argv[cnt], " -J" ) == 0 || strcmp (argv[cnt], " --ufjack" ) == 0 ) {
3221+ if ((strcmp (argv[cnt], " -J" ) == 0 || strcmp (argv[cnt], " --ufjack" ) == 0 ) && params.jackknife_prop == 0.0 )
32093222 params.jackknife_prop = 0.5 ;
32103223 cnt++;
32113224 if (cnt >= argc)
3212- throw " Use -bb <#replicates>" ;
3225+ throw " Use -B <#replicates>" ;
32133226 if (params.stop_condition == SC_FIXED_ITERATION) {
32143227 throw (" Ultrafast bootstrap does not work with -fast, -te or -n option" );
32153228 }
@@ -3231,7 +3244,7 @@ void parseArg(int argc, char *argv[], Params ¶ms) {
32313244 throw " Epsilon must be positive" ;
32323245 continue ;
32333246 }
3234- if (strcmp (argv[cnt], " -wbt" ) == 0 || strcmp (argv[cnt], " --wbt" ) == 0 ) {
3247+ if (strcmp (argv[cnt], " -wbt" ) == 0 || strcmp (argv[cnt], " --wbt" ) == 0 || strcmp (argv[cnt], " --boot-trees " ) == 0 ) {
32353248 params.print_ufboot_trees = 1 ;
32363249 continue ;
32373250 }
@@ -3535,7 +3548,7 @@ void parseArg(int argc, char *argv[], Params ¶ms) {
35353548 params.pll = true ;
35363549 continue ;
35373550 }
3538- if (strcmp (argv[cnt], " -me" ) == 0 || strcmp (argv[cnt], " --model- epsilon" ) == 0 ) {
3551+ if (strcmp (argv[cnt], " -me" ) == 0 || strcmp (argv[cnt], " --epsilon" ) == 0 ) {
35393552 cnt++;
35403553 if (cnt >= argc)
35413554 throw " Use -me <model_epsilon>" ;
@@ -3961,7 +3974,7 @@ void parseArg(int argc, char *argv[], Params ¶ms) {
39613974 continue ;
39623975 }
39633976
3964- if (strcmp (argv[cnt], " --force-unfinish " ) == 0 ) {
3977+ if (strcmp (argv[cnt], " --undo " ) == 0 ) {
39653978 params.force_unfinished = true ;
39663979 continue ;
39673980 }
@@ -4211,20 +4224,26 @@ void usage_iqtree(char* argv[], bool full_command) {
42114224 printCopyright (cout);
42124225 cout << " Usage: iqtree [-s ALIGNMENT] [-p PARTITION] [-m MODEL] [-t TREE] ..." << endl << endl;
42134226 cout << " GENERAL OPTIONS:" << endl
4214- << " -h Print this help dialog " << endl
4215- << " --help Print more available options " << endl
4216- << " --version Display version number " << endl
4217- << " -s FILE PHYLIP/FASTA/NEXUS/CLUSTAL/MSF sequence alignment " << endl
4227+ << " -h, --help Print (more) help usages " << endl
4228+ << " -s FILE[,...,FILE] PHYLIP/FASTA/NEXUS/CLUSTAL/MSF alignment file(s) " << endl
4229+ << " -s DIR Directory of alignment files " << endl
4230+ << " --seqtype STRING BIN, DNA, AA, NT2AA, CODON, MORPH (default: auto-detect) " << endl
42184231 << " -t FILE|PARS|RAND Starting tree (default: 99 parsimony and BIONJ)" << endl
4219- << " --tree-fix Fix -t tree (no tree search performed) " << endl
4232+ << " -o TAX[,...,TAX] Outgroup taxon (list) for writing .treefile " << endl
42204233 << " --prefix STRING Prefix for all output files (default: aln/partition)" << endl
42214234 << " --seed NUMBER Random seed number, normally used for debugging purpose" << endl
42224235 << " --safe Safe likelihood kernel to avoid numerical underflow" << endl
42234236 << " --mem NUMBER[G|M|%] Maximal RAM usage in GB | MB | %" << endl
42244237 << " --runs NUMBER Number of indepedent runs (default: 1)" << endl
42254238 << " --redo Ignore checkpoint and overwrite outputs (default: OFF)" << endl
4239+ << " -v, --verbose Verbose mode, printing more messages to screen" << endl
4240+ << " -V, --version Display version number" << endl
4241+ << " --quiet Quiet mode, suppress printing to screen (stdout)" << endl
4242+ << " -fconst f1,...,fN Add constant patterns into alignment (N=no. states)" << endl
4243+ << " --epsilon NUMBER Likelihood epsilon for parameter estimate (default 0.01)" << endl
42264244#ifdef _OPENMP
42274245 << " -T NUMBER|AUTO No. cores/threads or AUTO-detect (default: 1)" << endl
4246+ << " --threads-max NUM Max number of threads for -T AUTO (default: all cores)" << endl
42284247#endif
42294248 << endl << " PARTITION MODEL:" << endl
42304249 << " -p FILE|DIR NEXUS/RAxML partition file or directory with alignments" << endl
@@ -4249,27 +4268,30 @@ void usage_iqtree(char* argv[], bool full_command) {
42494268 << " -g FILE (Multifurcating) topological constraint tree file" << endl
42504269 << " --fast Fast search to resemble FastTree" << endl
42514270 << " --polytomy Collapse near-zero branches into polytomy" << endl
4271+ << " --tree-fix Fix -t tree (no tree search performed)" << endl
4272+ << " --treels Write locally optimal trees into .treels file" << endl
4273+ << " --show-lh Compute tree likelihood without optimisation" << endl
42524274#ifdef IQTREE_TERRAPHAST
42534275 << " --terrace Check if the tree lies on a phylogenetic terrace" << endl
42544276#endif
42554277// << " -iqp Use the IQP tree perturbation (default: randomized NNI)" << endl
42564278// << " -iqpnni Switch back to the old IQPNNI tree search algorithm" << endl
42574279 << endl << " ULTRAFAST BOOTSTRAP/JACKKNIFE:" << endl
4258- << " -B NUMBER Replicates for ultrafast bootstrap (>=1000)" << endl
4259- << " -J NUMBER Replicates for ultrafast jackknife (>=1000)" << endl
4280+ << " -B, --ufboot NUMBER Replicates for ultrafast bootstrap (>=1000)" << endl
4281+ << " -J, --ufjack NUMBER Replicates for ultrafast jackknife (>=1000)" << endl
42604282 << " --jack-prop NUMBER Subsampling proportion for jackknife (default: 0.5)" << endl
4261- << " --bsam STRING GENE|GENESITE resampling for partitions (default: SITE)" << endl
4262- << " --wbt Write bootstrap trees to .ufboot file (default: none)" << endl
4263- << " --wbtl Like -wbt but also writing branch lengths" << endl
4283+ << " --sampling STRING GENE|GENESITE resampling for partitions (default: SITE)" << endl
4284+ << " --boot-trees Write bootstrap trees to .ufboot file (default: none)" << endl
4285+ << " --wbtl Like --boot-trees but also writing branch lengths" << endl
42644286// << " -n <#iterations> Minimum number of iterations (default: 100)" << endl
42654287 << " --nmax NUMBER Maximum number of iterations (default: 1000)" << endl
42664288 << " --nstep NUMBER Iterations for UFBoot stopping rule (default: 100)" << endl
42674289 << " --bcor NUMBER Minimum correlation coefficient (default: 0.99)" << endl
42684290 << " --beps NUMBER RELL epsilon to break tie (default: 0.5)" << endl
42694291 << " --bnni Optimize UFBoot trees by NNI on bootstrap alignment" << endl
42704292 << endl << " NON-PARAMETRIC BOOTSTRAP/JACKKNIFE:" << endl
4271- << " -b NUMBER Replicates for bootstrap + ML tree + consensus tree" << endl
4272- << " -j NUMBER Replicates for jackknife + ML tree + consensus tree" << endl
4293+ << " -b, --boot NUMBER Replicates for bootstrap + ML tree + consensus tree" << endl
4294+ << " -j, --jack NUMBER Replicates for jackknife + ML tree + consensus tree" << endl
42734295 << " --jack-prop NUMBER Subsampling proportion for jackknife (default: 0.5)" << endl
42744296 << " --bcon NUMBER Replicates for bootstrap + consensus tree" << endl
42754297 << " --bonly NUMBER Replicates for bootstrap only" << endl
@@ -4402,6 +4424,7 @@ void usage_iqtree(char* argv[], bool full_command) {
44024424 << " --test NUMBER Replicates for topology test" << endl
44034425 << " --test-weight Perform weighted KH and SH tests" << endl
44044426 << " --test-au Approximately unbiased (AU) test (Shimodaira 2002)" << endl
4427+ << " --sitelh Write site log-likelihoods to .sitelh file" << endl
44054428
44064429 << endl << " ANCESTRAL STATE RECONSTRUCTION:" << endl
44074430 << " --ancestral Ancestral state reconstruction by empirical Bayes" << endl
@@ -4464,34 +4487,22 @@ void usage_iqtree(char* argv[], bool full_command) {
44644487 << " --rlen NUM NUM NUM min, mean, and max random branch lengths" << endl
44654488
44664489 << endl << " MISCELLANEOUS:" << endl
4467- << " -o STRING Outgroup taxon name for writing .treefile" << endl
4468- << " --seqtype STRING BIN, DNA, AA, NT2AA, CODON, MORPH (default: auto-detect)" << endl
4469- #ifdef _OPENMP
4470- << " --threads-max NUM Max number of threads for -c AUTO (default: CPU cores)" << endl
4471- #endif
4472- << " -v, --verbose Verbose mode, printing more messages to screen" << endl
4473- << " --quiet Quiet mode, suppress printing to screen (stdout)" << endl
44744490 << " --keep-ident Keep identical sequences (default: remove & finally add)" << endl
44754491 << " --cptime NUMBER Checkpoint time interval in seconds (default: 60)" << endl
4476- << " -wt Write locally optimal trees into .treels file" << endl
44774492 << " -blfix Fix branch lengths of user tree passed via -te" << endl
44784493 << " -blscale Scale branch lengths of user tree passed via -t" << endl
44794494 << " -blmin Min branch length for optimization (default 0.000001)" << endl
44804495 << " -blmax Max branch length for optimization (default 100)" << endl
4481- << " -wsl Write site log-likelihoods to .sitelh file" << endl
44824496 << " -wslr Write site log-likelihoods per rate category" << endl
44834497 << " -wslm Write site log-likelihoods per mixture class" << endl
44844498 << " -wslmr Write site log-likelihoods per mixture+rate class" << endl
44854499 << " -wspr Write site probabilities per rate category" << endl
44864500 << " -wspm Write site probabilities per mixture class" << endl
44874501 << " -wspmr Write site probabilities per mixture+rate class" << endl
4488- << " -wpl Write partition log-likelihoods to .partlh file" << endl
4489- << " -fconst f1,...,fN Add constant patterns into alignment (N=no. states)" << endl
4490- << " -me NUMBER LogL epsilon for parameter estimation (default 0.01)" << endl
4502+ << " --partlh Write partition log-likelihoods to .partlh file" << endl
44914503 << " --no-outfiles Suppress printing output files" << endl
44924504 << " --eigenlib Use Eigen3 library" << endl
44934505 << " -alninfo Print alignment sites statistics to .alninfo" << endl
4494- << " --show-lh Compute tree likelihood without optimisation" << endl
44954506 // << " -d <file> Reading genetic distances from file (default: JC)" << endl
44964507 // << " -d <outfile> Calculate the distance matrix inferred from tree" << endl
44974508 // << " -stats <outfile> Output some statistics about branch lengths" << endl
@@ -4527,7 +4538,7 @@ void quickStartGuide() {
45274538 << " 6. Find best partition scheme followed by tree inference and bootstrap:" << endl
45284539 << " iqtree -s example.phy -p example.nex -m MFP+MERGE -B 1000" << endl << endl
45294540#ifdef _OPENMP
4530- << " 7. Use 4 CPU cores to speed up computation: add '-c 4' option" << endl << endl
4541+ << " 7. Use 4 CPU cores to speed up computation: add '-T 4' option" << endl << endl
45314542#endif
45324543 << " 8. Polymorphism-aware model with HKY nucleotide model and Gamma rate:" << endl
45334544 << " iqtree -s counts_file.cf -m HKY+P+G" << endl << endl
0 commit comments