Matrix Science header

tools_quant_helper.py

Testing peptides for quantifiability.

#!/usr/bin/python
##############################################################################
# file: tools_quant_helper.py                                                #
# Mascot Parser toolkit example code                                         #
##############################################################################
# COPYRIGHT NOTICE                                                           #
# Copyright 1998-2012 Matrix Science Limited  All Rights Reserved.           #
#                                                                            #
##############################################################################
#     $Source: parser/examples/test_python/tools_quant_helper.py $
#     $Author: villek@matrixscience.com $
#       $Date: 2018-07-30 16:23:53 +0100 $
#   $Revision: 1b450440f9c97e1e41d0fc6016a27d68951d4532 | MSPARSER_REL_2_8_1-0-gea32989045 $ 
##############################################################################

import msparser
import sys

QUANT_SCHEMA = 'http://www.matrixscience.com/xmlns/schema/quantitation_2 ../html/xmlns/schema/quantitation_2/quantitation_2.xsd http://www.matrixscience.com/xmlns/schema/quantitation_1 ../html/xmlns/schema/quantitation_1/quantitation_1.xsd'
UNIMOD_SCHEMA = 'http://www.unimod.org/xmlns/schema/unimod_2 ../html/xmlns/schema/unimod_2/unimod_2.xsd'

# ms_range function has been added to make the range supplied consistent with other languages such as Perl and C#
def ms_range(start, stop, step=1):
    i = start
    while i <= stop:
        yield i
        i += step

# Load the quantitation method from the results file or exit with an error.
def load_method_or_exit(resfile):
    params = msparser.ms_searchparams(resfile)
    quant_method_name = params.getQUANTITATION()
    if not quant_method_name or quant_method_name.lower() == 'none':
        print("File has no quantitation method")
        sys.exit(1)
        
    qf = msparser.ms_quant_configfile()
    qf.setSchemaFileName(QUANT_SCHEMA)
    
    if not resfile.getQuantitation(qf):
        print("File has no quantitation method (%s)" %(resfile.getLastErrorString()))
        sys.exit(1)
        
    if not qf.isValid():
        print("Quantitation file is not valid (%s)" %(qf.getLastErrorString()))
        sys.exit(1)
    
    str = qf.validateDocument()
    if str != '':
        print("Quantitation file does not vaidate (%s)" %(str))
        sys.exit(1)
                
    qmethod = qf.getMethodByName(quant_method_name)
    
    if not qmethod:
        print("Quantitation file has no method called %s" %(quant_method_name))
        sys.exit(1)
        
    return(qf, qmethod)

# Load the Unimod section from the results file or exit with an error.
def load_umod_configfile_or_exit(resfile):
    umodfile = msparser.ms_umod_configfile()
    umodfile.setSchemaFileName(UNIMOD_SCHEMA)
    if not resfile.getUnimod(umodfile):
        print("Results file does not have a Unimod section")
        sys.exit(1)
        
    if not umodfile.isValid():
        print("Unimod file is not valid (%s)" %(umodfile.getLastErrorString))
        sys.exit(1)
        
    str = umodfile.validateDocument()
    if not str == '':
        print("Unimod file does not validate (%s)" %(str))
        sys.exit(1)
        
    return umodfile

# Load the results file as ms_peptidesummary or exit with an error.
def open_peptidesummary_or_exit(resfile):
    opts = msparser.ms_mascotoptions()
    undef, flags, minprob, maxhits, iisb, minpeplen, use_pepsum, flags2 = resfile.get_ms_mascotresults_params(opts)
        
    if not use_pepsum:
        print("Results file cannot be opened as a peptide summary")
        sys.exit(1)
        
    pepsum = msparser.ms_peptidesummary(resfile, flags, minprob, maxhits, '', iisb, minpeplen, '', flags2)
    if not resfile.isValid():
        print(resfile.getLastErrorString)
        sys.exit(1)
    
    return pepsum
    
# Return a list of all top-level protein hits.
def pull_proteins_from(pepsum):
    proteins = []
    
    for i in ms_range(1, pepsum.getNumberOfHits()-1):
        hit = pepsum.getHit(i)
        proteins.append(hit)
        j = 1
        protein = pepsum.getNextFamilyProtein(i, j)
        
        while protein !=None:
            proteins.append(protein)
            j += 1
            protein = pepsum.getNextFamilyProtein(i, j)
    
    return proteins
    
