Hideous, horrible, hairy mutant bug: when we annotate ID field in indels, we were looking for SNP records matching the position, instead of indel records.
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@5509 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
parent
3e3ff4a9e7
commit
8701dfe8d3
|
|
@ -56,6 +56,28 @@ public class DbSNPHelper {
|
||||||
return rsID;
|
return rsID;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String rsIDOfFirstRealIndel(List<Object> featureList) {
|
||||||
|
if (featureList == null)
|
||||||
|
return null;
|
||||||
|
|
||||||
|
String rsID = null;
|
||||||
|
for ( Object d : featureList ) {
|
||||||
|
if ( d instanceof DbSNPFeature ) {
|
||||||
|
if ( DbSNPHelper.isIndel((DbSNPFeature)d) ) {
|
||||||
|
rsID = ((DbSNPFeature)d).getRsID();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} else if ( d instanceof VariantContext) {
|
||||||
|
if ( ((VariantContext)d).isIndel() ) {
|
||||||
|
rsID = ((VariantContext)d).getID();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return rsID;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get the -1 * (log 10 of the error value)
|
* get the -1 * (log 10 of the error value)
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -160,6 +160,12 @@ public class UnifiedGenotyperEngine {
|
||||||
if ( UAC.COVERAGE_AT_WHICH_TO_ABORT > 0 && rawContext.size() > UAC.COVERAGE_AT_WHICH_TO_ABORT )
|
if ( UAC.COVERAGE_AT_WHICH_TO_ABORT > 0 && rawContext.size() > UAC.COVERAGE_AT_WHICH_TO_ABORT )
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
|
// special case handling - avoid extended event pileups when calling indels if we're genotyping given alleles
|
||||||
|
// TODO - is this the right solution? otherwise we trigger twice and we get duplicate entries
|
||||||
|
/* if ( UAC.GLmodel == GenotypeLikelihoodsCalculationModel.Model.DINDEL && rawContext.hasExtendedEventPileup()
|
||||||
|
&& UAC.GenotypingMode == GenotypeLikelihoodsCalculationModel.GENOTYPING_MODE.GENOTYPE_GIVEN_ALLELES)
|
||||||
|
return null;
|
||||||
|
*/
|
||||||
Map<String, StratifiedAlignmentContext> stratifiedContexts = getFilteredAndStratifiedContexts(UAC, refContext, rawContext);
|
Map<String, StratifiedAlignmentContext> stratifiedContexts = getFilteredAndStratifiedContexts(UAC, refContext, rawContext);
|
||||||
if ( stratifiedContexts == null )
|
if ( stratifiedContexts == null )
|
||||||
return (UAC.OutputMode != OUTPUT_MODE.EMIT_ALL_SITES ? null : new VariantCallContext(generateEmptyContext(tracker, refContext, stratifiedContexts, rawContext), refContext.getBase(), false));
|
return (UAC.OutputMode != OUTPUT_MODE.EMIT_ALL_SITES ? null : new VariantCallContext(generateEmptyContext(tracker, refContext, stratifiedContexts, rawContext), refContext.getBase(), false));
|
||||||
|
|
@ -349,7 +355,13 @@ public class UnifiedGenotyperEngine {
|
||||||
// *** note that calculating strand bias involves overwriting data structures, so we do that last
|
// *** note that calculating strand bias involves overwriting data structures, so we do that last
|
||||||
HashMap<String, Object> attributes = new HashMap<String, Object>();
|
HashMap<String, Object> attributes = new HashMap<String, Object>();
|
||||||
|
|
||||||
String rsID = DbSNPHelper.rsIDOfFirstRealSNP(tracker.getReferenceMetaData(DbSNPHelper.STANDARD_DBSNP_TRACK_NAME));
|
String rsID = null;
|
||||||
|
|
||||||
|
if (vc.isSNP())
|
||||||
|
rsID = DbSNPHelper.rsIDOfFirstRealSNP(tracker.getReferenceMetaData(DbSNPHelper.STANDARD_DBSNP_TRACK_NAME));
|
||||||
|
else if (vc.isIndel())
|
||||||
|
rsID = DbSNPHelper.rsIDOfFirstRealIndel(tracker.getReferenceMetaData(DbSNPHelper.STANDARD_DBSNP_TRACK_NAME));
|
||||||
|
|
||||||
if ( rsID != null )
|
if ( rsID != null )
|
||||||
attributes.put(VariantContext.ID_KEY, rsID);
|
attributes.put(VariantContext.ID_KEY, rsID);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue