Limiting access to the DT classes
* Make most classes final, others package local
* Move to diagnostics.diagnosetargets package
* Aggregate statistics and walker classes on the same package for simplified visibility.
* Make status list a LinkedList instead of a HashSet
This commit is contained in:
parent
fdd16dc6f9
commit
38662f1d47
|
|
@ -44,7 +44,7 @@
|
|||
* 7.7 Governing Law. This Agreement shall be construed, governed, interpreted and applied in accordance with the internal laws of the Commonwealth of Massachusetts, U.S.A., without regard to conflict of laws principles.
|
||||
*/
|
||||
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.targets;
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics;
|
||||
|
||||
import org.broadinstitute.sting.commandline.Argument;
|
||||
import org.broadinstitute.sting.commandline.Output;
|
||||
|
|
@ -44,7 +44,7 @@
|
|||
* 7.7 Governing Law. This Agreement shall be construed, governed, interpreted and applied in accordance with the internal laws of the Commonwealth of Massachusetts, U.S.A., without regard to conflict of laws principles.
|
||||
*/
|
||||
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.targets;
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics;
|
||||
|
||||
import org.broadinstitute.sting.commandline.Argument;
|
||||
import org.broadinstitute.sting.commandline.Output;
|
||||
|
|
@ -44,7 +44,7 @@
|
|||
* 7.7 Governing Law. This Agreement shall be construed, governed, interpreted and applied in accordance with the internal laws of the Commonwealth of Massachusetts, U.S.A., without regard to conflict of laws principles.
|
||||
*/
|
||||
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.targets;
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.diagnosetargets;
|
||||
|
||||
/**
|
||||
* Short one line description of the walker.
|
||||
|
|
@ -52,7 +52,7 @@ package org.broadinstitute.sting.gatk.walkers.diagnostics.targets;
|
|||
* @author Mauricio Carneiro
|
||||
* @since 2/1/12
|
||||
*/
|
||||
public enum CallableStatus {
|
||||
enum CallableStatus {
|
||||
|
||||
PASS("the base satisfied the min. depth for calling but had less than maxDepth to avoid having EXCESSIVE_COVERAGE"),
|
||||
|
||||
|
|
@ -44,7 +44,7 @@
|
|||
* 7.7 Governing Law. This Agreement shall be construed, governed, interpreted and applied in accordance with the internal laws of the Commonwealth of Massachusetts, U.S.A., without regard to conflict of laws principles.
|
||||
*/
|
||||
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.targets;
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.diagnosetargets;
|
||||
|
||||
import net.sf.picard.util.PeekableIterator;
|
||||
import org.broadinstitute.sting.commandline.ArgumentCollection;
|
||||
|
|
@ -54,9 +54,6 @@ import org.broadinstitute.sting.gatk.contexts.AlignmentContext;
|
|||
import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
|
||||
import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker;
|
||||
import org.broadinstitute.sting.gatk.walkers.*;
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.statistics.Interval;
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.statistics.Locus;
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.statistics.Sample;
|
||||
import org.broadinstitute.sting.utils.GenomeLoc;
|
||||
import org.broadinstitute.sting.utils.SampleUtils;
|
||||
import org.broadinstitute.sting.utils.classloader.PluginManager;
|
||||
|
|
@ -259,7 +256,7 @@ public class DiagnoseTargets extends LocusWalker<Long, Long> {
|
|||
VariantContextBuilder vcb = new VariantContextBuilder("DiagnoseTargets", interval.getContig(), interval.getStart(), interval.getStop(), alleles);
|
||||
|
||||
vcb = vcb.log10PError(VariantContext.NO_LOG10_PERROR);
|
||||
vcb.filters(new HashSet<String>(statusesToStrings(stats.callableStatuses(), true)));
|
||||
vcb.filters(new LinkedHashSet<String>(statusToStrings(stats.callableStatuses(), true)));
|
||||
|
||||
attributes.put(VCFConstants.END_KEY, interval.getStop());
|
||||
attributes.put(AVG_INTERVAL_DP_KEY, stats.averageCoverage());
|
||||
|
|
@ -268,10 +265,10 @@ public class DiagnoseTargets extends LocusWalker<Long, Long> {
|
|||
for (String sample : samples) {
|
||||
final GenotypeBuilder gb = new GenotypeBuilder(sample);
|
||||
|
||||
SampleStatistics sampleStat = stats.getSampleStatics(sample);
|
||||
SampleStatistics sampleStat = stats.getSampleStatistics(sample);
|
||||
gb.attribute(AVG_INTERVAL_DP_KEY, sampleStat.averageCoverage());
|
||||
|
||||
gb.filters(statusesToStrings(stats.getSampleStatics(sample).getCallableStatuses(), false));
|
||||
gb.filters(statusToStrings(stats.getSampleStatistics(sample).callableStatuses(), false));
|
||||
|
||||
genotypes.add(gb.make());
|
||||
}
|
||||
|
|
@ -286,7 +283,7 @@ public class DiagnoseTargets extends LocusWalker<Long, Long> {
|
|||
* @param statuses the set of statuses to be converted
|
||||
* @return a matching set of strings
|
||||
*/
|
||||
private List<String> statusesToStrings(Set<CallableStatus> statuses, final boolean isInfoField) {
|
||||
private List<String> statusToStrings(List<CallableStatus> statuses, final boolean isInfoField) {
|
||||
List<String> output = new ArrayList<String>(statuses.size());
|
||||
|
||||
for (CallableStatus status : statuses)
|
||||
|
|
@ -44,11 +44,7 @@
|
|||
* 7.7 Governing Law. This Agreement shall be construed, governed, interpreted and applied in accordance with the internal laws of the Commonwealth of Massachusetts, U.S.A., without regard to conflict of laws principles.
|
||||
*/
|
||||
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.targets.statistics;
|
||||
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.CallableStatus;
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.IntervalStatistics;
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.ThresHolder;
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.diagnosetargets;
|
||||
|
||||
/**
|
||||
* Created with IntelliJ IDEA.
|
||||
|
|
@ -57,7 +53,7 @@ import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.ThresHolder;
|
|||
* Time: 11:30 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
public interface Interval {
|
||||
interface Interval {
|
||||
public void initialize(ThresHolder thresholds);
|
||||
public CallableStatus status (IntervalStatistics intervalStatistics);
|
||||
}
|
||||
|
|
@ -44,21 +44,16 @@
|
|||
* 7.7 Governing Law. This Agreement shall be construed, governed, interpreted and applied in accordance with the internal laws of the Commonwealth of Massachusetts, U.S.A., without regard to conflict of laws principles.
|
||||
*/
|
||||
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.targets;
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.diagnosetargets;
|
||||
|
||||
import org.broadinstitute.sting.gatk.contexts.AlignmentContext;
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.statistics.Interval;
|
||||
import org.broadinstitute.sting.utils.GenomeLoc;
|
||||
import org.broadinstitute.sting.utils.exceptions.ReviewedStingException;
|
||||
import org.broadinstitute.sting.utils.pileup.ReadBackedPileup;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
public class IntervalStatistics {
|
||||
import java.util.*;
|
||||
|
||||
final class IntervalStatistics {
|
||||
private final Map<String, SampleStatistics> samples;
|
||||
private final GenomeLoc interval;
|
||||
private final ThresHolder thresholds;
|
||||
|
|
@ -73,7 +68,7 @@ public class IntervalStatistics {
|
|||
this.samples.put(sample, new SampleStatistics(interval, thresholds));
|
||||
}
|
||||
|
||||
public SampleStatistics getSampleStatics(String sample) {
|
||||
public SampleStatistics getSampleStatistics(String sample) {
|
||||
return samples.get(sample);
|
||||
}
|
||||
|
||||
|
|
@ -126,13 +121,13 @@ public class IntervalStatistics {
|
|||
*
|
||||
* @return the callable status(es) for the whole interval
|
||||
*/
|
||||
public Set<CallableStatus> callableStatuses() {
|
||||
final Set<CallableStatus> output = new HashSet<CallableStatus>();
|
||||
public List<CallableStatus> callableStatuses() {
|
||||
final List<CallableStatus> output = new LinkedList<CallableStatus>();
|
||||
|
||||
// sum up all the callable status for each sample
|
||||
final Map<CallableStatus, Integer> sampleStatusTally = new HashMap<CallableStatus, Integer>(CallableStatus.values().length);
|
||||
for (SampleStatistics sampleStatistics : samples.values()) {
|
||||
for (CallableStatus status : sampleStatistics.getCallableStatuses()) {
|
||||
for (CallableStatus status : sampleStatistics.callableStatuses()) {
|
||||
sampleStatusTally.put(status, !sampleStatusTally.containsKey(status) ? 1 : sampleStatusTally.get(status) + 1);
|
||||
}
|
||||
}
|
||||
|
|
@ -44,12 +44,7 @@
|
|||
* 7.7 Governing Law. This Agreement shall be construed, governed, interpreted and applied in accordance with the internal laws of the Commonwealth of Massachusetts, U.S.A., without regard to conflict of laws principles.
|
||||
*/
|
||||
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.targets.statistics;
|
||||
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.CallableStatus;
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.LocusStatistics;
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.SampleStatistics;
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.ThresHolder;
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.diagnosetargets;
|
||||
|
||||
/**
|
||||
* Created with IntelliJ IDEA.
|
||||
|
|
@ -58,7 +53,7 @@ import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.ThresHolder;
|
|||
* Time: 11:29 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
public interface Locus {
|
||||
interface Locus {
|
||||
public void initialize(ThresHolder thresholds);
|
||||
public CallableStatus status (LocusStatistics locusStatistics);
|
||||
public CallableStatus sampleStatus (SampleStatistics sampleStatistics);
|
||||
|
|
@ -44,19 +44,14 @@
|
|||
* 7.7 Governing Law. This Agreement shall be construed, governed, interpreted and applied in accordance with the internal laws of the Commonwealth of Massachusetts, U.S.A., without regard to conflict of laws principles.
|
||||
*/
|
||||
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.targets.statistics;
|
||||
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.CallableStatus;
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.LocusStatistics;
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.SampleStatistics;
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.ThresHolder;
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.diagnosetargets;
|
||||
|
||||
/**
|
||||
* User: carneiro
|
||||
* Date: 4/20/13
|
||||
* Time: 11:44 PM
|
||||
*/
|
||||
public class LocusCoverageGap implements Locus {
|
||||
final class LocusCoverageGap implements Locus {
|
||||
private double threshold;
|
||||
private static final CallableStatus CALL = CallableStatus.COVERAGE_GAPS;
|
||||
|
||||
|
|
@ -44,19 +44,14 @@
|
|||
* 7.7 Governing Law. This Agreement shall be construed, governed, interpreted and applied in accordance with the internal laws of the Commonwealth of Massachusetts, U.S.A., without regard to conflict of laws principles.
|
||||
*/
|
||||
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.targets.statistics;
|
||||
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.CallableStatus;
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.LocusStatistics;
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.SampleStatistics;
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.ThresHolder;
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.diagnosetargets;
|
||||
|
||||
/**
|
||||
* User: carneiro
|
||||
* Date: 4/20/13
|
||||
* Time: 11:44 PM
|
||||
*/
|
||||
public class LocusExcessiveCoverage implements Locus {
|
||||
final class LocusExcessiveCoverage implements Locus {
|
||||
private int excessiveCoverage;
|
||||
private double threshold;
|
||||
private static final CallableStatus CALL = CallableStatus.EXCESSIVE_COVERAGE ;
|
||||
|
|
@ -44,19 +44,14 @@
|
|||
* 7.7 Governing Law. This Agreement shall be construed, governed, interpreted and applied in accordance with the internal laws of the Commonwealth of Massachusetts, U.S.A., without regard to conflict of laws principles.
|
||||
*/
|
||||
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.targets.statistics;
|
||||
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.CallableStatus;
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.LocusStatistics;
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.SampleStatistics;
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.ThresHolder;
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.diagnosetargets;
|
||||
|
||||
/**
|
||||
* User: carneiro
|
||||
* Date: 4/20/13
|
||||
* Time: 11:44 PM
|
||||
*/
|
||||
public class LocusLowCoverage implements Locus {
|
||||
final class LocusLowCoverage implements Locus {
|
||||
private int minCoverage;
|
||||
private double threshold;
|
||||
private static final CallableStatus CALL = CallableStatus.LOW_COVERAGE ;
|
||||
|
|
@ -44,19 +44,14 @@
|
|||
* 7.7 Governing Law. This Agreement shall be construed, governed, interpreted and applied in accordance with the internal laws of the Commonwealth of Massachusetts, U.S.A., without regard to conflict of laws principles.
|
||||
*/
|
||||
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.targets.statistics;
|
||||
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.CallableStatus;
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.LocusStatistics;
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.SampleStatistics;
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.ThresHolder;
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.diagnosetargets;
|
||||
|
||||
/**
|
||||
* User: carneiro
|
||||
* Date: 4/20/13
|
||||
* Time: 11:44 PM
|
||||
*/
|
||||
public class LocusPoorQuality implements Locus {
|
||||
final class LocusPoorQuality implements Locus {
|
||||
private int minCoverage;
|
||||
private double threshold;
|
||||
private static final CallableStatus CALL = CallableStatus.POOR_QUALITY ;
|
||||
|
|
@ -44,15 +44,12 @@
|
|||
* 7.7 Governing Law. This Agreement shall be construed, governed, interpreted and applied in accordance with the internal laws of the Commonwealth of Massachusetts, U.S.A., without regard to conflict of laws principles.
|
||||
*/
|
||||
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.targets;
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.diagnosetargets;
|
||||
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.statistics.Locus;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
public class LocusStatistics {
|
||||
final class LocusStatistics {
|
||||
private int coverage;
|
||||
private int rawCoverage;
|
||||
private final List<Locus> locusStatisticsList;
|
||||
|
|
@ -80,8 +77,8 @@ public class LocusStatistics {
|
|||
*
|
||||
* @return a set of all statuses that apply
|
||||
*/
|
||||
public Set<CallableStatus> callableStatuses() {
|
||||
Set<CallableStatus> output = new HashSet<CallableStatus>();
|
||||
public List<CallableStatus> callableStatuses() {
|
||||
List<CallableStatus> output = new LinkedList<CallableStatus>();
|
||||
for (Locus stats : locusStatisticsList) {
|
||||
CallableStatus status = stats.status(this);
|
||||
if (status != null) {
|
||||
|
|
@ -44,10 +44,7 @@
|
|||
* 7.7 Governing Law. This Agreement shall be construed, governed, interpreted and applied in accordance with the internal laws of the Commonwealth of Massachusetts, U.S.A., without regard to conflict of laws principles.
|
||||
*/
|
||||
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.targets.statistics;
|
||||
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.CallableStatus;
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.SampleStatistics;
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.diagnosetargets;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
|
|
@ -56,7 +53,7 @@ import java.util.Map;
|
|||
* Date: 4/21/13
|
||||
* Time: 11:23 AM
|
||||
*/
|
||||
public class PluginUtils {
|
||||
final class PluginUtils {
|
||||
public static CallableStatus genericSampleStatus (final SampleStatistics sampleStatistics, final CallableStatus CALL, final double threshold) {
|
||||
final Map<CallableStatus, Integer> totals = sampleStatistics.getLocusStatusTally();
|
||||
final int size = sampleStatistics.getIntervalSize();
|
||||
|
|
@ -44,11 +44,7 @@
|
|||
* 7.7 Governing Law. This Agreement shall be construed, governed, interpreted and applied in accordance with the internal laws of the Commonwealth of Massachusetts, U.S.A., without regard to conflict of laws principles.
|
||||
*/
|
||||
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.targets.statistics;
|
||||
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.CallableStatus;
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.SampleStatistics;
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.ThresHolder;
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.diagnosetargets;
|
||||
|
||||
/**
|
||||
* Created with IntelliJ IDEA.
|
||||
|
|
@ -57,7 +53,7 @@ import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.ThresHolder;
|
|||
* Time: 11:30 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
public interface Sample {
|
||||
interface Sample {
|
||||
public void initialize(ThresHolder thresholds);
|
||||
public CallableStatus status (SampleStatistics sampleStatistics);
|
||||
}
|
||||
|
|
@ -44,18 +44,14 @@
|
|||
* 7.7 Governing Law. This Agreement shall be construed, governed, interpreted and applied in accordance with the internal laws of the Commonwealth of Massachusetts, U.S.A., without regard to conflict of laws principles.
|
||||
*/
|
||||
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.targets.statistics;
|
||||
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.CallableStatus;
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.SampleStatistics;
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.ThresHolder;
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.diagnosetargets;
|
||||
|
||||
/**
|
||||
* User: carneiro
|
||||
* Date: 4/20/13
|
||||
* Time: 11:44 PM
|
||||
*/
|
||||
public class SampleBadMates implements Sample {
|
||||
final class SampleBadMates implements Sample {
|
||||
private static final CallableStatus CALL = CallableStatus.NO_READS ;
|
||||
|
||||
private double threshold;
|
||||
|
|
@ -44,18 +44,14 @@
|
|||
* 7.7 Governing Law. This Agreement shall be construed, governed, interpreted and applied in accordance with the internal laws of the Commonwealth of Massachusetts, U.S.A., without regard to conflict of laws principles.
|
||||
*/
|
||||
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.targets.statistics;
|
||||
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.CallableStatus;
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.SampleStatistics;
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.ThresHolder;
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.diagnosetargets;
|
||||
|
||||
/**
|
||||
* User: carneiro
|
||||
* Date: 4/20/13
|
||||
* Time: 11:44 PM
|
||||
*/
|
||||
public class SampleNoReads implements Sample {
|
||||
final class SampleNoReads implements Sample {
|
||||
private static final CallableStatus CALL = CallableStatus.NO_READS;
|
||||
|
||||
private double votingThreshold;
|
||||
|
|
@ -44,10 +44,8 @@
|
|||
* 7.7 Governing Law. This Agreement shall be construed, governed, interpreted and applied in accordance with the internal laws of the Commonwealth of Massachusetts, U.S.A., without regard to conflict of laws principles.
|
||||
*/
|
||||
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.targets;
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.diagnosetargets;
|
||||
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.statistics.Locus;
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.statistics.Sample;
|
||||
import org.broadinstitute.sting.utils.GenomeLoc;
|
||||
import org.broadinstitute.sting.utils.exceptions.ReviewedStingException;
|
||||
import org.broadinstitute.sting.utils.pileup.ReadBackedPileup;
|
||||
|
|
@ -58,7 +56,7 @@ import java.util.*;
|
|||
/**
|
||||
* The statistics calculator for a specific sample given the interval
|
||||
*/
|
||||
public class SampleStatistics {
|
||||
final class SampleStatistics {
|
||||
private final GenomeLoc interval;
|
||||
private final ArrayList<LocusStatistics> loci;
|
||||
private final ThresHolder thresholds;
|
||||
|
|
@ -129,8 +127,8 @@ public class SampleStatistics {
|
|||
*
|
||||
* @return the callable statuses of the entire sample
|
||||
*/
|
||||
public Set<CallableStatus> getCallableStatuses() {
|
||||
final Set<CallableStatus> output = new HashSet<CallableStatus>();
|
||||
public List<CallableStatus> callableStatuses() {
|
||||
final List<CallableStatus> output = new LinkedList<CallableStatus>();
|
||||
|
||||
// get the tally of all the locus callable statuses
|
||||
for (Locus locusStat : thresholds.locusStatisticList) {
|
||||
|
|
@ -44,17 +44,14 @@
|
|||
* 7.7 Governing Law. This Agreement shall be construed, governed, interpreted and applied in accordance with the internal laws of the Commonwealth of Massachusetts, U.S.A., without regard to conflict of laws principles.
|
||||
*/
|
||||
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.targets;
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.diagnosetargets;
|
||||
|
||||
import org.broadinstitute.sting.commandline.Argument;
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.statistics.Interval;
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.statistics.Locus;
|
||||
import org.broadinstitute.sting.gatk.walkers.diagnostics.targets.statistics.Sample;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
public class ThresHolder {
|
||||
final class ThresHolder {
|
||||
|
||||
/**
|
||||
* Only bases with quality greater than this will be considered in the coverage metrics.
|
||||
|
|
@ -44,7 +44,7 @@
|
|||
* 7.7 Governing Law. This Agreement shall be construed, governed, interpreted and applied in accordance with the internal laws of the Commonwealth of Massachusetts, U.S.A., without regard to conflict of laws principles.
|
||||
*/
|
||||
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.targets;
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics;
|
||||
|
||||
import org.broadinstitute.sting.WalkerTest;
|
||||
import org.testng.annotations.DataProvider;
|
||||
|
|
@ -44,23 +44,23 @@
|
|||
* 7.7 Governing Law. This Agreement shall be construed, governed, interpreted and applied in accordance with the internal laws of the Commonwealth of Massachusetts, U.S.A., without regard to conflict of laws principles.
|
||||
*/
|
||||
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.targets;
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.diagnosetargets;
|
||||
|
||||
import org.broadinstitute.sting.BaseTest;
|
||||
import org.broadinstitute.sting.WalkerTest;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
public class DiagnoseTargetsIntegrationTest extends WalkerTest {
|
||||
final static String REF = b37KGReference;
|
||||
final String singleSample = validationDataLocation + "NA12878.HiSeq.b37.chr20.10_11mb.bam";
|
||||
final String multiSample = validationDataLocation + "CEUTrio.HiSeq.b37.chr20.10_11mb.bam";
|
||||
final String L = validationDataLocation + "DT-itest.interval_list";
|
||||
final static String REF = BaseTest.b37KGReference;
|
||||
final String singleSample = BaseTest.validationDataLocation + "NA12878.HiSeq.b37.chr20.10_11mb.bam";
|
||||
final String multiSample = BaseTest.validationDataLocation + "CEUTrio.HiSeq.b37.chr20.10_11mb.bam";
|
||||
final String L = BaseTest.validationDataLocation + "DT-itest.interval_list";
|
||||
|
||||
private void DTTest(String testName, String args, String md5) {
|
||||
String base = String.format("-T DiagnoseTargets --no_cmdline_in_header -R %s -L %s", REF, L) + " -o %s ";
|
||||
WalkerTestSpec spec = new WalkerTestSpec(base + args, Arrays.asList(md5));
|
||||
//spec.disableShadowBCF();
|
||||
executeTest(testName, spec);
|
||||
}
|
||||
|
||||
|
|
@ -44,14 +44,14 @@
|
|||
* 7.7 Governing Law. This Agreement shall be construed, governed, interpreted and applied in accordance with the internal laws of the Commonwealth of Massachusetts, U.S.A., without regard to conflict of laws principles.
|
||||
*/
|
||||
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.targets;
|
||||
package org.broadinstitute.sting.gatk.walkers.diagnostics.diagnosetargets;
|
||||
|
||||
import org.testng.Assert;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.DataProvider;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.List;
|
||||
|
||||
public class LocusStatisticsUnitTest {
|
||||
|
||||
|
|
@ -64,7 +64,7 @@ public class LocusStatisticsUnitTest {
|
|||
|
||||
@Test(dataProvider = "StatusTestValues")
|
||||
public void testCallableStatuses(int coverage, int rawCoverage, CallableStatus status) {
|
||||
Set<CallableStatus> statuses = new LocusStatistics(coverage, rawCoverage, thresholds).callableStatuses();
|
||||
List<CallableStatus> statuses = new LocusStatistics(coverage, rawCoverage, thresholds).callableStatuses();
|
||||
Assert.assertTrue((status == null) ? statuses.isEmpty() : (statuses.contains(status) && statuses.size() == 1));
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue