Skip to content
Snippets Groups Projects
Commit 0f066742 authored by Langella Olivier's avatar Langella Olivier
Browse files

WIP: refactoring using PeptideEvidence

parent 7ffa73c9
No related branches found
No related tags found
No related merge requests found
......@@ -133,19 +133,19 @@ void PeptidePosSheet::writeIdentificationGroup(IdentificationGroup * p_ident) {
for (ProteinMatch * p_protein_match : protein_match_list) {
std::vector<PeptideMatch *> peptide_match_list;
std::vector<PeptideMatch> peptide_match_list;
for (auto & peptide_match: p_protein_match->getPeptideMatchList()) {
if (peptide_match->getValidationState() < ValidationState::grouped) continue;
if (peptide_match.getPeptideEvidence()->getValidationState() < ValidationState::grouped) continue;
peptide_match_list.push_back(peptide_match);
}
std::sort(peptide_match_list.begin(), peptide_match_list.end(),
[](const PeptideMatch * a, const PeptideMatch * b)
[](const PeptideMatch & a, const PeptideMatch & b)
{
unsigned int arank = a->getGrpPeptideSp().get()->getRank();
unsigned int aposition = a->getStart();
unsigned int brank = b->getGrpPeptideSp().get()->getRank();
unsigned int bposition = b->getStart();
unsigned int arank = a.getPeptideEvidence()->getGrpPeptideSp().get()->getRank();
unsigned int aposition = a.getStart();
unsigned int brank = b.getPeptideEvidence()->getGrpPeptideSp().get()->getRank();
unsigned int bposition = b.getStart();
return std::tie(arank, aposition) < std::tie(brank, bposition);
});
......@@ -153,28 +153,28 @@ void PeptidePosSheet::writeIdentificationGroup(IdentificationGroup * p_ident) {
for (auto & peptide_match:peptide_match_list) {
if (p_best_peptide_match == nullptr) {
p_best_peptide_match = peptide_match;
p_best_peptide_match = &peptide_match;
}
//change spectra :
unsigned int arank = p_best_peptide_match->getGrpPeptideSp().get()->getRank();
unsigned int arank = p_best_peptide_match->getPeptideEvidence()->getGrpPeptideSp().get()->getRank();
unsigned int aposition = p_best_peptide_match->getStart();
unsigned int brank = peptide_match->getGrpPeptideSp().get()->getRank();
unsigned int bposition = peptide_match->getStart();
unsigned int brank = peptide_match.getPeptideEvidence()->getGrpPeptideSp().get()->getRank();
unsigned int bposition = peptide_match.getStart();
if (std::tie(arank, aposition) != std::tie(brank, bposition)) {
//write p_best_peptide_match
writeBestPeptideMatch(p_protein_match, p_best_peptide_match);
p_best_peptide_match = peptide_match;
writeBestPeptideMatch(p_protein_match, *p_best_peptide_match);
p_best_peptide_match = &peptide_match;
}
else {
if (p_best_peptide_match->getEvalue()> peptide_match->getEvalue()) {
p_best_peptide_match = peptide_match;
if (p_best_peptide_match->getPeptideEvidence()->getEvalue()> peptide_match.getPeptideEvidence()->getEvalue()) {
p_best_peptide_match = &peptide_match;
}
}
}
if (p_best_peptide_match != nullptr) {
writeBestPeptideMatch(p_protein_match, p_best_peptide_match);
writeBestPeptideMatch(p_protein_match, *p_best_peptide_match);
}
}
......
......@@ -87,35 +87,35 @@ void PeptideSheet::writeIdentificationGroup(IdentificationGroup * p_ident) {
return a->getGrpPeptideSp().get()->getRank() < b->getGrpPeptideSp().get()->getRank();
});
const PeptideMatch * p_best_peptide_match = nullptr;
const PeptideEvidence * p_best_peptide_evidence = nullptr;
_sample_scan_list.clear();
for (auto & peptide_match: peptide_match_list) {
if (p_best_peptide_match == nullptr) {
p_best_peptide_match = &peptide_match;
for (auto & peptide_evidence: peptide_evidence_list) {
if (p_best_peptide_evidence == nullptr) {
p_best_peptide_evidence = peptide_evidence;
}
if (p_best_peptide_match->getGrpPeptideSp().get() != peptide_match->getGrpPeptideSp().get()) {
if (p_best_peptide_evidence->getGrpPeptideSp().get() != peptide_evidence->getGrpPeptideSp().get()) {
//write p_best_peptide_match
writeBestPeptideMatch(group_pair.second.get(), *p_best_peptide_match);
p_best_peptide_match = peptide_match;
writeBestPeptideEvidence(group_pair.second.get(), p_best_peptide_evidence);
p_best_peptide_evidence = peptide_evidence;
}
else {
if (p_best_peptide_match->getEvalue()> peptide_match->getEvalue()) {
p_best_peptide_match = peptide_match;
if (p_best_peptide_evidence->getEvalue()> peptide_evidence->getEvalue()) {
p_best_peptide_evidence = peptide_evidence;
}
}
_sample_scan_list.push_back(peptide_match->getHashSampleScan());
_sample_scan_list.push_back(peptide_evidence->getHashSampleScan());
}
if (p_best_peptide_match != nullptr) {
writeBestPeptideMatch(group_pair.second.get(), p_best_peptide_match);
if (p_best_peptide_evidence != nullptr) {
writeBestPeptideEvidence(group_pair.second.get(), p_best_peptide_evidence);
}
}
_p_writer->writeLine();
_p_writer->writeLine();
}
void PeptideSheet::writeBestPeptideMatch(const GroupingGroup * p_group,const PeptideMatch * p_peptide_match) {
void PeptideSheet::writeBestPeptideEvidence(const GroupingGroup * p_group,const PeptideEvidence * p_peptide_evidence) {
std::sort(_sample_scan_list.begin(), _sample_scan_list.end());
auto last = std::unique(_sample_scan_list.begin(), _sample_scan_list.end());
......@@ -124,17 +124,17 @@ void PeptideSheet::writeBestPeptideMatch(const GroupingGroup * p_group,const Pep
_p_writer->writeLine();
unsigned int group_number = p_peptide_match->getGrpPeptideSp().get()->getGroupNumber();
unsigned int group_number = p_peptide_evidence->getGrpPeptideSp().get()->getGroupNumber();
_p_ods_export->setEvenOrOddStyle(group_number, _p_writer);
_p_writer->writeCell(pappso::Utils::getLexicalOrderedString(group_number));
_p_writer->clearTableCellStyleRef();
_p_writer->writeCell(p_peptide_match->getGrpPeptideSp().get()->getGroupingId());
_p_writer->writeCell(p_peptide_match->getGrpPeptideSp().get()->getSequence());
_p_writer->writeCell(p_peptide_match->getPeptideXtpSp().get()->getModifString());
_p_writer->writeCell(p_peptide_match->getCharge());
_p_writer->writeCell(p_peptide_match->getPeptideXtpSp().get()->getNativePeptideP()->getMz(1));
QStringList sg_list = p_group->getSubgroupIdList(p_peptide_match);
_p_writer->writeCell(p_peptide_evidence->getGrpPeptideSp().get()->getGroupingId());
_p_writer->writeCell(p_peptide_evidence->getGrpPeptideSp().get()->getSequence());
_p_writer->writeCell(p_peptide_evidence->getPeptideXtpSp().get()->getModifString());
_p_writer->writeCell(p_peptide_evidence->getCharge());
_p_writer->writeCell(p_peptide_evidence->getPeptideXtpSp().get()->getNativePeptideP()->getMz(1));
QStringList sg_list = p_group->getSubgroupIdList(p_peptide_evidence);
_p_writer->writeCell((unsigned int) sg_list.size());
_p_writer->writeCell(sg_list.join(" "));
_p_writer->writeCell((unsigned int) _sample_scan_list.size());
......
......@@ -42,7 +42,7 @@ public :
private :
void writeIdentificationGroup(IdentificationGroup * p_ident);
void writeHeaders(IdentificationGroup * p_ident);
void writeBestPeptideMatch(const GroupingGroup * p_group, const PeptideMatch * p_peptide_match);
void writeBestPeptideEvidence(const GroupingGroup * p_group, const PeptideEvidence * p_peptide_evidence);
private :
OdsExport * _p_ods_export;
......
......@@ -80,26 +80,25 @@ void SpectraSheet::writeHeaders(IdentificationGroup * p_ident) {
}
void SpectraSheet::writeBestPeptideMatch(const GroupingGroup * p_group,const PeptideMatch * p_peptide_match) {
void SpectraSheet::writeBestPeptideEvidence(const GroupingGroup * p_group,const PeptideEvidence * p_peptide_evidence) {
_p_writer->writeLine();
unsigned int group_number = p_peptide_match->getGrpPeptideSp().get()->getGroupNumber();
unsigned int rank_number = p_peptide_match->getGrpPeptideSp().get()->getRank();
unsigned int group_number = p_peptide_evidence->getGrpPeptideSp().get()->getGroupNumber();
unsigned int rank_number = p_peptide_evidence->getGrpPeptideSp().get()->getRank();
_p_ods_export->setEvenOrOddStyle(group_number, _p_writer);
_p_writer->writeCell(pappso::Utils::getLexicalOrderedString(group_number));
_p_ods_export->setEvenOrOddStyle(rank_number, _p_writer);
_p_writer->writeCell(p_peptide_match->getGrpPeptideSp().get()->getGroupingId());
_p_writer->writeCell(p_peptide_evidence->getGrpPeptideSp().get()->getGroupingId());
_p_writer->clearTableCellStyleRef();
_p_writer->writeCell(p_peptide_match->getMsRunP()->getSampleName());
_p_writer->writeCell(p_peptide_match->getScan());
_p_writer->writeCell(p_peptide_match->getRetentionTime());
_p_writer->writeCell(p_peptide_match->getPeptideXtpSp().get()->getSequence());
_p_writer->writeCell(p_peptide_match->getPeptideXtpSp().get()->getModifString());
_p_writer->writeCell(p_peptide_evidence->getMsRunP()->getSampleName());
_p_writer->writeCell(p_peptide_evidence->getScan());
_p_writer->writeCell(p_peptide_evidence->getRetentionTime());
_p_writer->writeCell(p_peptide_evidence->getPeptideXtpSp().get()->getSequence());
_p_writer->writeCell(p_peptide_evidence->getPeptideXtpSp().get()->getModifString());
if (_p_project->getLabelingMethodSp().get() != nullptr) {
const Label * p_label = p_peptide_match->getPeptideXtpSp().get()->getLabel();
const Label * p_label = p_peptide_evidence->getPeptideXtpSp().get()->getLabel();
if (p_label != nullptr) {
_p_writer->writeCell(p_label->getXmlId());
}
......@@ -107,8 +106,8 @@ void SpectraSheet::writeBestPeptideMatch(const GroupingGroup * p_group,const Pep
_p_writer->writeEmptyCell();
}
}
_p_writer->writeCell(p_peptide_match->getEvalue());
_p_writer->writeCell(p_peptide_match->getParam(PeptideMatchParam::tandem_hyperscore).toDouble());
_p_writer->writeCell(p_peptide_evidence->getEvalue());
_p_writer->writeCell(p_peptide_evidence->getParam(PeptideMatchParam::tandem_hyperscore).toDouble());
}
......@@ -118,10 +117,10 @@ void SpectraSheet::writeIdentificationGroup(IdentificationGroup * p_ident) {
writeHeaders(p_ident);
for (const std::pair<unsigned int, GroupingGroupSp> & group_pair : p_ident->getGroupStore().getGroupMap()) {
std::vector<const PeptideMatch *> peptide_match_list = group_pair.second.get()->getPeptideMatchList();
std::vector<const PeptideEvidence *> peptide_evidence_list = group_pair.second.get()->getPeptideEvidenceList();
std::sort(peptide_match_list.begin(), peptide_match_list.end(),
[](const PeptideMatch * a, const PeptideMatch * b)
std::sort(peptide_evidence_list.begin(), peptide_evidence_list.end(),
[](const PeptideEvidence * a, const PeptideEvidence * b)
{
unsigned int arank = a->getGrpPeptideSp().get()->getRank();
unsigned int ascan = a->getScan();
......@@ -130,32 +129,32 @@ void SpectraSheet::writeIdentificationGroup(IdentificationGroup * p_ident) {
return std::tie(arank, a->getMsRunP()->getSampleName(), ascan) < std::tie(brank, b->getMsRunP()->getSampleName(), bscan);
});
const PeptideMatch * p_best_peptide_match = nullptr;
const PeptideEvidence * p_best_peptide_evidence = nullptr;
for (auto & peptide_match:peptide_match_list) {
if (p_best_peptide_match == nullptr) {
p_best_peptide_match = peptide_match;
for (auto & peptide_evidence:peptide_evidence_list) {
if (p_best_peptide_evidence == nullptr) {
p_best_peptide_evidence = peptide_evidence;
}
//change spectra :
unsigned int arank = p_best_peptide_match->getGrpPeptideSp().get()->getRank();
unsigned int ascan = p_best_peptide_match->getScan();
unsigned int brank = peptide_match->getGrpPeptideSp().get()->getRank();
unsigned int bscan = peptide_match->getScan();
unsigned int arank = p_best_peptide_evidence->getGrpPeptideSp().get()->getRank();
unsigned int ascan = p_best_peptide_evidence->getScan();
unsigned int brank = peptide_evidence->getGrpPeptideSp().get()->getRank();
unsigned int bscan = peptide_evidence->getScan();
if (std::tie(arank, p_best_peptide_match->getMsRunP()->getSampleName(), ascan) != std::tie(brank, peptide_match->getMsRunP()->getSampleName(), bscan)) {
if (std::tie(arank, p_best_peptide_evidence->getMsRunP()->getSampleName(), ascan) != std::tie(brank, peptide_evidence->getMsRunP()->getSampleName(), bscan)) {
//write p_best_peptide_match
writeBestPeptideMatch(group_pair.second.get(), p_best_peptide_match);
p_best_peptide_match = peptide_match;
writeBestPeptideEvidence(group_pair.second.get(), p_best_peptide_evidence);
p_best_peptide_evidence = peptide_evidence;
}
else {
if (p_best_peptide_match->getEvalue()> peptide_match->getEvalue()) {
p_best_peptide_match = peptide_match;
if (p_best_peptide_evidence->getEvalue()> peptide_evidence->getEvalue()) {
p_best_peptide_evidence = peptide_evidence;
}
}
}
if (p_best_peptide_match != nullptr) {
writeBestPeptideMatch(group_pair.second.get(), p_best_peptide_match);
if (p_best_peptide_evidence != nullptr) {
writeBestPeptideEvidence(group_pair.second.get(), p_best_peptide_evidence);
}
}
_p_writer->writeLine();
......
......@@ -42,7 +42,7 @@ public :
private :
void writeIdentificationGroup(IdentificationGroup * p_ident);
void writeHeaders(IdentificationGroup * p_ident);
void writeBestPeptideMatch(const GroupingGroup * p_group, const PeptideMatch * p_peptide_match);
void writeBestPeptideEvidence(const GroupingGroup * p_group, const PeptideEvidence * p_peptide_evidence);
private :
OdsExport * _p_ods_export;
......
......@@ -418,8 +418,8 @@ void ProticdbMl::writepeptideHits(IdentificationGroup * p_identification) {
_output_stream->writeEndElement();// "peptideHits");
}
QString getProticPeptideHitKey(const PeptideMatch * p_peptide_match) {
return (QString ("%1 %2 %3").arg(p_peptide_match->getHashSampleScan()).arg(p_peptide_match->getPeptideXtpSp().get()->toAbsoluteString()).arg(p_peptide_match->getIdentificationDataSource()->getResourceName()));
QString getProticPeptideHitKey(const PeptideEvidence * p_peptide_evidence) {
return (QString ("%1 %2 %3").arg(p_peptide_evidence->getHashSampleScan()).arg(p_peptide_evidence->getPeptideXtpSp().get()->toAbsoluteString()).arg(p_peptide_evidence->getIdentificationDataSource()->getResourceName()));
}
struct ProticPeptideHit {
......@@ -437,8 +437,8 @@ void ProticdbMl::writepeptideHitsbyGroup(GroupingGroup * p_group) {
std::vector <ProticPeptideHit> protic_peptide_hit_list;
for (const ProteinMatch* p_protein_match : p_group->getProteinMatchList()) {
for (const PeptideMatch* p_peptide_match : p_protein_match->getPeptideMatchList(ValidationState::grouped)) {
ProticPeptideHit protic_peptide_hit = {getProticPeptideHitKey(p_peptide_match), p_peptide_match};
for (const PeptideMatch & peptide_match : p_protein_match->getPeptideMatchList(ValidationState::grouped)) {
ProticPeptideHit protic_peptide_hit = {getProticPeptideHitKey(peptide_match.getPeptideEvidence()), &peptide_match};
protic_peptide_hit_list.push_back(protic_peptide_hit);
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment