@@ -107,11 +107,11 @@ public void init(JobContext ctx, List<SequenceOutputFile> inputFiles, List<Recor
107107
108108 if (SequenceUtil .FILETYPE .bamOrCram .getFileType ().isType (so .getFile ()))
109109 {
110- getAndValidateHeaderForBam (so , newRsName );
110+ getAndValidateHeaderForBam (so , newRsName , ctx . getLogger () );
111111 }
112112 else if (SequenceUtil .FILETYPE .gvcf .getFileType ().isType (so .getFile ()) | SequenceUtil .FILETYPE .vcf .getFileType ().isType (so .getFile ()))
113113 {
114- getAndValidateHeaderForVcf (so , newRsName );
114+ getAndValidateHeaderForVcf (so , newRsName , ctx . getLogger () );
115115 }
116116 else
117117 {
@@ -121,7 +121,7 @@ else if (SequenceUtil.FILETYPE.gvcf.getFileType().isType(so.getFile()) | Sequenc
121121 ctx .getSequenceSupport ().cacheObject ("readsetId" , newRsName );
122122 }
123123
124- private SAMFileHeader getAndValidateHeaderForBam (SequenceOutputFile so , String newRsName ) throws PipelineJobException
124+ private SAMFileHeader getAndValidateHeaderForBam (SequenceOutputFile so , String newRsName , Logger log ) throws PipelineJobException
125125 {
126126 SamReaderFactory samReaderFactory = SamReaderFactory .makeDefault ();
127127 try (SamReader reader = samReaderFactory .open (so .getFile ()))
@@ -148,6 +148,8 @@ private SAMFileHeader getAndValidateHeaderForBam(SequenceOutputFile so, String n
148148 throw new PipelineJobException ("Sample and library names match in read group(s), aborting" );
149149 }
150150
151+ log .info ("Readset name and header do not match: " + newRsName + " / " + distinctLibraries .stream ().distinct ().collect (Collectors .joining ()));
152+
151153 return header ;
152154 }
153155 catch (IOException e )
@@ -156,7 +158,7 @@ private SAMFileHeader getAndValidateHeaderForBam(SequenceOutputFile so, String n
156158 }
157159 }
158160
159- private VCFHeader getAndValidateHeaderForVcf (SequenceOutputFile so , String newRsName ) throws PipelineJobException
161+ private VCFHeader getAndValidateHeaderForVcf (SequenceOutputFile so , String newRsName , Logger log ) throws PipelineJobException
160162 {
161163 try (VCFReader reader = new VCFFileReader (so .getFile ()))
162164 {
@@ -173,6 +175,8 @@ private VCFHeader getAndValidateHeaderForVcf(SequenceOutputFile so, String newRs
173175 throw new PipelineJobException ("Sample names match, aborting" );
174176 }
175177
178+ log .info ("Readset name and header do not match: " + newRsName + " / " + existingSample );
179+
176180 return header ;
177181 }
178182 catch (IOException e )
@@ -209,7 +213,7 @@ else if (SequenceUtil.FILETYPE.gvcf.getFileType().isType(so.getFile()) | Sequenc
209213
210214 private void reheaderVcf (SequenceOutputFile so , JobContext ctx , String newRsName ) throws PipelineJobException
211215 {
212- VCFHeader header = getAndValidateHeaderForVcf (so , newRsName );
216+ VCFHeader header = getAndValidateHeaderForVcf (so , newRsName , ctx . getLogger () );
213217 String existingSample = header .getGenotypeSamples ().get (0 );
214218
215219 File sampleNamesFile = new File (ctx .getWorkingDirectory (), "sampleNames.txt" );
@@ -289,7 +293,7 @@ private void reheaderBamOrCram(SequenceOutputFile so, JobContext ctx, String new
289293 {
290294 try
291295 {
292- SAMFileHeader header = getAndValidateHeaderForBam (so , newRsName );
296+ SAMFileHeader header = getAndValidateHeaderForBam (so , newRsName , ctx . getLogger () );
293297
294298 List <SAMReadGroupRecord > rgs = header .getReadGroups ();
295299 String existingSample = rgs .get (0 ).getSample ();
0 commit comments