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

first msrun reference finder

parent d3d09069
No related branches found
No related tags found
No related merge requests found
......@@ -340,8 +340,10 @@ MsRun::buildMsRunRetentionTime(
void
MsRun::computeMsRunRetentionTime()
{
if(mpa_msrunRetentionTime == nullptr)
if(mpa_msrunRetentionTime != nullptr)
{
qDebug() << __FILE__ << " " << __FUNCTION__ << " " << __LINE__
<< " msrun id=" << getXmlId();
mpa_msrunRetentionTime->computePeptideRetentionTimes();
}
}
......@@ -349,7 +351,7 @@ MsRun::computeMsRunRetentionTime()
void
MsRun::clearMsRunRetentionTime()
{
if(mpa_msrunRetentionTime == nullptr)
if(mpa_msrunRetentionTime != nullptr)
{
delete mpa_msrunRetentionTime;
mpa_msrunRetentionTime = nullptr;
......
......@@ -300,6 +300,7 @@ Project::prepareMsrunRetentionTimesForAlignment() const
{
qDebug() << __FILE__ << " " << __FUNCTION__ << " " << __LINE__;
bool is_ok = true;
PeptideEvidenceStore empty_store;
for(IdentificationDataSourceSp p_ident_data_source :
this->getIdentificationDataSourceStore()
.getIdentificationDataSourceList())
......@@ -313,11 +314,15 @@ Project::prepareMsrunRetentionTimesForAlignment() const
MsRun *p_msrun = peptide_evidence.get()->getMsRunPtr();
if(p_msrun->getMsRunRetentionTimePtr() == nullptr)
{
throw pappso::PappsoException(
QObject::tr(
"Error preparing msrun retention time for %1 :\n "
"p_msrun->getMsRunRetentionTimePtr() == nullptr")
.arg(p_msrun->getXmlId()));
p_msrun->buildMsRunRetentionTime(empty_store);
/*
throw pappso::PappsoException(
QObject::tr(
"Error preparing msrun retention time
for %1 :\n " "p_msrun->getMsRunRetentionTimePtr() ==
nullptr") .arg(p_msrun->getXmlId()));
*/
}
p_msrun->getMsRunRetentionTimePtr()->addPeptideAsSeamark(
peptide_evidence.get()
......
......@@ -17,7 +17,7 @@
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
<number>0</number>
<number>1</number>
</property>
<widget class="QWidget" name="resultTab">
<attribute name="title">
......@@ -175,6 +175,13 @@
</layout>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton">
<property name="text">
<string>Find best MS run reference for alignment</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_2">
<property name="orientation">
......@@ -439,8 +446,8 @@
<slot>doCheckMsrunFilepath()</slot>
<hints>
<hint type="sourcelabel">
<x>530</x>
<y>58</y>
<x>101</x>
<y>49</y>
</hint>
<hint type="destinationlabel">
<x>779</x>
......@@ -455,8 +462,8 @@
<slot>doBrowseMsrunDirectory()</slot>
<hints>
<hint type="sourcelabel">
<x>557</x>
<y>137</y>
<x>119</x>
<y>84</y>
</hint>
<hint type="destinationlabel">
<x>787</x>
......@@ -464,11 +471,28 @@
</hint>
</hints>
</connection>
<connection>
<sender>pushButton</sender>
<signal>clicked()</signal>
<receiver>ExportMasschroqDialog</receiver>
<slot>doFindBestMsrunForAlignment()</slot>
<hints>
<hint type="sourcelabel">
<x>399</x>
<y>296</y>
</hint>
<hint type="destinationlabel">
<x>887</x>
<y>309</y>
</hint>
</hints>
</connection>
</connections>
<slots>
<slot>reject()</slot>
<slot>accept()</slot>
<slot>doCheckMsrunFilepath()</slot>
<slot>doBrowseMsrunDirectory()</slot>
<slot>doFindBestMsrunForAlignment()</slot>
</slots>
</ui>
......@@ -289,6 +289,46 @@ ExportMasschroqDialog::doFindBestMsrunForAlignment()
try
{
mp_project->prepareMsrunRetentionTimesForAlignment();
MsRunSp ms_run_best_reference;
std::size_t best_number = 0;
for(auto &msrun_ref_sp : mp_project->getMsRunStore().getMsRunList())
{
if(ms_run_best_reference == nullptr)
{
ms_run_best_reference = msrun_ref_sp;
}
std::size_t min_number = std::numeric_limits<std::size_t>::max();
for(auto &msrun_sp : mp_project->getMsRunStore().getMsRunList())
{
if(msrun_sp.get() != msrun_ref_sp.get())
{
pappso::Trace trace;
trace = msrun_sp.get()
->getMsRunRetentionTimePtr()
->getCommonDeltaRt(msrun_ref_sp.get()
->getMsRunRetentionTimePtr()
->getSeamarks());
if(trace.size() < min_number)
{
min_number = trace.size();
}
}
}
if(min_number > best_number)
{
best_number = min_number;
ms_run_best_reference = msrun_ref_sp;
}
}
if(ms_run_best_reference != nullptr)
{
qDebug() << __FILE__ << " " << __FUNCTION__ << " " << __LINE__ << " "
<< ms_run_best_reference.get()->getXmlId()<< " best_number=" << best_number;
}
}
catch(pappso::PappsoException &error)
{
......
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