Matrix Science header

resfile_summary.pl

Example program for extracting the peptide or protein summary.

#!/usr/local/bin/perl
##############################################################################
# file: resfile_summary.pl                                                   #
# 'msparser' toolkit                                                         #
# Test harness / example code                                                #
##############################################################################
# COPYRIGHT NOTICE                                                           #
# Copyright 1998-2016 Matrix Science Limited  All Rights Reserved.           #
#                                                                            #
##############################################################################
#     $Source: /vol/cvsroot/parser/examples/test_perl/resfile_summary.pl,v $ #
#     $Author: francoisr $                                                   #
#       $Date: 2016/07/19 14:22:56 $                                         #
#   $Revision: 1.2 $                                                         #
# $NoKeywords::                                                            $ #
##############################################################################
use strict;
##############################################################################


use msparser;

if (!defined($ARGV[0])) { die "Must specify results filename as parameter"; }

my $returnValue = 1;

my $resfile = new msparser::ms_mascotresfile($ARGV[0]);

if (checkErrors($resfile)) {
    # The parameters passed to ms_peptidesummary or ms_proteinsummary determine
    # the type of grouping and the number of proteins and peptides displayed.
    # Default parameters can be returned using ms_mascotresfile::get_ms_mascotresults_params().
    # The return values from this function depend on the type of search,
    # and also on values in the mascot.dat configuration file if that is available.
    
    my $datfile = new msparser::ms_datfile("../config/mascot.dat"); # You may need to change this path
     
    # if the mascot.dat isn't available, use defaults
    my $mascotOptions;
     
    if ($datfile->isValid()) {
       $mascotOptions = $datfile->getMascotOptions();
    }

    my ($scriptName, 
        $flags, 
        $minProbability, 
        $maxHitsToReport, 
        $ignoreIonsScoreBelow, 
        $minPepLenInPepSummary, 
        $usePeptideSummary, 
        $flags2
    ) = $resfile->get_ms_mascotresults_params($datfile->getMascotOptions);

    my $bResult;
    if ($usePeptideSummary) {
        
        # For peptide summary
        #
        # Flags defined for hierarchical clustering algorithm:
        #     flags: ms_mascotresults::MSRES_CLUSTER_PROTEINS
        #            | ms_mascotresults::MSRES_SHOW_SUBSETS
        #            | ms_mascotresults::MSRES_MUDPIT_PROTEIN_SCORE;
        #     flags2: ms_peptidesummary::MSPEPSUM_USE_HOMOLOGY_THRESH;
        #
        # Flags defined for original simple parsimony algorithm:
        #     flags: ms_mascotresults::MSRES_GROUP_PROTEINS | ms_mascotresults::MSRES_SHOW_SUBSETS;
        
        print "-------------------------------------------------------------\n";
        print "---   Peptide summary report                              ---\n";
        print "-------------------------------------------------------------\n";
        
        $bResult = show_results(
                                $resfile,
                                $usePeptideSummary,
                                $flags,
                                $minProbability,
                                $maxHitsToReport,
                                $ignoreIonsScoreBelow,
                                $minPepLenInPepSummary,
                                $flags2
                                );
    } else {
        # Show results from full protein summary, remove grouping
        $flags &= ~$msparser::ms_mascotresults::MSRES_GROUP_PROTEINS;
        $flags &= ~$msparser::ms_mascotresults::MSRES_SHOW_SUBSETS;
        
        print "-------------------------------------------------------------\n";
        print "---   Full Protein summary report                         ---\n";
        print "-------------------------------------------------------------\n";
        
        $bResult = show_results(
                                $resfile,
                                $usePeptideSummary,
                                $flags,
                                $minProbability,
                                $maxHitsToReport,
                                $ignoreIonsScoreBelow,
                                $minPepLenInPepSummary,
                                $flags2
                                );
                                
        if($bResult and checkErrors($resfile)) {
            # Show results from concise protein summary, add grouping
            $flags |= $msparser::ms_mascotresults::MSRES_GROUP_PROTEINS;
            $flags |= $msparser::ms_mascotresults::MSRES_SHOW_SUBSETS;
            
            print "-------------------------------------------------------------\n";
            print "---   Concise Protein summary report                      ---\n";
            print "-------------------------------------------------------------\n";
            
            $bResult = show_results(
                                    $resfile,
                                    $usePeptideSummary,
                                    $flags,
                                    $minProbability,
                                    $maxHitsToReport,
                                    $ignoreIonsScoreBelow,
                                    $minPepLenInPepSummary,
                                    $flags2
                                    );
        }
    }
    
    if($bResult and checkErrors($resfile)) {
        $returnValue = 0;
    }
}

exit($returnValue);


##############################################################################
# show_results                                                               #
#  - parameter 0 is ms_mascotresfile                                         #
#  - parameter 1 is true for peptide summary, false for protein              #
#  - parameter 2 is the flags for display                                    #
#  - parameter 3 is the minimum protein probability to display               #
#  - parameter 4 is the maximum number of hits to display                    #
#  - parameter 5 is the minimum ions score to use                            #
#  - parameter 6 is the minPepLenInPepSummary to use                         #
##############################################################################
sub show_results {
    my($file, $usePeptideSummary, $flags, $minProteinProb, $maxHits,
     $minIonsScore, $minPepLenInPepSummary, $flags2) = @_;

    my $results;

    if ($usePeptideSummary) {
        $results = new msparser::ms_peptidesummary(
            $file, $flags, $minProteinProb, $maxHits, "", $minIonsScore, $minPepLenInPepSummary, "", $flags2
        );
    } else {
        $results = new msparser::ms_proteinsummary(
            $file, $flags, $minProteinProb, $maxHits
        );
    }

    # Stop there is any fatal error occurred
    if (not checkErrors($file)) {
        return 0;
    }

    my $family = 1;
    my $hit  = 1;
    my $prot = $results->getHit($hit);

    while ($prot) {
        my $accession   = $prot->getAccession();
        my $description = $results->getProteinDescription($accession);
        my $mass        = $results->getProteinMass($accession);
        my $dbIdx       = $prot->getDB();

        if ($flags & $msparser::ms_mascotresults::MSRES_CLUSTER_PROTEINS) {
            print "Protein Hit ", $hit, ".", $family, "\n===================\n";
        }
        else {
            print "Protein Hit ", $hit, "\n===================\n";
        }

        print "Accession   : " , $accession, "\n";
        print "Description : " , $description           , "\n";
        print "Score       : " , $prot->getScore()      , "\n";
        print "Mass        : " , $mass                  , "\n";
        print "Frame       : " , $prot->getFrame()      , "\n";
        print "Coverage    : " , $prot->getCoverage()   , "\n";
        print "RMS error   : " , $prot->getRMSDeltas($results), "\n";
        print "Peptides    : " , $prot->getNumDisplayPeptides(),"\n";

        # Each protein has a number of peptides that matched - list them:
        my $num_peps = $prot->getNumPeptides();

        for my $i (1 .. $num_peps) {
            my $query = $prot->getPeptideQuery($i);
            my $p     = $prot->getPeptideP($i);

            if (
                $p != -1 
                    and $query != -1 
                    and $prot->getPeptideDuplicate($i) != $msparser::ms_protein::DUPE_DuplicateSameQuery
            ) {
                my $pep = $results->getPeptide($query, $p);
                next unless defined $pep;

                displayPeptideInfo(
                    0, $pep, $results, 
                    $prot->getPeptideDuplicate($i) == $msparser::ms_protein::DUPE_Duplicate,
                    $prot->getPeptideIsBold($i),
                    $prot->getPeptideShowCheckbox($i)
                );
            }
        }

        # Now display list of all proteins that contained subsets or and
        # identical list of the matching peptides

        if ($flags & $msparser::ms_mascotresults::MSRES_GROUP_PROTEINS or
            $flags & $msparser::ms_mascotresults::MSRES_CLUSTER_PROTEINS) {
            print "Proteins matching the same set of peptides:\n";

            my $i = 1;
            while (my $prot = $results->getNextSimilarProteinOf($accession, $dbIdx, $i)) {
                my $accession = $prot->getAccession();
                my $dbIdx = $prot->getDB();
                if($flags & $msparser::ms_mascotresults::MSRES_CLUSTER_PROTEINS and $dbIdx > 1) {
                    print $dbIdx, "::";
                }                
                print $accession, " - Total score: ", $prot->getScore();
                print " - Peptides matched: ", $prot->getNumDisplayPeptides(), "\n";
                $i++;
            }

            if ($flags & $msparser::ms_mascotresults::MSRES_SHOW_SUBSETS) {
                print "Proteins matching a subset of these peptides:\n";

                my $i = 1;
                while ($prot = $results->getNextSubsetProteinOf($accession, $dbIdx, $i)) {
                    my $accession = $prot->getAccession();
                    my $dbIdx = $prot->getDB();
                    if($flags & $msparser::ms_mascotresults::MSRES_CLUSTER_PROTEINS and $dbIdx > 1) {
                        print $dbIdx, "::";
                    }       
                    print $accession,  " - Total score: ", $prot->getScore();
                    print " - Peptides matched: ", $prot->getNumDisplayPeptides(), "\n";
                    
                    if ($flags & $msparser::ms_mascotresults::MSRES_CLUSTER_PROTEINS) {
                        my $j = 1;
                        if($results->getNextSimilarProteinOf($accession, $dbIdx, $j)){
                            print "  Proteins matching the same set of peptides for this subset:\n";                                          
                        }
                        while (my $similar_subset_prot = $results->getNextSimilarProteinOf($accession, $dbIdx, $j)) {
                            my $similar_subset_accession = $similar_subset_prot->getAccession();
                            my $similar_subset_dbIdx = $similar_subset_prot->getDB();
                            print "  ";
                            if($similar_subset_dbIdx > 1) {
                                print $similar_subset_dbIdx, "::";
                            }
                            print $similar_subset_accession, " - Total score: ", $similar_subset_prot->getScore();
                            print " - Peptides matched: ", $similar_subset_prot->getNumDisplayPeptides(), "\n";
                            $j++;
                        }
                    }
                    
                    $i++;
                }
            }
        }

        if ($flags & $msparser::ms_mascotresults::MSRES_CLUSTER_PROTEINS) {
            $prot = $results->getNextFamilyProtein($hit, $family++);
            
            if(!$prot) {
                $hit++;
                $prot = $results->getHit($hit);
                $family = 1;
            }
        }
        else {
            $hit++;
            $prot = $results->getHit($hit);
        }
        
        print "\n";
    }

    $results->createUnassignedList($msparser::ms_mascotresults::SCORE);

    if ($results->getNumberOfUnassigned()) {
        print "Unassigned list\n";
        print "---------------\n";

        for my $u (1 .. $results->getNumberOfUnassigned) {
            my $pep = $results->getUnassigned($u);
            displayPeptideInfo(0, $pep, $results, 0, 1, 1);
        }
    }

    if ($usePeptideSummary) {
        print "\n";
        displayYellowPopupInfo($results, 1);
    }
    
    return 1;
}

