Skip to content

Commit

Permalink
Change maxBinIdx to specMaxBinIdx to eliminate confusion.
Browse files Browse the repository at this point in the history
  • Loading branch information
fcyu committed May 22, 2017
1 parent 659819a commit 65676f6
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 17 deletions.
8 changes: 4 additions & 4 deletions src/main/java/proteomics/Search/Search.java
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ public Search(BuildIndex build_index_obj, Map<String, String> parameter_map) {
Arrays.sort(C13_correction_range);
}

ResultEntry doSearch(SpectrumEntry spectrumEntry, SparseVector xcorrPL, int maxBinIdx) {
ResultEntry doSearch(SpectrumEntry spectrumEntry, SparseVector xcorrPL, int specMaxBinIdx) {
int max_chain_bin_idx = Math.min(build_index_obj.massToBin(spectrumEntry.precursor_mass + C13_correction_range[C13_correction_range.length - 1] * 1.00335483f - build_index_obj.linker_mass) + 1 - bin_seq_map.firstKey(), bin_seq_map.lastKey());
int min_chain_bin_idx = bin_seq_map.firstKey();

Expand Down Expand Up @@ -78,7 +78,7 @@ ResultEntry doSearch(SpectrumEntry spectrumEntry, SparseVector xcorrPL, int maxB
if (spectrumEntry.precursor_mass >= build_index_obj.binToLeftMass(binIdx - 1) + min_additional_mass + C13_correction_range[0] * 1.00335483f - leftMs1Tol) {
for (String seq : bin_seq_map.get(binIdx)) {
ChainEntry chainEntry = chain_entry_map.get(seq);
linearScan(spectrumEntry, xcorrPL, maxBinIdx, chainEntry, binIdx, binChainMap, debugEntryList, devChainScoreMap);
linearScan(spectrumEntry, xcorrPL, specMaxBinIdx, chainEntry, binIdx, binChainMap, debugEntryList, devChainScoreMap);
}
} else {
break;
Expand Down Expand Up @@ -284,10 +284,10 @@ public FinalResultEntry convertResultEntry(int scanNum, ResultEntry result_entry
return new FinalResultEntry(scanNum, result_entry.spectrum_id, rank, result_entry.charge, result_entry.spectrum_mz, result_entry.spectrum_mass, theo_mass, result_entry.rt, ppm, result_entry.getScore(), delta_c, final_seq_1, result_entry.getLinkSite1(), pro_1, final_seq_2, result_entry.getLinkSite2(), pro_2, cl_type, hit_type, C13_Diff_num, result_entry.getEValue(), result_entry.getScoreCount(), result_entry.getRSquare(), result_entry.getSlope(), result_entry.getIntercept(), result_entry.getStartIdx(), result_entry.getEndIdx(), result_entry.getChainScore1(), result_entry.getChainRank1(), result_entry.getChainScore2(), result_entry.getChainRank2(), result_entry.getCandidateNum());
}

private void linearScan(SpectrumEntry spectrumEntry, SparseVector xcorrPL, int maxBinIdx, ChainEntry chainEntry, int binInx, TreeMap<Integer, ChainResultEntry> binChainMap, List<DebugEntry> debugEntryList, Map<String, Double> devChainScoreMap) {
private void linearScan(SpectrumEntry spectrumEntry, SparseVector xcorrPL, int specMaxBinIdx, ChainEntry chainEntry, int binInx, TreeMap<Integer, ChainResultEntry> binChainMap, List<DebugEntry> debugEntryList, Map<String, Double> 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, maxBinIdx);
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);

// Calculate dot produce
double dot_product = theo_mz.dot(xcorrPL) * 0.005;
Expand Down
8 changes: 4 additions & 4 deletions src/main/java/proteomics/Search/SearchWrap.java
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ public SearchWrap(Search search_obj, SpectrumEntry spectrumEntry, BuildIndex bui
@Override
public FinalResultEntry call() {
SparseVector xcorrPL = preSpectrumObj.preSpectrum(spectrumEntry.originalPlMap, spectrumEntry.precursor_mass, spectrumEntry.scan_num);
int maxBinIdx = xcorrPL.getMaxIdx();
int specMaxBinIdx = xcorrPL.getMaxIdx();
if (ECL2.debug) {
try (BufferedWriter writer = new BufferedWriter(new FileWriter(spectrumEntry.scan_num + ".xcorr.spectrum.csv"))) {
writer.write("bin_idx,intensity\n");
Expand All @@ -53,11 +53,11 @@ public FinalResultEntry call() {
System.exit(1);
}
}
ResultEntry resultEntry = search_obj.doSearch(spectrumEntry, xcorrPL, maxBinIdx);
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, maxBinIdx);
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, maxBinIdx);
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);
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()) {
Expand Down
18 changes: 9 additions & 9 deletions src/main/java/proteomics/TheoSeq/MassTool.java
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ public Map<Character, Float> getMassTable() {
return mass_table;
}

public SparseBooleanVector buildTheoVector(String seq, short linkSite, float additional_mass, int precursor_charge, int max_common_ion_charge, int maxBinIdx) {
public SparseBooleanVector buildTheoVector(String seq, short linkSite, float additional_mass, int precursor_charge, int max_common_ion_charge, int specMaxBinIdx) {
linkSite = (short) Math.max(1, linkSite);

int localMaxCharge = Math.min(max_charge, Math.max(precursor_charge - 1, 1));
Expand All @@ -123,14 +123,14 @@ public SparseBooleanVector buildTheoVector(String seq, short linkSite, float add
if (i < linkSite) {
for (int charge = 1; charge <= localMaxCommonIonCharge; ++charge) {
int idx = mzToBin(bIonMass / charge + 1.00727646688);
if (idx <= maxBinIdx) {
if (idx <= specMaxBinIdx) {
outputVector.put(idx);
}
}
} else {
for (int charge = 1; charge <= localMaxCharge; ++charge) {
int idx = mzToBin((bIonMass + additional_mass) / charge + 1.00727646688);
if (idx <= maxBinIdx) {
if (idx <= specMaxBinIdx) {
outputVector.put(idx);
}
}
Expand All @@ -140,7 +140,7 @@ public SparseBooleanVector buildTheoVector(String seq, short linkSite, float add
bIonMass += mass_table.get(aaArray[aaArray.length - 2].aa) + aaArray[aaArray.length - 2].delta_mass + mass_table.get(aaArray[aaArray.length - 1].aa) + aaArray[aaArray.length - 1].delta_mass;
for (int charge = 1; charge <= localMaxCharge; ++charge) {
int idx = mzToBin((bIonMass + additional_mass) / charge + 1.00727646688);
if (idx <= maxBinIdx) {
if (idx <= specMaxBinIdx) {
outputVector.put(idx); // for the fragment containing all amino acids, the additional mass is always included.
}
}
Expand All @@ -150,7 +150,7 @@ public SparseBooleanVector buildTheoVector(String seq, short linkSite, float add
double yIonMass = bIonMass + H2O;
for (int charge = 1; charge <= localMaxCharge; ++charge) {
int idx = mzToBin((yIonMass + additional_mass) / charge + 1.00727646688);
if (idx <= maxBinIdx) {
if (idx <= specMaxBinIdx) {
outputVector.put(idx); // for the fragment containing all amino acids, the additional mass is always included.
}
}
Expand All @@ -159,14 +159,14 @@ public SparseBooleanVector buildTheoVector(String seq, short linkSite, float add
if (1 >= linkSite) {
for (int charge = 1; charge <= localMaxCommonIonCharge; ++charge) {
int idx = mzToBin(yIonMass / charge + 1.00727646688);
if (idx <= maxBinIdx) {
if (idx <= specMaxBinIdx) {
outputVector.put(idx);
}
}
} else {
for (int charge = 1; charge <= localMaxCharge; ++charge) {
int idx = mzToBin((yIonMass + additional_mass) / charge + 1.00727646688);
if (idx <= maxBinIdx) {
if (idx <= specMaxBinIdx) {
outputVector.put(idx);
}
}
Expand All @@ -177,14 +177,14 @@ public SparseBooleanVector buildTheoVector(String seq, short linkSite, float add
if (i >= linkSite) { // caution: here, it is different from b-ion
for (int charge = 1; charge <= localMaxCommonIonCharge; ++charge) {
int idx = mzToBin(yIonMass / charge + 1.00727646688);
if (idx <= maxBinIdx) {
if (idx <= specMaxBinIdx) {
outputVector.put(idx);
}
}
} else {
for (int charge = 1; charge <= localMaxCharge; ++charge) {
int idx = mzToBin((yIonMass + additional_mass) / charge + 1.00727646688);
if (idx <= maxBinIdx) {
if (idx <= specMaxBinIdx) {
outputVector.put(idx);
}
}
Expand Down

0 comments on commit 65676f6

Please sign in to comment.