diff --git a/README b/README new file mode 100644 index 0000000..3bb672f --- /dev/null +++ b/README @@ -0,0 +1,3 @@ +This project is a forked version of pyQuant as modified on November 01, 2017. + +Key customization include accommodating the custom modifications under valid assumptions. diff --git a/pyquant/worker.py b/pyquant/worker.py index 2307b81..24cbe68 100644 --- a/pyquant/worker.py +++ b/pyquant/worker.py @@ -4,7 +4,7 @@ import copy import operator import traceback - +import re from functools import cmp_to_key import pandas as pd @@ -341,22 +341,29 @@ def quantify_peaks(self, params): else: if peptide: for label_mass, label_masses in silac_masses.items(): + added_residues = added_residues.union(label_masses) +# labels = [label_mass for mod_aa in peptide if mod_aa in label_masses] +# Replaced above line to look for terminal amino acid modifications status mass difference + labels = 0 + for mod_aa in peptide: + if mod_aa in label_masses: + labels += label_mass + for l_masses in label_masses: + if len(l_masses) > 1 and re.search(l_masses, peptide): + labels += label_mass if 'X' in label_masses: global_mass = label_mass if ']' in label_masses: cterm_mass = label_mass if '[' in label_masses: nterm_mass = label_mass - added_residues = added_residues.union(label_masses) - labels = [label_mass for mod_aa in peptide if mod_aa in label_masses] - silac_shift += sum(labels) + silac_shift += labels else: # no mass, just assume we have one of the labels silac_shift += mass_keys[0] if global_mass is not None: silac_shift += sum([global_mass for mod_aa in peptide if mod_aa not in added_residues]) silac_shift += cterm_mass + nterm_mass - label_mz = precursor + (silac_shift / float(charge)) theo_mz = theor_mass + (silac_shift / float(charge)) precursors[silac_label]['uncalibrated_mz'] = label_mz