From edc44807af0c35277e9d5d6a1b52d789fa265ac6 Mon Sep 17 00:00:00 2001 From: depristo Date: Fri, 3 Apr 2009 16:41:33 +0000 Subject: [PATCH] rod's now have names. Use getName() to access it. Next step is better interface to accessing rods git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@286 348d0f76-0448-11de-a6fe-93d51630548a --- .../contents.xml | 21 +++++++++++++++---- .../sting/gatk/GenomeAnalysisTK.java | 8 +++---- .../refdata/HapMapAlleleFrequenciesROD.java | 3 +++ .../gatk/refdata/ReferenceOrderedData.java | 18 +++++++++++++--- .../gatk/refdata/ReferenceOrderedDatum.java | 7 ++++++- .../sting/gatk/refdata/rodDbSNP.java | 4 +++- .../sting/gatk/refdata/rodGFF.java | 4 ++-- .../sting/playground/gatk/PrepareROD.java | 4 ++-- 8 files changed, 52 insertions(+), 17 deletions(-) diff --git a/doc/Genome Analysis TK plan.omniplan/contents.xml b/doc/Genome Analysis TK plan.omniplan/contents.xml index c784b82f2..75ea6472d 100644 --- a/doc/Genome Analysis TK plan.omniplan/contents.xml +++ b/doc/Genome Analysis TK plan.omniplan/contents.xml @@ -28,9 +28,9 @@ GanttGroupShading GanttVisibleRect - {{-35, 124}, {1025, 1033}} + {{-35, 141}, {1025, 1033}} OutlineVisibleRect - {{0, 124}, {789, 1033}} + {{0, 141}, {789, 1033}} ScaleWidths Automatic @@ -587,7 +587,7 @@ taskDifferenceEngine nextId - 111 + 112 taskUserKeys @@ -1373,6 +1373,7 @@ 83 95 96 + 111 objectId 41 @@ -2391,6 +2392,18 @@ workTime 8 + + effort + 28800 + objectId + 111 + task + Fix rodDBSNP + workSeconds + 28800 + workTime + 8 + topResources @@ -2401,7 +2414,7 @@ -1 uuid - E50852A9-C0BE-452A-A050-4FF83DEF06D7 + 85860500-DAB8-4D75-95EE-F86F00907D5D version 2 diff --git a/java/src/org/broadinstitute/sting/gatk/GenomeAnalysisTK.java b/java/src/org/broadinstitute/sting/gatk/GenomeAnalysisTK.java index b57716781..155f0b2ba 100644 --- a/java/src/org/broadinstitute/sting/gatk/GenomeAnalysisTK.java +++ b/java/src/org/broadinstitute/sting/gatk/GenomeAnalysisTK.java @@ -158,21 +158,21 @@ public class GenomeAnalysisTK extends CommandLineProgram { List > rods = new ArrayList >(); if ( TEST_ROD ) { - ReferenceOrderedData gff = new ReferenceOrderedData(new File("trunk/data/gFFTest.gff"), rodGFF.class ); + ReferenceOrderedData gff = new ReferenceOrderedData("test", new File("trunk/data/gFFTest.gff"), rodGFF.class ); gff.testMe(); //ReferenceOrderedData dbsnp = new ReferenceOrderedData(new File("trunk/data/dbSNP_head.txt"), rodDbSNP.class ); - ReferenceOrderedData dbsnp = new ReferenceOrderedData(new File("/Volumes/Users/mdepristo/broad/ATK/exampleSAMs/dbSNP_chr20.txt"), rodDbSNP.class ); + ReferenceOrderedData dbsnp = new ReferenceOrderedData("dbSNP", new File("/Volumes/Users/mdepristo/broad/ATK/exampleSAMs/dbSNP_chr20.txt"), rodDbSNP.class ); //dbsnp.testMe(); rods.add(dbsnp); // { gff, dbsnp }; } else { if ( DBSNP_FILE != null ) { - ReferenceOrderedData dbsnp = new ReferenceOrderedData(new File(DBSNP_FILE), rodDbSNP.class ); + ReferenceOrderedData dbsnp = new ReferenceOrderedData("dbSNP", new File(DBSNP_FILE), rodDbSNP.class ); //dbsnp.testMe(); rods.add(dbsnp); // { gff, dbsnp }; } if ( HAPMAP_FILE != null ) { - ReferenceOrderedData hapmap = new ReferenceOrderedData(new File(HAPMAP_FILE), HapMapAlleleFrequenciesROD.class ); + ReferenceOrderedData hapmap = new ReferenceOrderedData("hapmap", new File(HAPMAP_FILE), HapMapAlleleFrequenciesROD.class ); //dbsnp.testMe(); rods.add(hapmap); // { gff, dbsnp }; } diff --git a/java/src/org/broadinstitute/sting/gatk/refdata/HapMapAlleleFrequenciesROD.java b/java/src/org/broadinstitute/sting/gatk/refdata/HapMapAlleleFrequenciesROD.java index 4fdd2333a..be677e9d7 100644 --- a/java/src/org/broadinstitute/sting/gatk/refdata/HapMapAlleleFrequenciesROD.java +++ b/java/src/org/broadinstitute/sting/gatk/refdata/HapMapAlleleFrequenciesROD.java @@ -35,6 +35,9 @@ public class HapMapAlleleFrequenciesROD extends ReferenceOrderedDatum { public Integer varCounts; // maybe we don't need these? public Integer totalCounts; // maybe we don't need these? + public HapMapAlleleFrequenciesROD(String name) { + super(name); + } public GenomeLoc getLocation() { return loc; } diff --git a/java/src/org/broadinstitute/sting/gatk/refdata/ReferenceOrderedData.java b/java/src/org/broadinstitute/sting/gatk/refdata/ReferenceOrderedData.java index 33343b735..8c7587c46 100644 --- a/java/src/org/broadinstitute/sting/gatk/refdata/ReferenceOrderedData.java +++ b/java/src/org/broadinstitute/sting/gatk/refdata/ReferenceOrderedData.java @@ -7,6 +7,8 @@ import java.io.FileNotFoundException; import java.util.Iterator; import java.util.ArrayList; import java.util.Collections; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; import edu.mit.broad.picard.util.TabbedTextFileParser; import org.broadinstitute.sting.gatk.iterators.PushbackIterator; @@ -23,12 +25,14 @@ import org.broadinstitute.sting.utils.Utils; * To change this template use File | Settings | File Templates. */ public class ReferenceOrderedData implements Iterable { + private String name; private File file = null; private Class type = null; // runtime type information for object construction - public ReferenceOrderedData(File file, Class type ) { + public ReferenceOrderedData(final String name, File file, Class type ) { this.file = file; this.type = type; + this.name = name; } public RODIterator iterator() { @@ -232,7 +236,9 @@ public class ReferenceOrderedData implements ROD parseLine(final String[] parts) { //System.out.printf("Parsing GFFLine %s%n", Utils.join(" ", parts)); try { - ROD obj = type.newInstance(); + //ROD obj = type.newInstance(); + Constructor c = type.getConstructor(String.class); + ROD obj = (ROD)c.newInstance(name); obj.parseLine(parts); return obj; } catch ( java.lang.InstantiationException e ) { @@ -241,6 +247,12 @@ public class ReferenceOrderedData implements } catch ( java.lang.IllegalAccessException e ) { System.out.println(e); return null; // wow, unsafe! - } + } catch ( java.lang.NoSuchMethodException e ) { + System.out.println(e); + return null; // wow, unsafe! + } catch ( InvocationTargetException e ) { + System.out.println(e); + return null; // wow, unsafe! + } } } diff --git a/java/src/org/broadinstitute/sting/gatk/refdata/ReferenceOrderedDatum.java b/java/src/org/broadinstitute/sting/gatk/refdata/ReferenceOrderedDatum.java index 51b1379b5..9c34b4ab9 100644 --- a/java/src/org/broadinstitute/sting/gatk/refdata/ReferenceOrderedDatum.java +++ b/java/src/org/broadinstitute/sting/gatk/refdata/ReferenceOrderedDatum.java @@ -10,8 +10,13 @@ import org.broadinstitute.sting.utils.GenomeLoc; * To change this template use File | Settings | File Templates. */ public abstract class ReferenceOrderedDatum implements Comparable { + protected String name; - public ReferenceOrderedDatum() { } + public ReferenceOrderedDatum(String name) { + this.name = name; + } + + public String getName() { return this.name; } public abstract void parseLine(final String[] parts); diff --git a/java/src/org/broadinstitute/sting/gatk/refdata/rodDbSNP.java b/java/src/org/broadinstitute/sting/gatk/refdata/rodDbSNP.java index 39b9da2c3..286b02b31 100644 --- a/java/src/org/broadinstitute/sting/gatk/refdata/rodDbSNP.java +++ b/java/src/org/broadinstitute/sting/gatk/refdata/rodDbSNP.java @@ -52,7 +52,9 @@ public class rodDbSNP extends ReferenceOrderedDatum implements AllelicVariant { // Constructors // // ---------------------------------------------------------------------- - public rodDbSNP() {} + public rodDbSNP(final String name) { + super(name); + } // ---------------------------------------------------------------------- // diff --git a/java/src/org/broadinstitute/sting/gatk/refdata/rodGFF.java b/java/src/org/broadinstitute/sting/gatk/refdata/rodGFF.java index 6186d6154..41dfd360b 100644 --- a/java/src/org/broadinstitute/sting/gatk/refdata/rodGFF.java +++ b/java/src/org/broadinstitute/sting/gatk/refdata/rodGFF.java @@ -29,8 +29,8 @@ public class rodGFF extends ReferenceOrderedDatum { // Constructors // // ---------------------------------------------------------------------- - public rodGFF() { - + public rodGFF(final String name) { + super(name); } public void setValues(final String contig, final String source, final String feature, diff --git a/java/src/org/broadinstitute/sting/playground/gatk/PrepareROD.java b/java/src/org/broadinstitute/sting/playground/gatk/PrepareROD.java index 2c1dc9e18..2d3ab74b6 100644 --- a/java/src/org/broadinstitute/sting/playground/gatk/PrepareROD.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/PrepareROD.java @@ -49,7 +49,7 @@ public class PrepareROD extends CommandLineProgram { Class rodClass = Types.get(ROD_TYPE.toLowerCase()); - ReferenceOrderedData rod = new ReferenceOrderedData(new File(ROD_FILE), rodClass ); + ReferenceOrderedData rod = new ReferenceOrderedData("ROD", new File(ROD_FILE), rodClass ); try { rod.validateFile(); } catch ( Exception e ) { @@ -68,7 +68,7 @@ public class PrepareROD extends CommandLineProgram { } System.out.printf("Validating output file %s%n", rodData.size(), OUTPUT_FILE); - ReferenceOrderedData outputRod = new ReferenceOrderedData(new File(OUTPUT_FILE), rodClass ); + ReferenceOrderedData outputRod = new ReferenceOrderedData("ROD", new File(OUTPUT_FILE), rodClass ); try { outputRod.validateFile(); //outputRod.hasSameContents(ROD_FILE);