Commit a8d2c873 authored by Mathieu Giraud's avatar Mathieu Giraud
Browse files

core/segment.cpp: UNSEG_AMBIGUOUS for non-segmented sequences that have many V and J.

When a sequence has both enough V and J affectations (above AMBIGUOUS_THRESHOLD),
it should normally be segmented. If not, the sequence is probably a chimera,
or the V and J repertoires are not well choosen. We now label this sequence
as AMBIGUOUS (instead of TOO_FEW_V or TOO_FEW_J).
parent 69312789
......@@ -277,6 +277,13 @@ void KmerSegmenter::computeSegmentation(int strand, Germline* germline) {
because = UNSEG_TOO_FEW_J ;
} else
// The sequence is not segmented.
// We labeled it AMBIGUOUS if there were both enough affect_5 and enough affect_3
if ((max.nb_before_left + max.nb_after_left >= AMBIGUOUS_THRESHOLD)
&& (max.nb_before_right + max.nb_after_right >= AMBIGUOUS_THRESHOLD))
} else {
Vend = max.first_pos_max;
Jstart = max.last_pos_max + 1;
......@@ -17,6 +17,10 @@
strand and the other, to safely attribute a
segment to a given strand */
#define AMBIGUOUS_THRESHOLD 4 /* If the number of both V and J affectations
is above this threshold, then a non-segmented
sequence will be labeled as AMBIGUOUS */
#define JSON_REMEMBER_BEST 4 /* The number of V/D/J predictions to keep */
using namespace std;
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