public static void Insilico_filter_U2(proteins prot, List <double> peakList, double tol) { double l_score; double r_score; double score; bool left; bool right; insilico_obj comp; comp = new insilico_obj(); r_score = 0; l_score = 0; comp = prot.insilico_details; //comp.insilico_mass_right = frags.ElementAt(j).mw_right_ion; for (int k = 0; k < prot.insilico_details.insilico_mass_left.Count; k++) { left = false; for (int i = 0; i < peakList.Count; i++) { if (Math.Abs(prot.insilico_details.insilico_mass_left[k] - peakList[i]) < tol) { l_score++; comp.peaklist_mass_left.Add(peakList[i]); left = true; } } if (left == false) { comp.peaklist_mass_left.Add(0); } } for (int k = 0; k < prot.insilico_details.insilico_mass_right.Count; k++) { right = false; for (int i = 0; i < peakList.Count; i++) { if (Math.Abs(prot.insilico_details.insilico_mass_right[k] - peakList[i]) < tol) { comp.peaklist_mass_right.Add(peakList[i]); r_score++; right = true; } } if (right == false) { comp.peaklist_mass_right.Add(0); } } score = (l_score + r_score) / (peakList.Count); Console.WriteLine("Insilico score:"); Console.WriteLine(score); prot.insilico_score = score; prot.insilico_details = comp; }
/// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public static void insilico_fragmentation_2(proteins prot, string clevageType, string ions) { frag1_2(prot, clevageType, ions, 0); //return result; }
public static void frag1_2(proteins prot, string clevageType, string HandleIon, int index) { string strprotein = prot.sequence; int prtlength = strprotein.Length; //Gives length of Protein strprotein = strprotein.ToUpper(); //Convert all amino aFragment letters into uppercase letters if (prot.ptm_particulars != null) { if (prot.ptm_particulars.Count != 0) { for (int j = 0; j < prot.ptm_particulars.Count; j++) { prot.insilico_details.insilico_mass_right[0] += prot.ptm_particulars[j].mod_weight; if (prot.ptm_particulars[j].i == 0) { prot.insilico_details.insilico_mass_left[0] += prot.ptm_particulars[j].mod_weight; } } } } for (int ifragmentationposition = 1; ifragmentationposition < prtlength; ifragmentationposition++) { if (prot.ptm_particulars != null) { if (prot.ptm_particulars.Count != 0) { for (int j = 0; j < prot.ptm_particulars.Count; j++) { if (prot.ptm_particulars[j].i == ifragmentationposition) { for (int k = ifragmentationposition; k < prtlength; k++) { prot.insilico_details.insilico_mass_left[ifragmentationposition] += prot.ptm_particulars[j].mod_weight; } for (int k = ifragmentationposition; k > 0; k--) { prot.insilico_details.insilico_mass_right[ifragmentationposition] -= prot.ptm_particulars[j].mod_weight; } } } } else { break; } } else { break; } } if (clevageType == "CID" || clevageType == "cid" || clevageType == "bird" || clevageType == "BIRD" || clevageType == "imd" || clevageType == "IMD" || clevageType == "HCD" || clevageType == "hcd" || clevageType == "SID" || clevageType == "sid") { for (int i = 0; i < prtlength; i++)//for Fragment { if (HandleIon == "bo") { prot.insilico_details.insilico_mass_left.Add(prot.insilico_details.insilico_mass_left[i] - 18 - 1.00794); } else if (HandleIon == "bstar") { prot.insilico_details.insilico_mass_left.Add(prot.insilico_details.insilico_mass_left[i] - 17.026549 - 1.00794); } else if (HandleIon == "ystar") { prot.insilico_details.insilico_mass_right.Add(prot.insilico_details.insilico_mass_right[i] - 17.026549 + 1.00794); } else if (HandleIon == "yo") { prot.insilico_details.insilico_mass_right.Add(prot.insilico_details.insilico_mass_right[i] - 18 + 1.00794); } prot.insilico_details.insilico_mass_left[i] -= 1.00794; prot.insilico_details.insilico_mass_right[i] += 1.00794; } } else if (clevageType == "ECD" || clevageType == "ecd" || clevageType == "ETD" || clevageType == "etd") { for (int i = 0; i < prtlength; i++)//for Fragment { if (HandleIon == "zd") { prot.insilico_details.insilico_mass_right.Add(prot.insilico_details.insilico_mass_right[i] + 1 - 16.02258); } else if (HandleIon == "zdd") { prot.insilico_details.insilico_mass_right.Add(prot.insilico_details.insilico_mass_right[i] + 2 - 16.02258); } prot.insilico_details.insilico_mass_left[i] += 16.02258; prot.insilico_details.insilico_mass_right[i] -= 16.02258; } } else if (clevageType == "EDD" || clevageType == "edd" || clevageType == "NETD" || clevageType == "netd") { for (int i = 0; i < prtlength; i++)//for Fragment { if (HandleIon == "ao") { prot.insilico_details.insilico_mass_left.Add(prot.insilico_details.insilico_mass_left[i] - 18 - 29.01804); } else if (HandleIon == "astar") { prot.insilico_details.insilico_mass_left.Add(prot.insilico_details.insilico_mass_left[i] - 17.026549 - 29.01804); } prot.insilico_details.insilico_mass_left[i] -= 29.01804; prot.insilico_details.insilico_mass_right[i] += 27.02534; } } //return output; }
//Returns Search History of specific query ie. search parameters and Results public searchview retrieve_searchview_db(string qid) { searchview result = new searchview(); QuerryParameters qp = new QuerryParameters(); Results r = new Results(); string[] QIDArr = qid.Split('z'); qid = QIDArr[0]; int file_id = Convert.ToInt32(QIDArr[1]); string query1 = "SELECT * FROM proteomics.query where QueryId='" + qid + "';"; string queryT = "SELECT * FROM proteomics.timings where querry_ID='" + qid + "';"; if (this.OpenConnection() == true) { try { using (MySqlTransaction trans = connection.BeginTransaction()) { MySqlCommand cmd = new MySqlCommand(queryT, connection); MySqlDataReader reader = cmd.ExecuteReader(); if (reader.Read()) { r.times.insilico_time = reader.GetValue(1).ToString(); r.times.ptm_time = reader.GetValue(2).ToString(); r.times.tuner_time = reader.GetValue(3).ToString(); r.times.mw_filter_time = reader.GetValue(4).ToString(); r.times.pst_time = reader.GetValue(5).ToString(); r.times.total_time = reader.GetValue(6).ToString(); r.times.file = reader.GetValue(7).ToString(); } reader.Close(); cmd = new MySqlCommand(query1, connection); reader = cmd.ExecuteReader(); if (reader.Read()) { qp.queryid = reader.GetValue(0).ToString(); qp.userID = reader.GetValue(1).ToString(); qp.title = reader.GetValue(2).ToString(); qp.protDB = reader.GetValue(3).ToString(); qp.outputFormat = Convert.ToInt32(reader.GetValue(4)); qp.insilico_frag_type = reader.GetValue(5).ToString(); qp.filterDB = Convert.ToInt32(reader.GetValue(6)); qp.ptm_tolerance = Convert.ToDouble(reader.GetValue(7)); qp.MWTolUnit = reader.GetValue(8).ToString(); qp.MW_tolerance = Convert.ToDouble(reader.GetValue(9)); qp.hopThreshhold = Convert.ToDouble(reader.GetValue(10)); qp.minimum_est_length = Convert.ToInt32(reader.GetValue(11)); qp.maximum_est_length = Convert.ToInt32(reader.GetValue(12)); // public double pst_tolerance; qp.GUI_mass = Convert.ToDouble(reader.GetValue(13)); qp.HandleIons = reader.GetValue(14).ToString(); qp.autotune = Convert.ToInt32(reader.GetValue(15)); qp.peakListFile = reader.GetValue(16).ToString().Split('<'); qp.fileType = reader.GetValue(17).ToString(); // public double peptideTol; //added qp.hopTolUnit = reader.GetValue(18).ToString(); qp.MW_sweight = Convert.ToDouble(reader.GetValue(19)); qp.PST_sweight = Convert.ToDouble(reader.GetValue(20)); qp.Insilico_sweight = Convert.ToDouble(reader.GetValue(21)); qp.NumberOfOutputs = Convert.ToInt32(reader.GetValue(22)); ///// qp.denovo_allow = Convert.ToInt32(reader.GetValue(23)); qp.ptm_allow = Convert.ToInt32(reader.GetValue(24)); } reader.Close(); query1 = "SELECT fixed_mod FROM fixed_modifications where QuerryId='" + qid + "';"; cmd = new MySqlCommand(query1, connection); using (reader = cmd.ExecuteReader()) { qp.ptm_code_fix = new List <int>(); while (reader.Read()) { qp.ptm_code_fix.Add(Convert.ToInt32(reader["fixed_mod"])); } } reader.Close(); query1 = "SELECT variable_mod FROM variable_modifications where QuerryId='" + qid + "';"; cmd = new MySqlCommand(query1, connection); using (reader = cmd.ExecuteReader()) { qp.ptm_code_var = new List <int>(); while (reader.Read()) { qp.ptm_code_var.Add(Convert.ToInt32(reader["variable_mod"])); } } reader.Close(); // SELECT * FROM proteomics.results Where Querry_ID = 'fe29e39e-97ee-4f5e-9cab-4d414b5e902a' ORDER BY score DESC LIMIT 3; string query2 = "SELECT * FROM results where Querry_ID='" + qid + "' AND file_ID = " + file_id + " ORDER BY score DESC LIMIT " + qp.NumberOfOutputs + ";"; cmd = new MySqlCommand(query2, connection); r.querryID = qid; r.final_prot = new List <proteins>(); proteins temp_prot = new proteins(); List <string> resid = new List <string>(); using (reader = cmd.ExecuteReader()) { while (reader.Read()) { temp_prot = new proteins(); resid.Add(reader.GetValue(0).ToString()); temp_prot.header = reader.GetValue(2).ToString(); temp_prot.sequence = reader.GetValue(3).ToString(); temp_prot.est_score = Convert.ToDouble(reader.GetValue(4)); temp_prot.insilico_score = Convert.ToDouble(reader.GetValue(5)); temp_prot.ptm_score = Convert.ToDouble(reader.GetValue(6)); temp_prot.score = Convert.ToDouble(reader.GetValue(7)); temp_prot.MW_score = Convert.ToDouble(reader.GetValue(8)); temp_prot.MW = Convert.ToDouble(reader.GetValue(9)); r.final_prot.Add(temp_prot); } } reader.Close(); Sites temp_site = new Sites(); string tempaa; for (int i = 0; i < resid.Count; i++) { query2 = "SELECT * FROM ptm_sites where result_id='" + resid[i] + "';"; cmd = new MySqlCommand(query2, connection); using (reader = cmd.ExecuteReader()) { while (reader.Read()) { temp_site = new Sites(); temp_site.i = Convert.ToInt32(reader.GetValue(1)); temp_site.score = Convert.ToInt32(reader.GetValue(2)); temp_site.mod_weight = Convert.ToInt32(reader.GetValue(3)); temp_site.mod_name = reader.GetValue(4).ToString(); temp_site.site = Convert.ToChar(reader.GetValue(5)); tempaa = reader.GetValue(6).ToString(); for (int j = 0; j < tempaa.Length; j++) { temp_site.AA.Add(tempaa[j]); } r.final_prot[i].ptm_particulars.Add(temp_site); } } } reader.Close(); /////////// //temp_p.insilico_details.insilico_mass_left = dataPs[3].Split(',').Select(t => double.Parse(t)).ToList<double>(); string xx; for (int i = 0; i < resid.Count; i++) { query2 = "SELECT matched_peak_left FROM insilico_matches_left where result_id='" + resid[i] + "';"; cmd = new MySqlCommand(query2, connection); using (reader = cmd.ExecuteReader()) { temp_site = new Sites(); if (reader.Read()) { xx = reader.GetValue(0).ToString(); r.final_prot[i].insilico_details.peaklist_mass_left = xx.Split(',').Select(t => double.Parse(t)).ToList <double>(); } } query2 = "SELECT Ions FROM leftions where ProteinID='" + r.final_prot[i].header + "';"; cmd = new MySqlCommand(query2, connection); using (reader = cmd.ExecuteReader()) { temp_site = new Sites(); if (reader.Read()) { xx = reader.GetValue(0).ToString(); xx = Decompress(xx); r.final_prot[i].insilico_details.insilico_mass_left = xx.Split(',').Select(t => double.Parse(t)).ToList <double>(); } } } reader.Close(); ////////////////////////////////////////////////////////////// for (int i = 0; i < resid.Count; i++) { query2 = "SELECT matchedpeak_right FROM insilico_matches_right where result_id='" + resid[i] + "';"; cmd = new MySqlCommand(query2, connection); using (reader = cmd.ExecuteReader()) { temp_site = new Sites(); if (reader.Read()) { xx = reader.GetValue(0).ToString(); r.final_prot[i].insilico_details.peaklist_mass_right = xx.Split(',').Select(t => double.Parse(t)).ToList <double>(); } } query2 = "SELECT Ions FROM rightions where ProteinID='" + r.final_prot[i].header + "';"; cmd = new MySqlCommand(query2, connection); using (reader = cmd.ExecuteReader()) { temp_site = new Sites(); if (reader.Read()) { xx = reader.GetValue(0).ToString(); xx = Decompress(xx); r.final_prot[i].insilico_details.insilico_mass_right = xx.Split(',').Select(t => double.Parse(t)).ToList <double>(); } } } reader.Close(); ////////////////////////////////////////////////////////////// //for (int i = 0; i < resid.Count; i++) //{ // query2 = "SELECT * FROM insilico_mass_right where result_id='" + resid[i] + "';"; // cmd = new MySqlCommand(query2, connection); // using (reader = cmd.ExecuteReader()) // { // while (reader.Read()) // { // temp_site = new Sites(); // r.final_prot[i].insilico_details.insilico_mass_right.Add(Convert.ToDouble(reader.GetValue(1))); // r.final_prot[i].insilico_details.peaklist_mass_right.Add(Convert.ToDouble(reader.GetValue(2))); // } // } //} //reader.Close(); //////////// result.param = qp; result.result = r; trans.Commit(); connection.Close(); } } catch (Exception e) { System.Diagnostics.Debug.WriteLine(e.Message); } } // result.result.final_prot = result.result.final_prot.OrderByDescending(o => o.score).ToList(); return(result); }