public override string GetAnnotation(Polymorphism p) { if (MutationAssigner.MutationIsComplex(p.Mutation)) { return(nullAnnotation); } else { var site = p.Position; var refBP = Polymorphism.getReferenceBaseSingle(site); var alt = MutationAssigner.getBase(p.Mutation); var key = makeQueryString(site, refBP, alt); if (!positionToData.ContainsKey(key)) { key = makeQueryString(site, BigTableData.ALL_SITE_SAME, BigTableData.ALL_SITE_SAME); if (positionToData.ContainsKey(key)) { return(positionToData[key].Data); } return(nullAnnotation); } else { return(positionToData[key].Data); } } }