void AdjustFDPForRemovedAlleles(vcf::Variant &candidate_variant, int filtered_allele_index, string sampleName) { // first do the "info" tag as it is easier to find map<string, vector<string> >::iterator it; int total_depth=0; it = candidate_variant.info.find("FDP"); if (it != candidate_variant.info.end()) total_depth = atoi(candidate_variant.info["FDP"][0].c_str()); // or is this current sample ident? int allele_depth = 0; it = candidate_variant.info.find("FAO"); if (it != candidate_variant.info.end()) allele_depth = atoi(candidate_variant.info["FAO"][filtered_allele_index].c_str()); total_depth -= allele_depth; if (total_depth<0) total_depth = 0; // how can this happen? ClearVal(candidate_variant, "FDP"); candidate_variant.info["FDP"].push_back(convertToString(total_depth)); if (!sampleName.empty()) { map<string, vector<string> >& sampleOutput = candidate_variant.samples[sampleName]; sampleOutput["FDP"].clear(); sampleOutput["FDP"].push_back(convertToString(total_depth)); } }
BOOL CParmFindOneDlg::SetValues() { if (m_pRun->SetValues(this)) { UpdateVal(); return TRUE; } else { ClearVal(); return FALSE; } }
void NullFilterReason(vcf::Variant &candidate_variant) { ClearVal(candidate_variant, "FR"); string my_null_filter = "."; AddFilterReason(candidate_variant, my_null_filter); }
//clear all the info tags, in case of a HotSpot VCF react Info tags might contain prior values void clearInfoTags(vcf::Variant &var) { map<string, vector<string> >::iterator it; it = var.info.find("RO"); if (it != var.info.end()) var.info["RO"].clear(); it = var.info.find("AO"); if (it != var.info.end()) var.info["AO"].clear(); it = var.info.find("SAF"); if (it != var.info.end()) var.info["SAF"].clear(); it = var.info.find("SAR"); if (it != var.info.end()) var.info["SAR"].clear(); it = var.info.find("SRF"); if (it != var.info.end()) var.info["SRF"].clear(); it = var.info.find("SRR"); if (it != var.info.end()) var.info["SRR"].clear(); it = var.info.find("DP"); if (it != var.info.end()) var.info["DP"].clear(); it = var.info.find("RBI"); if (it != var.info.end()) var.info["RBI"].clear(); it = var.info.find("HRUN"); if (it != var.info.end()) var.info["HRUN"].clear(); it = var.info.find("MLLD"); if (it != var.info.end()) var.info["MLLD"].clear(); //SSE compute ClearVal(var,"SSSB"); ClearVal(var,"SSEN"); ClearVal(var,"SSEP"); it = var.info.find("STB"); if (it != var.info.end()) var.info["STB"].clear(); it = var.info.find("STBP"); if (it != var.info.end()) var.info["STBP"].clear(); it = var.info.find("PBP"); if (it != var.info.end()) var.info["PBP"].clear(); /* it = var.info.find("SXB"); if (it != var.info.end()) var.info["SXB"].clear();*/ ClearVal(var,"FDP"); ClearVal(var,"FRO"); ClearVal(var,"FAO"); //ClearVal(var,"JUNK"); ClearVal(var,"AF"); ClearVal(var,"FSRF"); ClearVal(var,"FSRR"); ClearVal(var,"FSAF"); ClearVal(var,"FSAR"); ClearVal(var,"FXX"); ClearVal(var,"QD"); }