Retire old ROD syntax.
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@4564 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
parent
e9c6f681a4
commit
3039c0de3c
|
|
@ -312,15 +312,12 @@ public abstract class AbstractGenomeAnalysisEngine {
|
||||||
|
|
||||||
sampleDataSource = new SampleDataSource(getSAMFileHeader(), argCollection.sampleFiles);
|
sampleDataSource = new SampleDataSource(getSAMFileHeader(), argCollection.sampleFiles);
|
||||||
|
|
||||||
if (argCollection.DBSNPFile != null)
|
|
||||||
bindConvenienceRods(DbSNPHelper.STANDARD_DBSNP_TRACK_NAME, "dbsnp", argCollection.DBSNPFile);
|
|
||||||
|
|
||||||
RMDTrackBuilder manager = new RMDTrackBuilder();
|
RMDTrackBuilder manager = new RMDTrackBuilder();
|
||||||
|
|
||||||
// set the sequence dictionary of all of Tribble tracks to the sequence dictionary of our reference
|
// set the sequence dictionary of all of Tribble tracks to the sequence dictionary of our reference
|
||||||
manager.setSequenceDictionary(referenceDataSource.getReference().getSequenceDictionary());
|
manager.setSequenceDictionary(referenceDataSource.getReference().getSequenceDictionary());
|
||||||
|
|
||||||
List<RMDTrack> tracks = manager.getReferenceMetaDataSources(this,argCollection.RODBindings);
|
List<RMDTrack> tracks = manager.getReferenceMetaDataSources(this,argCollection);
|
||||||
validateSuppliedReferenceOrderedData(tracks);
|
validateSuppliedReferenceOrderedData(tracks);
|
||||||
|
|
||||||
// validate all the sequence dictionaries against the reference
|
// validate all the sequence dictionaries against the reference
|
||||||
|
|
|
||||||
|
|
@ -34,10 +34,13 @@ import org.broad.tribble.index.IndexFactory;
|
||||||
import org.broad.tribble.source.BasicFeatureSource;
|
import org.broad.tribble.source.BasicFeatureSource;
|
||||||
import org.broad.tribble.source.CachingFeatureSource;
|
import org.broad.tribble.source.CachingFeatureSource;
|
||||||
import org.broad.tribble.util.LittleEndianOutputStream;
|
import org.broad.tribble.util.LittleEndianOutputStream;
|
||||||
|
import org.broadinstitute.sting.gatk.arguments.GATKArgumentCollection;
|
||||||
import org.broadinstitute.sting.gatk.refdata.tracks.RMDTrack;
|
import org.broadinstitute.sting.gatk.refdata.tracks.RMDTrack;
|
||||||
import org.broadinstitute.sting.gatk.refdata.tracks.RMDTrackCreationException;
|
import org.broadinstitute.sting.gatk.refdata.tracks.RMDTrackCreationException;
|
||||||
import org.broadinstitute.sting.gatk.refdata.utils.RMDTriplet;
|
import org.broadinstitute.sting.gatk.refdata.utils.RMDTriplet;
|
||||||
import org.broadinstitute.sting.gatk.AbstractGenomeAnalysisEngine;
|
import org.broadinstitute.sting.gatk.AbstractGenomeAnalysisEngine;
|
||||||
|
import org.broadinstitute.sting.gatk.refdata.utils.helpers.DbSNPHelper;
|
||||||
|
import org.broadinstitute.sting.utils.Utils;
|
||||||
import org.broadinstitute.sting.utils.collections.Pair;
|
import org.broadinstitute.sting.utils.collections.Pair;
|
||||||
import org.broadinstitute.sting.utils.classloader.PluginManager;
|
import org.broadinstitute.sting.utils.classloader.PluginManager;
|
||||||
import org.broadinstitute.sting.utils.exceptions.UserException;
|
import org.broadinstitute.sting.utils.exceptions.UserException;
|
||||||
|
|
@ -369,29 +372,39 @@ public class RMDTrackBuilder extends PluginManager<FeatureCodec> {
|
||||||
/**
|
/**
|
||||||
* find the associated reference meta data
|
* find the associated reference meta data
|
||||||
*
|
*
|
||||||
* @param bindings the bindings of strings from the -B command line option
|
* @param argCollection the input arguments to the GATK.
|
||||||
* @param engine the GATK engine to bind the tracks to
|
* @param engine the GATK engine to bind the tracks to
|
||||||
*
|
*
|
||||||
* @return a list of RMDTracks, one for each -B option
|
* @return a list of RMDTracks, one for each -B option
|
||||||
*/
|
*/
|
||||||
public List<RMDTrack> getReferenceMetaDataSources(AbstractGenomeAnalysisEngine engine, List<String> bindings) {
|
public List<RMDTrack> getReferenceMetaDataSources(AbstractGenomeAnalysisEngine engine, GATKArgumentCollection argCollection) {
|
||||||
initializeBindings(engine,bindings);
|
initializeConvenienceBindings(engine,argCollection);
|
||||||
|
initializeFullBindings(engine,argCollection);
|
||||||
// try and make the tracks given their requests
|
// try and make the tracks given their requests
|
||||||
return createRequestedTrackObjects();
|
return createRequestedTrackObjects();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void initializeConvenienceBindings(AbstractGenomeAnalysisEngine engine, GATKArgumentCollection argCollection) {
|
||||||
|
if (argCollection.DBSNPFile != null)
|
||||||
|
inputs.add(new RMDTriplet(DbSNPHelper.STANDARD_DBSNP_TRACK_NAME, "dbsnp", argCollection.DBSNPFile));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* initialize our lists of bindings
|
* initialize our lists of bindings
|
||||||
* @param engine The engine, used to populate tags.
|
* @param engine The engine, used to populate tags.
|
||||||
* @param bindings the input to the GATK, as a list of strings passed in through the -B options
|
* @param argCollection input arguments to the GATK.
|
||||||
*/
|
*/
|
||||||
private void initializeBindings(AbstractGenomeAnalysisEngine engine,List<String> bindings) {
|
private void initializeFullBindings(AbstractGenomeAnalysisEngine engine,GATKArgumentCollection argCollection) {
|
||||||
// NOTE: Method acts as a static. Once the inputs have been passed once they are locked in.
|
// NOTE: Method acts as a static. Once the inputs have been passed once they are locked in.
|
||||||
if (inputs.size() > 0 || bindings.size() == 0)
|
if (argCollection.RODBindings.size() == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
for (String binding: bindings) {
|
for (String binding: argCollection.RODBindings) {
|
||||||
if(engine != null && engine.getTags(binding).size() == 2) {
|
if(engine != null) {
|
||||||
|
if(engine.getTags(binding).size() != 2)
|
||||||
|
throw new UserException("Invalid syntax for -B (reference-ordered data) input flag. " +
|
||||||
|
"Please use the following syntax when providing reference-ordered " +
|
||||||
|
"data: -B:<name>,<type> <filename>.");
|
||||||
// Assume that if tags are present, those tags are name and type.
|
// Assume that if tags are present, those tags are name and type.
|
||||||
// Name is always first, followed by type.
|
// Name is always first, followed by type.
|
||||||
List<String> parameters = engine.getTags(binding);
|
List<String> parameters = engine.getTags(binding);
|
||||||
|
|
@ -399,12 +412,6 @@ public class RMDTrackBuilder extends PluginManager<FeatureCodec> {
|
||||||
String type = parameters.get(1);
|
String type = parameters.get(1);
|
||||||
inputs.add(new RMDTriplet(name,type,binding));
|
inputs.add(new RMDTriplet(name,type,binding));
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
// Otherwise, use old-format bindings.
|
|
||||||
String[] split = binding.split(",");
|
|
||||||
if (split.length != 3) throw new IllegalArgumentException(binding + " is not a valid reference metadata track description");
|
|
||||||
inputs.add(new RMDTriplet(split[0], split[1], split[2]));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue