1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
|
Test --placeGapConsistently --concordant using a naive artificial test case.
MUST cover tests for all combos of template read qstrand tstrand and subread qstrand tstrand.
See BlasrAlignImpl.hpp:1496 for all combos.
See how pgc-concordant-zmw-0.bam and pgc-concordant-zmw-1.bam are designed.
Set up
$ mkdir -p $OUTDIR
$ Q=$DATDIR/test-pgc/pgc-query-concordant-zmw-0.bam
$ T=$DATDIR/test-pgc/target.fasta
$ cat $T
>target
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
TGTAAGCAGTTAAAA
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
Test m4 output
$ O=$OUTDIR/pgc-concordant-zmw-0.m4
$ $BLASR_EXE $Q $T -m 4 --out $O --bestn 1 --placeGapConsistently --concordant && echo $?
[INFO]* (glob)
[INFO]* (glob)
0
$ cat $O
m54006_151021_185942/0/0_163 target -555 98.2609 0 0 113 763 0 0 115 115 254
m54006_151021_185942/0/200_363 target -555 98.2609 0 250 363 763 1 0 115 115 254
m54006_151021_185942/0/400_563 target -555 98.2609 0 400 513 763 0 0 115 115 254
m54006_151021_185942/0/600_763 target -555 98.2609 0 650 763 763 1 0 115 115 254
Test m5 output
$ O=$OUTDIR/pgc-concordant-zmw-0.m5
$ $BLASR_EXE $Q $T -m 5 --out $O --bestn 1 --placeGapConsistently --concordant && echo $?
[INFO]* (glob)
[INFO]* (glob)
0
$ cat $O
m54006_151021_185942/0/0_163 763 0 113 + target 115 0 115 + -555 113 0 0 2 254 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTGTAAGCAGTT--AACCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||**|||||||||||||||||||||||||||||||||||||||||||||||||||| CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTGTAAGCAGTTAAAACCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
m54006_151021_185942/0/200_363 763 250 363 + target 115 0 115 - -555 113 0 0 2 254 GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGTT--AACTGCTTACAGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG ||||||||||||||||||||||||||||||||||||||||||||||||||||**||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGTTTTAACTGCTTACAGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
m54006_151021_185942/0/400_563 763 400 513 + target 115 0 115 + -555 113 0 0 2 254 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTGTAAGCAGTT--AACCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||**|||||||||||||||||||||||||||||||||||||||||||||||||||| CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTGTAAGCAGTTAAAACCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
m54006_151021_185942/0/600_763 763 650 763 + target 115 0 115 - -555 113 0 0 2 254 GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGTT--AACTGCTTACAGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG ||||||||||||||||||||||||||||||||||||||||||||||||||||**||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGTTTTAACTGCTTACAGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
Test sam output
$ O=$OUTDIR/pgc-concordant-zmw-0.sam
$ $BLASR_EXE $Q $T --sam --out $O --bestn 1 --placeGapConsistently --concordant && echo $?
[INFO]* (glob)
[INFO]* (glob)
0
$ cat $O |grep -v '^@'
m54006_151021_185942/0/0_163\t0\ttarget\t1\t254\t61=2D52=50S600H\t*\t0\t0\tCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTGTAAGCAGTTAACCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\t*\tcx:i:2\tnp:i:1\tqe:i:163\tqs:i:0\tzm:i:0\trq:f:0.7\tRG:Z:a3e2f6e1\tAS:i:-555\tNM:i:2 (esc)
m54006_151021_185942/0/200_363\t16\ttarget\t1\t254\t400H61=2D52=50S200H\t*\t0\t0\tCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTGTAAGCAGTTAACCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\t*\tcx:i:2\tnp:i:1\tqe:i:363\tqs:i:200\tzm:i:0\trq:f:0.7\tRG:Z:a3e2f6e1\tAS:i:-555\tNM:i:2 (esc)
m54006_151021_185942/0/400_563\t0\ttarget\t1\t254\t400H61=2D52=50S200H\t*\t0\t0\tCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTGTAAGCAGTTAACCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\t*\tcx:i:2\tnp:i:1\tqe:i:563\tqs:i:400\tzm:i:0\trq:f:0.7\tRG:Z:a3e2f6e1\tAS:i:-555\tNM:i:2 (esc)
m54006_151021_185942/0/600_763\t16\ttarget\t1\t254\t61=2D52=50S600H\t*\t0\t0\tCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTGTAAGCAGTTAACCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\t*\tcx:i:2\tnp:i:1\tqe:i:763\tqs:i:600\tzm:i:0\trq:f:0.7\tRG:Z:a3e2f6e1\tAS:i:-555\tNM:i:2 (esc)
Test bam output
$ O=$OUTDIR/pgc-concordant-zmw-0.bam
$ $BLASR_EXE $Q $T --bam --out $O --bestn 1 --placeGapConsistently --concordant && echo $?
[INFO]* (glob)
[INFO]* (glob)
0
Test zmw-1 bam
$ Q=$DATDIR/test-pgc/pgc-query-concordant-zmw-1.bam
$ T=$DATDIR/test-pgc/target.fasta
Test m4 output
$ O=$OUTDIR/pgc-concordant-zmw-1.m4
$ $BLASR_EXE $Q $T -m 4 --out $O --bestn 1 --placeGapConsistently --concordant && echo $?
[INFO]* (glob)
[INFO]* (glob)
0
$ cat $O
m54006_151021_185942/1/200_363 target -555 98.2609 0 250 363 963 1 0 115 115 254
m54006_151021_185942/1/400_563 target -555 98.2609 0 400 513 963 0 0 115 115 254
m54006_151021_185942/1/600_763 target -555 98.2609 0 650 763 963 1 0 115 115 254
m54006_151021_185942/1/800_963 target -555 98.2609 0 800 913 963 0 0 115 115 254
Test m5 output
$ O=$OUTDIR/pgc-concordant-zmw-1.m5
$ $BLASR_EXE $Q $T -m 5 --out $O --bestn 1 --placeGapConsistently --concordant && echo $?
[INFO]* (glob)
[INFO]* (glob)
0
$ cat $O
m54006_151021_185942/1/200_363 963 250 363 + target 115 0 115 - -555 113 0 0 2 254 GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGTT--AACTGCTTACAGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG ||||||||||||||||||||||||||||||||||||||||||||||||||||**||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGTTTTAACTGCTTACAGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
m54006_151021_185942/1/400_563 963 400 513 + target 115 0 115 + -555 113 0 0 2 254 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTGTAAGCAGTT--AACCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||**|||||||||||||||||||||||||||||||||||||||||||||||||||| CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTGTAAGCAGTTAAAACCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
m54006_151021_185942/1/600_763 963 650 763 + target 115 0 115 - -555 113 0 0 2 254 GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGTT--AACTGCTTACAGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG ||||||||||||||||||||||||||||||||||||||||||||||||||||**||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGTTTTAACTGCTTACAGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
m54006_151021_185942/1/800_963 963 800 913 + target 115 0 115 + -555 113 0 0 2 254 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTGTAAGCAGTT--AACCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||**|||||||||||||||||||||||||||||||||||||||||||||||||||| CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTGTAAGCAGTTAAAACCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
Test sam output
$ O=$OUTDIR/pgc-concordant-zmw-1.sam
$ $BLASR_EXE $Q $T --sam --out $O --bestn 1 --placeGapConsistently --concordant && echo $?
[INFO]* (glob)
[INFO]* (glob)
0
$ cat $O |grep -v '^@'
m54006_151021_185942/1/200_363\t16\ttarget\t1\t254\t600H61=2D52=50S200H\t*\t0\t0\tCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTGTAAGCAGTTAACCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\t*\tcx:i:2\tnp:i:1\tqe:i:363\tqs:i:200\tzm:i:1\trq:f:0.7\tRG:Z:a3e2f6e1\tAS:i:-555\tNM:i:2 (esc)
m54006_151021_185942/1/400_563\t0\ttarget\t1\t254\t400H61=2D52=50S400H\t*\t0\t0\tCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTGTAAGCAGTTAACCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\t*\tcx:i:2\tnp:i:1\tqe:i:563\tqs:i:400\tzm:i:1\trq:f:0.7\tRG:Z:a3e2f6e1\tAS:i:-555\tNM:i:2 (esc)
m54006_151021_185942/1/600_763\t16\ttarget\t1\t254\t200H61=2D52=50S600H\t*\t0\t0\tCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTGTAAGCAGTTAACCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\t*\tcx:i:2\tnp:i:1\tqe:i:763\tqs:i:600\tzm:i:1\trq:f:0.7\tRG:Z:a3e2f6e1\tAS:i:-555\tNM:i:2 (esc)
m54006_151021_185942/1/800_963\t0\ttarget\t1\t254\t800H61=2D52=50S\t*\t0\t0\tCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTGTAAGCAGTTAACCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\t*\tcx:i:2\tnp:i:1\tqe:i:963\tqs:i:800\tzm:i:1\trq:f:0.7\tRG:Z:a3e2f6e1\tAS:i:-555\tNM:i:2 (esc)
Test bam output
$ O=$OUTDIR/pgc-concordant-zmw-1.bam
$ $BLASR_EXE $Q $T --bam --out $O --bestn 1 --placeGapConsistently --concordant && echo $?
[INFO]* (glob)
[INFO]* (glob)
0
|