Loading...
Searching...
No Matches
filterobopsimodmap.cpp
Go to the documentation of this file.
/**
* \file pappsomspp/obo/obopsimodmap.cpp
* \date 2/10/2024
* \author Olivier Langella
* \brief map container for obo psi mod terms
**/
/*******************************************************************************
* Copyright (c) 2024 Olivier Langella
*<Olivier.Langella@universite-paris-saclay.fr>.
*
* This file is part of the PAPPSOms++ library.
*
* PAPPSOms++ 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.
*
* PAPPSOms++ 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 PAPPSOms++. If not, see <http://www.gnu.org/licenses/>.
*
******************************************************************************/
#include "filterobopsimodmap.h"
#include "pappsomspp/core/exception/exceptionnotfound.h"
pappso::FilterOboPsiModMap::FilterOboPsiModMap()
{
}
pappso::FilterOboPsiModMap::~FilterOboPsiModMap()
{
}
void
pappso::FilterOboPsiModMap::setOboPsiModTerm(const pappso::OboPsiModTerm &term)
{
m_mapOboPsiModTerm.insert({term.getAccession(), term});
}
const pappso::OboPsiModTerm &
pappso::FilterOboPsiModMap::getOboPsiModTermWithAccession(const QString &accession) const
{
auto it = m_mapOboPsiModTerm.find(accession);
if(it == m_mapOboPsiModTerm.end())
{
throw pappso::ExceptionNotFound(
QObject::tr("OBO term accession %1 not found").arg(accession));
}
return it->second;
}
const pappso::OboPsiModTerm &
pappso::FilterOboPsiModMap::getOboPsiModTermWithName(const QString &name) const
{
for(auto &pair_term : m_mapOboPsiModTerm)
{
if(pair_term.second.m_name == name)
return pair_term.second;
}
throw pappso::ExceptionNotFound(QObject::tr("OBO term name %1 not found").arg(name));
}
pappso::ExceptionNotFound
Definition exceptionnotfound.h:32
pappso::FilterOboPsiModMap::getOboPsiModTermWithAccession
const OboPsiModTerm & getOboPsiModTermWithAccession(const QString &accession) const
Definition filterobopsimodmap.cpp:49
pappso::FilterOboPsiModMap::getOboPsiModTermWithName
const OboPsiModTerm & getOboPsiModTermWithName(const QString &name) const
get the first occurence of term with this name
Definition filterobopsimodmap.cpp:61
pappso::FilterOboPsiModMap::~FilterOboPsiModMap
virtual ~FilterOboPsiModMap()
Definition filterobopsimodmap.cpp:38
pappso::FilterOboPsiModMap::m_mapOboPsiModTerm
std::map< QString, const OboPsiModTerm > m_mapOboPsiModTerm
Definition filterobopsimodmap.h:57
pappso::FilterOboPsiModMap::setOboPsiModTerm
virtual void setOboPsiModTerm(const OboPsiModTerm &term) override
triggered function on each obo term when parsing obo file
Definition filterobopsimodmap.cpp:43
pappso::FilterOboPsiModMap::FilterOboPsiModMap
FilterOboPsiModMap()
Definition filterobopsimodmap.cpp:33
pappso::OboPsiModTerm
Definition obopsimodterm.h:34
pappso::OboPsiModTerm::getAccession
const QString & getAccession() const
Definition obopsimodterm.cpp:261
exceptionnotfound.h
filterobopsimodmap.h