diff --git a/src/main/java/proteomics/ECL2.java b/src/main/java/proteomics/ECL2.java index 7496f85..909b437 100644 --- a/src/main/java/proteomics/ECL2.java +++ b/src/main/java/proteomics/ECL2.java @@ -57,7 +57,6 @@ public static void main(String[] args) { // Get the parameter map Parameter parameter = new Parameter(parameter_path); Map parameter_map = parameter.returnParameterMap(); - int max_common_ion_charge = Integer.valueOf(parameter_map.get("max_common_ion_charge")); // print all parameters logger.info("Parameters:"); @@ -140,7 +139,7 @@ public static void main(String[] args) { Search search_obj = new Search(build_index_obj, parameter_map); List> taskList = new LinkedList<>(); for (int scanNum : scanNumArray) { - taskList.add(thread_pool.submit(new SearchWrap(search_obj, num_spectrum_map.get(scanNum), build_index_obj, mass_tool_obj, max_common_ion_charge, build_index_obj.getSeqProMap(), cal_evalue, delta_c_t, flankingPeaks))); + taskList.add(thread_pool.submit(new SearchWrap(search_obj, num_spectrum_map.get(scanNum), build_index_obj, mass_tool_obj, build_index_obj.getSeqProMap(), cal_evalue, delta_c_t, flankingPeaks))); } // check progress every minute, record results,and delete finished tasks. diff --git a/src/main/java/proteomics/Search/Search.java b/src/main/java/proteomics/Search/Search.java index a3e009d..7540845 100644 --- a/src/main/java/proteomics/Search/Search.java +++ b/src/main/java/proteomics/Search/Search.java @@ -16,7 +16,6 @@ public class Search { private static final Logger logger = LoggerFactory.getLogger(Search.class); - private final int max_common_ion_charge; public final float ms1_tolerance; public final int ms1_tolerance_unit; private final Map chain_entry_map; @@ -35,7 +34,6 @@ public Search(BuildIndex build_index_obj, Map parameter_map) { chain_entry_map = build_index_obj.getSeqEntryMap(); fix_mod_map = build_index_obj.getFixModMap(); mass_tool_obj = build_index_obj.returnMassTool(); - max_common_ion_charge = Integer.valueOf(parameter_map.get("max_common_ion_charge")); ms1_tolerance_unit = Integer.valueOf(parameter_map.get("ms1_tolerance_unit")); ms1_tolerance = Float.valueOf(parameter_map.get("ms1_tolerance")); bin_seq_map = build_index_obj.getMassBinSeqMap(); @@ -319,7 +317,7 @@ public FinalResultEntry convertResultEntry(int scanNum, ResultEntry result_entry private void linearScan(SpectrumEntry spectrumEntry, SparseVector xcorrPL, int specMaxBinIdx, ChainEntry chainEntry, int binInx, TreeMap binChainMap, List debugEntryList, Map devChainScoreMap) { for (short link_site_1 : chainEntry.link_site_set) { int precursor_charge = spectrumEntry.precursor_charge; - SparseBooleanVector theo_mz = mass_tool_obj.buildTheoVector(chainEntry.seq, link_site_1, spectrumEntry.precursor_mass - chainEntry.chain_mass, precursor_charge, max_common_ion_charge, specMaxBinIdx); + SparseBooleanVector theo_mz = mass_tool_obj.buildTheoVector(chainEntry.seq, link_site_1, spectrumEntry.precursor_mass - chainEntry.chain_mass, precursor_charge, specMaxBinIdx); // Calculate dot produce double dot_product = theo_mz.dot(xcorrPL) * 0.005; diff --git a/src/main/java/proteomics/Search/SearchWrap.java b/src/main/java/proteomics/Search/SearchWrap.java index 34f6407..f6a9d9b 100644 --- a/src/main/java/proteomics/Search/SearchWrap.java +++ b/src/main/java/proteomics/Search/SearchWrap.java @@ -23,18 +23,16 @@ public class SearchWrap implements Callable { private final SpectrumEntry spectrumEntry; private final BuildIndex build_index_obj; private final MassTool mass_tool_obj; - private final int max_common_ion_charge; private final PreSpectrum preSpectrumObj; private final Map> seqProMap; private final boolean cal_evalue; private final float delta_c_t; - public SearchWrap(Search search_obj, SpectrumEntry spectrumEntry, BuildIndex build_index_obj, MassTool mass_tool_obj, int max_common_ion_charge, Map> seqProMap, boolean cal_evalue, float delta_c_t, boolean flankingPeaks) { + public SearchWrap(Search search_obj, SpectrumEntry spectrumEntry, BuildIndex build_index_obj, MassTool mass_tool_obj, Map> seqProMap, boolean cal_evalue, float delta_c_t, boolean flankingPeaks) { this.search_obj = search_obj; this.spectrumEntry = spectrumEntry; this.build_index_obj = build_index_obj; this.mass_tool_obj = mass_tool_obj; - this.max_common_ion_charge = max_common_ion_charge; preSpectrumObj = new PreSpectrum(mass_tool_obj, flankingPeaks); this.seqProMap = seqProMap; this.cal_evalue = cal_evalue; @@ -60,8 +58,8 @@ public FinalResultEntry call() { ResultEntry resultEntry = search_obj.doSearch(spectrumEntry, xcorrPL, specMaxBinIdx); if (resultEntry != null) { if (ECL2.debug) { - SparseBooleanVector chainVector1 = mass_tool_obj.buildTheoVector(resultEntry.getChain1(), (short) resultEntry.getLinkSite1(), spectrumEntry.precursor_mass - (float) (mass_tool_obj.calResidueMass(resultEntry.getChain1()) + MassTool.H2O), spectrumEntry.precursor_charge, max_common_ion_charge, specMaxBinIdx); - SparseBooleanVector chainVector2 = mass_tool_obj.buildTheoVector(resultEntry.getChain2(), (short) resultEntry.getLinkSite2(), spectrumEntry.precursor_mass - (float) (mass_tool_obj.calResidueMass(resultEntry.getChain2()) + MassTool.H2O), spectrumEntry.precursor_charge, max_common_ion_charge, specMaxBinIdx); + SparseBooleanVector chainVector1 = mass_tool_obj.buildTheoVector(resultEntry.getChain1(), (short) resultEntry.getLinkSite1(), spectrumEntry.precursor_mass - (float) (mass_tool_obj.calResidueMass(resultEntry.getChain1()) + MassTool.H2O), spectrumEntry.precursor_charge, specMaxBinIdx); + SparseBooleanVector chainVector2 = mass_tool_obj.buildTheoVector(resultEntry.getChain2(), (short) resultEntry.getLinkSite2(), spectrumEntry.precursor_mass - (float) (mass_tool_obj.calResidueMass(resultEntry.getChain2()) + MassTool.H2O), spectrumEntry.precursor_charge, specMaxBinIdx); try (BufferedWriter writer = new BufferedWriter(new FileWriter(spectrumEntry.scan_num + ".chain.spectrum.csv"))) { writer.write(resultEntry.getChain1() + " bin idx\n"); for (int idx : chainVector1.getIdxSet()) { diff --git a/src/main/java/proteomics/Spectrum/PreSpectra.java b/src/main/java/proteomics/Spectrum/PreSpectra.java index 1edb328..343cea4 100644 --- a/src/main/java/proteomics/Spectrum/PreSpectra.java +++ b/src/main/java/proteomics/Spectrum/PreSpectra.java @@ -28,8 +28,6 @@ public class PreSpectra { private Set debug_scan_num_set = new HashSet<>(); public PreSpectra(JMzReader spectra_parser, BuildIndex build_index_obj, Map parameter_map, String ext) { - int min_ms1_charge = Integer.valueOf(parameter_map.get("min_ms1_charge")); - int max_ms1_charge = Integer.valueOf(parameter_map.get("max_ms1_charge")); float min_precursor_mass = Float.valueOf(parameter_map.get("min_precursor_mass")); float max_precursor_mass = Float.valueOf(parameter_map.get("max_precursor_mass")); @@ -61,11 +59,6 @@ public PreSpectra(JMzReader spectra_parser, BuildIndex build_index_obj, Map max_ms1_charge)) { - continue; - } - double precursor_mz = spectrum.getPrecursorMZ(); float precursor_mass = (float) (precursor_mz * precursor_charge - precursor_charge * 1.00727646688); diff --git a/src/main/java/proteomics/TheoSeq/MassTool.java b/src/main/java/proteomics/TheoSeq/MassTool.java index 0a1ae36..2269d94 100644 --- a/src/main/java/proteomics/TheoSeq/MassTool.java +++ b/src/main/java/proteomics/TheoSeq/MassTool.java @@ -9,6 +9,7 @@ public class MassTool { private static final int max_charge = 6; + private static final int max_common_ion_charge = 3; private static final Pattern mod_aa_pattern = Pattern.compile("([A-Znc])(\\[([0-9\\.\\-]+)\\])?"); public static final double H2O = 18.010564684; @@ -109,7 +110,7 @@ public Map getMassTable() { return mass_table; } - public SparseBooleanVector buildTheoVector(String seq, short linkSite, float additional_mass, int precursor_charge, int max_common_ion_charge, int specMaxBinIdx) { + public SparseBooleanVector buildTheoVector(String seq, short linkSite, float additional_mass, int precursor_charge, int specMaxBinIdx) { linkSite = (short) Math.max(1, linkSite); int localMaxCharge = Math.min(max_charge, Math.max(precursor_charge - 1, 1)); diff --git a/src/main/resources/parameter.def b/src/main/resources/parameter.def index 4567094..aebc22a 100644 --- a/src/main/resources/parameter.def +++ b/src/main/resources/parameter.def @@ -14,9 +14,6 @@ min_chain_length = 5 # Minimum length of a peptide chain. max_chain_length = 50 # Spectrum -min_ms1_charge = 3 -max_ms1_charge = 7 -max_common_ion_charge = 3 C13_correction_range = 0 # Precursor mass correction range. Normally set to -1,0 to consider one C13 error. # Tolerance