diff --git a/src/core/identification_sources/identificationdatasource.cpp b/src/core/identification_sources/identificationdatasource.cpp index d368fd091b946ad3790633b934c133c39a62101b..4ae412c977c2f2c588b069903d58410c7318b7d7 100644 --- a/src/core/identification_sources/identificationdatasource.cpp +++ b/src/core/identification_sources/identificationdatasource.cpp @@ -26,6 +26,7 @@ #include <pappsomspp/pappsoexception.h> #include <QFileInfo> #include "../../utils/readspectrum.h" +#include "../peptideevidence.h" IdentificationDataSource::IdentificationDataSource(const QString resource_name) { @@ -41,7 +42,7 @@ IdentificationDataSource::IdentificationDataSource(const IdentificationDataSourc _params = other._params; _param_stats = other._param_stats; _fastafile_list = other._fastafile_list; - + //PeptideEvidenceStore _peptide_evidence_store; } @@ -155,3 +156,11 @@ const std::vector<FastaFileSp> & IdentificationDataSource::getFastaFileList() co qDebug()<< "IdentificationDataSource::getFastaFileList begin" << _fastafile_list.size(); return _fastafile_list; } + +const bool IdentificationDataSource::isValid(const PeptideEvidence * p_peptide_evidence, const AutomaticFilterParameters & automatic_filter_parameters) const { + + if (p_peptide_evidence->getEvalue() <= automatic_filter_parameters.getFilterPeptideEvalue()) { + return true; + } + return false; +} diff --git a/src/core/identification_sources/identificationdatasource.h b/src/core/identification_sources/identificationdatasource.h index 52bf3cf03f3b9ffc3e71367d031a06cd2084e76f..abb4a98b61e5a6e4ed3828c1990081a82e414973 100644 --- a/src/core/identification_sources/identificationdatasource.h +++ b/src/core/identification_sources/identificationdatasource.h @@ -124,6 +124,7 @@ public: */ virtual const std::map<IdentificationEngineParam, QVariant> & getIdentificationEngineParamMap() const; + virtual const bool isValid(const PeptideEvidence * p_peptide_evidence, const AutomaticFilterParameters & automatic_filter_parameters) const; protected : QString _resource_name; diff --git a/src/core/identification_sources/identificationmascotdatfile.cpp b/src/core/identification_sources/identificationmascotdatfile.cpp index 4df4124220e15490717abfdaaa503ed9d38903f6..dff8e3b8cc05308bb79986a9b9702249e18bb514 100644 --- a/src/core/identification_sources/identificationmascotdatfile.cpp +++ b/src/core/identification_sources/identificationmascotdatfile.cpp @@ -98,3 +98,9 @@ void IdentificationMascotDatFile::parseTo(Project* p_project) { qDebug() << "IdentificationMascotDatFile::parseTo end"; } + + +const bool IdentificationMascotDatFile::isValid(const PeptideEvidence * p_peptide_evidence, const AutomaticFilterParameters & automatic_filter_parameters) const { + + return true; +} diff --git a/src/core/identification_sources/identificationmascotdatfile.h b/src/core/identification_sources/identificationmascotdatfile.h index 94ed456ad128cf8ab6fa9680a1dd66c4436d7f3e..819124e857d3e6e820ccd1e4e6f175af8782ca65 100644 --- a/src/core/identification_sources/identificationmascotdatfile.h +++ b/src/core/identification_sources/identificationmascotdatfile.h @@ -43,7 +43,9 @@ public: virtual pappso::SpectrumSp getSpectrumSp(unsigned int scan_number) const override; virtual void parseTo(Project* p_project) override; - + + virtual const bool isValid(const PeptideEvidence * p_peptide_evidence, const AutomaticFilterParameters & automatic_filter_parameters) const override; + private: const QFileInfo _mascot_dat_file; }; diff --git a/src/core/identificationgroup.cpp b/src/core/identificationgroup.cpp index 9825c9f18cebf7773a1fa850979c3dd3a09bd83f..82ab9dd38735ab0c9c0d7385b56c1d2f384fce78 100644 --- a/src/core/identificationgroup.cpp +++ b/src/core/identificationgroup.cpp @@ -159,6 +159,8 @@ void IdentificationGroup::updateAutomaticFilters(const AutomaticFilterParameters for (IdentificationDataSource * p_identification_source_list:_id_source_list) { p_identification_source_list->getPeptideEvidenceStore().updateAutomaticFilters(automatic_filter_parameters); } + + qDebug() << "IdentificationGroup::updateAutomaticFilters begin p_protein_match" ; for (auto & p_protein_match : _protein_match_list) { p_protein_match->updateAutomaticFilters(automatic_filter_parameters); } diff --git a/src/core/peptideevidence.cpp b/src/core/peptideevidence.cpp index 438c254da0d2a0a3d62a5484ea94f6a30458e3ba..986307e0ded643684f6e6d0e029a5d4710a4d96a 100644 --- a/src/core/peptideevidence.cpp +++ b/src/core/peptideevidence.cpp @@ -66,9 +66,7 @@ PeptideEvidenceSp PeptideEvidence::makePeptideEvidenceSp() const { void PeptideEvidence::updateAutomaticFilters(const AutomaticFilterParameters & automatic_filter_parameters) { _proxy_valid = false; - if (_evalue <= automatic_filter_parameters.getFilterPeptideEvalue()) { - _proxy_valid = true; - } + _proxy_valid = this->_p_identification_source->isValid(this, automatic_filter_parameters); } void PeptideEvidence::setRetentionTime(pappso::pappso_double rt) { _rt = rt; diff --git a/src/input/mascot/mascotdatparser.cpp b/src/input/mascot/mascotdatparser.cpp index fc06c24f2cccf53a2a085b0493019244a204b231..be26914d0ab24e9f6f4169cf81941db2b5edc2fd 100644 --- a/src/input/mascot/mascotdatparser.cpp +++ b/src/input/mascot/mascotdatparser.cpp @@ -73,6 +73,8 @@ void MascotDatParser::parse(QIODevice * in_stream) { while(!mime_parser.getCurrentTextStream().atEnd()) { parsePeptidesLine( mime_parser.getCurrentTextStream().readLine()); } + + saveAndClearPeptide(); } else if (mime_parser.getCurrentFileName().startsWith("query")) { _current_query_index = mime_parser.getCurrentFileName().mid(5).toUInt(); diff --git a/src/input/mascot/mimeparser.cpp b/src/input/mascot/mimeparser.cpp index d922f347112dba565830a58d04fc8524d5ce964e..2b566bd0ed61a38ce1295e3d7a75a9474c6abe62 100644 --- a/src/input/mascot/mimeparser.cpp +++ b/src/input/mascot/mimeparser.cpp @@ -56,15 +56,18 @@ bool MimeParser::close() { _priv_file_string = ""; if (_p_current_file_content != nullptr) { delete _p_current_file_content; + _p_current_file_content = nullptr; } + qDebug() << "MimeParser::close delete _real_in"; if (_real_in !=nullptr) { delete _real_in; _real_in =nullptr; } + qDebug() << "MimeParser::close delete _p_inputstream"; if (_p_inputstream !=nullptr) { _p_inputstream->close(); - delete _p_inputstream; + //delete _p_inputstream; _p_inputstream =nullptr; } qDebug() << "MimeParser::close end";