23 #include <QTextStream>
25 #include "../pappsoexception.h"
41 if(fastaFile.fileName().isEmpty())
45 if(fastaFile.open(QIODevice::ReadOnly))
52 throw PappsoException(QObject::tr(
"ERROR opening FASTA file %1 for read")
53 .arg(fastaFile.fileName()));
61 qDebug() << __FILE__ <<
" " << __FUNCTION__ <<
" " << __LINE__;
62 QTextStream p_in(p_inputstream);
65 QString accession =
"";
66 QString sequence =
"";
69 QString line = p_in.readLine();
72 if(line.startsWith(
">"))
74 if(!accession.isEmpty())
79 accession = line.remove(0, 1);
83 sequence.append(line);
86 line = p_in.readLine();
88 if(!accession.isEmpty())
90 sequence.append(line);
94 qDebug() << __FILE__ <<
" " << __FUNCTION__ <<
" " << __LINE__;
103 qDebug() << __FILE__ <<
" " << __FUNCTION__ <<
" " << __LINE__;
106 QString accession =
"";
107 QString sequence =
"";
110 QString line = p_in.readLine();
113 if(line.startsWith(
">"))
115 if(!accession.isEmpty())
121 accession = line.remove(0, 1);
125 sequence.append(line);
128 line = p_in.readLine();
130 if(!accession.isEmpty())
132 sequence.append(line);
135 qDebug() << __FILE__ <<
" " << __FUNCTION__ <<
" " << __LINE__;
virtual void setSequence(const QString &description, const QString &sequence)=0
void parse(QFile &fastaFile)
FastaReader(FastaHandlerInterface &handler)
FastaHandlerInterface & m_handler
void parseOnlyOne(QTextStream &p_in)
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...