# Print quantitation method parameters relevant to ms_quant_helper.
def dump_quant_method(qmethod):
    comps=[]
    for i in ms_range(0, qmethod.getNumberOfComponents()-1):
        comp = qmethod.getComponentByNumber(i)
        comps.append(comp.getName())
        
    print("Components: %s" %(comps))
    
    print("Protein ratio type = %s" %(qmethod.getProteinRatioType()))
    print("Min. number of peptides = %d" %(qmethod.getMinNumPeptides()))
    
    if qmethod.haveQuality():
        q = qmethod.getQuality()
        print("Quality: min. precursor charge = %s" %(q.getMinPrecursorCharge()))
        print("Quality: pep. threshold type = %s" %(q.getPepThresholdType()))
        print("Quality: pep. threshold value = %s" %(q.getPepThresholdValue()))
    else:
        print("Quality: no restrictions")
        
    if qmethod.haveNormalisation():
        q = qmethod.getNormalisation()
        print("Normalisation = %s" %(q.getMethod()))
    else:
        print("Normalisation: none")
        
    if qmethod.haveOutliers():
        q = qmethod.getOutliers()
        print("Outliers = %s" %(q.getMethod()))
    else:
        print("Outliers: none")
        

   
        
# If no arguments supplied, print help and exit

if len(sys.argv) < 2:
    print("Usage: %s <quantitation results.dat>" % sys.argv[0])
    sys.exit(1)
    
resfile = msparser.ms_mascotresfile(sys.argv[1],1)

if not resfile.isValid():
    print(resfile.getLastErrorString())
    sys.exit(1)    
    
# The details of loading the quantitation method and peptide summary object
# are not relevant to this example (see end of file for implementation).
quant_config_file, qmethod = load_method_or_exit(resfile)
umodfile = load_umod_configfile_or_exit(resfile)
pepsum = open_peptidesummary_or_exit(resfile)


quant_helper = msparser.ms_quant_helper(pepsum, qmethod, umodfile)

if not quant_helper.isValid():
    print("ms_quant_helper is not valid: %s" %(quant_helper.getLastErrorString()))
    sys.exit(1)

proteins = pull_proteins_from(pepsum)

print("File %s uses %s and has %d family proteins\n" %(sys.argv[1], qmethod.getName(), len(proteins)))

dump_quant_method(qmethod)

print("\n")

peptide_quant_str = {
msparser.ms_quant_helper.PEPTIDE_HAS_EXCLUDED_FIXEDMOD: "PEPTIDE_HAS_EXCLUDED_FIXEDMOD",
msparser.ms_quant_helper.PEPTIDE_HAS_EXCLUDED_LOCAL_FIXEDMOD: "PEPTIDE_HAS_EXCLUDED_LOCAL_FIXEDMOD",
msparser.ms_quant_helper.PEPTIDE_HAS_EXCLUDED_LOCAL_VARMOD: "PEPTIDE_HAS_EXCLUDED_LOCAL_VARMOD",
msparser.ms_quant_helper.PEPTIDE_HAS_EXCLUDED_VARMOD: "PEPTIDE_HAS_EXCLUDED_VARMOD",
msparser.ms_quant_helper.PEPTIDE_HAS_NO_REQUIRED_FIXEDMOD: "PEPTIDE_HAS_NO_REQUIRED_FIXEDMOD",
msparser.ms_quant_helper.PEPTIDE_HAS_NO_REQUIRED_VARMOD: "PEPTIDE_HAS_NO_REQUIRED_VARMOD",
msparser.ms_quant_helper.PEPTIDE_HAS_UNMODIFIED_SITE: "PEPTIDE_HAS_UNMODIFIED_SITE",
msparser.ms_quant_helper.PEPTIDE_IS_QUANTIFIABLE: "PEPTIDE_IS_QUANTIFIABLE",
msparser.ms_quant_helper.PEPTIDE_QUANTIFIABILITY_UNAVAILABLE: "PEPTIDE_QUANTIFIABILITY_UNAVAILABLE"
};

