Commit efbc2258 authored by Marc Duez's avatar Marc Duez
Browse files
parents 4d663c89 da4ddb37
......@@ -168,7 +168,8 @@ void usage(char *progname)
<< "Limits to report a clone" << endl
<< " -R <nb> minimal number of reads supporting a clone (default: " << MIN_READS_CLONE << ")" << endl
<< " -% <ratio> minimal percentage of reads supporting a clone (default: " << RATIO_READS_CLONE << ")" << endl
<< " -z <nb> maximal number of clones reported (default: " << MAX_CLONES << ")" << endl
<< " -z <nb> maximal number of clones reported (0: no limit) (default: " << MAX_CLONES << ")" << endl
<< " -A reports all clones (-r 0 -R 1 -% 0 -z 0), to be used only on very small datasets" << endl
<< endl
<< "Fine segmentation options" << endl
......@@ -264,7 +265,7 @@ int main (int argc, char **argv)
//$$ options: getopt
while ((c = getopt(argc, argv, "haG:V:D:J:k:r:R:vw:e:C:t:l:dc:m:M:N:s:p:Sn:o:Lx%:Z:z:u")) != EOF)
while ((c = getopt(argc, argv, "AhaG:V:D:J:k:r:R:vw:e:C:t:l:dc:m:M:N:s:p:Sn:o:Lx%:Z:z:u")) != EOF)
switch (c)
{
......@@ -357,6 +358,8 @@ int main (int argc, char **argv)
prefix_filename = optarg;
break;
// Limits
case 'r':
min_reads_window = atoi(optarg);
break;
......@@ -372,6 +375,16 @@ int main (int argc, char **argv)
case 'z':
max_clones = atoi(optarg);
break;
case 'A': // --all
min_reads_window = 1 ;
ratio_reads_clone = 0 ;
min_reads_clone = 0 ;
max_clones = 0 ;
break ;
// Seeds
case 's':
#ifndef NO_SPACED_SEEDS
seed = string(optarg);
......@@ -719,7 +732,12 @@ int main (int argc, char **argv)
//////////////////////////////////
//$$ Output clones
cout << "Output at most " << max_clones<< " clones with >= " << min_reads_clone << " reads and with a ratio >= " << ratio_reads_clone << endl ;
if (max_clones > 0)
cout << "Output at most " << max_clones<< " clones" ;
else
cout << "Output all clones" ;
cout << " with >= " << min_reads_clone << " reads and with a ratio >= " << ratio_reads_clone << endl ;
map <string, int> clones_codes ;
map <string, string> clones_map_windows ;
......@@ -747,7 +765,7 @@ int main (int argc, char **argv)
++num_clone ;
if (num_clone == (max_clones + 1))
if (max_clones && (num_clone == max_clones + 1))
break ;
cout << "#### " ;
......
......@@ -293,21 +293,23 @@ PDF.prototype = {
//V
var str;
this.doc.setTextColor(120,120,120)
for (j = 0; j < (Math.floor(seqV.length / 80) + 1); j++) {
str = seqV.substring(j * 80, (j + 1) * 80)
this.doc.text(this.marge , this.y, str);
this.y += 5;
}
// todo: light bar (not taking space) between V/N and N/J borders...
//N
this.y -= 5
for (var j=0 ; j<str.length; j++){
seqN = ' ' + seqN
}
this.doc.setFont('courier', 'bold');
this.doc.setTextColor(170,120,150)
this.doc.setFont('courier', 'bold'); // Underline could be better...
this.doc.setTextColor(0,0,40)
for (j = 0; j < (Math.floor(seqN.length / 80) + 1); j++) {
str = seqN.substring(j * 80, (j + 1) * 80)
......
......@@ -109,7 +109,7 @@ Segment.prototype = {
span.id = "toClipBoard"
span.className = "button"
span.appendChild(document.createTextNode("❯ to clipBoard"));
div_menu.appendChild(span)
// div_menu.appendChild(span)
div.appendChild(div_menu)
......
......@@ -127,15 +127,20 @@ CTATGATAGTAGTGGTTATTACGGGGTAGGGCAGTACTACTACTACTACATGGACGTCTG
# with automatic clusterisation, distance five (-n 5)
./vidjil -c segment -G germline/IGH -d data/segment_S22.fa
# Segment the reads onto VDJ germline using a full comparison
# (dynamic programming) with all sequences.
# The output is displayed in .vdj format (see below)
# Segment the reads onto VDJ germline (see warning below)
### .vdj format
### Segmentation and .vdj format
Vidjil outputs include segmentation of V(D)J recombinations, obtained
by full comparison (dynamic programming) with all germline sequences
Such segmentations are not at the core of the Vidjil clone gathering
method (which relies only on the 'window', see above). They are
provided only for convenience and should be checked with other
softwares such as iHHMune-align, IgBlast or IMGT/V-QUEST.
Segmentations of V(D)J recombinations are displayed using a dedicated
format. This format is compatible with FASTA format. A line starting
.vdj format. This format is compatible with FASTA format. A line starting
with a > is of the following form:
>name + VDJ startV endV startD endD startJ endJ Vgene delV/N1/delD5' Dgene delD3'/N2/delJ Jgene
......@@ -173,9 +178,17 @@ applicable being removed:
>name + VJ startV endV startJ endJ Vgene delV/N1/delJ Jgene
### .json format
### vidjil.data .json format and web interface
A summary of extracted windows is also available in a .json format,
including, for each windows, the number of reads sharing this window.
This file is currently used for development purposes, its format may
change in future releases of Vidjil.
This file will be used for a dynamic web application for visualization
and analysis of clones and their tracking along different samples,
(for example time points in a MRD setup or in a immunological study).
This application is currently in developpement and will be released in
Q4 2014. However, code source can be already accessed on
http://www.vidjil.org/git. Please contact us (contact@vidjil.org) if
you would like to have an access on the web server.
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