-
Langella Olivier authoredLangella Olivier authored
identificationmascotdatfile.cpp 3.85 KiB
/**
* \file /core/identification_sources/identificationmascotdatfile.cpp
* \date 17/2/2018
* \author Olivier Langella
* \brief mascot dat identification file handler
*/
/*******************************************************************************
* Copyright (c) 2018 Olivier Langella <olivier.langella@u-psud.fr>.
*
* This file is part of XTPcpp.
*
* XTPcpp is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* XTPcpp is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with XTPcpp. If not, see <http://www.gnu.org/licenses/>.
*
* Contributors:
* Olivier Langella <olivier.langella@u-psud.fr> - initial API and implementation
******************************************************************************/
#include "identificationmascotdatfile.h"
#include <pappsomspp/pappsoexception.h>
#include "../project.h"
#include "../../input/mascot/mascotdatparser.h"
IdentificationMascotDatFile::IdentificationMascotDatFile(const QFileInfo & mascot_dat_file) : IdentificationDataSource(mascot_dat_file.absoluteFilePath()), _mascot_dat_file(mascot_dat_file)
{
_engine = IdentificationEngine::mascot;
}
IdentificationMascotDatFile::IdentificationMascotDatFile(const IdentificationMascotDatFile& other) : IdentificationDataSource(other),_mascot_dat_file (other._mascot_dat_file)
{
_engine = IdentificationEngine::mascot;
}
IdentificationMascotDatFile::~IdentificationMascotDatFile()
{
}
bool IdentificationMascotDatFile::operator==(const IdentificationMascotDatFile& other) const
{
}
pappso::SpectrumSp IdentificationMascotDatFile::getSpectrumSp(unsigned int scan_number) const {
pappso::SpectrumSp spectrum_sp = IdentificationDataSource::getSpectrumSp(scan_number);
return spectrum_sp;
}
void IdentificationMascotDatFile::parseTo(Project* p_project) {
qDebug() << "IdentificationMascotDatFile::parseTo begin";
qDebug() << "Read Mascot dat result file '" << _mascot_dat_file.absoluteFilePath() << "'";
MsRunSp msrun_sp = p_project->getMsRunStore().getInstance(QFileInfo(_mascot_dat_file).baseName());
setMsRunSp(msrun_sp);
std::vector<IdentificationGroup *> identification_list = p_project->getIdentificationGroupList();
IdentificationGroup * identification_group_p = nullptr;
if (p_project->getProjectMode() == ProjectMode::combined) {
if (identification_list.size() == 0) {
identification_group_p = p_project->newIdentificationGroup();
}
else {
identification_group_p = identification_list[0];
}
}
else {
for (IdentificationGroup * identification_p_flist : identification_list) {
if (identification_p_flist->containSample(msrun_sp.get()->getSampleName())) {
identification_group_p = identification_p_flist;
break;
}
}
if (identification_group_p == nullptr) {
identification_group_p = p_project->newIdentificationGroup();
}
}
identification_group_p->addIdentificationDataSourceP(this);
MascotDatParser mascot_parser(p_project, identification_group_p, this);
QFile qfile(_mascot_dat_file.absoluteFilePath());
mascot_parser.parse(&qfile);
qfile.close();
qDebug() << "IdentificationMascotDatFile::parseTo end";
}
const bool IdentificationMascotDatFile::isValid(const PeptideEvidence * p_peptide_evidence, const AutomaticFilterParameters & automatic_filter_parameters) const {
return true;
}