@@ -473,6 +473,7 @@ class BamsTest extends UnitSpec {
473
473
builder.addPair(name= " q1" , contig= 1 , contig2= Some (2 ), start1= 100 , start2= 200 , cigar1= " 50M50S" , cigar2= " 50S50M" , mapq1= 51 , mapq2= 52 )
474
474
builder.addPair(name= " q1" , contig= 3 , contig2= Some (4 ), start1= 300 , start2= 400 , cigar1= " 50S50M" , cigar2= " 50M50S" , mapq1= 21 , mapq2= 22 )
475
475
.foreach(_.supplementary = true )
476
+ builder.addPair(name= " q2" , contig= 1 , contig2= Some (2 ), start1= 100 , start2= 200 , cigar1= " 50M50S" , cigar2= " 50S50M" , mapq1= 51 , mapq2= 52 , attrs= Map ((" ms" , 2 )))
476
477
477
478
val recs = builder.toIndexedSeq.tapEach { r =>
478
479
r.mateMapped = false
@@ -482,21 +483,34 @@ class BamsTest extends UnitSpec {
482
483
r.remove(" MQ" )
483
484
}
484
485
485
- val template = Template (recs.iterator)
486
- template.fixMateInfo()
487
-
488
- template.allReads.foreach { r =>
489
- r.mateMapped shouldBe true
490
-
491
- if (r.firstOfPair) {
492
- r.mateRefIndex shouldBe 2
493
- r.mateStart shouldBe 200
494
- r.mateCigar.value.toString() shouldBe " 50S50M"
495
- }
496
- else {
497
- r.mateRefIndex shouldBe 1
498
- r.mateStart shouldBe 100
499
- r.mateCigar.value.toString() shouldBe " 50M50S"
486
+ val q1Template = Template (recs.iterator.filter(_.name == " q1" ))
487
+ val q2Template = Template (recs.iterator.filter(_.name == " q2" ))
488
+ val templates = Seq (q1Template, q2Template)
489
+
490
+ templates.foreach { template =>
491
+ template.fixMateInfo()
492
+
493
+ template.allReads.foreach { r =>
494
+ r.mateMapped shouldBe true
495
+
496
+ if (r.firstOfPair) {
497
+ r.mateRefIndex shouldBe 2
498
+ r.mateStart shouldBe 200
499
+ r.mateCigar.value.toString() shouldBe " 50S50M"
500
+ }
501
+ else {
502
+ r.mateRefIndex shouldBe 1
503
+ r.mateStart shouldBe 100
504
+ r.mateCigar.value.toString() shouldBe " 50M50S"
505
+ }
506
+
507
+ if (r.name == " q1" ) {
508
+ r.get[Int ](" ms" ).isEmpty shouldBe true
509
+ }
510
+ else {
511
+ r.name shouldBe " q2"
512
+ r.get[Int ](" ms" ).value shouldBe 2
513
+ }
500
514
}
501
515
}
502
516
}
0 commit comments