2009-08-05 05:01:37 +08:00
|
|
|
/*
|
|
|
|
|
* Copyright (c) 2009 The Broad Institute
|
|
|
|
|
*
|
|
|
|
|
* Permission is hereby granted, free of charge, to any person
|
|
|
|
|
* obtaining a copy of this software and associated documentation
|
|
|
|
|
* files (the "Software"), to deal in the Software without
|
|
|
|
|
* restriction, including without limitation the rights to use,
|
|
|
|
|
* copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
|
|
|
* copies of the Software, and to permit persons to whom the
|
|
|
|
|
* Software is furnished to do so, subject to the following
|
|
|
|
|
* conditions:
|
|
|
|
|
*
|
|
|
|
|
* The above copyright notice and this permission notice shall be
|
|
|
|
|
* included in all copies or substantial portions of the Software.
|
|
|
|
|
*
|
|
|
|
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
|
|
|
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
|
|
|
|
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
|
|
|
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|
|
|
|
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
|
|
|
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
|
|
|
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
|
|
|
|
* OTHER DEALINGS IN THE SOFTWARE.
|
|
|
|
|
*/
|
|
|
|
|
|
2009-12-03 11:00:45 +08:00
|
|
|
package org.broadinstitute.sting.gatk.walkers;
|
2009-07-17 22:03:34 +08:00
|
|
|
|
2009-12-03 11:00:45 +08:00
|
|
|
import org.broadinstitute.sting.gatk.contexts.*;
|
2009-07-17 22:03:34 +08:00
|
|
|
import org.broadinstitute.sting.gatk.refdata.*;
|
2009-12-03 11:00:45 +08:00
|
|
|
import org.broadinstitute.sting.utils.genotype.Variation;
|
|
|
|
|
|
|
|
|
|
import java.util.Iterator;
|
2009-07-17 22:03:34 +08:00
|
|
|
|
|
|
|
|
/**
|
2009-12-12 02:02:33 +08:00
|
|
|
* Prints out all of the RODs in the input data set. Data is rendered using the toString() method
|
|
|
|
|
* of the given ROD.
|
2009-07-17 22:03:34 +08:00
|
|
|
*/
|
2009-12-03 11:00:45 +08:00
|
|
|
public class PrintRODsWalker extends RodWalker<Integer, Integer> {
|
2009-07-17 22:03:34 +08:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Initialize the number of loci processed to zero.
|
|
|
|
|
*
|
|
|
|
|
* @return 0
|
|
|
|
|
*/
|
|
|
|
|
public Integer reduceInit() { return 0; }
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* For each site of interest, rescore the genotype likelihoods by applying the specified feature set.
|
|
|
|
|
*
|
|
|
|
|
* @param tracker the meta-data tracker
|
|
|
|
|
* @param ref the reference base
|
|
|
|
|
* @param context the context for the given locus
|
|
|
|
|
* @return 1 if the locus was successfully processed, 0 if otherwise
|
|
|
|
|
*/
|
2009-08-05 05:01:37 +08:00
|
|
|
public Integer map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) {
|
2009-12-03 11:00:45 +08:00
|
|
|
if ( tracker == null )
|
|
|
|
|
return 0;
|
2009-07-17 22:03:34 +08:00
|
|
|
|
2009-12-03 11:00:45 +08:00
|
|
|
Iterator<ReferenceOrderedDatum> rods = tracker.getAllRods().iterator();
|
|
|
|
|
while ( rods.hasNext() ) {
|
|
|
|
|
ReferenceOrderedDatum rod = rods.next();
|
|
|
|
|
if ( rod instanceof Variation )
|
|
|
|
|
out.println(rod.toString());
|
|
|
|
|
}
|
2009-07-17 22:03:34 +08:00
|
|
|
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Increment the number of rods processed.
|
|
|
|
|
*
|
|
|
|
|
* @param value result of the map.
|
|
|
|
|
* @param sum accumulator for the reduce.
|
|
|
|
|
* @return the new number of rods processed.
|
|
|
|
|
*/
|
|
|
|
|
public Integer reduce(Integer value, Integer sum) {
|
|
|
|
|
return sum + value;
|
|
|
|
|
}
|
2009-07-18 00:13:28 +08:00
|
|
|
|
|
|
|
|
public void onTraversalDone(Integer result) {}
|
2009-07-17 22:03:34 +08:00
|
|
|
}
|