Bug fix for multisample calls in ApplyVariantClusterWalker
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@3142 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
parent
3f2455e346
commit
f1b1e70612
|
|
@ -2,8 +2,10 @@ package org.broadinstitute.sting.playground.gatk.walkers.variantoptimizer;
|
||||||
|
|
||||||
import org.broadinstitute.sting.gatk.contexts.AlignmentContext;
|
import org.broadinstitute.sting.gatk.contexts.AlignmentContext;
|
||||||
import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
|
import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
|
||||||
|
import org.broadinstitute.sting.gatk.datasources.simpleDataSources.ReferenceOrderedDataSource;
|
||||||
import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker;
|
import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker;
|
||||||
import org.broadinstitute.sting.gatk.refdata.RodVCF;
|
import org.broadinstitute.sting.gatk.refdata.RodVCF;
|
||||||
|
import org.broadinstitute.sting.gatk.refdata.tracks.RMDTrack;
|
||||||
import org.broadinstitute.sting.gatk.refdata.utils.GATKFeature;
|
import org.broadinstitute.sting.gatk.refdata.utils.GATKFeature;
|
||||||
import org.broadinstitute.sting.gatk.walkers.RodWalker;
|
import org.broadinstitute.sting.gatk.walkers.RodWalker;
|
||||||
import org.broadinstitute.sting.utils.*;
|
import org.broadinstitute.sting.utils.*;
|
||||||
|
|
@ -108,7 +110,6 @@ public class ApplyVariantClustersWalker extends RodWalker<ExpandingArrayList<Var
|
||||||
throw new StingException( "Variant Optimization Model is unrecognized. Implemented options are GAUSSIAN_MIXTURE_MODEL and K_NEAREST_NEIGHBORS" );
|
throw new StingException( "Variant Optimization Model is unrecognized. Implemented options are GAUSSIAN_MIXTURE_MODEL and K_NEAREST_NEIGHBORS" );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// setup the header fields
|
// setup the header fields
|
||||||
final Set<VCFHeaderLine> hInfo = new HashSet<VCFHeaderLine>();
|
final Set<VCFHeaderLine> hInfo = new HashSet<VCFHeaderLine>();
|
||||||
hInfo.addAll(VCFUtils.getHeaderFields(getToolkit()));
|
hInfo.addAll(VCFUtils.getHeaderFields(getToolkit()));
|
||||||
|
|
@ -116,7 +117,16 @@ public class ApplyVariantClustersWalker extends RodWalker<ExpandingArrayList<Var
|
||||||
hInfo.add(new VCFHeaderLine("source", "VariantOptimizer"));
|
hInfo.add(new VCFHeaderLine("source", "VariantOptimizer"));
|
||||||
vcfWriter = new VCFWriter( new File(OUTPUT_PREFIX + ".vcf") );
|
vcfWriter = new VCFWriter( new File(OUTPUT_PREFIX + ".vcf") );
|
||||||
final TreeSet<String> samples = new TreeSet<String>();
|
final TreeSet<String> samples = new TreeSet<String>();
|
||||||
SampleUtils.getUniquifiedSamplesFromRods(getToolkit(), samples, new HashMap<Pair<String, String>, String>());
|
List<ReferenceOrderedDataSource> dataSources = this.getToolkit().getRodDataSources();
|
||||||
|
for ( ReferenceOrderedDataSource source : dataSources ) {
|
||||||
|
RMDTrack rod = source.getReferenceOrderedData();
|
||||||
|
if ( rod.getType().equals(RodVCF.class) ) {
|
||||||
|
VCFReader reader = new VCFReader(rod.getFile());
|
||||||
|
Set<String> vcfSamples = reader.getHeader().getGenotypeSamples();
|
||||||
|
samples.addAll(vcfSamples);
|
||||||
|
reader.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
final VCFHeader vcfHeader = new VCFHeader(hInfo, samples);
|
final VCFHeader vcfHeader = new VCFHeader(hInfo, samples);
|
||||||
vcfWriter.writeHeader(vcfHeader);
|
vcfWriter.writeHeader(vcfHeader);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue