32#include "boost/range/adaptor/transformed.hpp"
33#include "boost/range/algorithm/max_element.hpp"
34#include "boost/range/algorithm/min_element.hpp"
35#include "boost/range/algorithm_ext/erase.hpp"
49 int operator()(
const EnzymePtr&
x)
const {
return x->terminalSpecificity;}
55 int operator()(
const EnzymePtr&
x)
const {
return x->missedCleavages;}
78 as->customizations.clear();
79 as->contactRolePtr.reset();
89 ez->terminalSpecificity = (proteome::Digestion::Specificity) minSpecificity;
90 ez->missedCleavages = maxMissedCleavages;
107 location =
BFS_STRING(bfs::path(location).replace_extension(
"").filename());
111 location2 =
BFS_STRING(bfs::path(location2).replace_extension(
"").filename());
116 dbSequence->seq.clear();
117 dbSequence->length = 0;
118 dbSequence->id =
"DBSeq_" + dbSequence->accession;
123 BOOST_FOREACH(ModificationPtr& mod,
peptide->modification)
124 mod->monoisotopicMassDelta = mod->avgMassDelta = max(mod->monoisotopicMassDelta, mod->avgMassDelta);
130 BOOST_FOREACH(SpectrumIdentificationItemPtr& sii, sir->spectrumIdentificationItem)
133 sii->fragmentation.clear();
134 sii->massTablePtr.reset();
136 for (
size_t i=0; i < sii->peptideEvidencePtr.size(); ++i)
155 if (sm->residues.empty())
156 sm->residues.push_back(
'.');
162 unit_assert(bal::contains(str,
"search_engine=\"Mascot\""));
165 unit_assert(bal::contains(str,
"name=\"ionscore\""));
166 unit_assert(bal::contains(str,
"name=\"homologyscore\""));
167 unit_assert(bal::contains(str,
"name=\"identityscore\""));
168 unit_assert(bal::contains(str,
"name=\"expect\""));
169 unit_assert(bal::contains(str,
"name=\"an extra score\""));
172 unit_assert(bal::contains(str,
"spectrumNativeID=\"controllerType=0 controllerNumber=1 scan=420\""));
177 if (
os_) *
os_ <<
"begin testSerialize" << endl;
181 serializer.
write(oss, mzid,
"tiny.pepXML");
183 if (
os_) *
os_ <<
"oss:\n" << oss.str() << endl;
187 shared_ptr<istringstream> iss(
new istringstream(oss.str()));
189 serializer.
read(iss, mzid2);
211 EnzymePtr noEnzyme(
new Enzyme);
212 noEnzyme->id =
"ENZ_1";
213 noEnzyme->cTermGain =
"OH";
214 noEnzyme->nTermGain =
"H";
215 noEnzyme->missedCleavages = 2;
216 noEnzyme->minDistance = 1;
217 noEnzyme->terminalSpecificity = proteome::Digestion::NonSpecific;
218 noEnzyme->siteRegexp =
"(?<=[KR])";
226 EnzymePtr aspN(
new Enzyme);
228 aspN->cTermGain =
"OH";
229 aspN->nTermGain =
"H";
230 aspN->missedCleavages = 2;
231 aspN->minDistance = 1;
232 aspN->terminalSpecificity = proteome::Digestion::FullySpecific;
233 aspN->siteRegexp =
"(?=[BD])";
238 aspN->missedCleavages = 4;
239 aspN->minDistance = 2;
240 aspN->terminalSpecificity = proteome::Digestion::SemiSpecific;
241 aspN->siteRegexp =
"(?=[BND])";
242 aspN->enzymeName.clear();
243 aspN->enzymeName.userParams.push_back(
UserParam(
"custom"));
289 ez.
name =
"trypsin/p";
323 bool allCleavageAgentsHandled =
true;
325 BOOST_FOREACH(CVID
cleavageAgent, proteome::Digestion::getCleavageAgents())
334 cerr << e.what() << endl;
335 allCleavageAgentsHandled =
false;
435 if (argc>1 && !strcmp(argv[1],
"-v"))
os_ = &cout;
void diff(const string &filename1, const string &filename2)
KernelTraitsBase< Kernel >::space_type::abscissa_type x
void testPepXMLSpecificity()
void testSerializeReally(IdentData &mzid, const Serializer_pepXML::Config &config)
int main(int argc, char **argv)
void stripUnmappedMetadata(IdentData &mzid)
void testStripChargeFromConventionalSpectrumId()
MZIDData <-> pepXML stream serialization.
void read(boost::shared_ptr< std::istream > is, IdentData &mzid, const pwiz::util::IterationListenerRegistry *=0) const
read in MZIDData object from a pepXML istream
void write(std::ostream &os, const IdentData &mzid, const std::string &filepath, const pwiz::util::IterationListenerRegistry *=0) const
write MZIDData object to ostream as pepXML
MS_X_Tandem
X!Tandem: X!Tandem was used to analyze the spectra.
MS_Trypsin
Trypsin: Enzyme trypsin.
MS_Trypsin_P
Trypsin/P: Cleavage agent Trypsin/P.
MS_Thermo_nativeID_format
Thermo nativeID format: Native format defined by controllerType=xsd:nonNegativeInteger controllerNumb...
MS_MyriMatch
MyriMatch: Tabb Lab software for directly comparing peptides in a database to tandem mass spectra.
MS_WIFF_nativeID_format
WIFF nativeID format: Native format defined by sample=xsd:nonNegativeInteger period=xsd:nonNegativeIn...
MS_Comet
Comet: Comet open-source sequence search engine developed at the University of Washington.
MS_Asp_N
Asp-N: Endoproteinase Asp-N.
MS_SEQUEST
SEQUEST: The name of the SEQUEST search engine.
MS_SEQUEST_xcorr
SEQUEST:xcorr: The SEQUEST result 'XCorr'.
MS_MyriMatch_MVH
MyriMatch:MVH: Using the multivariate hypergeometric distribution and a peak list divided into severa...
MS_Comet_xcorr
Comet:xcorr: The Comet result 'XCorr'.
PWIZ_API_DECL void resolve(ContactRole &cr, IdentData &mzid)
PWIZ_API_DECL void initializeBasicSpectrumIdentification(IdentData &mzid)
PWIZ_API_DECL PepXMLSpecificity pepXMLSpecificity(const Enzyme &ez)
converts an identdata::Enzyme into a pepXML cut/no_cut/sense tuple
PWIZ_API_DECL CVID nativeIdStringToCVID(const std::string &id)
attempts to convert a period-delimited id into a nativeID format (e.g. "1.0.123" appears to be a Ther...
PWIZ_API_DECL const std::string & softwareCVIDToPepXMLSoftwareName(CVID softwareCVID)
converts a software CVID to the preferred name for that software in pepXML; an unrecognized software ...
PWIZ_API_DECL proteome::Peptide peptide(const Peptide &peptide)
creates a proteome::Peptide from an identdata::Peptide
PWIZ_API_DECL std::string stripChargeFromConventionalSpectrumId(const std::string &id)
strips charge state from known conventions of the pepXML spectrum attribute; used to find a unique id...
PWIZ_API_DECL CVID pepXMLScoreNameToCVID(CVID softwareCVID, const std::string &scoreName)
for a given software CVID, converts a pepXML score name into its corresponding CVID,...
PWIZ_API_DECL const std::string & scoreCVIDToPepXMLScoreName(CVID softwareCVID, CVID scoreCVID)
for a given software CVID, converts a score CVID into the preferred name for that score in pepXML; an...
PWIZ_API_DECL CVID cleavageAgent(const Enzyme &ez)
returns a cleavage agent CVID for an identdata::Enzyme
PWIZ_API_DECL CVID pepXMLSoftwareNameToCVID(const std::string &softwareName)
converts a software name stored in pepXML software element into its corresponding CVID,...
int operator()(const EnzymePtr &x) const
int operator()(const EnzymePtr &x) const
UserParamNameIs(const string &name)
bool operator()(const UserParam &up) const
represents a tag-value pair, where the tag comes from the controlled vocabulary
Calculate diffs of objects in a ProteoWizard data model hierarchy.
void set(CVID cvid, const std::string &value="", CVID units=CVID_Unknown)
set/add a CVParam (not recursive)
void clear()
clears the collections
std::vector< UserParam > userParams
a collection of uncontrolled user terms
Uncontrolled user parameters (essentially allowing free text). Before using these,...
std::string name
the name for the parameter.
std::vector< SpectrumIdentificationPtr > spectrumIdentification
ProteinDetection proteinDetection
std::vector< SpectrumIdentificationListPtr > spectrumIdentificationList
ProteinDetectionListPtr proteinDetectionListPtr
std::vector< SpectrumIdentificationProtocolPtr > spectrumIdentificationProtocol
std::vector< SamplePtr > samples
AnalysisData analysisData
Implementation of EnzymeType from the mzIdentML schema.
ParamContainer enzymeName
std::vector< EnzymePtr > enzymes
Implementation of the MzIdentMLType from the mzIdentML schema.
SequenceCollection sequenceCollection
DataCollection dataCollection
AnalysisProtocolCollection analysisProtocolCollection
std::vector< AnalysisSoftwarePtr > analysisSoftwareList
std::vector< ContactPtr > auditCollection
std::vector< BibliographicReferencePtr > bibliographicReference
AnalysisSampleCollection analysisSampleCollection
AnalysisCollection analysisCollection
Implementation of PeptideEvidenceType from the mzIdentML schema.
Implementation of ProteinDetectionType from the mzIdentML schema.
Implementation of ProviderType from the mzIdentML schema.
std::vector< DBSequencePtr > dbSequences
std::vector< PeptideEvidencePtr > peptideEvidence
std::vector< PeptidePtr > peptides
Serializer_pepXML configuration.
Implementation of SpectrumIdentificationProtocolType from the mzIdentML schema.
DatabaseTranslationPtr databaseTranslation
std::vector< FilterPtr > databaseFilters
std::vector< MassTablePtr > massTable
#define unit_assert_operator_equal(expected, actual)
#define TEST_PROLOG(argc, argv)