/// <summary> /// Author: Andy Tang /// </summary> protected void Search_Textbox_Changed(object sender, EventArgs e) { search_drop_down.Items.Clear(); search_drop_down.Items.Add(DROP_DOWN_PROMPT_MESSAGE); List <Drug_Information> drugList = new List <Drug_Information>(); const int minPrefixLength = 3; if (search_textBox.Text.Length < minPrefixLength) { return; } Protein_Information protein = EF_Data.GetProteinsInfoQuery(search_textBox.Text).FirstOrDefault(); if (protein != null) { List <PDB_Information> pdbInfoList = EF_Data.GetPDBInfoUsingProtein(protein.UniProt_ID); foreach (PDB_Information pdb in pdbInfoList) { Drug_Information drug = EF_Data.GetDrugByDrugPDBID(pdb.Drug_PDB_ID); if (drug != null) { drugList.Add(drug); } } } if (drugList.Count > 0) { List <string> valuesList = new List <string>(); foreach (Drug_Information drug in drugList) { valuesList.Add(drug.Other_Drug_Name_Alias); valuesList.Add(drug.Drug_Common_Name); valuesList.Add(drug.Drug_Chemical_Name); valuesList.Add(drug.Compound_CAS_ID); valuesList.Add(drug.PubChem_CID); valuesList.Add(drug.ChEMBL_ID); } valuesList = DataUtilities.FilterDropdownList(valuesList); foreach (string value in valuesList) { search_drop_down.Items.Add(new ListItem(value, value, true)); } } else { search_drop_down.Items.Clear(); search_drop_down.Items.Add(DROP_DOWN_NO_MATCHES_MESSAGE); } }
protected void Search_Textbox_Changed(object sender, EventArgs e) { drug_specification_drop_down.Items.Clear(); drug_specification_drop_down.Items.Add(DROP_DOWN_PROMPT_MESSAGE); amino_acid_specification_drop_down.Items.Clear(); amino_acid_specification_drop_down.Items.Add(DROP_DOWN_PROMPT_MESSAGE); const int minPrefixLength = 3; if (search_textBox.Text.Length < minPrefixLength) { return; } Protein_Information protein = EF_Data.GetProteinsInfoQuery(search_textBox.Text).FirstOrDefault(); if (protein != null) { List <PDB_Information> pdbList = EF_Data.GetPDBInfoUsingProtein(protein.UniProt_ID); List <Drug_Information> drugList = new List <Drug_Information>(); foreach (PDB_Information pdb in pdbList) { Drug_Information drug = EF_Data.GetDrugByDrugPDBID(pdb.Drug_PDB_ID); if (drug != null) { drugList.Add(drug); } } if (drugList.Count > 0) { List <string> dropdownValues = new List <string>(); foreach (Drug_Information drug in drugList) { dropdownValues.Add(drug.Drug_Name_for_Pull_Down_Menu); } dropdownValues = DataUtilities.FilterDropdownList(dropdownValues); foreach (string dropdownValue in dropdownValues) { drug_specification_drop_down.Items.Add(dropdownValue); } } else { drug_specification_drop_down.Items.Clear(); drug_specification_drop_down.Items.Add(DROP_DOWN_NO_MATCHES_MESSAGE); } } }
/// <summary> /// Author: Garth Nelson /// </summary> protected new void Page_Load(object sender, EventArgs e) { base.Page_Load(sender, e); SNV_ID_Key = Request.QueryString["query_string"]; try { string stringAfterPDot = SNV_ID_Key.Substring(SNV_ID_Key.IndexOf("p.") + 2); string specifiedAAType = new string(stringAfterPDot.TakeWhile(c => char.IsLetter(c)).ToArray()); string specifiedAANumber = new string(stringAfterPDot.Substring(specifiedAAType.Length).TakeWhile(c => char.IsNumber(c)).ToArray()); string specifiedAA = specifiedAAType + "-" + specifiedAANumber; mutations = EF_Data.GetMutationsBySNVIDKey(SNV_ID_Key); proteinMutation = EF_Data.GetMutationBySNVIDKey(SNV_ID_Key); protein = EF_Data.GetProteinByUniprotID(proteinMutation.UniProt_ID); foreach (SNV_Mutation mutation in mutations) { Drug_Information drug = EF_Data.GetDrugByDrugPDBID(mutation.Drug_PDB_ID); drugs.Add(drug); PDB_Interaction interaction = EF_Data.GetPDB_Interaction(mutation.UniProt_ID, mutation.Drug_PDB_ID, specifiedAA); interactions.Add(interaction); } Session["drugs"] = drugs; Session["interactions"] = interactions; Session["mutations"] = mutations; Session["SNV_ID_Key"] = SNV_ID_Key; LoadSNVID(SNV_ID_Key); LoadTargetGeneID(protein, mutations[0]); CreateIDofPDILinkedSNVTable(drugs, interactions, mutations); } catch (Exception) { Page.Master.FindControl("BodyContentPlaceHolder").Visible = false; ExceptionUtilities.DisplayAlert(this, QUERY_PAGE); } }