Don't allow users to try to genotype more than the max possible value (catch and throw a User Error at startup). Better docs explaining that users shouldn't play with this value unless they know what they are doing.
This commit is contained in:
parent
f46f7d0590
commit
cc71baf691
|
|
@ -105,8 +105,11 @@ public class UnifiedArgumentCollection {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* If there are more than this number of alternate alleles presented to the genotyper (either through discovery or GENOTYPE_GIVEN ALLELES),
|
* If there are more than this number of alternate alleles presented to the genotyper (either through discovery or GENOTYPE_GIVEN ALLELES),
|
||||||
* then only this many alleles will be used. Note that genotyping sites with many alternate alleles is both CPU and memory intensive.
|
* then only this many alleles will be used. Note that genotyping sites with many alternate alleles is both CPU and memory intensive and it
|
||||||
|
* scales exponentially based on the number of alternate alleles. Unless there is a good reason to change the default value, we highly recommend
|
||||||
|
* that you not play around with this parameter.
|
||||||
*/
|
*/
|
||||||
|
@Advanced
|
||||||
@Argument(fullName = "max_alternate_alleles", shortName = "maxAlleles", doc = "Maximum number of alternate alleles to genotype", required = false)
|
@Argument(fullName = "max_alternate_alleles", shortName = "maxAlleles", doc = "Maximum number of alternate alleles to genotype", required = false)
|
||||||
public int MAX_ALTERNATE_ALLELES = 3;
|
public int MAX_ALTERNATE_ALLELES = 3;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -39,6 +39,8 @@ import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.AnnotatorCompa
|
||||||
import org.broadinstitute.sting.utils.SampleUtils;
|
import org.broadinstitute.sting.utils.SampleUtils;
|
||||||
import org.broadinstitute.sting.utils.baq.BAQ;
|
import org.broadinstitute.sting.utils.baq.BAQ;
|
||||||
import org.broadinstitute.sting.utils.codecs.vcf.*;
|
import org.broadinstitute.sting.utils.codecs.vcf.*;
|
||||||
|
import org.broadinstitute.sting.utils.exceptions.UserException;
|
||||||
|
import org.broadinstitute.sting.utils.variantcontext.GenotypeLikelihoods;
|
||||||
import org.broadinstitute.sting.utils.variantcontext.VariantContext;
|
import org.broadinstitute.sting.utils.variantcontext.VariantContext;
|
||||||
|
|
||||||
import java.io.PrintStream;
|
import java.io.PrintStream;
|
||||||
|
|
@ -207,6 +209,10 @@ public class UnifiedGenotyper extends LocusWalker<VariantCallContext, UnifiedGen
|
||||||
*
|
*
|
||||||
**/
|
**/
|
||||||
public void initialize() {
|
public void initialize() {
|
||||||
|
// check for a bad max alleles value
|
||||||
|
if ( UAC.MAX_ALTERNATE_ALLELES > GenotypeLikelihoods.MAX_ALLELES_THAT_CAN_BE_GENOTYPED )
|
||||||
|
throw new UserException.BadArgumentValue("max_alternate_alleles", "the maximum possible value is " + GenotypeLikelihoods.MAX_ALLELES_THAT_CAN_BE_GENOTYPED);
|
||||||
|
|
||||||
// warn the user for misusing EMIT_ALL_SITES
|
// warn the user for misusing EMIT_ALL_SITES
|
||||||
if ( UAC.OutputMode == UnifiedGenotyperEngine.OUTPUT_MODE.EMIT_ALL_SITES &&
|
if ( UAC.OutputMode == UnifiedGenotyperEngine.OUTPUT_MODE.EMIT_ALL_SITES &&
|
||||||
UAC.GenotypingMode == GenotypeLikelihoodsCalculationModel.GENOTYPING_MODE.DISCOVERY &&
|
UAC.GenotypingMode == GenotypeLikelihoodsCalculationModel.GENOTYPING_MODE.DISCOVERY &&
|
||||||
|
|
|
||||||
|
|
@ -223,7 +223,7 @@ public class GenotypeLikelihoods {
|
||||||
/**
|
/**
|
||||||
* The maximum number of alleles that we can represent as genotype likelihoods
|
* The maximum number of alleles that we can represent as genotype likelihoods
|
||||||
*/
|
*/
|
||||||
final static int MAX_ALLELES_THAT_CAN_BE_GENOTYPED = 500;
|
public final static int MAX_ALLELES_THAT_CAN_BE_GENOTYPED = 500;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* a cache of the PL index to the 2 alleles it represents over all possible numbers of alternate alleles
|
* a cache of the PL index to the 2 alleles it represents over all possible numbers of alternate alleles
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue