public SilacResultSplitter(string lightParamFile, string heavyParamFile) { SequestParamFile paramFile = new SequestParamFile(); SequestParam light = paramFile.ReadFromFile(@"F:\sqh\Project\wuyibo\Light.params"); SequestParam heavy = paramFile.ReadFromFile(@"F:\sqh\Project\wuyibo\Heavy.params"); this.lightCalc = light.GetPeptideMassCalculator(); this.heavyCalc = heavy.GetPeptideMassCalculator(); }
private void WriteModifications(SequestParam sp) { var aas = new Aminoacids(); foreach (SequestStaticModification ssm in sp.StaticModification.Keys) { double addMass = sp.StaticModification[ssm]; if (addMass != 0.0) { switch (ssm) { case SequestStaticModification.add_Cterm_peptide: case SequestStaticModification.add_Cterm_protein: case SequestStaticModification.add_Nterm_peptide: case SequestStaticModification.add_Nterm_protein: break; default: char aa = SequestParam.ModificationToAminoacid(ssm); this.sw.WriteLine( " <aminoacid_modification aminoacid=\"{0}\" massdiff=\"{1:0.0000}\" mass=\"{2:0.0000}\" variable=\"N\"/>", aa, addMass, aas[aa].MonoMass + addMass); break; } } } foreach (String aminoacids in sp.Diff_search_options.Keys) { double addMass = sp.Diff_search_options[aminoacids]; foreach (char aa in aminoacids) { this.sw.WriteLine( " <aminoacid_modification aminoacid=\"{0}\" massdiff=\"{1:0.0000}\" mass=\"{2:0.0000}\" variable=\"Y\"/>", aa, addMass, aas[aa].MonoMass + addMass); } } }
public void WriteSequestParam(SequestParam sp) { if (!this.isMsmsRunSummaryOpened) { throw new Exception("Call OpenMsmsRunSummary before WriteSequestParam."); } if (this.sampleProtease == null) { this.sampleProtease = sp.Protease; } this.currentSequestParams = sp; this.staticAminoacidModification = sp.GetStaticAminoacidModification(); //sample_enzyme this.sw.WriteLine(" <sample_enzyme name=\"{0}\">", this.sampleProtease.Name); this.sw.WriteLine(" <specificity cut=\"{0}\" no_cut=\"{1}\" sense=\"{2}\"/>", this.sampleProtease.CleaveageResidues, this.sampleProtease.NotCleaveResidues, this.sampleProtease.IsEndoProtease ? "C" : "N"); this.sw.WriteLine(" </sample_enzyme>"); //search_summary this.sw.WriteLine( " <search_summary base_name=\"{0}\" search_engine=\"SEQUEST\" precursor_mass_type=\"{1}\" fragment_mass_type=\"{2}\" out_data_type=\"{3}\" out_data=\"{4}\" search_id=\"{5}\">", this.sourceFilename, sp.Mass_type_parent_annotation, sp.Mass_type_fragment_annotation, this.rawDataType, this.rawData, this.searchId); this.sw.WriteLine(" <search_database local_path=\"{0}\" type=\"{1}\"/>", sp.First_database_name, sp.Nucleotide_reading_frame == 0 ? "AA" : "NA"); this.sw.WriteLine( " <enzymatic_search_constraint enzyme=\"{0}\" max_num_internal_cleavages=\"{1}\" min_number_termini=\"{2}\"/>", sp.Protease.Name, sp.Max_num_internal_cleavage_sites, sp.Min_number_termini); WriteModifications(sp); //parameters this.sw.WriteLine(" <parameter name=\"peptide_mass_tol\" value=\"{0:0.0000}\"/>", sp.Peptide_mass_tolerance); this.sw.WriteLine(" <parameter name=\"ion_series\" value=\"{0}\"/>", sp.Ion_series); this.sw.WriteLine(" <parameter name=\"fragment_ion_tol\" value=\"{0:0.0000}\"/>", sp.Fragment_ion_tolerance); this.sw.WriteLine(" <parameter name=\"num_output_lines\" value=\"{0}\"/>", sp.Num_output_lines); this.sw.WriteLine(" <parameter name=\"num_results\" value=\"{0}\"/>", sp.Num_results); this.sw.WriteLine(" <parameter name=\"num_description_lines\" value=\"{0}\"/>", sp.Num_description_lines); this.sw.WriteLine(" <parameter name=\"show_fragment_ions\" value=\"{0}\"/>", sp.Show_fragment_ions); this.sw.WriteLine(" <parameter name=\"print_duplicate_references\" value=\"{0}\"/>", sp.Print_duplicate_references); this.sw.WriteLine(" <parameter name=\"max_num_differential_AA_per_mod\" value=\"{0}\"/>", sp.Max_num_differential_AA_per_mod); this.sw.WriteLine(" <parameter name=\"nucleotide_reading_frame\" value=\"{0}\"/>", sp.Nucleotide_reading_frame); this.sw.WriteLine(" <parameter name=\"normalize_Score\" value=\"{0}\"/>", sp.Normalize_Score); this.sw.WriteLine(" <parameter name=\"remove_precursor_peak\" value=\"{0}\"/>", sp.Remove_precursor_peak); this.sw.WriteLine(" <parameter name=\"ion_cutoff_percentage\" value=\"{0:0.0000}\"/>", sp.Ion_cutoff_percentage); this.sw.WriteLine(" <parameter name=\"max_num_internal_cleavage_sites\" value=\"{0}\"/>", sp.Max_num_internal_cleavage_sites); this.sw.WriteLine(" <parameter name=\"protein_mass_filter\" value=\"{0} {1}\"/>", sp.Protein_mass_filter.First, sp.Protein_mass_filter.Second); this.sw.WriteLine(" <parameter name=\"match_peak_count\" value=\"{0}\"/>", sp.Match_peak_count); this.sw.WriteLine(" <parameter name=\"match_peak_allowed_error\" value=\"{0}\"/>", sp.Match_peak_allowed_error); this.sw.WriteLine(" <parameter name=\"match_peak_tolerance\" value=\"{0}\"/>", sp.Match_peak_tolerance); this.sw.WriteLine(" <parameter name=\"partial_sequence\" value=\"{0}\"/>", sp.Partial_sequence); this.sw.WriteLine(" <parameter name=\"sequence_header_filter\" value=\"{0}\"/>", sp.Sequence_header_filter); //end of search_summary this.sw.WriteLine(" </search_summary>"); }