public void Init(List <string> peptides, Dictionary <string, model.glycan.IGlycan> glycans) { foreach (var it in peptides) { algorithm.Point <string> seq = new algorithm.Point <string>(util.mass.Peptide.To.Compute(it), it); peptides_.Add(seq); } foreach (var it in glycans.Values) { glycans_.Add(it); } searcher_.Init(peptides_); }
protected void InitSearch(Dictionary <string, List <model.glycan.IGlycan> > candidate) { List <algorithm.Point <string> > peptides_points = new List <algorithm.Point <string> >(); foreach (var peptide in candidate.Keys) { // get glycan mass double glycan_mean_mass = SearchHelper.ComputeGlycanMass(candidate[peptide]); // create points foreach (int pos in protein.ProteinPTM.FindNGlycanSite(peptide)) { string table_key = SearchHelper.MakeKeySequence(peptide, pos); //init table if (!mass_table_.ContainsKey(table_key)) { List <double> mass_list = SearchHelper.ComputeNonePTMPeptideMass(peptide, pos); mass_table_[table_key] = new List <double>(mass_list); mass_list = SearchHelper.ComputePTMPeptideMass(peptide, pos); ptm_mass_table_[table_key] = new List <double>(mass_list); } // retreive table foreach (double mass in mass_table_[table_key]) { algorithm.Point <string> point = new algorithm.Point <string>(mass, table_key); peptides_points.Add(point); } foreach (double mass in ptm_mass_table_[table_key]) { algorithm.Point <string> point = new algorithm.Point <string>(mass + glycan_mean_mass, table_key); peptides_points.Add(point); } } } searcher_.Init(peptides_points); }