##############################################################################
#  displayYellowPopupInfo                                                    #
#  Shows the equivalent of the yellow popup box for given query              #
#  - parameter 0 is the results object                                       #
#  - parameter 1 is the query number                                         #
##############################################################################
sub displayYellowPopupInfo {
    my ($results, $q) = @_;

    my $fmt = "%5s %5s %9s %7s %7s\n";
    printf $fmt, qw(Score Delta Hit Protein Peptide);

    for my $p (1 .. 10) {
        my $pep = $results->getPeptide($q, $p);
        next unless defined $pep;

        my $seq = $pep->getPeptideStr();
        next unless defined $seq;

        my $tmp = $results->getProteinsWithThisPepMatch($q, $p);

        my ($hit, $protein) = ('', '');

        if ($tmp) {
            ($hit, $protein, my $morethan) = $tmp =~ /(\d+):([^ ]*)[ ]*(.*)/;

            if ($morethan) {
                $hit .= "+";
            }
        }

        printf $fmt, $pep->getIonsScore(), $pep->getDelta(), $hit, $protein, $seq;

    }

    my $p = 1;
    print "Accessions that matched query ", $q, " rank ", $p, ":- ",
         $results->getProteinsWithThisPepMatch($q, $p), "\n";
}



##############################################################################
# displayPeptideInfo                                                         #
#  - parameter 0  showFullDetails?                                           #
#  - parameter 1  p                                                          #
#  - parameter 2  ms_mascotresults                                           #
#  - parameter 3  isDuplicate?                                               #
#  - parameter 4  isBold?                                                    #
#  - parameter 5  showCheckBox?                                              #
##############################################################################
sub displayPeptideInfo {
    my ($showFullDetails, $p, $r, $isDuplicate, $isBold, $showCheckBox) = @_;

    my $q = $p->getQuery();

    if (!$showFullDetails) {
        my $fmt = "%2s %4s %4d %11f %4d(%4d) %-20s %s%3.2f%s %3d\n";

        printf $fmt,
            $showCheckBox ? "CB" : "--",
            $isBold       ? "BOLD" : "dim",
            $q,
            $p->getObserved,
            $p->getRank,
            $p->getPrettyRank,
            $p->getPeptideStr,
            $isDuplicate ? '(' : '',
            $p->getIonsScore,
            $isDuplicate ? ')' : '',
            $r->getReadableVarMods($q, $p->getRank),
            ;

        return;
    }

    print "Peptide hit\n";

    if ($p->getAnyMatch()) {
        my $fmt = "    %-12s: %s\n";
        printf $fmt, 'Query'       , $q;
        printf $fmt, 'Rank'        , $p->getRank;
        printf $fmt, 'Matched'     , $p->getAnyMatch;
        printf $fmt, 'missedCleave', $p->getMissedCleavages;
        printf $fmt, 'mrCalc'      , $p->getMrCalc;
        printf $fmt, 'delta'       , $p->getDelta;
        printf $fmt, 'observed'    , $p->getObserved;
        printf $fmt, 'charge'      , $p->getCharge;
        printf $fmt, 'mrExp'       , $p->getMrExperimental;
        printf $fmt, 'ionsMatched' , $p->getNumIonsMatched;
        printf $fmt, 'peptideStr'  , $p->getPeptideStr;
        printf $fmt, 'peaksUsed1'  , $p->getPeaksUsedFromIons1;
        printf $fmt, 'varModsStr'  , $p->getVarModsStr;
        printf $fmt, 'readable mod', $r->getReadableVarMods($q, $p->getRank);
        printf $fmt, 'ionsScore'   , $p->getIonsScore;
        printf $fmt, 'seriesUsedS' , $p->getSeriesUsedStr;
        printf $fmt, 'peaksUsed2'  , $p->getPeaksUsedFromIons3;
        printf $fmt, 'peaksUsed3'  , $p->getPeaksUsedFromIons3;
        printf $fmt, 'idth, hth, p', join(', ',
            $r->getPeptideIdentityThreshold($q, 20),
            $r->getHomologyThreshold($q, 20),
            $r->getProbOfPepBeingRandomMatch($p->getIonsScore, $q)
        );
        print "\n";
    } else {
        print "    No match\n";
    }
}

