Attention une mise à jour du serveur va être effectuée le lundi 17 mai entre 13h et 13h30. Cette mise à jour va générer une interruption du service de quelques minutes.

Commit 77113c16 authored by Mathieu Giraud's avatar Mathieu Giraud

core/windowExtractor.cpp: UNSEG_TOO_SHORT_FOR_WINDOW detection just after the MultiSegmenter

Now the stats on each locus are the number of segmented reads with windows.
This is more coherent with the rest of the stats (in particular the reads/clones ratio).
parent 78d5cc0f
......@@ -41,28 +41,33 @@ WindowsStorage *WindowExtractor::extract(OnlineFasta *reads, MultiGermline *mult
KmerMultiSegmenter kmseg(reads->getSequence(), multigermline, out_affects, nb_expected, nb_reads_for_evalue);
KmerSegmenter *seg = kmseg.the_kseg ;
// Window length threshold
junction junc ;
if (seg->isSegmented()) {
junc = seg->getJunction(w);
if (!junc.size()) {
seg->setSegmentationStatus(UNSEG_TOO_SHORT_FOR_WINDOW);
}
}
int read_length = seg->getSequence().sequence.length();
// Update stats
stats[seg->getSegmentationStatus()].insert(read_length);
if (seg->isSegmented()) {
// Store the window
windowsStorage->add(junc, reads->getSequence(), seg->getSegmentationStatus(), seg->segmented_germline);
// Update stats
seg->segmented_germline->stats_reads.insert(read_length);
junction junc = seg->getJunction(w);
if (junc.size()) {
stats[TOTAL_SEG_AND_WINDOW].insert(read_length) ;
windowsStorage->add(junc, reads->getSequence(), seg->getSegmentationStatus(), seg->segmented_germline);
} else {
stats[UNSEG_TOO_SHORT_FOR_WINDOW].insert(read_length) ;
}
stats[TOTAL_SEG_AND_WINDOW].insert(read_length) ;
nb_reads_germline[seg->system]++;
if (out_segmented) {
*out_segmented << *seg ; // KmerSegmenter output (V/N/J)
}
nb_reads_germline[seg->system]++;
} else {
if (keep_unsegmented_as_clone && (reads->getSequence().sequence.length() >= w))
{
......
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