peptide_quality_str = {
msparser.ms_quant_helper.PEPTIDE_EXPECT_ABOVE_THRESHOLD: "PEPTIDE_EXPECT_ABOVE_THRESHOLD",
msparser.ms_quant_helper.PEPTIDE_CHARGE_BELOW_PRECURSOR_MIN: "PEPTIDE_CHARGE_BELOW_PRECURSOR_MIN",
msparser.ms_quant_helper.PEPTIDE_HAS_NO_EXCLUSIVE_MODS: "PEPTIDE_HAS_NO_EXCLUSIVE_MODS",
msparser.ms_quant_helper.PEPTIDE_NOT_UNIQUE: "PEPTIDE_NOT_UNIQUE",
msparser.ms_quant_helper.PEPTIDE_QUALITY_IS_OK: "PEPTIDE_QUALITY_IS_OK",
msparser.ms_quant_helper.PEPTIDE_QUALITY_UNAVAILABLE: "PEPTIDE_QUALITY_UNAVAILABLE",
msparser.ms_quant_helper.PEPTIDE_SCORE_BELOW_HOMOLOGY_THR: "PEPTIDE_SCORE_BELOW_HOMOLOGY_THR",
msparser.ms_quant_helper.PEPTIDE_SCORE_BELOW_IDENTITY_THR: "PEPTIDE_SCORE_BELOW_IDENTITY_THR",
msparser.ms_quant_helper.PEPTIDE_SCORE_BELOW_IDENTITY_THR_NOHOM: "PEPTIDE_SCORE_BELOW_IDENTITY_THR_NOHOM",
msparser.ms_quant_helper.PEPTIDE_SCORE_BELOW_SCORE_THR: "PEPTIDE_SCORE_BELOW_SCORE_THR"
};


for protein in proteins:
    
    print("Protein %d::%s" %(protein.getDB(), protein.getAccession()))
        
    for i in ms_range(1, protein.getNumPeptides()-1):
        
        if protein.getPeptideDuplicate(i) == msparser.ms_protein.DUPE_DuplicateSameQuery:
            continue
        
        q = protein.getPeptideQuery(i)
        p = protein.getPeptideP(i)
        
        peptide = pepsum.getPeptide(q, p)
        
        if not peptide:
            continue
        
# Each peptide can be tested for two things: 
# a) is it quantifiable?
# b) is it of high enough quality for quantification?
#
# The test parameters are defined in the quantitation method object.
# The two tests are orthogonal: the peptide need not pass test (a)
# in order to pass test (b), and vice versa. Normally, for quantitation
# purposes, you can ignore peptides which fail either test, so you
# can continue straight to the next peptide if test (a) fails.

# Test (a):
        ok, reason = quant_helper.isPeptideQuantifiable(q, p, protein, i)
        if reason == None:
            reason = '<undef>'
        print("\tq%d_p%d quantifiable? %s (%s)" %(q, p, peptide_quant_str[ok], reason))
        
# Test (b):
        ok, reason = quant_helper.isPeptideQualityOK(q, p)
        if reason == None:
            reason = '<undef>'
        print("\tq%d_p%d quality? %s (%s)" %(q, p, peptide_quality_str[ok], reason))


