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

WIP parsing XPIP

parent d73fcb8b
No related branches found
No related tags found
No related merge requests found
......@@ -26,11 +26,11 @@ 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")
#FIND_PACKAGE( Pappsomspp REQUIRED )
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}/build/src/libpappsomspp-qt4.so")
SET (PAPPSOMSPP_INCLUDE_DIR "${PAPPSOMSPP_DIR}/src")
SET (PAPPSOMSPP_QT4_LIBRARY "${PAPPSOMSPP_DIR}/build/src/libpappsomspp-qt4.so")
INCLUDE_DIRECTORIES( ${PAPPSOMSPP_INCLUDE_DIR} )
......
......@@ -39,9 +39,9 @@ ProjectSp Project::makeProjectSp() const {
void Project::readXpipFile(QFileInfo xpip_fileinfo) {
XpipSaxHandler * parser = new XpipSaxHandler();
XpipSaxHandler * parser = new XpipSaxHandler(this);
QXmlSimpleReader simplereader;
simplereader.setContentHandler(parser);
......@@ -61,18 +61,22 @@ void Project::readXpipFile(QFileInfo xpip_fileinfo) {
}
qfile.close();
/*
GrpGroupingMonitor monitor;
GrpExperiment grpExperiment(monitor);
PeptideReader peptideReader(grpExperiment);
FastaReader reader(peptideReader);
reader.parse(&fastaFile);
fastaFile.close();
grpExperiment.startGrouping();
/*
GrpGroupingMonitor monitor;
GrpExperiment grpExperiment(monitor);
PeptideReader peptideReader(grpExperiment);
FastaReader reader(peptideReader);
reader.parse(&fastaFile);
fastaFile.close();
grpExperiment.startGrouping();
std::list<GrpProteinSp> protein_list;
grpExperiment.getGroupedProteinSpList(protein_list);
*/
}
std::list<GrpProteinSp> protein_list;
grpExperiment.getGroupedProteinSpList(protein_list);
*/
void Project::addProteinSp(pappso::ProteinSp makeProteinSp) {
}
......@@ -26,6 +26,7 @@
#include<memory>
#include <pappsomspp/grouping/grpexperiment.h>
#include <QFileInfo>
#include <pappsomspp/protein/protein.h>
class Project;
typedef std::shared_ptr<Project> ProjectSp;
......@@ -38,6 +39,7 @@ public:
ProjectSp makeProjectSp() const;
void readXpipFile(QFileInfo xpip_source);
void addProteinSp(pappso::ProteinSp makeProteinSp);
pappso::GrpExperiment * _p_grp_experiment= nullptr;
};
......
......@@ -22,7 +22,7 @@
#include "xpipsaxhandler.h"
XpipSaxHandler::XpipSaxHandler()
XpipSaxHandler::XpipSaxHandler(Project * p_project):_p_project(p_project)
{
}
......@@ -89,15 +89,36 @@ bool XpipSaxHandler::endElement(const QString & namespaceURI, const QString & lo
}
/*
bool XpipSaxHandler::endElement_group() {
if ((_tag_stack.size() > 1) && (_tag_stack[_tag_stack.size() - 2] == "group")) {
* <protein peptide_number="268" evalue="-432.77353" URL="Genome_Z_mays_5a.fasta" description="GRMZM2G083841_P01 P04711 Phosphoenolpyruvate carboxylase 1 (PEPCase 1)(PEPC 1)(EC 4.1.1.31) seq=translation; coord=9:61296279..61301686:1; parent_transcript=GRMZM2G083841_T01; parent_gene=GRMZM2G083841">
<protein_evalue evalue="-399.36093" sample="20120906_balliau_extract_1_A02_urzb-1"/>
<protein_evalue evalue="-384.54382" sample="20120906_balliau_extract_1_A01_urnb-1"/>
<sequence>MASTKAPGPGEKHHSIDAQLRQLVPGKVSEDDKLIEYDALLVDRFLNILQDLHGPSLREFVQECYEVSADYEGKGDTTKLGELGAKLTGLAPADAILVASSILHMLNLANLAEEVQIAHRRRNSKLKKGGFADEGSATTESDIEETLKRLVSEVGKSPEEVFEALKNQTVDLVFTAHPTQSARRSLLQKNARIRNCLTQLNAKDITDDDKQELDEALQREIQAAFRTDEIRRAQPTPQDEMRYGMSYIHETVWKGVPKFLRRVDTALKNIGINERLPYNVSLIRFSSWMGGDRDGNPRVTPEVTRDVCLLARMMAANLYIDQIEELMFELSMWRCNDELRVRAEELHSSSGSKVTKYYIEFWKQIPPNEPYRVILGHVRDKLYNTRERARHLLASGVSEISAESSFTSIEEFLEPLELCYKSLCDCGDKAIADGSLLDLLRQVFTFGLSLVKLDIRQESERHTDVIDAITTHLGIGSYREWPEDKRQEWLLSELRGKRPLLPPDLPQTDEIADVIGAFHVLAELPPDSFGPYIISMATAPSDVLAVELLQRECGVRQPLPVVPLFERLADLQSAPASVERLFSVDWYMDRIKGKQQVMVGYSDSGKDAGRLSAAWQLYRAQEEMAQVAKRYGVKLTLFHGRGGTVGRGGGPTHLAILSQPPDTINGSIRVTVQGEVIEFCFGEEHLCFQTLQRFTAATLEHGMHPPVSPKPEWRKLMDEMAVVATEEYRSVVVKEARFVEYFRSATPETEYGRMNIGSRPAKRRPGGGITTLRAIPWIFSWTQTRFHLPVWLGVGAAFKFAIDKDVRNFQVLKEMYNEWPFFRVTLDLLEMVFAKGDPGIAGLYDELLVAEELKPFGKQLRDKYVETQQLLLQIAGHKDILEGDPFLKQGLVLRNPYITTLNVFQAYTLKRIRDPNFKVTPQPPLSKEFADENKPAGLVKLNPASEYPPGLEDTLILTMKGIAAGMQNTG</sequence>
</protein>
*/
bool XpipSaxHandler::startElement_protein(QXmlAttributes attributes) {
qDebug() << "startElement_protein ";
_current_protein.setDescription(attributes.value("description").simplified());
_current_protein.setAccession(_current_protein.getDescription().split(" ").at(0));
qDebug() << "startElement_protein end" ;
return true;
}
bool XpipSaxHandler::endElement_sequence() {
if ((_tag_stack.size() > 1) && (_tag_stack[_tag_stack.size() - 1] == "protein")) {
_current_protein.setSequence(_current_text);
}
else {
// XtandemHyperscore hyperscore(_curent_spectrum, _current_peptide_sp, _precision, _ion_list, _max_charge,_refine_spectrum_synthesis);
}
return true;
}
*/
bool XpipSaxHandler::endElement_protein() {
_p_project->addProteinSp(_current_protein.makeProteinSp());
return true;
}
bool XpipSaxHandler::error(const QXmlParseException &exception) {
......
......@@ -25,13 +25,15 @@
#include <QXmlDefaultHandler>
#include <pappsomspp/pappsoexception.h>
#include <pappsomspp/protein/protein.h>
#include "../core/project.h"
using namespace pappso;
class XpipSaxHandler: public QXmlDefaultHandler
{
public:
XpipSaxHandler();
XpipSaxHandler(Project * p_project);
~XpipSaxHandler();
bool startElement(const QString & namespaceURI, const QString & localName,
......@@ -51,10 +53,19 @@ public:
QString errorString() const;
private:
bool startElement_protein(QXmlAttributes attributes);
bool endElement_sequence();
bool endElement_protein();
private:
std::vector<QString> _tag_stack;
QString _errorStr;
QString _current_text;
Project * _p_project;
Protein _current_protein;
};
#endif // XTANDEMRESULTSHANDLER_H
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