Matrix Science Mascot Parser toolkit
 
Loading...
Searching...
No Matches
resfile_summary.cpp

Example program for extracting the peptide or protein summary.

/*
##############################################################################
# file: resfile_summary.cpp #
# 'msparser' toolkit example code #
##############################################################################
# COPYRIGHT NOTICE #
# Copyright 1998-2005 Matrix Science Limited All Rights Reserved. #
# #
##############################################################################
# $Source: parser/examples/test_cxx/resfile_summary.cpp $ #
# $Author: robertog@matrixscience.com $ #
# $Date: 2024-09-04 10:23:46 +0100 $ #
# $Revision: 526921a73137894bb1eae0b0fc8ccb4bb52ea662 | MSPARSER_REL_3_0_0-2024-09-24-0-g93ebaeb4f4 $ #
# $NoKeywords:: $ #
##############################################################################
*/
#include "msparser.hpp"
#include <iostream>
#include <iomanip>
#include <fstream>
// All the classes are part of the matrix_science namespace
using namespace matrix_science;
/*****************************************************************************/
/* Local functions */
/*****************************************************************************/
static void displayPeptideInfo(bool showFullDetails,
ms_peptide * pep,
bool isDuplicate,
bool isBold,
bool showCheckBox);
static bool showResults(ms_mascotresfilebase & file,
bool peptideSummary,
const int flags,
const double minProbability = 0,
const int maxHitsToDisplay = 50,
const double ignoreIonsScoreBelow = 0,
const int minPepLenInPepSummary = 0,
const int flags2 = ms_peptidesummary::MSPEPSUM_NONE);
static void displayYellowPopupInfo(ms_mascotresults * results, int q);
static bool checkErrors(ms_mascotresfilebase & file);
/*****************************************************************************/
/* main */
/* Call this program with a single argument - the name of the .dat file */
/*****************************************************************************/
int main(int argc, char * argv[])
{
int returnValue = EXIT_FAILURE;
if (argc == 2)
{
ms_mascotresfilebase file = ms_mascotresfilebase::createResfile(argv[1]);
if (checkErrors(file))
{
bool usePeptideSummary;
unsigned int flags, flags2, minPepLenInPepSummary;
int maxHitsToReport;
double minProbability, ignoreIonsScoreBelow;
/*
* 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_mascotresfilebase::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.
*/
ms_datfile datfile("../config/mascot.dat"); //You may need to change this path
//if the mascot.dat isn't available, use defaults
ms_mascotoptions mascotOptions;
if (datfile.isValid())
{
mascotOptions = *(datfile.getMascotOptions());
}
std::string scriptName = file.get_ms_mascotresults_params(
mascotOptions,
&flags,
&minProbability,
&maxHitsToReport,
&ignoreIonsScoreBelow,
&minPepLenInPepSummary,
&usePeptideSummary,
&flags2);
bool 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;
*/
std::cout << "-------------------------------------------------------------" << std::endl;
std::cout << "--- Peptide summary report ---" << std::endl;
std::cout << "-------------------------------------------------------------" << std::endl;
bResult = showResults(file,
usePeptideSummary,
flags,
minProbability,
maxHitsToReport,
ignoreIonsScoreBelow,
minPepLenInPepSummary,
flags2);
}
else
{
// Show results from full protein summary, remove grouping
flags &= ~ms_mascotresults::MSRES_GROUP_PROTEINS;
flags &= ~ms_mascotresults::MSRES_SHOW_SUBSETS;
std::cout << "-------------------------------------------------------------" << std::endl;
std::cout << "--- Full Protein summary report ---" << std::endl;
std::cout << "-------------------------------------------------------------" << std::endl;
bResult = showResults(file,
usePeptideSummary,
flags,
minProbability,
maxHitsToReport,
ignoreIonsScoreBelow,
minPepLenInPepSummary,
flags2);
if (bResult && checkErrors(file))
{
std::cout << std::endl;
// Show results from concise protein summary, add grouping
flags |= ms_mascotresults::MSRES_GROUP_PROTEINS;
flags |= ms_mascotresults::MSRES_SHOW_SUBSETS;
std::cout << "-------------------------------------------------------------" << std::endl;
std::cout << "--- Concise Protein summary report ---" << std::endl;
std::cout << "-------------------------------------------------------------" << std::endl;
bResult = showResults(file,
usePeptideSummary,
flags,
minProbability,
maxHitsToReport,
ignoreIonsScoreBelow,
minPepLenInPepSummary,
flags2);
}
}
if (bResult && checkErrors(file))
{
returnValue = EXIT_SUCCESS;
}
}
}
else
{
std::cout << "Must supply the name of a .dat file as a command line argument" << std::endl;
}
return returnValue;
}
/*****************************************************************************/
/* showResults */
/* Shows results using either the peptide summary or the protein summary */
/*****************************************************************************/
static bool showResults(ms_mascotresfilebase & file,
bool peptideSummary,
const int flags,
const double minProbability,
const int maxHitsToDisplay,
const double ignoreIonsScoreBelow,
const int minPepLenInPepSummary,
const int flags2)
{
ms_mascotresults * results;
if (peptideSummary)
{
results = new ms_peptidesummary(file, flags, minProbability, maxHitsToDisplay,
0, ignoreIonsScoreBelow, minPepLenInPepSummary, "", flags2);
}
else
{
results = new ms_proteinsummary(file, flags, minProbability, maxHitsToDisplay);
}
//Stop there is any fatal error occurred
if (!checkErrors(file))
{
return false;
}
int family = 1;
int hit = 1;
ms_protein * prot = results->getHit(hit);
while (prot)
{
std::string accession = prot->getAccession();
std::string description = results->getProteinDescription(accession.c_str());
double mass = results->getProteinMass(accession.c_str());
int dbIdx = prot->getDB();
std::cout << "Protein Hit " << hit;
if (flags & ms_mascotresults::MSRES_CLUSTER_PROTEINS)
{
std::cout << "." << family;
}
std::cout << "\n===================\n";
std::cout << "Accession : " << accession << std::endl;
std::cout << "Description : " << description << std::endl;
std::cout << "Score : " << prot->getScore() << std::endl;
std::cout << "Mass : " << mass << std::endl;
std::cout << "Frame : " << prot->getFrame() << std::endl;
std::cout << "Coverage : " << prot->getCoverage() << std::endl;
std::cout << "Peptides : " << prot->getNumDisplayPeptides()<< std::endl;
int i;
// Each protein has a number of peptides that matched - list them:
for (i=1; i <= prot->getNumPeptides(); i++)
{
int query = prot->getPeptideQuery(i);
int p = prot->getPeptideP(i);
if (p != -1
&& query != -1
&& prot->getPeptideDuplicate(i) != ms_protein::DUPE_DuplicateSameQuery)
{
ms_peptide * pep;
if (results->getPeptide(query, p, pep))
{
displayPeptideInfo(false, pep, results,
prot->getPeptideDuplicate(i) == ms_protein::DUPE_Duplicate,
prot->getPeptideIsBold(i),
}
}
}
// Now display list of all proteins that contain a subset or a same set of the matching peptides
if ( (flags & ms_mascotresults::MSRES_GROUP_PROTEINS) || (flags & ms_mascotresults::MSRES_CLUSTER_PROTEINS) )
{
std::cout << "Proteins matching the same set of peptides:" << std::endl;
i = 1;
while ((prot = results->getNextSimilarProteinOf(accession.c_str(), dbIdx, i)) != 0)
{
std::string accession = prot->getAccession();
if (flags & ms_mascotresults::MSRES_CLUSTER_PROTEINS)
{
int dbIdx = prot->getDB();
if (dbIdx > 1)
{
std::cout << dbIdx << "::";
}
}
std::cout << accession.c_str()
<< " - Total score: " << prot->getScore()
<< " - Peptides matched: " << prot->getNumDisplayPeptides()
<< std::endl;
i++;
}
if (flags & ms_mascotresults::MSRES_SHOW_SUBSETS)
{
std::cout << "Proteins matching a subset of these peptides:" << std::endl;
i = 1;
while ((prot = results->getNextSubsetProteinOf(accession.c_str(), dbIdx, i)) != 0)
{
std::string accession = prot->getAccession();
int dbIdx = prot->getDB();
if ( (flags & ms_mascotresults::MSRES_CLUSTER_PROTEINS) && dbIdx > 1)
{
std::cout << dbIdx << "::";
}
std::cout << accession.c_str()
<< " - Total score: " << prot->getScore()
<< " - Peptides matched: " << prot->getNumDisplayPeptides()
<< std::endl;
if (flags & ms_mascotresults::MSRES_CLUSTER_PROTEINS)
{
int j = 1;
if (results->getNextSimilarProteinOf(accession.c_str(), dbIdx, j))
{
std::cout << " Proteins matching the same set of peptides for this subset:" << std::endl;
}
ms_protein * similar_subset_prot;
while ((similar_subset_prot =
results->getNextSimilarProteinOf(accession.c_str(), dbIdx, j)) != 0)
{
std::string similar_subset_accession = similar_subset_prot->getAccession();
int similar_subset_dbIdx = similar_subset_prot->getDB();
std::cout << " ";
if (similar_subset_dbIdx > 1)
{
std::cout << similar_subset_dbIdx << "::";
}
std::cout << similar_subset_accession.c_str()
<< " - Total score:" << similar_subset_prot->getScore()
<< " - Peptides matched: " << similar_subset_prot->getNumDisplayPeptides()
<< std::endl;
j++;
}
}
i++;
}
}
}
if (flags & 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);
}
std::cout << std::endl;
}
results->createUnassignedList(ms_mascotresults::SCORE);
if (results->getNumberOfUnassigned())
{
std::cout << "Unassigned list" << std::endl
<< "---------------" << std::endl;
for (int u = 1; u <= results->getNumberOfUnassigned(); u++)
{
ms_peptide pep = results->getUnassigned(u);
displayPeptideInfo(false, &pep, results, false, true, true);
}
}
if (peptideSummary)
displayYellowPopupInfo(results, 1);
delete results;
return true;
}
/*****************************************************************************/
/* displayYellowPopupInfo */
/* Shows the equivalent of the yellow popup box for given query */
/*****************************************************************************/
static void displayYellowPopupInfo(ms_mascotresults * results, int q)
{
std::cout << "Score Delta Hit Protein Peptide" << std::endl;
int p;
for (p=1; p <= 10; p++)
{
ms_peptide pep = results->getPeptide(q, p);
std::string seq = pep.getPeptideStr();
if (!seq.empty())
{
std::string tmp = results->getProteinsWithThisPepMatch(q, p, true);
std::string hit = " ";
std::string protein = " ";
if (!tmp.empty())
{
hit = tmp.substr(0, tmp.find(':'));
std::string::size_type start = tmp.find(":\"");
if (start != tmp.rfind(":\""))
hit += "+";
protein = tmp.substr(2 + start, tmp.find("\" ") - start -2);
}
std::cout << pep.getIonsScore() << " "
<< pep.getDelta() << " "
<< hit << " "
<< protein << " "
<< pep.getPeptideStr() << std::endl;
}
}
p = 1;
std::cout << "Accessions that matched query " << q
<< " rank " << p << ":- "
<< results->getProteinsWithThisPepMatch(q, p)
<< std::endl << std::endl;
}
/*****************************************************************************/
/* displayPeptideInfo */
/* Shows information about a peptide */
/*****************************************************************************/
static void displayPeptideInfo(bool showFullDetails,
bool isDuplicate,
bool isBold,
bool showCheckBox)
{
int q = p->getQuery();
if (showFullDetails)
{
std::cout << "Peptide hit" << std::endl;
if (p->getAnyMatch())
{
std::cout << " Query : " << q << std::endl;
std::cout << " Rank : " << p->getRank() << std::endl;
std::cout << " Matched : " << p->getAnyMatch() << std::endl;
std::cout << " missedCleave: " << p->getMissedCleavages() << std::endl;
std::cout << " mrCalc : " << p->getMrCalc() << std::endl;
std::cout << " delta : " << p->getDelta() << std::endl;
std::cout << " observed : " << p->getObserved() << std::endl;
std::cout << " charge : " << p->getCharge() << std::endl;
std::cout << " mrExp : " << p->getMrExperimental() << std::endl;
std::cout << " ionsMatched : " << p->getNumIonsMatched() << std::endl;
std::cout << " peptideStr : " << p->getPeptideStr() << std::endl;
std::cout << " peaksUsed1 : " << p->getPeaksUsedFromIons1() << std::endl;
std::cout << " varModsStr : " << p->getVarModsStr() << std::endl;
std::cout << " readable mod: " << r->getReadableVarMods(q, p->getRank()) << std::endl;
std::cout << " tag matches : " << r->getTagString(q, 1) << std::endl;
std::cout << " first tag : 1:" << r->getTagStart(q,1,1)
<< ":" << r->getTagEnd(q,1,1)
<< ":" << r->getTagSeries(q,1,1) << std::endl;
std::cout << " etag drange : " << r->getTagDeltaRangeStart(q, 1)
<< "," << r->getTagDeltaRangeEnd(q, 1) << std::endl;
std::cout << " ionsScore : " << p->getIonsScore() << std::endl;
std::cout << " seriesUsed : " << p->getSeriesUsedStr() << std::endl;
std::cout << " peaksUsed2 : " << p->getPeaksUsedFromIons2() << std::endl;
std::cout << " peaksUsed3 : " << p->getPeaksUsedFromIons3() << std::endl;
std::cout << " idth, hth, p: "
<< r->getPeptideIdentityThreshold(q,20) << ", "
<< r->getHomologyThreshold(q, 20) << ", "
<< std::endl;
}
else
std::cout << " No match" << std::endl;
}
else
{
if (showCheckBox)
std::cout << "CB ";
else
std::cout << "-- ";
if (isBold)
std::cout << "BOLD ";
else
std::cout << "dim ";
std::cout << std::setiosflags(std::ios::left) << std::setw(4) << std::setfill(' ') << q;
std::cout << std::setiosflags(std::ios::left) << std::setw(11) << std::setfill(' ') << p->getObserved();
std::cout << std::setiosflags(std::ios::left) << std::setw(3) << std::setfill(' ') << p->getRank();
std::cout << "(";
std::cout << std::setiosflags(std::ios::left) << std::setw(3) << std::setfill(' ') << p->getPrettyRank();
std::cout << ")";
std::cout << std::setiosflags(std::ios::left) << std::setw(20) << std::setfill(' ') << p->getPeptideStr()
<< "\t";
if (isDuplicate)
std::cout << "(" << p->getIonsScore() << ")";
else
std::cout << p->getIonsScore();
std::cout << "\t";
std::cout << r->getReadableVarMods(q, p->getRank());
std::cout << std::endl;
}
}
/*****************************************************************************/
/* checkErrors */
/* Print errors and return false if a critical error occurred */
/*****************************************************************************/
static bool checkErrors(ms_mascotresfilebase & file)
{
if (file.getLastError())
{
for (int i=1; i <= file.getNumberOfErrors(); i++)
{
std::cout << "Error number: "
<< file.getErrorNumber(i)
<< " : "
<< file.getErrorString(i)
<< std::endl;
}
}
//Call isValid before clearAllErrors, otherwise this method always returns true
bool bIsValid = file.isValid();
return bIsValid;
}
/*
will give the output:
-------------------------------------------------------------
--- Peptide summary report ---
-------------------------------------------------------------
Protein Hit 1
===================
Accession : Q9XZJ2
Description : HEAT SHOCK PROTEIN 70.- Crassostrea gigas (Pacific oyster).
Score : 286.477
Mass : 79480.1
Frame : 0
Coverage : 57
CB BOLD 1 671.9 1 (1 )DAGTISGLNVLR 95.12
CB BOLD 2 808.3 1 (1 )TTPSYVAFTDTER 74.55
CB BOLD 3 973.9 1 (1 )NQVAMNPNNTIFDAK 89.84
-- BOLD 4 1084.9 3 (3 )IINEPTAAAIAYGLDKK 30.07
Proteins matching the same set of peptides:
Q94805 Total score: 283.374
Proteins matching a subset of these peptides:
AAF09496 Total score: 211.927 Peptides matched: 3
BAB72169 Total score: 199.74 Peptides matched: 3
Q24789 Total score: 199.74 Peptides matched: 3
Q9I9Q5 Total score: 199.74 Peptides matched: 3
AAB93665 Total score: 196.637 Peptides matched: 3
Q9W6Y1 Total score: 196.637 Peptides matched: 3
Q95V47 Total score: 194.46 Peptides matched: 3
Q91993 Total score: 193.534 Peptides matched: 3
T45476 Total score: 191.357 Peptides matched: 3
O01948 Total score: 169.67 Peptides matched: 2
O97150 Total score: 166.567 Peptides matched: 2
AAA64872 Total score: 125.19 Peptides matched: 2
B44261 Total score: 125.19 Peptides matched: 2
P81159 Total score: 125.19 Peptides matched: 2
Q9NJ92 Total score: 125.19 Peptides matched: 2
Q9NJ93 Total score: 125.19 Peptides matched: 2
Q9PUF9 Total score: 125.19 Peptides matched: 2
S21175 Total score: 125.19 Peptides matched: 2
T45473 Total score: 125.19 Peptides matched: 2
JC4610 Total score: 122.087 Peptides matched: 2
O73788 Total score: 122.087 Peptides matched: 2
1ATR Total score: 104.62 Peptides matched: 2
1ATS Total score: 104.62 Peptides matched: 2
1BA0 Total score: 104.62 Peptides matched: 2
1BA1 Total score: 104.62 Peptides matched: 2
1BUPA Total score: 104.62 Peptides matched: 2
1HSC Total score: 104.62 Peptides matched: 2
1KAX Total score: 104.62 Peptides matched: 2
1KAY Total score: 104.62 Peptides matched: 2
1KAZ Total score: 104.62 Peptides matched: 2
1NGC Total score: 104.62 Peptides matched: 2
1NGD Total score: 104.62 Peptides matched: 2
1NGE Total score: 104.62 Peptides matched: 2
1NGF Total score: 104.62 Peptides matched: 2
1NGG Total score: 104.62 Peptides matched: 2
1NGH Total score: 104.62 Peptides matched: 2
1NGI Total score: 104.62 Peptides matched: 2
2BUPA Total score: 104.62 Peptides matched: 2
A25646 Total score: 104.62 Peptides matched: 2
A27077 Total score: 104.62 Peptides matched: 2
A35922 Total score: 104.62 Peptides matched: 2
A44985 Total score: 104.62 Peptides matched: 2
A45635 Total score: 104.62 Peptides matched: 2
A45935 Total score: 104.62 Peptides matched: 2
A48439 Total score: 104.62 Peptides matched: 2
AAA30130 Total score: 104.62 Peptides matched: 2
AAA30569 Total score: 104.62 Peptides matched: 2
AAA33009 Total score: 104.62 Peptides matched: 2
CAA81523 Total score: 104.62 Peptides matched: 2
HHKW7A Total score: 104.62 Peptides matched: 2
HHUM7B Total score: 104.62 Peptides matched: 2
JC2215 Total score: 104.62 Peptides matched: 2
JC4786 Total score: 104.62 Peptides matched: 2
JC5642 Total score: 104.62 Peptides matched: 2
O61003 Total score: 104.62 Peptides matched: 2
O61004 Total score: 104.62 Peptides matched: 2
O73885 Total score: 104.62 Peptides matched: 2
O76274 Total score: 104.62 Peptides matched: 2
O96541 Total score: 104.62 Peptides matched: 2
O96911 Total score: 104.62 Peptides matched: 2
P79984 Total score: 104.62 Peptides matched: 2
PQ0138 Total score: 104.62 Peptides matched: 2
Q27031 Total score: 104.62 Peptides matched: 2
Q43532 Total score: 104.62 Peptides matched: 2
Q93146 Total score: 104.62 Peptides matched: 2
Q93147 Total score: 104.62 Peptides matched: 2
Q94614 Total score: 104.62 Peptides matched: 2
Q95LN9 Total score: 104.62 Peptides matched: 2
Q9GPK0 Total score: 104.62 Peptides matched: 2
Q9GRE8 Total score: 104.62 Peptides matched: 2
Q9H3R6 Total score: 104.62 Peptides matched: 2
Q9M4E6 Total score: 104.62 Peptides matched: 2
Q9M6R1 Total score: 104.62 Peptides matched: 2
Q9NCC8 Total score: 104.62 Peptides matched: 2
Q9NGK9 Total score: 104.62 Peptides matched: 2
Q9NJB7 Total score: 104.62 Peptides matched: 2
Q9SAU8 Total score: 104.62 Peptides matched: 2
Q9TW75 Total score: 104.62 Peptides matched: 2
Q9U545 Total score: 104.62 Peptides matched: 2
Q9UAE9 Total score: 104.62 Peptides matched: 2
S07197 Total score: 104.62 Peptides matched: 2
S11456 Total score: 104.62 Peptides matched: 2
S27004 Total score: 104.62 Peptides matched: 2
S31716 Total score: 104.62 Peptides matched: 2
S36753 Total score: 104.62 Peptides matched: 2
S37165 Total score: 104.62 Peptides matched: 2
T21394 Total score: 104.62 Peptides matched: 2
T45478 Total score: 104.62 Peptides matched: 2
T45479 Total score: 104.62 Peptides matched: 2
A55719 Total score: 101.517 Peptides matched: 2
AAA37859 Total score: 101.517 Peptides matched: 2
AAD11466 Total score: 101.517 Peptides matched: 2
B36590 Total score: 101.517 Peptides matched: 2
B86295 Total score: 101.517 Peptides matched: 2
CAA33735 Total score: 101.517 Peptides matched: 2
HS74_YEAST Total score: 101.517 Peptides matched: 2
Q99KD7 Total score: 101.517 Peptides matched: 2
Q9TUG3 Total score: 101.517 Peptides matched: 2
Q9TX61 Total score: 101.517 Peptides matched: 2
S08211 Total score: 101.517 Peptides matched: 2
S10859 Total score: 101.517 Peptides matched: 2
AAA49563 Total score: 95.12 Peptides matched: 1
1HJOA Total score: 74.55 Peptides matched: 1
1NGA Total score: 74.55 Peptides matched: 1
1QQMA Total score: 74.55 Peptides matched: 1
1QQNA Total score: 74.55 Peptides matched: 1
1QQOA Total score: 74.55 Peptides matched: 1
A25773 Total score: 74.55 Peptides matched: 1
A29160 Total score: 74.55 Peptides matched: 1
A45871 Total score: 74.55 Peptides matched: 1
A48872 Total score: 74.55 Peptides matched: 1
A49242 Total score: 74.55 Peptides matched: 1
AAA03451 Total score: 74.55 Peptides matched: 1
AAA17441 Total score: 74.55 Peptides matched: 1
AAA57233 Total score: 74.55 Peptides matched: 1
AAA78276 Total score: 74.55 Peptides matched: 1
AAB03704 Total score: 74.55 Peptides matched: 1
AAD21815 Total score: 74.55 Peptides matched: 1
AAD21816 Total score: 74.55 Peptides matched: 1
AAL34314 Total score: 74.55 Peptides matched: 1
BAB72167 Total score: 74.55 Peptides matched: 1
BAB72168 Total score: 74.55 Peptides matched: 1
BAB72233 Total score: 74.55 Peptides matched: 1
BAB78505 Total score: 74.55 Peptides matched: 1
CAA52328 Total score: 74.55 Peptides matched: 1
E980236 Total score: 74.55 Peptides matched: 1
HS71_SCHPO Total score: 74.55 Peptides matched: 1
I37564 Total score: 74.55 Peptides matched: 1
I51129 Total score: 74.55 Peptides matched: 1
I54542 Total score: 74.55 Peptides matched: 1
JH0095 Total score: 74.55 Peptides matched: 1
JU0164 Total score: 74.55 Peptides matched: 1
O18474 Total score: 74.55 Peptides matched: 1
O73922 Total score: 74.55 Peptides matched: 1
PC1156 Total score: 74.55 Peptides matched: 1
Q26357 Total score: 74.55 Peptides matched: 1
Q26936 Total score: 74.55 Peptides matched: 1
Q26937 Total score: 74.55 Peptides matched: 1
Q63256 Total score: 74.55 Peptides matched: 1
Q63718 Total score: 74.55 Peptides matched: 1
Q98896 Total score: 74.55 Peptides matched: 1
Q98899 Total score: 74.55 Peptides matched: 1
Q98900 Total score: 74.55 Peptides matched: 1
Q98901 Total score: 74.55 Peptides matched: 1
Q9I8F9 Total score: 74.55 Peptides matched: 1
Q9IAC1 Total score: 74.55 Peptides matched: 1
Q9LU13 Total score: 74.55 Peptides matched: 1
Q9N1U2 Total score: 74.55 Peptides matched: 1
Q9NFT1 Total score: 74.55 Peptides matched: 1
Q9QWJ5 Total score: 74.55 Peptides matched: 1
S09036 Total score: 74.55 Peptides matched: 1
S25585 Total score: 74.55 Peptides matched: 1
S31766 Total score: 74.55 Peptides matched: 1
S37394 Total score: 74.55 Peptides matched: 1
S53357 Total score: 74.55 Peptides matched: 1
S67431 Total score: 74.55 Peptides matched: 1
T19211 Total score: 74.55 Peptides matched: 1
T22169 Total score: 74.55 Peptides matched: 1
T41121 Total score: 74.55 Peptides matched: 1
T43724 Total score: 74.55 Peptides matched: 1
T45468 Total score: 74.55 Peptides matched: 1
JQ1515 Total score: 71.4471 Peptides matched: 1
PC7036 Total score: 71.4471 Peptides matched: 1
Q9UVM0 Total score: 71.4471 Peptides matched: 1
A25089 Total score: 30.07 Peptides matched: 1
A32475 Total score: 30.07 Peptides matched: 1
A42582 Total score: 30.07 Peptides matched: 1
A48469 Total score: 30.07 Peptides matched: 1
AAA28075 Total score: 30.07 Peptides matched: 1
AAA34139 Total score: 30.07 Peptides matched: 1
AAA65099 Total score: 30.07 Peptides matched: 1
AAA92743 Total score: 30.07 Peptides matched: 1
AAA99920 Total score: 30.07 Peptides matched: 1
AAB06397 Total score: 30.07 Peptides matched: 1
AAB53051 Total score: 30.07 Peptides matched: 1
AAB63968 Total score: 30.07 Peptides matched: 1
AAF88019 Total score: 30.07 Peptides matched: 1
BAA13948 Total score: 30.07 Peptides matched: 1
BAB08435 Total score: 30.07 Peptides matched: 1
CAA02784 Total score: 30.07 Peptides matched: 1
CAA27330 Total score: 30.07 Peptides matched: 1
CAA28976 Total score: 30.07 Peptides matched: 1
CAA31393 Total score: 30.07 Peptides matched: 1
CAA31663 Total score: 30.07 Peptides matched: 1
CAA54419 Total score: 30.07 Peptides matched: 1
CAC84456 Total score: 30.07 Peptides matched: 1
D44261 Total score: 30.07 Peptides matched: 1
D90093 Total score: 30.07 Peptides matched: 1
H96605 Total score: 30.07 Peptides matched: 1
HHBYA1 Total score: 30.07 Peptides matched: 1
HS71_CANAL Total score: 30.07 Peptides matched: 1
HS71_PICAN Total score: 30.07 Peptides matched: 1
HS71_YEAST Total score: 30.07 Peptides matched: 1
HS72_PICAN Total score: 30.07 Peptides matched: 1
HS72_YEAST Total score: 30.07 Peptides matched: 1
HS7E_SPIOL Total score: 30.07 Peptides matched: 1
JC7132 Total score: 30.07 Peptides matched: 1
JQ0966 Total score: 30.07 Peptides matched: 1
O45038 Total score: 30.07 Peptides matched: 1
O48563 Total score: 30.07 Peptides matched: 1
O62564 Total score: 30.07 Peptides matched: 1
O65171 Total score: 30.07 Peptides matched: 1
O76306 Total score: 30.07 Peptides matched: 1
O93935 Total score: 30.07 Peptides matched: 1
O94104 Total score: 30.07 Peptides matched: 1
O94106 Total score: 30.07 Peptides matched: 1
P90655 Total score: 30.07 Peptides matched: 1
P91738 Total score: 30.07 Peptides matched: 1
P97966 Total score: 30.07 Peptides matched: 1
Q05829 Total score: 30.07 Peptides matched: 1
Q17310 Total score: 30.07 Peptides matched: 1
Q23712 Total score: 30.07 Peptides matched: 1
Q24895 Total score: 30.07 Peptides matched: 1
Q24928 Total score: 30.07 Peptides matched: 1
Q24952 Total score: 30.07 Peptides matched: 1
Q27078 Total score: 30.07 Peptides matched: 1
Q27121 Total score: 30.07 Peptides matched: 1
Q27146 Total score: 30.07 Peptides matched: 1
Q27147 Total score: 30.07 Peptides matched: 1
Q40924 Total score: 30.07 Peptides matched: 1
Q91624 Total score: 30.07 Peptides matched: 1
Q943K7 Total score: 30.07 Peptides matched: 1
Q94439 Total score: 30.07 Peptides matched: 1
Q961X6 Total score: 30.07 Peptides matched: 1
Q96IS6 Total score: 30.07 Peptides matched: 1
Q96W30 Total score: 30.07 Peptides matched: 1
Q9ATB8 Total score: 30.07 Peptides matched: 1
Q9DC27 Total score: 30.07 Peptides matched: 1
Q9FSY7 Total score: 30.07 Peptides matched: 1
Q9GPM5 Total score: 30.07 Peptides matched: 1
Q9GTX3 Total score: 30.07 Peptides matched: 1
Q9LHA8 Total score: 30.07 Peptides matched: 1
Q9M4E7 Total score: 30.07 Peptides matched: 1
Q9M4E8 Total score: 30.07 Peptides matched: 1
Q9NAX9 Total score: 30.07 Peptides matched: 1
Q9NCC9 Total score: 30.07 Peptides matched: 1
Q9NCD0 Total score: 30.07 Peptides matched: 1
Q9NCD1 Total score: 30.07 Peptides matched: 1
Q9NCD2 Total score: 30.07 Peptides matched: 1
Q9NCD3 Total score: 30.07 Peptides matched: 1
Q9NCD4 Total score: 30.07 Peptides matched: 1
Q9NCD5 Total score: 30.07 Peptides matched: 1
Q9NCD6 Total score: 30.07 Peptides matched: 1
Q9NCD7 Total score: 30.07 Peptides matched: 1
Q9NCD8 Total score: 30.07 Peptides matched: 1
Q9NCD9 Total score: 30.07 Peptides matched: 1
Q9NCE0 Total score: 30.07 Peptides matched: 1
Q9NHB4 Total score: 30.07 Peptides matched: 1
Q9P8E0 Total score: 30.07 Peptides matched: 1
Q9U540 Total score: 30.07 Peptides matched: 1
Q9ZS55 Total score: 30.07 Peptides matched: 1
S03250 Total score: 30.07 Peptides matched: 1
S14949 Total score: 30.07 Peptides matched: 1
S14950 Total score: 30.07 Peptides matched: 1
S18181 Total score: 30.07 Peptides matched: 1
S20139 Total score: 30.07 Peptides matched: 1
S21879 Total score: 30.07 Peptides matched: 1
S21880 Total score: 30.07 Peptides matched: 1
S24782 Total score: 30.07 Peptides matched: 1
S41372 Total score: 30.07 Peptides matched: 1
S42488 Total score: 30.07 Peptides matched: 1
S44168 Total score: 30.07 Peptides matched: 1
S46302 Total score: 30.07 Peptides matched: 1
S49303 Total score: 30.07 Peptides matched: 1
S51682 Total score: 30.07 Peptides matched: 1
S51712 Total score: 30.07 Peptides matched: 1
S53126 Total score: 30.07 Peptides matched: 1
S71171 Total score: 30.07 Peptides matched: 1
T03581 Total score: 30.07 Peptides matched: 1
T04078 Total score: 30.07 Peptides matched: 1
T04080 Total score: 30.07 Peptides matched: 1
T06358 Total score: 30.07 Peptides matched: 1
T06598 Total score: 30.07 Peptides matched: 1
T15513 Total score: 30.07 Peptides matched: 1
T34037 Total score: 30.07 Peptides matched: 1
T45298 Total score: 30.07 Peptides matched: 1
T45474 Total score: 30.07 Peptides matched: 1
T45475 Total score: 30.07 Peptides matched: 1
T45477 Total score: 30.07 Peptides matched: 1
T45517 Total score: 30.07 Peptides matched: 1
T45522 Total score: 30.07 Peptides matched: 1
T46574 Total score: 30.07 Peptides matched: 1
T46650 Total score: 30.07 Peptides matched: 1
T48270 Total score: 30.07 Peptides matched: 1
T48271 Total score: 30.07 Peptides matched: 1
AAB08760 Total score: 26.9671 Peptides matched: 1
AAC05418 Total score: 26.9671 Peptides matched: 1
AAF23276 Total score: 26.9671 Peptides matched: 1
P93937 Total score: 26.9671 Peptides matched: 1
Q91688 Total score: 26.9671 Peptides matched: 1
Q9NCC5 Total score: 26.9671 Peptides matched: 1
Q9NCC6 Total score: 26.9671 Peptides matched: 1
Q9NCC7 Total score: 26.9671 Peptides matched: 1
Protein Hit 2
===================
Accession : S14992
Description : dnaK-type molecular chaperone hsp70 - soybean
Score : 166.04
Mass : 78349.7
Frame : 0
Coverage : 45
-- dim 2 808.3 1 (1 )TTPSYVAFTDTER 74.55
-- dim 3 973.9 2 (2 )NQVAMNPQNTVFDAK 61.42
-- dim 4 1084.9 3 (3 )IINEPTAAAIAYGLDKK 30.07
Proteins matching the same set of peptides:
S53498 Total score: 166.04
Proteins matching a subset of these peptides:
AAA74906 Total score: 135.97 Peptides matched: 2
B45871 Total score: 135.97 Peptides matched: 2
HHXL70 Total score: 135.97 Peptides matched: 2
I49761 Total score: 135.97 Peptides matched: 2
O75634 Total score: 135.97 Peptides matched: 2
O88686 Total score: 135.97 Peptides matched: 2
Q96QC9 Total score: 135.97 Peptides matched: 2
Q9R2A1 Total score: 135.97 Peptides matched: 2
S21365 Total score: 135.97 Peptides matched: 2
S41415 Total score: 135.97 Peptides matched: 2
AAA27868 Total score: 61.42 Peptides matched: 1
Q17228 Total score: 61.42 Peptides matched: 1
Q17289 Total score: 61.42 Peptides matched: 1
Q27379 Total score: 61.42 Peptides matched: 1
A34041 Total score: 58.3171 Peptides matched: 1
Protein Hit 3
===================
Accession : A36333
Description : dnaK-type molecular chaperone Hsc70-4 - fruit fly (Drosophila melanogaster)
Score : 147.45
Mass : 77814.5
Frame : 0
Coverage : 45
-- dim 2 808.3 1 (1 )TTPSYVAFTDTER 74.55
-- dim 3 973.9 3 (3 )NQVAMNPTQTIFDAK 42.83
-- dim 4 1084.9 3 (3 )IINEPTAAAIAYGLDKK 30.07
Proteins matching the same set of peptides:
AAF55150 Total score: 147.45
Proteins matching a subset of these peptides:
Protein Hit 4
===================
Accession : A03309
Description : dnaK-type molecular chaperone Dsim/Hsc70-1 - fruit fly (Drosophila simulans) (fragments)
Score : 147.03
Mass : 25558.9
Frame : 0
Coverage : 28
-- dim 2 808.3 3 (3 )TTPSYVAFTESER 57.19
-- dim 3 973.9 1 (1 )NQVAMNPNNTIFDAK 89.84
Proteins matching the same set of peptides:
AAA28632 Total score: 147.03
JN0668 Total score: 143.927
Proteins matching a subset of these peptides:
B03309 Total score: 57.19 Peptides matched: 1
Q9BIS1 Total score: 57.19 Peptides matched: 1
Q9BIS3 Total score: 57.19 Peptides matched: 1
Protein Hit 5
===================
Accession : Q95PU3
Description : HEAT SHOCK PROTEIN (HSP70).- Euplotes crassus.
Score : 113.66
Mass : 80429.7
Frame : 0
Coverage : 30
-- dim 2 808.3 1 (1 )TTPSYVAFTDTER 74.55
CB dim 4 1084.9 1 (1 )IIIEPTAAAIAYGLDKK 39.11
Proteins matching the same set of peptides:
Proteins matching a subset of these peptides:
Protein Hit 6
===================
Accession : 1NGB
Description : Heat-shock cognate 70kd protein (44kd atpase n-terminal Fragment) (EC 3.6.1.3) mutant with glu 175 replace
d by Gln (e175q) - bovine
Score : 109.89
Mass : 45220.2
Frame : 0
Coverage : 30
-- dim 2 808.3 1 (1 )TTPSYVAFTDTER 74.55
-- dim 4 1084.9 2 (2 )IINQPTAAAIAYGLDKK 35.34
Proteins matching the same set of peptides:
Proteins matching a subset of these peptides:
Protein Hit 7
===================
Accession : O61226
Description :
Score : 90.71
Mass : 0
Frame : 0
Coverage : 30
-- dim 2 808.3 2 (2 )TTPSYVAFTNTER 60.64
-- dim 4 1084.9 3 (3 )IINEPTAAAIAYGLDKK 30.07
Proteins matching the same set of peptides:
Proteins matching a subset of these peptides:
Protein Hit 8
===================
Accession : P87036
Description :
Score : 81.27
Mass : 0
Frame : 0
Coverage : 29
-- dim 1 671.9 3 (3 )DAGTIAGLEVLR 51.2
-- dim 4 1084.9 3 (3 )IINEPTAAAIAYGLDKK 30.07
Proteins matching the same set of peptides:
Proteins matching a subset of these peptides:
A25398 Total score: 51.2 Peptides matched: 1
AAA30204 Total score: 51.2 Peptides matched: 1
AG2111 Total score: 51.2 Peptides matched: 1
CAB59514 Total score: 51.2 Peptides matched: 1
O76958 Total score: 51.2 Peptides matched: 1
S06158 Total score: 51.2 Peptides matched: 1
S74372 Total score: 51.2 Peptides matched: 1
A45515 Total score: 48.0971 Peptides matched: 1
CAA36551 Total score: 48.0971 Peptides matched: 1
Q94594 Total score: 48.0971 Peptides matched: 1
Q9GYW3 Total score: 48.0971 Peptides matched: 1
Q9HG01 Total score: 48.0971 Peptides matched: 1
S11448 Total score: 48.0971 Peptides matched: 1
S52727 Total score: 48.0971 Peptides matched: 1
Score Delta Hit Protein Peptide
Accessions that matched query 97 rank 1:-
*/
Encapsulates the mascot.dat file that contains the most important parameters.
Definition: ms_datfile.hpp:47
bool isValid() const
Call this function to determine if there have been any errors.
Definition: ms_errors.cpp:1472
void clearAllErrors()
Remove all errors from the current list of errors.
Definition: ms_errors.cpp:1457
An instance of this class represents all the parameters specified in the Options section of mascot....
Definition: ms_mascotoptions.hpp:91
Abstract base class of ms_mascotresfile_dat and ms_mascotresfile_msr.
Definition: ms_mascotresfilebase.hpp:72
int getErrorNumber(const int num=-1) const
Return a specific error number - or ms_errs::ERR_NO_ERROR.
Definition: ms_mascotresfilebase.cpp:776
int getLastError() const
Return the last error number - or ms_erros::ERR_NO_ERROR.
Definition: ms_mascotresfilebase.cpp:786
std::string get_ms_mascotresults_params(const ms_mascotoptions &opts, ms_mascotresults_params &params) const
Return default flags and parameters for creating an ms_peptidesummary or ms_proteinsummary object.
Definition: ms_mascotresfilebase.cpp:1380
std::string getErrorString(const int num) const
Return a specific error as a string.
Definition: ms_mascotresfilebase.cpp:814
int getNumberOfErrors() const
Return the number of errors since the last call to clearAllErrors.
Definition: ms_mascotresfilebase.cpp:749
Abstract class for either ms_peptidesummary or ms_proteinsummary.
Definition: ms_mascotresults.hpp:83
virtual int getTagStart(const int q, const int p, const int tagNumber) const
Return the start position for the tag-match from h1_q2_tag or q1_p1_tag.
Definition: ms_mascotresults.cpp:2174
std::string getProteinDescription(const char *accession, const int dbIdx=1) const
Return protein description if available.
Definition: ms_mascotresults.cpp:243
double getProteinMass(const char *accession, const int dbIdx=1) const
Return protein mass if available.
Definition: ms_mascotresults.cpp:299
virtual ms_protein * getNextFamilyProtein(const int masterHit, const int id) const
Find the next protein in the family masterHit.
Definition: ms_mascotresults.cpp:1144
virtual int getPeptideIdentityThreshold(const int query, double OneInXprobRnd, DB_MATCH_TYPE dbType=DM_FASTA) const
Return the threshold value for this ms-ms data being a random match.
Definition: ms_mascotresults.cpp:605
virtual ms_peptide getPeptide(const int q, const int p) const =0
Return the ms_peptide object given the query and either the rank (ms_peptidesummary) or the hit (ms_p...
virtual int getTagDeltaRangeEnd(const int q, const int p) const =0
Return the second number from h1_q2_drange=0,256.
virtual ms_protein * getNextSimilarProteinOf(const char *masterAccession, const int masterDB, const int id) const
Return the next protein that contains all the peptides in the 'master' protein.
Definition: ms_mascotresults.cpp:1122
virtual std::string getTagString(const int q, const int p) const =0
Return the complete tag string from h1_q2_tag or q1_p1_tag.
int getNumberOfUnassigned() const
Return the number of peptides in the unassigned list.
Definition: ms_mascotresults.cpp:2316
virtual ms_protein * getNextSubsetProteinOf(const char *masterAccession, const int masterDB, const int id) const
Return the next protein that contains some of the peptides in the 'master' protein.
Definition: ms_mascotresults.cpp:1193
bool createUnassignedList(sortBy s=QUERY)
To have a list of unassigned peptides, need to call this first.
Definition: ms_mascotresults.cpp:2295
virtual int getTagDeltaRangeStart(const int q, const int p) const =0
Return the first number from h1_q2_drange=0,256.
virtual int getTagSeries(const int q, const int p, const int tagNumber) const
Return the series ID for the tag-match from h1_q2_tag or q1_p1_tag.
Definition: ms_mascotresults.cpp:2257
virtual double getProbOfPepBeingRandomMatch(const double score, const int query) const
Definition: ms_mascotresults.cpp:901
virtual int getHomologyThreshold(const int query, double OneInXprobRnd, const int rank=1) const
Returns the 'homology' threshold.
Definition: ms_mascotresults.cpp:828
ms_peptide getUnassigned(const int num) const
Need to call createUnassignedList() before calling this.
Definition: ms_mascotresults.cpp:2337
virtual ms_protein * getHit(const int hit, const int memberNumber=0) const
Return the ms_protein hit - returns null if hit > number of hits.
Definition: ms_mascotresults.cpp:1030
virtual int getTagEnd(const int q, const int p, const int tagNumber) const
Return the end position for the tag-match from h1_q2_tag or q1_p1_tag.
Definition: ms_mascotresults.cpp:2197
virtual std::string getProteinsWithThisPepMatch(const int q, const int p, const bool quotes=false)=0
Return a partial list of proteins that matched the same peptide.
virtual std::string getReadableVarMods(const int q, const int p, const int numDecimalPlaces=2, const ms_peptide::PSM psmComponent=ms_peptide::PSM_COMPLETE) const
Return a 'human readable' string with the variable, summed and error tolerant mods.
Definition: ms_mascotresults.cpp:1608
This class encapsulates a peptide from the mascot results file.
Definition: ms_peptide.hpp:57
int getPrettyRank() const
Similar to getRank() except that equivalent scores get the same rank.
Definition: ms_peptide.cpp:517
int getRank() const
Return the 'rank' of the peptide match.
Definition: ms_peptide.cpp:458
int getMissedCleavages(const PSM psmComponent=PSM_COMPLETE) const
Returns the number of missed cleavages.
Definition: ms_peptide.cpp:583
bool getAnyMatch() const
Returns true if there was a peptide match to this spectrum.
Definition: ms_peptide.cpp:557
std::string getVarModsStr(const PSM psmComponent=PSM_COMPLETE) const
Variable modifications as a string of digits.
Definition: ms_peptide.cpp:834
int getNumIonsMatched() const
Returns the number of ions matched.
Definition: ms_peptide.cpp:685
int getPeaksUsedFromIons1() const
Returns number of peaks used from ions1.
Definition: ms_peptide.cpp:748
int getCharge() const
Returns the charge state for the parent mass.
Definition: ms_peptide.cpp:658
std::string getSeriesUsedStr() const
Returns the series used as a string.
Definition: ms_peptide.cpp:1100
double getObserved() const
Returns the observed mass / charge value.
Definition: ms_peptide.cpp:629
double getDelta() const
Returns the difference between the calculated and experimental relative masses.
Definition: ms_peptide.cpp:619
double getMrExperimental() const
Returns the observed mz value as a relative mass.
Definition: ms_peptide.cpp:644
int getPeaksUsedFromIons2() const
Returns number of peaks used from ions2.
Definition: ms_peptide.cpp:774
double getIonsScore() const
Returns the ions score.
Definition: ms_peptide.cpp:1050
double getMrCalc(const PSM psmComponent=PSM_COMPLETE) const
Returns the calculated relative mass for this peptide .
Definition: ms_peptide.cpp:610
std::string getPeptideStr(bool substituteAmbiguous=true, const PSM psmComponent=PSM_COMPLETE) const
Returns the sequence found for the peptide.
Definition: ms_peptide.cpp:710
int getQuery() const
Each peptide is associate with a query.
Definition: ms_peptide.cpp:441
int getPeaksUsedFromIons3() const
Returns number of peaks used from ions3.
Definition: ms_peptide.cpp:800
Use this class to get peptide summary results.
Definition: ms_peptidesummary.hpp:51
This class encapsulates a protein in the mascot results file.
Definition: ms_protein.hpp:57
double getScore() const
Return the protein score for this protein.
Definition: ms_protein.cpp:574
int getNumPeptides() const
Return the number of peptides that had a match in this protein.
Definition: ms_protein.cpp:621
int getNumDisplayPeptides(bool aboveThreshold=false) const
Return the number of peptides excluding those that with duplicate matches to same query.
Definition: ms_protein.cpp:1587
DUPLICATE getPeptideDuplicate(const int pepNumber, const bool allowErrTolDuplicate=true) const
Return the DUPLICATE status given the peptide 'number'.
Definition: ms_protein.cpp:966
int getPeptideP(const int pepNumber) const
Return the 'rank' number given the peptide 'number'.
Definition: ms_protein.cpp:751
int getPeptideQuery(const int pepNumber) const
Return the query number given the peptide 'number'.
Definition: ms_protein.cpp:727
int getDB() const
Return the index of the database where the sequence is found.
Definition: ms_protein.cpp:494
bool getPeptideIsBold(const int pepNumber) const
Returns true if this peptide should be displayed in bold in a Mascot report.
Definition: ms_protein.cpp:1448
std::string getAccession() const
Return the accession string for a protein.
Definition: ms_protein.cpp:479
bool getPeptideShowCheckbox(const int pepNumber) const
Returns true if a check box for repeat searches should be shown in a Mascot report.
Definition: ms_protein.cpp:1490
int getFrame() const
Returns the frame number for the protein.
Definition: ms_protein.cpp:1403
long getCoverage() const
Return the number of residues covered.
Definition: ms_protein.cpp:1244
Definition: ms_proteinsummary.hpp:45