62 if(retval.find_first_of(
",\"") < retval.size()) retval =
"\"" + retval +
"\"";
72 os <<
"Spectrum number, Filename/id, Peptide, E-value, Mass, gi, Accession, Start, Stop, Defline, Mods, Charge, Theo Mass, P-value, NIST score" << endl;
75 CMSResponse::THitsets::const_iterator iHits;
87 CMSHitSet::THits::const_iterator iHit;
88 CMSHits::TPephits::const_iterator iPephit;
89 for(iHit = HitSet->GetHits().begin(); iHit != HitSet->GetHits().end(); iHit++)
92 if (HitSet->GetIds().begin() != HitSet->GetIds().end())
93 id = *(HitSet->GetIds().begin());
94 double NISTScore (0.0L);
95 if ((*iHit)->CanGetScores()) {
97 if((*iNISTScore)->GetName() ==
"NIST Score")
98 NISTScore = (*iNISTScore)->GetValue();
102 for(iPephit = (*iHit)->GetPephits().begin(); iPephit != (*iHit)->GetPephits().end(); iPephit++)
105 (*iHit)->MakePepString(PepString);
107 (*iHit)->MakeModString(ModString, ModSet);
108 string Accession(
"");
109 if((*iPephit)->CanGetAccession())
110 Accession =
CSVString((*iPephit)->GetAccession());
112 if((*iPephit)->CanGetGi())
113 Gi = (*iPephit)->GetGi();
114 os << HitSet->GetNumber() <<
"," <<
CSVString(
id) <<
"," <<
116 (*iHit)->GetEvalue() <<
"," << (*iHit)->GetMass()/fMZ_scale <<
"," <<
117 Gi <<
"," << Accession <<
"," <<
118 (*iPephit)->GetStart() + 1 <<
"," << (*iPephit)->GetStop() + 1 <<
"," <<
120 "," << (*iHit)->GetCharge() <<
121 "," << (*iHit)->GetTheomass()/fMZ_scale <<
122 "," << (*iHit)->GetPvalue() <<
123 "," << NISTScore << endl;
133 const double Threshold)
const
138 if((*iHit)->GetEvalue() <= Threshold) {
139 OidSet.
insert((*iPepHit)->GetOid());
151 if((*iHitSet)->GetNumber() == Number)
return *iHitSet;
User-defined methods of the data storage class.
void PrintCSV(ostream &os, CRef< CMSModSpecSet > ModSet)
void GetOidsBelowThreshold(TOidSet &OidSet, const double Threshold) const
insert oids into oidset if hit is below threhold
CRef< CMSHitSet > FindHitSet(const int Number) const
Find hitset with given number.
string CSVString(const string &in)
iterator_bool insert(const value_type &val)
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static string & Replace(const string &src, const string &search, const string &replace, string &dst, SIZE_TYPE start_pos=0, SIZE_TYPE max_replace=0, SIZE_TYPE *num_replace=0)
Replace occurrences of a substring within a string.
list< CRef< CMSScoreSet > > TScores
vector< CRef< CMSHits > > THits
TScale GetScale(void) const
Get the Scale member data.
const THitsets & GetHitsets(void) const
Get the Hitsets member data.
bool CanGetScale(void) const
Check if it is safe to call GetScale method.
vector< CRef< CMSHitSet > > THitsets
bool CanGetError(void) const
Check if it is safe to call GetError method.
bool CanGetHitsets(void) const
Check if it is safe to call GetHitsets method.
list< CRef< CMSPepHit > > TPephits
@ eMSHitError_notenuffpeaks
not enough peaks to search
std::istream & in(std::istream &in_, double &x_)