Allow specification of particular rods for pulling out sample names.
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@3570 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
parent
01ffa307c2
commit
f003703912
|
|
@ -73,11 +73,27 @@ public class SampleUtils {
|
||||||
* @return the set of unique samples
|
* @return the set of unique samples
|
||||||
*/
|
*/
|
||||||
public static Set<String> getUniqueSamplesFromRods(GenomeAnalysisEngine toolkit) {
|
public static Set<String> getUniqueSamplesFromRods(GenomeAnalysisEngine toolkit) {
|
||||||
|
return getUniqueSamplesFromRods(toolkit, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets all of the unique sample names from the set of provided VCF rod names input by the user
|
||||||
|
*
|
||||||
|
* @param toolkit GATK engine
|
||||||
|
* @param rodNames list of rods to use; if null, uses all VCF rods
|
||||||
|
*
|
||||||
|
* @return the set of unique samples
|
||||||
|
*/
|
||||||
|
public static Set<String> getUniqueSamplesFromRods(GenomeAnalysisEngine toolkit, Set<String> rodNames) {
|
||||||
Set<String> samples = new TreeSet<String>();
|
Set<String> samples = new TreeSet<String>();
|
||||||
|
|
||||||
// iterate to get all of the sample names
|
// iterate to get all of the sample names
|
||||||
List<ReferenceOrderedDataSource> dataSources = toolkit.getRodDataSources();
|
List<ReferenceOrderedDataSource> dataSources = toolkit.getRodDataSources();
|
||||||
for ( ReferenceOrderedDataSource source : dataSources ) {
|
for ( ReferenceOrderedDataSource source : dataSources ) {
|
||||||
|
// ignore the rod if it's not in our list
|
||||||
|
if ( rodNames != null && !rodNames.contains(source.getName()) )
|
||||||
|
continue;
|
||||||
|
|
||||||
RMDTrack rod = source.getReferenceOrderedData();
|
RMDTrack rod = source.getReferenceOrderedData();
|
||||||
if ( rod.getRecordType().equals(VCFRecord.class) )
|
if ( rod.getRecordType().equals(VCFRecord.class) )
|
||||||
samples.addAll(rod.getHeader(VCFHeader.class).getGenotypeSamples());
|
samples.addAll(rod.getHeader(VCFHeader.class).getGenotypeSamples());
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue