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

ptm position list added

parent 6354d8b1
No related branches found
No related tags found
No related merge requests found
......@@ -47,6 +47,9 @@ PtmIsland::~PtmIsland()
}
const std::vector<unsigned int> & PtmIsland::getPositionList() const {
return _position_list;
}
const QString PtmIsland::getGroupingId() const {
if(_prot_number==0) {
return "";
......
......@@ -63,6 +63,7 @@ public:
const QString getGroupingId() const;
const std::vector<unsigned int> & getPositionList() const;
private:
const ProteinMatch * _protein_match_p;
......
......@@ -30,6 +30,16 @@
#include "ptmislandtablemodel.h"
#include "ptmislandlistwindow.h"
#include "../../utils/types.h"
PtmIslandTableModel::columnMap PtmIslandTableModel::_column_assignment = {
(std::int8_t)PtmIslandListColumn::ptm_island_id,
(std::int8_t)PtmIslandListColumn::accession,
(std::int8_t)PtmIslandListColumn::ptm_position_list
};
PtmIslandTableModel::PtmIslandTableModel(PtmIslandListWindow * p_ptm_island_list_window)
{
......@@ -87,12 +97,19 @@ QVariant PtmIslandTableModel::data(const QModelIndex &index, int role ) const {
if (_p_identification_group == nullptr) {
return QVariant();
}
switch (col) {
case 0:
switch (_column_assignment [col]) {
case (std::int8_t) PtmIslandListColumn::ptm_island_id:
return QVariant(getPtmGroupingExperiment()->getPtmIslandList().at(row).get()->getGroupingId());
break;
case 1:
case (std::int8_t) PtmIslandListColumn::accession:
return QVariant(getPtmGroupingExperiment()->getPtmIslandList().at(row).get()->getProteinMatch()->getProteinXtpSp().get()->getAccession());
break;
case (std::int8_t) PtmIslandListColumn::ptm_position_list:
QStringList position_list;
for (unsigned int position :getPtmGroupingExperiment()->getPtmIslandList().at(row).get()->getPositionList()) {
position_list << QString("%1").arg(position+1);
}
return QVariant(position_list.join(" "));
break;
}
}
......
......@@ -48,6 +48,9 @@ public:
virtual int columnCount(const QModelIndex &parent = QModelIndex()) const override;
virtual QVariant headerData(int section, Qt::Orientation orientation, int role) const override;
virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
using columnMap = std::int8_t[20];
public slots:
void onPtmIslandDataChanged();
......@@ -55,6 +58,8 @@ private :
const PtmGroupingExperiment * getPtmGroupingExperiment() const;
private :
IdentificationGroup * _p_identification_group=nullptr;
static columnMap _column_assignment;
};
#endif // PTMISLANDTABLEMODEL_H
......@@ -113,4 +113,16 @@ enum class ProteinListColumn {
pai, ///< PAI
};
/** \def PtmIslandListColumn list of available fields to display in ptm island list
*
*/
enum class PtmIslandListColumn: std::int8_t {
ptm_island_id=0, ///< ptm_island_id
accession=1, ///< protein accession
description=2, ///< protein description
ptm_position_list=3, ///< protein description
};
#endif /* _TYPES_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