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

html sequence coverage

parent e9b7ae2b
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")
......
......@@ -258,6 +258,48 @@ pappso::pappso_double ProteinMatch::getPAI(const pappso::MsRunIdSp & sp_msrun_id
return PAI;
}
const QString ProteinMatch::getHtmlSequence() const
{
size_t prot_size = _protein_sp.get()->size();
//qDebug() << "ProteinMatch::getCoverage begin prot_size=" << prot_size << " " << _protein_sp.get()-//>getSequence();
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->getPeptideXtpSp().get()->size();
size_t offset = p_peptide_match->getStart();
if (offset >= 0) {
for (size_t i=0; (i < size) && (offset < prot_size) ; i++,offset++) {
cover_bool[offset] = true;
}
}
}
}
QString sequence = getProteinXtpSp().get()->getSequence();
QString sequence_html;
for (unsigned int i=0; i < prot_size; i++) {
if(cover_bool[i]) {
sequence_html.append(QString("<span style=\"background-color:yellow;\">%1").arg(sequence[i]));
for (;i < prot_size; i++) {
if(cover_bool[i]) {
sequence_html.append(sequence[i]);
}
else {
sequence_html.append(QString("</span>%1").arg(sequence[i]));
break;
}
}
sequence_html.append(QString("</span>"));
}
else {
sequence_html.append(sequence[i]);
}
}
return sequence_html;
}
pappso::pappso_double ProteinMatch::getCoverage() const {
size_t prot_size = _protein_sp.get()->size();
//qDebug() << "ProteinMatch::getCoverage begin prot_size=" << prot_size << " " << _protein_sp.get()-//>getSequence();
......
......@@ -58,6 +58,10 @@ public:
* */
pappso::pappso_double getCoverage() const;
/** @brief get coverage sequence (html representation)
**/
const QString getHtmlSequence() const;
/** @brief compute Protein Abundance Index (PAI)
* overall sample PAI computation (Rappsilber et al. 2002)
* */
......
......@@ -40,9 +40,9 @@
</widget>
</item>
<item>
<widget class="QPlainTextEdit" name="sequenceTextEdit">
<widget class="QTextEdit" name="sequenceTextEdit">
<property name="lineWrapMode">
<enum>QPlainTextEdit::WidgetWidth</enum>
<enum>QTextEdit::WidgetWidth</enum>
</property>
</widget>
</item>
......
......@@ -55,5 +55,5 @@ ProteinWindow::~ProteinWindow()
void ProteinWindow::setProteinMatch(ProteinMatch * p_protein_match) {
ui->descriptionLabel->setText(p_protein_match->getProteinXtpSp().get()->getAccession());
//ui->sequenceLabel->setText(p_protein_match->getProteinXtpSp().get()->getSequence());
ui->sequenceTextEdit->setPlainText(p_protein_match->getProteinXtpSp().get()->getSequence());
ui->sequenceTextEdit->setText(p_protein_match->getHtmlSequence());
}
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