e88c50da16cb4c6b62702cd9440b12e2dae174de braney Wed Feb 17 12:28:45 2016 -0800 fix gff3ToPsl to get the strands right diff --git src/lib/psl.c src/lib/psl.c index 23f921f..d30be8a 100644 --- src/lib/psl.c +++ src/lib/psl.c @@ -1928,34 +1928,34 @@ // no cigar means one block size = qEnd - qStart; totalSize += size; psl->blockSizes[psl->blockCount] = size; psl->qStarts[psl->blockCount] = qNext; psl->tStarts[psl->blockCount] = tNext; psl->blockCount++; tNext += size; qNext += size; } else { char cigarSpec[strlen(cigar+1)]; // copy since parsing is destructive strcpy(cigarSpec, cigar); char *cigarNext = cigarSpec; - if (strand[0] == '-') + if (strand[1] == '-') for(; *cigarNext; cigarNext++) ; - while(getNextCigarOp(cigarSpec, (strand[0] == '-'), &cigarNext, &op, &size)) + while(getNextCigarOp(cigarSpec, (strand[1] == '-'), &cigarNext, &op, &size)) { switch (op) { case 'M': // match or mismatch (gapless aligned block) if (psl->blockCount == blocksAlloced) pslGrow(psl, &blocksAlloced); totalSize += size; psl->blockSizes[psl->blockCount] = size; psl->qStarts[psl->blockCount] = qNext; psl->tStarts[psl->blockCount] = tNext; psl->blockCount++; tNext += size; qNext += size; break;