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

get protein coverage

parent 8cda7417
No related branches found
No related tags found
No related merge requests found
......@@ -29,8 +29,8 @@ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Xml_EXECUTABLE_COMPILE_FLAGS} ${Qt5
#sudo apt-get install libpappsomspp-dev
#FIND_PACKAGE( Pappsomspp REQUIRED )
SET (PAPPSOMSPP_DIR "/home/olivier/eclipse/git/pappsomspp")
# SET (PAPPSOMSPP_DIR "/home/langella/developpement/git/pappsomspp")
# SET (PAPPSOMSPP_DIR "/home/olivier/eclipse/git/pappsomspp")
SET (PAPPSOMSPP_DIR "/home/langella/developpement/git/pappsomspp")
SET (PAPPSOMSPP_INCLUDE_DIR "${PAPPSOMSPP_DIR}/src")
SET (PAPPSOMSPP_QT4_LIBRARY "${PAPPSOMSPP_DIR}/cbuild/src/libpappsomspp-qt4.so")
......
......@@ -47,8 +47,12 @@ public:
std::vector<ProteinMatch *> & getProteinMatchList();
void addMsRunIdSp(pappso::MsRunIdSp ms_run_sp);
/** @brief count valid proteins
* */
size_t countValid()const;
/** @brief count valid and manually checked proteins
* */
size_t countValidAndChecked()const;
......
......@@ -51,6 +51,10 @@ void PeptideMatch::setExperimentalMass(pappso::pappso_double exp_mass) {
void PeptideMatch::setStart(unsigned int start) {
_start =start;
}
unsigned int PeptideMatch::getStart() const {
return _start;
}
void PeptideMatch::setCharge(unsigned int charge) {
_charge =charge;
}
......
......@@ -39,7 +39,13 @@ public :
void setRetentionTime(pappso::pappso_double rt);
void setEvalue(pappso::pappso_double evalue);
void setExperimentalMass(pappso::pappso_double exp_mass);
/** @brief start position on the protein sequence (starts at 1, not 0)
* */
void setStart(unsigned int start);
/** @brief get start position on the protein sequence (starts at 1, not 0)
* */
unsigned int getStart() const;
void setCharge(unsigned int charge);
void setPeptideSp (pappso::PeptideSp peptide);
void setIdentificationDataSource(IdentificationDataSource* identification_source);
......@@ -71,7 +77,7 @@ private :
pappso::pappso_double _rt;
pappso::pappso_double _evalue;
pappso::pappso_double _exp_mass;
unsigned int _start;
unsigned int _start=0;
unsigned int _charge;
IdentificationDataSource* _p_identification_source = nullptr;
......
......@@ -130,3 +130,25 @@ const pappso::GrpProteinSp & ProteinMatch::getGrpProteinSp() const {
return _sp_grp_protein;
}
pappso::pappso_double ProteinMatch::getCoverage() const {
size_t prot_size = _protein_sp.get()->size();
if (prot_size == 0) return 0;
bool cover_bool[prot_size] = {false};
for (auto & p_peptide_match : _peptide_match_list) {
if (p_peptide_match->isValidAndChecked()) {
size_t size = p_peptide_match->getPeptideSp().get()->size();
size_t offset = p_peptide_match->getStart()-1;
if (offset >= 0) {
for (size_t i=0; (i < size) && (offset < prot_size) ; i++,offset++) {
cover_bool[offset] = true;
}
}
}
}
size_t count = 0;
for (size_t i=0; i < prot_size; i++) {
if(cover_bool[i]) count++;
}
return ((pappso::pappso_double)count/ (pappso::pappso_double)prot_size);
}
......@@ -40,6 +40,7 @@ public:
const ProteinXtpSp & getProteinXtpSp() const;
void setEvalue(pappso::pappso_double evalue);
pappso::pappso_double getEvalue() const;
pappso::pappso_double getCoverage() const;
void setProteinXtpSp(ProteinXtpSp protein_sp);
void addPeptideMatch(PeptideMatch * peptide_match);
std::vector<PeptideMatch *> & getPeptideMatchList();
......
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