diff --git a/src/evaluator.cpp b/src/evaluator.cpp index 77d24695..99b0eb92 100644 --- a/src/evaluator.cpp +++ b/src/evaluator.cpp @@ -21,10 +21,23 @@ bool Evaluator::isTwoColorSystem() { if(!r) return false; - // NEXTSEQ500, NEXTSEQ 550/550DX, NOVASEQ - if(starts_with(r->mName, "@NS") || starts_with(r->mName, "@NB") || starts_with(r->mName, "@NDX") || starts_with(r->mName, "@A0")) { - delete r; - return true; + // Two-color system instrument prefixes + // See https://github.com/OpenGene/fastp/pull/508 for a detailed discussion + const vector twoColorPrefixes = { + "@FS", // iSeq 100 + "@MN", "@SH", // MiniSeq + "@NS", "@NB", // NextSeq 500/550 + "@NDX", // NextSeq 550DX + "@VL", "@VH", // NextSeq 1000/2000 + "@A", "@NA", // NovaSeq 6000 + "@LH" // NovaSeq X + }; + + for (const string& prefix : twoColorPrefixes) { + if (starts_with(r->mName, prefix)) { + delete r; + return true; + } } delete r;