'''    
When run from bin, tools_quant_helper.py ../data/F981133.dat
Will give the following output:
    
File ../data/F981133.dat uses SILAC K+6 R+6 multiplex and has 21 family proteins

Components: ['light', 'heavy']
Protein ratio type = weighted
Min. number of peptides = 2
Quality: min. precursor charge = 1
Quality: pep. threshold type = at least homology
Quality: pep. threshold value = 0.05
Normalisation: none
Outliers = auto


Protein 1::K2C1_PANTR
        q18_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q18_p1 quality? PEPTIDE_QUALITY_IS_OK ()
        q28_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q28_p1 quality? PEPTIDE_QUALITY_IS_OK ()
        q33_p2 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q33_p2 quality? PEPTIDE_QUALITY_IS_OK ()
        q38_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q38_p1 quality? PEPTIDE_QUALITY_IS_OK ()
        q39_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q39_p1 quality? PEPTIDE_QUALITY_IS_OK ()
        q40_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q40_p1 quality? PEPTIDE_QUALITY_IS_OK ()
Protein 1::TRYP_PIG
        q1_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q1_p1 quality? PEPTIDE_QUALITY_IS_OK ()
        q2_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q2_p1 quality? PEPTIDE_SCORE_BELOW_HOMOLOGY_THR (Peptide score is below homology threshold)
        q3_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q3_p1 quality? PEPTIDE_QUALITY_IS_OK ()
        q9_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q9_p1 quality? PEPTIDE_QUALITY_IS_OK ()
        q72_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q72_p1 quality? PEPTIDE_QUALITY_IS_OK ()
        q73_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q73_p1 quality? PEPTIDE_QUALITY_IS_OK ()
        q74_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q74_p1 quality? PEPTIDE_QUALITY_IS_OK ()
        q75_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q75_p1 quality? PEPTIDE_QUALITY_IS_OK ()
        q76_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q76_p1 quality? PEPTIDE_QUALITY_IS_OK ()
        q77_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q77_p1 quality? PEPTIDE_QUALITY_IS_OK ()
        q78_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q78_p1 quality? PEPTIDE_QUALITY_IS_OK ()
        q81_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q81_p1 quality? PEPTIDE_SCORE_BELOW_HOMOLOGY_THR (Peptide score is below homology threshold)
        q82_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q82_p1 quality? PEPTIDE_QUALITY_IS_OK ()
        q90_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q90_p1 quality? PEPTIDE_QUALITY_IS_OK ()
Protein 1::IGG2B_MOUSE
        q12_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q12_p1 quality? PEPTIDE_QUALITY_IS_OK ()
        q57_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q57_p1 quality? PEPTIDE_SCORE_BELOW_HOMOLOGY_THR (Peptide score is below homology threshold)
        q58_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q58_p1 quality? PEPTIDE_QUALITY_IS_OK ()
        q62_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q62_p1 quality? PEPTIDE_QUALITY_IS_OK ()
Protein 1::ALBU_BOVIN
        q16_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q16_p1 quality? PEPTIDE_QUALITY_IS_OK ()
        q30_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q30_p1 quality? PEPTIDE_QUALITY_IS_OK ()
        q46_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q46_p1 quality? PEPTIDE_QUALITY_IS_OK ()
        q49_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q49_p1 quality? PEPTIDE_QUALITY_IS_OK ()
Protein 1::ENPL_MOUSE
        q4_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q4_p1 quality? PEPTIDE_SCORE_BELOW_HOMOLOGY_THR (Peptide score is below homology threshold)
        q19_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q19_p1 quality? PEPTIDE_SCORE_BELOW_HOMOLOGY_THR (Peptide score is below homology threshold)
        q20_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q20_p1 quality? PEPTIDE_SCORE_BELOW_HOMOLOGY_THR (Peptide score is below homology threshold)
        q24_p2 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q24_p2 quality? PEPTIDE_QUALITY_IS_OK ()
        q26_p2 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q26_p2 quality? PEPTIDE_QUALITY_IS_OK ()
        q41_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q41_p1 quality? PEPTIDE_QUALITY_IS_OK ()
Protein 1::NUCL_MOUSE
        q5_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q5_p1 quality? PEPTIDE_QUALITY_IS_OK ()
        q6_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q6_p1 quality? PEPTIDE_QUALITY_IS_OK ()
        q7_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q7_p1 quality? PEPTIDE_SCORE_BELOW_HOMOLOGY_THR (Peptide score is below homology threshold)
        q8_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q8_p1 quality? PEPTIDE_SCORE_BELOW_HOMOLOGY_THR (Peptide score is below homology threshold)
        q44_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q44_p1 quality? PEPTIDE_SCORE_BELOW_HOMOLOGY_THR (Peptide score is below homology threshold)
        q45_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q45_p1 quality? PEPTIDE_QUALITY_IS_OK ()
        q92_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q92_p1 quality? PEPTIDE_QUALITY_IS_OK ()
Protein 1::EPHB2_HUMAN
        q13_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q13_p1 quality? PEPTIDE_QUALITY_IS_OK ()
        q21_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q21_p1 quality? PEPTIDE_SCORE_BELOW_HOMOLOGY_THR (Peptide score is below homology threshold)
        q53_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q53_p1 quality? PEPTIDE_QUALITY_IS_OK ()
Protein 1::K2C1_RAT
        q33_p4 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q33_p4 quality? PEPTIDE_SCORE_BELOW_HOMOLOGY_THR (Peptide score is below homology threshold)
        q38_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q38_p1 quality? PEPTIDE_QUALITY_IS_OK ()
        q39_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q39_p1 quality? PEPTIDE_QUALITY_IS_OK ()
Protein 1::K2C75_BOVIN
        q28_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q28_p1 quality? PEPTIDE_QUALITY_IS_OK ()
        q38_p4 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q38_p4 quality? PEPTIDE_SCORE_BELOW_HOMOLOGY_THR (Peptide score is below homology threshold)
Protein 1::HNRPU_HUMAN
        q32_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q32_p1 quality? PEPTIDE_SCORE_BELOW_HOMOLOGY_THR (Peptide score is below homology threshold)
        q34_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q34_p1 quality? PEPTIDE_SCORE_BELOW_HOMOLOGY_THR (Peptide score is below homology threshold)
        q51_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q51_p1 quality? PEPTIDE_QUALITY_IS_OK ()
Protein 1::SFPQ_HUMAN
        q14_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q14_p1 quality? PEPTIDE_QUALITY_IS_OK ()
        q15_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q15_p1 quality? PEPTIDE_SCORE_BELOW_HOMOLOGY_THR (Peptide score is below homology threshold)
        q22_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q22_p1 quality? PEPTIDE_SCORE_BELOW_HOMOLOGY_THR (Peptide score is below homology threshold)
        q69_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q69_p1 quality? PEPTIDE_QUALITY_IS_OK ()
Protein 1::CAPR1_MOUSE
        q23_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q23_p1 quality? PEPTIDE_QUALITY_IS_OK ()
        q36_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q36_p1 quality? PEPTIDE_QUALITY_IS_OK ()
Protein 1::K2C1B_HUMAN
        q18_p2 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q18_p2 quality? PEPTIDE_SCORE_BELOW_HOMOLOGY_THR (Peptide score is below homology threshold)
        q38_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q38_p1 quality? PEPTIDE_QUALITY_IS_OK ()
        q40_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q40_p1 quality? PEPTIDE_QUALITY_IS_OK ()
Protein 1::ENPL_ARATH
        q24_p2 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q24_p2 quality? PEPTIDE_QUALITY_IS_OK ()
        q26_p2 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q26_p2 quality? PEPTIDE_QUALITY_IS_OK ()
        q41_p2 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q41_p2 quality? PEPTIDE_SCORE_BELOW_HOMOLOGY_THR (Peptide score is below homology threshold)
        q42_p10 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q42_p10 quality? PEPTIDE_SCORE_BELOW_HOMOLOGY_THR (Peptide score is below homology threshold)
Protein 1::VIME_CRIGR
        q17_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q17_p1 quality? PEPTIDE_QUALITY_IS_OK ()
Protein 1::BCAR1_MOUSE
        q10_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q10_p1 quality? PEPTIDE_SCORE_BELOW_HOMOLOGY_THR (Peptide score is below homology threshold)
        q11_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q11_p1 quality? PEPTIDE_SCORE_BELOW_HOMOLOGY_THR (Peptide score is below homology threshold)
Protein 1::HTPG_ALKEH
        q24_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q24_p1 quality? PEPTIDE_QUALITY_IS_OK ()
        q26_p1 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q26_p1 quality? PEPTIDE_QUALITY_IS_OK ()
Protein 1::FAK1_MOUSE
Protein 1::HTPG_BDEBA
        q24_p3 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q24_p3 quality? PEPTIDE_QUALITY_IS_OK ()
Protein 1::K2C8_MOUSE
Protein 1::TRY1_RAT
        q72_p10 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q72_p10 quality? PEPTIDE_SCORE_BELOW_HOMOLOGY_THR (Peptide score is below homology threshold)
        q73_p2 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q73_p2 quality? PEPTIDE_SCORE_BELOW_HOMOLOGY_THR (Peptide score is below homology threshold)
        q74_p2 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q74_p2 quality? PEPTIDE_QUALITY_IS_OK ()
        q75_p2 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q75_p2 quality? PEPTIDE_SCORE_BELOW_IDENTITY_THR_NOHOM (Peptide score is below identity threshold (no homology threshold))
        q76_p2 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q76_p2 quality? PEPTIDE_SCORE_BELOW_IDENTITY_THR_NOHOM (Peptide score is below identity threshold (no homology threshold))
        q78_p2 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q78_p2 quality? PEPTIDE_SCORE_BELOW_HOMOLOGY_THR (Peptide score is below homology threshold)
        q81_p4 quantifiable? PEPTIDE_IS_QUANTIFIABLE ()
        q81_p4 quality? PEPTIDE_SCORE_BELOW_HOMOLOGY_THR (Peptide score is below homology threshold)       

'''
   



Copyright © 2022 Matrix Science Ltd.  All Rights Reserved. Generated on Thu Mar 31 2022 01:12:29