@@ -397,13 +397,13 @@ void parseCommandLine(LambdaOptions & options, int argc, char const ** argv)
397
397
});
398
398
#endif
399
399
400
- parser.add_option (options. profile ,
401
- sharg::config{
402
- . short_id = ' p ' ,
403
- . long_id = " profile " ,
404
- . description = " Profiles are presets of a group of parameters. See below. " ,
405
-
406
- .validator = sharg::value_list_validator{" none" , " fast" , " sensitive" }
400
+ parser.add_option (
401
+ options. profile ,
402
+ sharg::config{
403
+ . short_id = ' p ' ,
404
+ . long_id = " profile " ,
405
+ . description = " Profiles are presets of a group of parameters. See below. " ,
406
+ .validator = sharg::value_list_validator{" none" , " fast" , " sensitive " , " pairs-default " , " pairs- sensitive" }
407
407
});
408
408
409
409
parser.add_section (" Seeding / Filtration" );
@@ -573,20 +573,41 @@ void parseCommandLine(LambdaOptions & options, int argc, char const ** argv)
573
573
" --seed-length0 9 --seed-offset0 4 --seed-length 8 --seed-offset 3 --pre-scoring 3 "
574
574
" --pre-scoring-threshold 1.9" ,
575
575
true );
576
+ parser.add_line (" \" pairs-default\" " , false );
577
+ parser.add_line (" --search0 OFF --seed-length 8 --seed-offset 3 --pre-scoring 3 --pre-scoring-threshold 1.9" ,
578
+ true );
579
+ parser.add_line (" \" pairs-sensitive\" " , false );
580
+ parser.add_line (" --search0 OFF --seed-length 7 --seed-offset 3 --pre-scoring 3 --pre-scoring-threshold 1.9" ,
581
+ true );
576
582
break ;
577
583
case domain_t ::nucleotide:
578
584
parser.add_line (" \" fast\" " , false );
579
- parser.add_line (" --seed-length 14 --seed-offset 9 --seed-delta 0" , true );
585
+ parser.add_line (" --search0 OFF -- seed-length 14 --seed-offset 9 --seed-delta 0" , true );
580
586
parser.add_line (" \" sensitive\" " , false );
581
587
parser.add_line (" --seed-length0 14 --seed-offset0 3 --seed-length 14 --seed-offset 3" , true );
588
+ parser.add_line (" \" pairs-default\" " , false );
589
+ parser.add_line (" --search0 OFF --seed-length 14 --seed-offset 3" , true );
590
+ parser.add_line (" \" pairs-sensitive\" " , false );
591
+ parser.add_line (" --search0 OFF --seed-length 13 --seed-offset 3" , true );
582
592
break ;
583
593
case domain_t ::bisulfite:
584
594
parser.add_line (" \" fast\" " , false );
585
- parser.add_line (" --seed-length 17 --seed-offset 10 --seed-delta 0" , true );
595
+ parser.add_line (" --search0 OFF -- seed-length 17 --seed-offset 10 --seed-delta 0" , true );
586
596
parser.add_line (" \" sensitive\" " , false );
587
597
parser.add_line (" --seed-length0 16 --seed-offset0 8 --seed-length 15 --seed-offset 10" , true );
598
+ parser.add_line (" \" pairs-default\" " , false );
599
+ parser.add_line (" --search0 OFF --seed-length 15 --seed-offset 10" , true );
600
+ parser.add_line (" \" pairs-sensitive\" " , false );
601
+ parser.add_line (" --search0 OFF --seed-length 14 --seed-offset 10" , true );
588
602
break ;
589
603
}
604
+
605
+ parser.add_line (
606
+ " The \" pairs\" profiles are for use in combination with higher --num-matches. "
607
+ " They are based on the sensitive profile but in addition to increasing the number of query-"
608
+ " sequences-with-one-or-more-hits, they also increase the number of qry-subj-pairs, i.e. the "
609
+ " number of hits per query." ,
610
+ false );
590
611
parser.add_line (" For further information see the wiki: <https://github.com/seqan/lambda/wiki>" , false );
591
612
592
613
// parse command line.
@@ -628,7 +649,7 @@ void parseCommandLine(LambdaOptions & options, int argc, char const ** argv)
628
649
options.searchOpts .maxSeedDist = 0 ;
629
650
}
630
651
}
631
- else if (options.profile == " sensitive" )
652
+ else if (( options.profile == " sensitive" ) || options. profile . starts_with ( " pairs " ) )
632
653
{
633
654
switch (options.domain )
634
655
{
@@ -652,6 +673,12 @@ void parseCommandLine(LambdaOptions & options, int argc, char const ** argv)
652
673
options.searchOpts .seedOffset = 10 ;
653
674
break ;
654
675
}
676
+
677
+ if (options.profile .starts_with (" pairs" ))
678
+ options.iterativeSearch = false ;
679
+
680
+ if (options.profile == " pairs-sensitive" )
681
+ --options.searchOpts .seedLength ;
655
682
}
656
683
657
684
// set output file format
0 commit comments