Commit e90c48b8 authored by Mathieu Giraud's avatar Mathieu Giraud

vidjil.cpp: experimental -I option, ignore common k-mers between different germlines

This option is sponsored by UPMC.
parent a15f0a91
...@@ -154,6 +154,7 @@ void usage(char *progname) ...@@ -154,6 +154,7 @@ void usage(char *progname)
<< " -G <prefix> prefix for V (D) and J repertoires (shortcut for -V <prefix>V.fa -D <prefix>D.fa -J <prefix>J.fa) (basename gives germline code)" << endl << " -G <prefix> prefix for V (D) and J repertoires (shortcut for -V <prefix>V.fa -D <prefix>D.fa -J <prefix>J.fa) (basename gives germline code)" << endl
<< " -g <path> multiple germlines (in the path <path>, takes TRA, TRB, TRG, TRD, IGH and IGL and sets window prediction parameters)" << endl << " -g <path> multiple germlines (in the path <path>, takes TRA, TRB, TRG, TRD, IGH and IGL and sets window prediction parameters)" << endl
<< " -i multiple germlines, also incomplete rearrangements (experimental, must be used with -g)" << endl << " -i multiple germlines, also incomplete rearrangements (experimental, must be used with -g)" << endl
<< " -I ignore k-mers common to different germline systems (experimental, must be used with -g, do not use)" << endl
<< endl << endl
<< "Window prediction" << endl << "Window prediction" << endl
...@@ -288,6 +289,7 @@ int main (int argc, char **argv) ...@@ -288,6 +289,7 @@ int main (int argc, char **argv)
bool output_unsegmented = false; bool output_unsegmented = false;
bool multi_germline = false; bool multi_germline = false;
bool multi_germline_incomplete = false; bool multi_germline_incomplete = false;
bool multi_germline_mark = false;
string multi_germline_file = DEFAULT_MULTIGERMLINE; string multi_germline_file = DEFAULT_MULTIGERMLINE;
string forced_edges = "" ; string forced_edges = "" ;
...@@ -303,7 +305,7 @@ int main (int argc, char **argv) ...@@ -303,7 +305,7 @@ int main (int argc, char **argv)
//$$ options: getopt //$$ options: getopt
while ((c = getopt(argc, argv, "Ahaig:G:V:D:J:k:r:vw:e:C:f:l:c:m:M:N:s:b:Sn:o:L%:y:z:uU")) != EOF) while ((c = getopt(argc, argv, "AhaiIg:G:V:D:J:k:r:vw:e:C:f:l:c:m:M:N:s:b:Sn:o:L%:y:z:uU")) != EOF)
switch (c) switch (c)
{ {
...@@ -354,6 +356,10 @@ int main (int argc, char **argv) ...@@ -354,6 +356,10 @@ int main (int argc, char **argv)
case 'i': case 'i':
multi_germline_incomplete = true; multi_germline_incomplete = true;
break; break;
case 'I':
multi_germline_mark = true;
break;
case 'G': case 'G':
germline_system = string(optarg); germline_system = string(optarg);
...@@ -720,6 +726,9 @@ int main (int argc, char **argv) ...@@ -720,6 +726,9 @@ int main (int argc, char **argv)
cout << endl ; cout << endl ;
if (multi_germline_mark)
multigermline->mark_cross_germlines_as_ambiguous();
cout << "Germlines loaded" << endl ; cout << "Germlines loaded" << endl ;
cout << *multigermline ; cout << *multigermline ;
cout << endl ; cout << endl ;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment