Now that VCFGenotypeRecords implement SampleBacked (as they should), a quick fix was needed to get the GenotypeConcordance working when no direct samples were provided in a samples file.
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@2348 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
parent
bd7b07f3f1
commit
c7b23d6ca5
|
|
@ -88,11 +88,8 @@ public abstract class ChipConcordance extends BasicVariantAnalysis {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// don't procede if we have no truth data and no call
|
// evaluate only if we have truth data or a call
|
||||||
if ( eval != null || chips.size() > 0 )
|
return ( eval != null || chips.size() > 0 ) ? inc(chips, eval, ref) : null;
|
||||||
return inc(chips, eval, ref);
|
|
||||||
else
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String inc(Map<String, Genotype> chips, Variation eval, char ref) {
|
public String inc(Map<String, Genotype> chips, Variation eval, char ref) {
|
||||||
|
|
|
||||||
|
|
@ -16,8 +16,12 @@ import java.util.*;
|
||||||
*/
|
*/
|
||||||
public class GenotypeConcordance extends ChipConcordance implements GenotypeAnalysis {
|
public class GenotypeConcordance extends ChipConcordance implements GenotypeAnalysis {
|
||||||
|
|
||||||
|
private String providedChipName = null;
|
||||||
|
|
||||||
public GenotypeConcordance(final String chipName, boolean chipNameIsFile) {
|
public GenotypeConcordance(final String chipName, boolean chipNameIsFile) {
|
||||||
super("genotype_concordance", chipName, chipNameIsFile);
|
super("genotype_concordance", chipName, chipNameIsFile);
|
||||||
|
if ( !chipNameIsFile )
|
||||||
|
providedChipName = chipName;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void assertVariationIsValid(Variation eval) {
|
protected void assertVariationIsValid(Variation eval) {
|
||||||
|
|
@ -44,7 +48,9 @@ public class GenotypeConcordance extends ChipConcordance implements GenotypeAnal
|
||||||
|
|
||||||
// associate each Genotype with the appropriate sample
|
// associate each Genotype with the appropriate sample
|
||||||
for ( Genotype eval : evals ) {
|
for ( Genotype eval : evals ) {
|
||||||
if ( eval instanceof SampleBacked )
|
if ( providedChipName != null )
|
||||||
|
hash.put(providedChipName, eval);
|
||||||
|
else if ( eval instanceof SampleBacked )
|
||||||
hash.put(((SampleBacked)eval).getSampleName(), eval);
|
hash.put(((SampleBacked)eval).getSampleName(), eval);
|
||||||
else if ( rodNames.size() == 1 )
|
else if ( rodNames.size() == 1 )
|
||||||
hash.put(rodNames.get(0), eval);
|
hash.put(rodNames.get(0), eval);
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,7 @@ public class VariantEvalWalker extends RefWalker<Integer, Integer> {
|
||||||
@Argument(fullName = "numPeopleInPool", shortName="PS", doc="If using a variant file from a pooled caller, this field provides the number of individuals in each pool", required=false)
|
@Argument(fullName = "numPeopleInPool", shortName="PS", doc="If using a variant file from a pooled caller, this field provides the number of individuals in each pool", required=false)
|
||||||
public int numPeopleInPool = -1;
|
public int numPeopleInPool = -1;
|
||||||
|
|
||||||
@Argument(fullName = "samplesFile", shortName="samples", doc="When running an analysis on a number of individuals with truth data, this field provides a filepath to the listing of which samples are used (and are used to name corresponding rods with -B)", required=false)
|
@Argument(fullName = "samplesFile", shortName="samples", doc="When running an analysis on one or more individuals with truth data, this field provides a filepath to the listing of which samples are used (and are used to name corresponding rods with -B)", required=false)
|
||||||
public String samplesFile = null;
|
public String samplesFile = null;
|
||||||
|
|
||||||
String analysisFilenameBase = null;
|
String analysisFilenameBase = null;
|
||||||
|
|
@ -130,13 +130,13 @@ public class VariantEvalWalker extends RefWalker<Integer, Integer> {
|
||||||
|
|
||||||
analyses.add(new VariantCounter());
|
analyses.add(new VariantCounter());
|
||||||
analyses.add(new VariantDBCoverage(knownSNPDBName));
|
analyses.add(new VariantDBCoverage(knownSNPDBName));
|
||||||
//analyses.add(new PooledFrequencyAnalysis(numPeopleInPool,knownSNPDBName));
|
if ( samplesFile != null ) {
|
||||||
if ( samplesFile == null )
|
if ( numPeopleInPool < 1 )
|
||||||
|
analyses.add(new GenotypeConcordance(samplesFile, true));
|
||||||
|
else
|
||||||
|
analyses.add(new PooledConcordance(samplesFile, true));
|
||||||
|
} else {
|
||||||
analyses.add(new GenotypeConcordance(genotypeChipName, false));
|
analyses.add(new GenotypeConcordance(genotypeChipName, false));
|
||||||
else if ( numPeopleInPool < 1)
|
|
||||||
analyses.add(new GenotypeConcordance(samplesFile, true));
|
|
||||||
else {
|
|
||||||
analyses.add(new PooledConcordance(samplesFile,true));
|
|
||||||
}
|
}
|
||||||
analyses.add(new TransitionTranversionAnalysis());
|
analyses.add(new TransitionTranversionAnalysis());
|
||||||
analyses.add(new NeighborDistanceAnalysis());
|
analyses.add(new NeighborDistanceAnalysis());
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue