File tree 1 file changed +10
-5
lines changed
src/main/scala/com/fulcrumgenomics/bam
1 file changed +10
-5
lines changed Original file line number Diff line number Diff line change @@ -86,12 +86,17 @@ private[bam] object ZipperBams extends LazyLogging {
86
86
// Build a new header using the given sequence dictionary
87
87
val header = new SAMFileHeader (dict)
88
88
89
+
89
90
// Copy over comments, RGs and PGs, letting mapped override unmapped if there are conflicts
90
- Iterator (unmapped, mapped).foreach { old =>
91
- old.getComments.iterator().foreach(header.addComment)
92
- old.getReadGroups.iterator().foreach(header.addReadGroup)
93
- old.getProgramRecords.iterator().foreach(header.addProgramRecord)
94
- }
91
+ val mappedComments = mapped.getComments.toSet
92
+ val mappedReadGroups = mapped.getReadGroups.toSet
93
+ val mappedProgramRecords = mapped.getProgramRecords.toSet
94
+ unmapped.getComments.filterNot(mappedComments.contains).foreach(header.addComment)
95
+ unmapped.getReadGroups.filterNot(mappedReadGroups.contains).foreach(header.addReadGroup)
96
+ unmapped.getProgramRecords.filterNot(mappedProgramRecords.contains).foreach(header.addProgramRecord)
97
+ mapped.getComments.foreach(header.addComment)
98
+ mapped.getReadGroups.foreach(header.addReadGroup)
99
+ mapped.getProgramRecords.foreach(header.addProgramRecord)
95
100
96
101
// Set the sort and group order
97
102
header.setSortOrder(unmapped.getSortOrder)
You can’t perform that action at this time.
0 commit comments