34#include <boost/numeric/ublas/matrix.hpp>
36#include "../../protein/protein.h"
43namespace specpeptidoms
89 const QString &protein_seq,
90 const QString &protein_id);
97 const QString &protein_seq,
98 const QString &protein_id,
99 const std::size_t beginning,
100 const std::size_t length);
107 const QString &protein_seq,
108 const QString &protein_id,
109 std::size_t beginning,
111 const std::vector<double> &shifts);
118 const QString &protein_seq);
138 const QString &protein_id,
140 std::vector<std::size_t> peaks_to_remove,
154 const std::size_t row_number,
155 const std::vector<AaPosition> aa_positions,
157 const bool fast_align,
158 const QString &protein);
172 const std::size_t origin_row,
173 const std::size_t current_row,
174 const std::size_t l_peak,
175 const std::size_t r_peak)
const;
179 const std::size_t current_row,
180 const std::size_t r_peak)
const;
185 std::size_t end_peak)
const;
collection of integer code for each amino acid 0 => null 1 to 20 => amino acid sorted by there mass (...
void preciseAlign(const SpOMSSpectrumCsp &spectrum, const QString &protein_seq, const QString &protein_id, const std::size_t beginning, const std::size_t length)
performs the second alignment search between a protein subsequence and a spectrum....
void updateAlignmentMatrix(const QString &sequence, const std::size_t row_number, const std::vector< AaPosition > aa_positions, const SpOMSSpectrumCsp &spectrum, const bool fast_align, const QString &protein)
updates the scores of the alignment matrix for a given amino acid as well as the location heap/scenar...
SemiGlobalAlignment(ScoreValues &score_values, const pappso::PrecisionPtr precision_ptr, AaCode &aaCode)
LocationSaver m_location_saver
void fastAlign(const SpOMSSpectrumCsp &spectrum, const QString &protein_seq, const QString &protein_id)
perform the first alignment search between a protein sequence and a spectrum. The member location hea...
Scenario getScenario() const
void postProcessingAlign(const SpOMSSpectrumCsp &spectrum, const QString &protein_seq, const QString &protein_id, std::size_t beginning, std::size_t length, const std::vector< double > &shifts)
performs the post-processing : generates corrected spectra and align them
const Alignment & getBestAlignment(const SpOMSSpectrumCsp &spectrum) const
Alignment m_best_alignment
void saveBestAlignment(const QString sequence, const SpOMSSpectrumCsp &spectrum, std::size_t offset)
Stores the best alignment from m_scenario in m_best_alignment.
bool perfectShiftPossible(const QString &sequence, const SpOMSSpectrumCsp &spectrum, const std::size_t origin_row, const std::size_t current_row, const std::size_t l_peak, const std::size_t r_peak) const
indicates if a perfect shift is possible between the provided positions
void correctAlign(const QString &protein_seq, const QString &protein_id, const SpOMSSpectrumCsp &spectrum, std::vector< std::size_t > peaks_to_remove, std::size_t offset)
Alignment m_best_post_processed_alignment
Alignment m_best_corrected_alignment
std::vector< std::pair< std::size_t, KeyCell > > m_updated_cells
static std::vector< double > getPotentialMassErrors(const Alignment &alignment, const QString &protein_seq)
std::size_t perfectShiftPossibleFrom0(const QString &sequence, const SpOMSSpectrumCsp &spectrum, const std::size_t current_row, const std::size_t r_peak) const
std::vector< KeyCell > m_interest_cells
std::size_t perfectShiftPossibleEnd(const QString &sequence, const SpOMSSpectrumCsp &spectrum, std::size_t end_row, std::size_t end_peak) const
pappso::PrecisionPtr m_precision_ptr
ScoreValues & m_scorevalues
LocationSaver getLocationSaver() const
save protein subsequences for alignment
std::shared_ptr< const SpOMSSpectrum > SpOMSSpectrumCsp
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
backtracking of 2nd alignment
std::vector< double > shifts
std::vector< std::size_t > peaks