Take 2, updating picard with bug fix for bam files containing no reads.

Just stomped on the existing md5s because that's what Eric told me to do.


git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@2029 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
hanna 2009-11-12 22:52:08 +00:00
parent 61b5fb82ce
commit 8145ed4672
11 changed files with 26 additions and 20 deletions

View File

@ -309,8 +309,7 @@ public class GenomeAnalysisEngine {
* Returns sets of samples present in the (merged) input SAM stream, grouped by readers (i.e. underlying * Returns sets of samples present in the (merged) input SAM stream, grouped by readers (i.e. underlying
* individual bam files). For instance: if GATK is run with three input bam files (three -I arguments), then the list * individual bam files). For instance: if GATK is run with three input bam files (three -I arguments), then the list
* returned by this method will contain 3 elements (one for each reader), with each element being a set of sample names * returned by this method will contain 3 elements (one for each reader), with each element being a set of sample names
* found in the corresponding bam file. The sample names returned will be in order of the files passed in the input * found in the corresponding bam file.
* parameter list of the GATK.
* *
* @return * @return
*/ */
@ -385,7 +384,7 @@ public class GenomeAnalysisEngine {
rg_sets.add(groups); rg_sets.add(groups);
for (SAMReadGroupRecord g : r.getFileHeader().getReadGroups()) { for (SAMReadGroupRecord g : r.getFileHeader().getReadGroups()) {
if (hm.hasGroupIdDuplicates()) { // Check if there were read group clashes with hasGroupIdDuplicates and if so: if (hm.hasReadGroupCollisions()) { // Check if there were read group clashes with hasGroupIdDuplicates and if so:
// use HeaderMerger to translate original read group id from the reader into the read group id in the // use HeaderMerger to translate original read group id from the reader into the read group id in the
// merged stream, and save that remapped read group id to associate it with specific reader // merged stream, and save that remapped read group id to associate it with specific reader
groups.add(hm.getReadGroupId(r, g.getReadGroupId())); groups.add(hm.getReadGroupId(r, g.getReadGroupId()));

View File

@ -235,15 +235,22 @@ public class MergingSamRecordIterator2 implements CloseableIterator<SAMRecord>,
final SAMRecord record = iterator.next(); final SAMRecord record = iterator.next();
addIfNotEmpty(iterator); addIfNotEmpty(iterator);
if (this.samHeaderMerger.hasGroupIdDuplicates()) { // Fix the read group if needs be
final String id = (String) record.getAttribute(ReservedTagConstants.READ_GROUP_ID); if (this.samHeaderMerger.hasReadGroupCollisions()) {
final String newId = this.samHeaderMerger.getReadGroupId(iterator.getReader(), id); final String oldGroupId = (String) record.getAttribute(ReservedTagConstants.READ_GROUP_ID);
record.setAttribute(ReservedTagConstants.READ_GROUP_ID, newId); if (oldGroupId != null ) {
final String newGroupId = this.samHeaderMerger.getReadGroupId(iterator.getReader(), oldGroupId);
record.setAttribute(ReservedTagConstants.READ_GROUP_ID, newGroupId);
}
} }
final String oldProgramGroupId = (String) record.getAttribute(SAMTag.PG.toString());
if (oldProgramGroupId != null) { // Fix the program group if needs be
final String newProgramGroupId = this.samHeaderMerger.getProgramGroupId(iterator.getReader(), oldProgramGroupId); if (this.samHeaderMerger.hasProgramGroupCollisions()) {
record.setAttribute(SAMTag.PG.toString(), newProgramGroupId); final String oldGroupId = (String) record.getAttribute(ReservedTagConstants.PROGRAM_GROUP_ID);
if (oldGroupId != null ) {
final String newGroupId = this.samHeaderMerger.getProgramGroupId(iterator.getReader(), oldGroupId);
record.setAttribute(ReservedTagConstants.PROGRAM_GROUP_ID, newGroupId);
}
} }
// if we don't have a read group, set one correctly // if we don't have a read group, set one correctly

View File

@ -43,7 +43,7 @@ public class UnifiedGenotyperIntegrationTest extends WalkerTest {
public void testMultiSamplePilot1() { public void testMultiSamplePilot1() {
WalkerTest.WalkerTestSpec spec = new WalkerTest.WalkerTestSpec( WalkerTest.WalkerTestSpec spec = new WalkerTest.WalkerTestSpec(
"-T UnifiedGenotyper -R /broad/1KG/reference/human_b36_both.fasta -I /humgen/gsa-scr1/GATK_Data/Validation_Data/low_coverage_CEU.chr1.10k-11k.bam -varout %s -L 1:10,023,400-10,024,000 -bm empirical -gm EM_POINT_ESTIMATE -confidence 50", 1, "-T UnifiedGenotyper -R /broad/1KG/reference/human_b36_both.fasta -I /humgen/gsa-scr1/GATK_Data/Validation_Data/low_coverage_CEU.chr1.10k-11k.bam -varout %s -L 1:10,023,400-10,024,000 -bm empirical -gm EM_POINT_ESTIMATE -confidence 50", 1,
Arrays.asList("8f14c1efea00b32984ec52db7a800d1b")); Arrays.asList("b7e12c4011d0043024e0dd2dd5764752"));
executeTest("testMultiSamplePilot1", spec); executeTest("testMultiSamplePilot1", spec);
} }
@ -205,7 +205,7 @@ public class UnifiedGenotyperIntegrationTest extends WalkerTest {
public void empirical1MbTestBinaryGeli() { public void empirical1MbTestBinaryGeli() {
WalkerTest.WalkerTestSpec spec = new WalkerTest.WalkerTestSpec( WalkerTest.WalkerTestSpec spec = new WalkerTest.WalkerTestSpec(
baseTestString() + " -L 1:10,000,000-11,000,000 -bm empirical --variant_output_format GELI_BINARY -confidence 50", 1, baseTestString() + " -L 1:10,000,000-11,000,000 -bm empirical --variant_output_format GELI_BINARY -confidence 50", 1,
Arrays.asList("915abf82a04fcd1842f6865501bae67c")); Arrays.asList("18f175c7ccaeca57b8d412e9f4ebbe50"));
executeTest("empirical1MbTestBinaryGeli", spec); executeTest("empirical1MbTestBinaryGeli", spec);
} }
} }

View File

@ -1,3 +1,3 @@
<ivy-module version="1.0"> <ivy-module version="1.0">
<info organisation="edu.mit.broad" module="picard-private" revision="1084" status="integration" publication="20091016142400" /> <info organisation="edu.mit.broad" module="picard-private" revision="1109" status="integration" publication="20091112172900" />
</ivy-module> </ivy-module>

View File

@ -1,3 +0,0 @@
<ivy-module version="1.0">
<info organisation="net.sf" module="picard" revision="1.05.140" status="release" />
</ivy-module>

View File

@ -0,0 +1,3 @@
<ivy-module version="1.0">
<info organisation="net.sf" module="picard" revision="1.07.168" status="release" />
</ivy-module>

View File

@ -1,3 +0,0 @@
<ivy-module version="1.0">
<info organisation="net.sf" module="sam" revision="1.05.140" status="release" />
</ivy-module>

View File

@ -0,0 +1,3 @@
<ivy-module version="1.0">
<info organisation="net.sf" module="sam" revision="1.07.168" status="release" />
</ivy-module>