From 2b7d39035a5bd8dd374b646df99488b887775367 Mon Sep 17 00:00:00 2001 From: aaron Date: Fri, 25 Sep 2009 16:09:43 +0000 Subject: [PATCH] switched over the FastaAlternateReferenceWalker to the Variation system git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@1726 348d0f76-0448-11de-a6fe-93d51630548a --- .../sting/gatk/refdata/SimpleIndelROD.java | 4 +- .../fasta/FastaAlternateReferenceWalker.java | 38 +++++++++---------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/java/src/org/broadinstitute/sting/gatk/refdata/SimpleIndelROD.java b/java/src/org/broadinstitute/sting/gatk/refdata/SimpleIndelROD.java index 02f3cb4e4..60450dbae 100755 --- a/java/src/org/broadinstitute/sting/gatk/refdata/SimpleIndelROD.java +++ b/java/src/org/broadinstitute/sting/gatk/refdata/SimpleIndelROD.java @@ -74,7 +74,7 @@ public class SimpleIndelROD extends TabularROD implements Genotype, AllelicVaria */ @Override public String getAlternateBases() { - return ""; + return getFWDAlleles().get(0); } /** @@ -84,7 +84,7 @@ public class SimpleIndelROD extends TabularROD implements Genotype, AllelicVaria */ @Override public List getAlternateBaseList() { - return Arrays.asList(new String[]{""}); + return getFWDAlleles(); } public boolean isInsertion() { diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/fasta/FastaAlternateReferenceWalker.java b/java/src/org/broadinstitute/sting/gatk/walkers/fasta/FastaAlternateReferenceWalker.java index 6337c460f..84e4a751a 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/fasta/FastaAlternateReferenceWalker.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/fasta/FastaAlternateReferenceWalker.java @@ -6,6 +6,7 @@ import org.broadinstitute.sting.gatk.refdata.*; import org.broadinstitute.sting.gatk.walkers.*; import org.broadinstitute.sting.utils.*; import org.broadinstitute.sting.utils.cmdLine.Argument; +import org.broadinstitute.sting.utils.genotype.Variation; import java.io.*; import java.util.Iterator; @@ -26,7 +27,7 @@ public class FastaAlternateReferenceWalker extends FastaReferenceWalker { public void initialize() { super.initialize(); - if ( indelsFile != null ) { + if (indelsFile != null) { try { indelsWriter = new PrintWriter(indelsFile); } catch (IOException e) { @@ -38,46 +39,45 @@ public class FastaAlternateReferenceWalker extends FastaReferenceWalker { public Pair map(RefMetaDataTracker rodData, ReferenceContext ref, AlignmentContext context) { String refBase = String.valueOf(ref.getBase()); - if ( deletionBasesRemaining > 0 ) { + if (deletionBasesRemaining > 0) { deletionBasesRemaining--; return new Pair(context.getLocation(), (SEQUENOM ? (deletionBasesRemaining == 0 ? refBase.concat("/-]") : refBase) : "")); } Iterator rods = rodData.getAllRods().iterator(); - while ( rods.hasNext() ) { + while (rods.hasNext()) { ReferenceOrderedDatum rod = rods.next(); - if ( !(rod instanceof AllelicVariant) ) + if (!(rod instanceof Variation)) continue; - // if we have multiple variants at a locus, just take the first damn one we see for now - AllelicVariant variant = (AllelicVariant)rod; - if ( !rod.getName().startsWith("snpmask") && variant.isDeletion() ) { - deletionBasesRemaining = variant.length(); + Variation variant = (Variation) rod; + if (!rod.getName().startsWith("snpmask") && variant.isDeletion()) { + deletionBasesRemaining = variant.getAlternateBases().length(); basesSeen++; - if ( indelsWriter != null ) - indelsWriter.println(fasta.getCurrentID() + ":" + basesSeen + "-" + (basesSeen + variant.length())); + if (indelsWriter != null) + indelsWriter.println(fasta.getCurrentID() + ":" + basesSeen + "-" + (basesSeen + variant.getAlternateBases().length())); // delete the next n bases, not this one return new Pair(context.getLocation(), (SEQUENOM ? refBase.concat("[") : refBase)); - } else if ( !rod.getName().startsWith("snpmask") && variant.isInsertion() ) { + } else if (!rod.getName().startsWith("snpmask") && variant.isInsertion()) { basesSeen++; - if ( indelsWriter != null ) - indelsWriter.println(fasta.getCurrentID() + ":" + basesSeen + "-" + (basesSeen + variant.length())); - basesSeen += variant.length(); - return new Pair(context.getLocation(), (SEQUENOM ? refBase.concat("[-/"+variant.getAltBasesFWD()+"]") : refBase.concat(variant.getAltBasesFWD()))); - } else if ( variant.isSNP() ) { + if (indelsWriter != null) + indelsWriter.println(fasta.getCurrentID() + ":" + basesSeen + "-" + (basesSeen + variant.getAlternateBases().length())); + basesSeen += variant.getAlternateBases().length(); + return new Pair(context.getLocation(), (SEQUENOM ? refBase.concat("[-/" + variant.getAlternateBases() + "]") : refBase.concat(variant.getAlternateBases()))); + } else if (variant.isSNP()) { basesSeen++; - return new Pair(context.getLocation(), (rod.getName().startsWith("snpmask") ? "N" : (SEQUENOM ? "[" + refBase + "/" + variant.getAltBasesFWD() + "]" : variant.getAltBasesFWD()))); + return new Pair(context.getLocation(), (rod.getName().startsWith("snpmask") ? "N" : (SEQUENOM ? "[" + refBase + "/" + variant.getAlternativeBaseForSNP() + "]" : String.valueOf(variant.getAlternativeBaseForSNP())))); } } // if we got here then we're just ref basesSeen++; return new Pair(context.getLocation(), refBase); - } + } public void onTraversalDone(GenomeLoc sum) { super.onTraversalDone(sum); - if ( indelsWriter != null ) + if (indelsWriter != null) indelsWriter.close(); }