public static List <string> GetAutoCompleteData(string prefixText, int count) { const int minPrefixLength = 3; List <string> valuesList = new List <string>(); if (prefixText.Length >= minPrefixLength) { try { List <Protein_Information> proteins = EF_Data.GetProteinsInfoQuery(prefixText); foreach (Protein_Information p in proteins) { valuesList.Add(p.Protein_Short_Name); valuesList.Add(p.Protein_Full_Name); valuesList.Add(p.NCBI_Gene_ID); valuesList.Add(p.PDB_Protein_Name); valuesList.Add(p.Protein_Alias); valuesList.Add(p.UniProt_ID); valuesList.Add(p.NCBI_RefSeq_NP_ID); valuesList.Add(p.NCBI_Gene_Name); valuesList.Add(p.PhosphoNET_Name); } } catch (Exception) { throw; } } return(DataUtilities.FilterDropdownList(valuesList, prefixText, true)); }
/// <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: Andy Tang /// </summary> protected new void Page_Load(object sender, EventArgs e) { base.Page_Load(sender, e); string query = Request.QueryString["query_string"]; Protein_Information protein = EF_Data.GetProteinsInfoQuery(query).FirstOrDefault(); if (protein != null) { LoadData(protein); } else { Page.Master.FindControl("BodyContentPlaceHolder").Visible = false; ExceptionUtilities.DisplayAlert(this, QUERY_PAGE); } }
/// <summary> /// Author: Andy Tang, Ryan Liang /// </summary> protected new void Page_Load(object sender, EventArgs e) { base.Page_Load(sender, e); if (!IsPostBack) { string fromPage = null; string query_string = null; try { query_string = Request.QueryString["query_string"]; drug_specification = Request.QueryString["drug_specification"]; protein_specification = Request.QueryString["protein_specification"]; if (!string.IsNullOrEmpty(drug_specification)) { protein_specification = query_string; fromPage = "protein"; } else if (!string.IsNullOrEmpty(protein_specification)) { drug_specification = query_string; fromPage = "drug"; } drug = EF_Data.GetDrugsQuery(drug_specification).FirstOrDefault(); protein = EF_Data.GetProteinsInfoQuery(protein_specification).FirstOrDefault(); PDB = EF_Data.GetPDBInfo(protein, drug); Session["PDB_File_ID"] = PDB.PDB_File_ID; interaction_distance = double.Parse(Request.QueryString["interaction_distance"]); protein_chain = bool.Parse(Request.QueryString["protein_chain"]); protein_atoms = bool.Parse(Request.QueryString["protein_atoms"]); protein_residues = bool.Parse(Request.QueryString["protein_residues"]); protein_residue_numbers = bool.Parse(Request.QueryString["protein_residue_numbers"]); drug_atoms = bool.Parse(Request.QueryString["drug_atoms"]); Session["interaction_distance"] = interaction_distance; } catch (Exception) { throw; } if (drug == null || protein == null || PDB == null) { Page.Master.FindControl("BodyContentPlaceHolder").Visible = false; if (fromPage != null) { ExceptionUtilities.DisplayAlert(this, fromPage.Equals("drug") ? DRUG_QUERY_PAGE : PROTEIN_QUERY_PAGE); } else { ExceptionUtilities.DisplayAlert(this, DEFAULT_REDIRECT_PAGE); } } else { Session["interaction_distance"] = interaction_distance; Session["protein_chain"] = protein_chain; Session["protein_atoms"] = protein_atoms; Session["protein_residues"] = protein_residues; Session["protein_residue_numbers"] = protein_residue_numbers; Session["drug_atoms"] = drug_atoms; LoadProtein(protein); LoadDrug(drug, PDB); LoadPDB_Info(PDB); GetDrugAtomNumberingImage(drug); CreateInteractionList(PDB, interaction_distance, protein_chain, protein_atoms, protein_residues, protein_residue_numbers, drug_atoms); CreateInteractionSummary(); ScriptManager.RegisterStartupScript(Page, GetType(), "D_3DViewer", "javascript:loadDrugLigand('" + drug.Drug_PDB_ID + "');", true); ScriptManager.RegisterStartupScript(Page, GetType(), "PDB_3DViewer", "javascript:loadStage('" + drug.PDB_File_ID + "', '" + drug.Drug_PDB_ID + "');", true); } } }