##############################################################################
# checkErrors                                                                #
#  - parameter 0 file is a ms_mascotresfile                                  #
##############################################################################
sub checkErrors() {
    my ($file) = @_;

    if ($file->getLastError()) {
        for my $i (1 .. $file->getNumberOfErrors) {
            print "Error number: ", $file->getErrorNumber($i);
            print " : ", $file->getErrorString($i);
            print "\n";
        }
    }
    
    #Call isValid before clearAllErrors, otherwise this method always returns true
    my $bIsValid = $file->isValid();
    $file->clearAllErrors();
    
    return $bIsValid;
}

=pod

Running the program as

perl -I../bin resfile_summary.pl ../data/F981123.dat

will give the following output under Mascot Server 2.3:

-------------------------------------------------------------
---   Peptide summary report                              ---
-------------------------------------------------------------
Protein Hit 1
===================
Accession   : CH60_HUMAN
Description : 60 kDa heat shock protein, mitochondrial precursor (Hsp60) (60 kDa chaperonin) (CPN60) (Heat shock 
Score       : 1225.18623376928
Mass        : 61016.38
Frame       : 0
Coverage    : 283
RMS error   : 30.4200726378481
Peptides    : 31
CB BOLD   11  417.182190    1(   1) APGFGDNR             45.35   0
CB BOLD   12  422.743286    1(   1) VGEVIVTK             45.74   0
CB BOLD   13  430.732788    1(   1) IPAMTIAK             36.27   0
CB BOLD   15  451.249908    1(   1) LSDGVAVLK            51.95   0
CB BOLD   16  456.780609    1(   1) VGLQVVAVK            59.00   0
CB BOLD   21  480.744690    1(   1) VTDALNATR            45.33   0
CB BOLD   24  595.785522    1(   1) EIGNIISDAMK          (56.55)   0
CB BOLD   25  603.771973    1(   1) EIGNIISDAMK          59.52   0
CB BOLD   26  608.309875    1(   1) NAGVEGSLIVEK         73.21   0
CB BOLD   27  617.285706    1(   1) VGGTSDVEVNEK         80.63   0
CB BOLD   31  672.837524    1(   1) TVIIEQSWGSPK         64.38   0
CB BOLD   34  714.888428    1(   1) GVMLAVDAVIAELK       (64.52)   0
CB BOLD   35  714.893799    1(   1) GVMLAVDAVIAELK       (72.61)   0
CB BOLD   36  722.884888    1(   1) GVMLAVDAVIAELK       75.19   0
CB BOLD   37  722.893372    1(   1) GVMLAVDAVIAELK       (72.57)   0
CB BOLD   39  752.864319    1(   1) TLNDELEIIEGMK        89.56   0
CB BOLD   40  760.846130    1(   1) TLNDELEIIEGMK        (88.82)   0
CB BOLD   45  640.328125    1(   1) ISSIQSIVPALEIANAHR   101.50   0
CB BOLD   46  960.032715    1(   1) ISSIQSIVPALEIANAHR   (87.34)   0
CB BOLD   48 1019.510620    1(   1) IQEIIEQLDVTTSEYEK    52.42   0
CB BOLD   51 1057.053711    1(   1) ALMLQGVDLLADAVAVTMGPK 115.78   0
CB BOLD   52 1065.039917    1(   1) ALMLQGVDLLADAVAVTMGPK (71.79)   0
CB BOLD   53 1065.062256    1(   1) ALMLQGVDLLADAVAVTMGPK (26.17)   0
CB BOLD   54 1073.047729    1(   1) ALMLQGVDLLADAVAVTMGPK (92.82)   2
CB BOLD   58  789.106201    1(   1) KPLVIIAEDVDGEALSTLVLNR (55.53)   0
CB BOLD   59 1183.156982    1(   1) KPLVIIAEDVDGEALSTLVLNR (65.46)   0
CB BOLD   60  789.109375    1(   1) KPLVIIAEDVDGEALSTLVLNR 94.59   0
CB BOLD   61  828.123779    1(   1) TALLDAAGVASLLTTAEVVVTEIPK (26.50)   0
CB BOLD   62  828.132202    1(   1) TALLDAAGVASLLTTAEVVVTEIPK 47.53   0
CB BOLD   64  854.058777    1(   1) LVQDVANNTNEEAGDGTTTATVLAR 75.15   0
CB BOLD   65 1038.503052    1(   1) DMAIATGGAVFGEEGLTLNLEDVQPHDLGK 13.05   0
Proteins matching the same set of peptides:
Proteins matching a subset of these peptides:
CH60_PONPY Total score: 1007.90623376928  Peptides matched: 25
CH60_CRIGR Total score: 951.166233769285  Peptides matched: 23
CH60_MOUSE Total score: 951.166233769285  Peptides matched: 23
CH60_RAT Total score: 951.166233769285  Peptides matched: 23
CH60_BOVIN Total score: 917.68246753857  Peptides matched: 22
CH60_CHICK Total score: 875.976233769285  Peptides matched: 19
CH60C_DROME Total score: 120.5  Peptides matched: 2
CH60C_ARATH Total score: 90.68  Peptides matched: 2
HSP60_CANAL Total score: 45.35  Peptides matched: 1
HSP60_PARBR Total score: 45.35  Peptides matched: 1
HSP60_YEAST Total score: 45.35  Peptides matched: 1
CH602_VIBPA Total score: 45.35  Peptides matched: 1
CH602_VIBVU Total score: 45.35  Peptides matched: 1
CH602_VIBVY Total score: 45.35  Peptides matched: 1
CH60_EUGGR Total score: 45.33  Peptides matched: 1


Protein Hit 2
===================
Accession   : CH60_DROME
Description : 60 kDa heat shock protein, mitochondrial precursor (Hsp60) (60 kDa chaperonin) (CPN60) (Heat shock 
Score       : 174.39
Mass        : 60770.89
Frame       : 0
Coverage    : 67
RMS error   : 29.5905072791318
Peptides    : 4
--  dim   11  417.182190    1(   1) APGFGDNR             45.35   0
--  dim   27  617.285706    2(   2) VGGSSEVEVNEK         41.69   0
--  dim   59 1183.156982    2(   2) KPLVIIAEDIDGEALSTLVVNR 12.20   0
--  dim   64  854.058777    1(   1) LVQDVANNTNEEAGDGTTTATVLAR 75.15   0
Proteins matching the same set of peptides:
Proteins matching a subset of these peptides:
HSP60_SCHPO Total score: 87.04  Peptides matched: 2


Protein Hit 3
===================
Accession   : CH60_CAEEL
Description : Chaperonin homolog Hsp-60, mitochondrial precursor (Heat shock protein 60) (HSP-60) - Caenorhabditi
Score       : 134.91
Mass        : 60063.75
Frame       : 0
Coverage    : 21
RMS error   : 36.5383063193603
Peptides    : 3
--  dim   11  417.182190    1(   1) APGFGDNR             45.35   0
--  dim   39  752.864319    2(   1) TLNDELELIEGMK        89.56   0
--  dim   40  760.846130    2(   1) TLNDELELIEGMK        (88.82)   0
Proteins matching the same set of peptides:
Proteins matching a subset of these peptides:


Protein Hit 4
===================
Accession   : CH60_XANAC
Description : 60 kDa chaperonin (Protein Cpn60) (groEL protein) - Xanthomonas axonopodis pv. citri
Score       : 42.2
Mass        : 57130.83
Frame       : 0
Coverage    : 9
RMS error   : 76.92376960617
Peptides    : 1
--  dim   16  456.780609    2(   2) GIVKVVAVK            42.20   0
Proteins matching the same set of peptides:
CH60_XANC5 Total score: 42.2  Peptides matched: 1
CH60_XANC8 Total score: 42.2  Peptides matched: 1
CH60_XANCH Total score: 42.2  Peptides matched: 1
CH60_XANCP Total score: 42.2  Peptides matched: 1
CH60_XANOM Total score: 42.2  Peptides matched: 1
CH60_XANOR Total score: 42.2  Peptides matched: 1
Proteins matching a subset of these peptides:


Protein Hit 5
===================
Accession   : NMDE4_HUMAN
Description : 
Score       : 37.24
Mass        : 0
Frame       : 0
Coverage    : 10
RMS error   : 9.41906700790969
Peptides    : 1
--  dim   16  456.780609    3(   3) VAAGVAVVAR           37.24   0
Proteins matching the same set of peptides:
NMDE4_MOUSE Total score: 37.24  Peptides matched: 1
NMDE4_RAT Total score: 36.2762337692848  Peptides matched: 1
Proteins matching a subset of these peptides:


Protein Hit 6
===================
Accession   : YF81_THET2
Description : 
Score       : 34.76
Mass        : 0
Frame       : 0
Coverage    : 9
RMS error   : 37.0214184966023
Peptides    : 1
--  dim   16  456.780609    4(   4) VAQVLGVVK            34.76   0
Proteins matching the same set of peptides:
Y1944_THET8 Total score: 34.76  Peptides matched: 1
Proteins matching a subset of these peptides:


Protein Hit 7
===================
Accession   : F4ST_FLACH
Description : 
Score       : 33.85
Mass        : 0
Frame       : 0
Coverage    : 9
RMS error   : 87.8815544838649
Peptides    : 1
--  dim   15  451.249908    2(   2) LSATGLVLK            33.85   0
Proteins matching the same set of peptides:
Proteins matching a subset of these peptides:


Protein Hit 8
===================
Accession   : ZN711_HUMAN
Description : Zinc finger protein 711 (Zinc finger protein 6) - Homo sapiens (Human)
Score       : 30.84
Mass        : 87153.77
Frame       : 0
Coverage    : 13
RMS error   : 69.4028633218151
Peptides    : 1
CB BOLD   33  714.364929    1(   1) EASPLSSNKLILR        30.84   0
Proteins matching the same set of peptides:
Proteins matching a subset of these peptides:


Unassigned list
---------------
CB BOLD   14  442.228302    1(   1) LIAQTPLK             25.09   0
CB BOLD    9  747.396179    1(   1) EGETRR               15.03   0
CB BOLD    4  662.275574    1(   1) KNAMAK               14.09   0
CB BOLD   23 1101.621704    1(   1) QLLMVAGVDR           12.04   0
CB BOLD    5  662.417175    1(   1) AIACER               11.79   0
CB BOLD    8  714.372498    1(   1) LAPAQSK              10.69   0
CB BOLD    6  673.349487    1(   1) AVNDVR               10.63   0
CB BOLD   22 1101.536621    1(   1) ENVIPADSEK           8.65   0
CB BOLD   55 1099.094727    1(   1) LNAEAVRTLLSANGQKPSEAK 8.05   0
CB BOLD   29  642.353577    1(   1) VVGVAGQGASALVR       7.91   0
CB BOLD   28  642.352600    1(   1) KNVSVSQGPDPR         7.22   0
CB BOLD   30  663.837891    1(   1) TPLLVGVAKGESR        7.20   0
CB BOLD   50 1048.561523    1(   1) ALDEILEYQNYPVVCAKK   5.70   0
CB BOLD   57  747.036072    1(   1) VMGSAFTALLDANEDAQKAMR 4.83   0
CB BOLD   49 1020.987915    1(   1) HQRLSGLMQTALEEQQR    4.11   0
CB BOLD   19  932.364380    1(   1) TGMTRNPR             4.09   0
CB BOLD    2  500.256012    1(   1) LAVPT                3.87   0
CB BOLD   38  749.383972    1(   1) IDLLADMMWDDK         3.43   2
CB BOLD   20  933.499023    1(   1) SRDPGMVR             3.21   0
CB BOLD   41  886.405884    1(   1) DRVALNQEVMAPEATK     1.85   0
CB BOLD   10  747.412476    1(   1) MAPSTPK              1.68   0
CB BOLD   18  930.703003    1(   1) LGSGIKAER            1.60   0
CB BOLD    7  711.364685    1(   1) GGAHEIK              1.34   0
CB BOLD   17  930.683105    1(   1) KIQAEITK             1.00   0
CB BOLD   44  949.550720    1(   1) LLSWDSVFFIKNITSK     0.30   0
CB BOLD    1  498.272888    1(   1)                      0.00   0
CB BOLD    3  575.558411    1(   1)                      0.00   0
CB BOLD   32  711.370728    1(   1)                      0.00   0
CB BOLD   42  932.460815    1(   1)                      0.00   0
CB BOLD   43  933.003784    1(   1)                      0.00   0
CB BOLD   47  665.009583    1(   1)                      0.00   0
CB BOLD   56 1119.045166    1(   1)                      0.00   0
CB BOLD   63  832.798584    1(   1)                      0.00   0
CB BOLD   66 1113.894653    1(   1)                      0.00   0
CB BOLD   67 1116.177490    1(   1)                      0.00   0

Score Delta       Hit Protein Peptide
    0     0                          
    0     0                          
    0     0                          
    0     0                          
    0     0                          
    0     0                          
    0     0                          
    0     0                          
    0     0                          
    0     0                          
Accessions that matched query 97 rank 1:- 

=cut

Copyright © 2016 Matrix Science Ltd.  All Rights Reserved. Generated on Fri Jun 2 2017 01:44:50