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

beautifull mass delta histogram

parent fb96af01
No related branches found
No related tags found
No related merge requests found
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
<string/> <string/>
</property> </property>
<property name="currentIndex"> <property name="currentIndex">
<number>0</number> <number>3</number>
</property> </property>
<widget class="QWidget" name="identifications"> <widget class="QWidget" name="identifications">
<attribute name="title"> <attribute name="title">
...@@ -270,73 +270,92 @@ ...@@ -270,73 +270,92 @@
<item row="0" column="0"> <item row="0" column="0">
<layout class="QVBoxLayout" name="verticalLayout_5"> <layout class="QVBoxLayout" name="verticalLayout_5">
<item> <item>
<layout class="QFormLayout" name="formLayout_2"> <widget class="QWidget" name="widget" native="true">
<item row="0" column="0"> <property name="sizePolicy">
<layout class="QFormLayout" name="formLayout_3"/> <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
</item> <horstretch>0</horstretch>
<item row="0" column="1"> <verstretch>0</verstretch>
<widget class="QComboBox" name="precision_unit_combobox"> </sizepolicy>
<item> </property>
<property name="text"> <layout class="QVBoxLayout" name="verticalLayout_7">
<string>ppm</string> <item>
</property> <layout class="QFormLayout" name="formLayout_2">
</item> <property name="sizeConstraint">
<item> <enum>QLayout::SetMinimumSize</enum>
<property name="text">
<string>dalton</string>
</property> </property>
</item> <item row="0" column="1">
</widget> <widget class="QComboBox" name="precision_unit_combobox">
</item> <item>
<item row="1" column="0"> <property name="text">
<widget class="QLabel" name="label_2"> <string>ppm</string>
<property name="text"> </property>
<string>mean</string> </item>
</property> <item>
</widget> <property name="text">
</item> <string>dalton</string>
<item row="1" column="1"> </property>
<widget class="QLabel" name="mass_precision_mean_label"> </item>
<property name="text"> </widget>
<string>0</string> </item>
</property> <item row="1" column="0">
</widget> <widget class="QLabel" name="label_2">
</item> <property name="text">
<item row="2" column="0"> <string>mean</string>
<widget class="QLabel" name="label_4"> </property>
<property name="text"> </widget>
<string>median</string> </item>
</property> <item row="1" column="1">
</widget> <widget class="QLabel" name="mass_precision_mean_label">
</item> <property name="text">
<item row="2" column="1"> <string>0</string>
<widget class="QLabel" name="mass_precision_median_label"> </property>
<property name="text"> </widget>
<string>0</string> </item>
</property> <item row="2" column="0">
</widget> <widget class="QLabel" name="label_4">
</item> <property name="text">
<item row="3" column="0"> <string>median</string>
<widget class="QLabel" name="label_5"> </property>
<property name="text"> </widget>
<string>standard deviation</string> </item>
</property> <item row="2" column="1">
</widget> <widget class="QLabel" name="mass_precision_median_label">
</item> <property name="text">
<item row="3" column="1"> <string>0</string>
<widget class="QLabel" name="mass_precision_sd_label"> </property>
<property name="toolTip"> </widget>
<string>Mass deviation is computed on all valid and checked proteins but not decoy</string> </item>
</property> <item row="3" column="0">
<property name="text"> <widget class="QLabel" name="label_5">
<string>0</string> <property name="text">
</property> <string>standard deviation</string>
</widget> </property>
</item> </widget>
</layout> </item>
<item row="3" column="1">
<widget class="QLabel" name="mass_precision_sd_label">
<property name="toolTip">
<string>Mass deviation is computed on all valid and checked proteins but not decoy</string>
</property>
<property name="text">
<string>0</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item> </item>
<item> <item>
<widget class="QCustomPlot" name="mass_histogram_widget" native="true"/> <widget class="QCustomPlot" name="mass_histogram_widget" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item> </item>
</layout> </layout>
</item> </item>
......
...@@ -67,6 +67,26 @@ ProjectWindow::ProjectWindow(MainWindow *parent): ...@@ -67,6 +67,26 @@ ProjectWindow::ProjectWindow(MainWindow *parent):
_p_waiting_message_dialog = new WaitingMessageDialog(this); _p_waiting_message_dialog = new WaitingMessageDialog(this);
ui->mass_histogram_widget->xAxis->setLabel("mass delta");
ui->mass_histogram_widget->yAxis->setLabel("count");
ui->mass_histogram_widget->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom );
ui->mass_histogram_widget->axisRects().at(0)->setRangeDrag(Qt::Horizontal);
ui->mass_histogram_widget->axisRects().at(0)->setRangeZoom(Qt::Horizontal);
//legend->setVisible(false);
ui->mass_histogram_widget->legend->setFont(QFont("Helvetica",9));
// set locale to english, so we get english decimal separator:
//setLocale(QLocale(QLocale::English, QLocale::UnitedKingdom));
setFocusPolicy(Qt::ClickFocus);
QCPGraph * p_graph = ui->mass_histogram_widget->addGraph();
//p_graph->setName("raw xic");
//QPen pen;
//pen.setColor(getNewColors());
//graph()->setPen(pen);
//graph()->setName(lineNames.at(i-QCPGraph::lsNone));
p_graph->setLineStyle(QCPGraph::LineStyle::lsStepCenter);
//p_graph->setScatterStyle(QCPScatterStyle(QCPScatterStyle::ssDisc, 2.0));
#if QT_VERSION >= 0x050000 #if QT_VERSION >= 0x050000
// Qt5 code // Qt5 code
...@@ -294,14 +314,7 @@ void ProjectWindow::computeMassPrecision() { ...@@ -294,14 +314,7 @@ void ProjectWindow::computeMassPrecision() {
y.push_back(mass_pair.second); y.push_back(mass_pair.second);
} }
QCPGraph * p_graph = ui->mass_histogram_widget->addGraph(); QCPGraph * p_graph = ui->mass_histogram_widget->graph();
//p_graph->setName("raw xic");
//QPen pen;
//pen.setColor(getNewColors());
//graph()->setPen(pen);
//graph()->setName(lineNames.at(i-QCPGraph::lsNone));
p_graph->setLineStyle(QCPGraph::LineStyle::lsStepCenter);
//p_graph->setScatterStyle(QCPScatterStyle(QCPScatterStyle::ssDisc, 2.0));
p_graph->setData(x,y); p_graph->setData(x,y);
p_graph->rescaleAxes(true); p_graph->rescaleAxes(true);
ui->mass_histogram_widget->rescaleAxes(); ui->mass_histogram_widget->rescaleAxes();
......
...@@ -39,7 +39,7 @@ const QString Utils::getDatabaseName(ExternalDatabase database) { ...@@ -39,7 +39,7 @@ const QString Utils::getDatabaseName(ExternalDatabase database) {
std::vector<std::pair<pappso::pappso_double, size_t>> Utils::getHistogram(std::vector<pappso::pappso_double> data_values, unsigned int number_of_class) { std::vector<std::pair<pappso::pappso_double, size_t>> Utils::getHistogram(std::vector<pappso::pappso_double> data_values, unsigned int number_of_class) {
std::vector<std::pair<pappso::pappso_double, size_t>> histogram(number_of_class); std::vector<std::pair<pappso::pappso_double, size_t>> histogram(number_of_class+1);
try { try {
qDebug() << "Utils::getHistogram begin"; qDebug() << "Utils::getHistogram begin";
...@@ -51,11 +51,12 @@ std::vector<std::pair<pappso::pappso_double, size_t>> Utils::getHistogram(std::v ...@@ -51,11 +51,12 @@ std::vector<std::pair<pappso::pappso_double, size_t>> Utils::getHistogram(std::v
qDebug() << "Utils::getHistogram number_of_class offset=" << offset; qDebug() << "Utils::getHistogram number_of_class offset=" << offset;
for (unsigned int i= 0; i < histogram.size(); i++) { for (unsigned int i= 0; i < histogram.size(); i++) {
histogram[i] = std::pair<pappso::pappso_double, size_t> {(min + (offset * i) + (offset/2)), 0}; histogram[i] = std::pair<pappso::pappso_double, size_t> {(min + (offset * i) + (offset/2)), 0};
qDebug() << "Utils::getHistogram x=" << histogram[i].first;
} }
qDebug() << "Utils::getHistogram data_values"; qDebug() << "Utils::getHistogram data_values";
for (pappso::pappso_double value :data_values) { for (pappso::pappso_double value :data_values) {
qDebug() << "Utils::getHistogram value=" << value; //qDebug() << "Utils::getHistogram value=" << value;
unsigned int i = std::abs((min+(min-value))/offset ); unsigned int i = std::abs((value-min)/offset );
qDebug() << "Utils::getHistogram i=" << i << " size=" << histogram.size(); qDebug() << "Utils::getHistogram i=" << i << " size=" << histogram.size();
histogram.at(i).second++; histogram.at(i).second++;
} }
......
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