#ifndef ALIGNER_HH_ #define ALIGNER_HH_ /** * Project : CASAVA * Module : $RCSfile: Aligner.hh,v $ * @author : Tony Cox * Copyright : Copyright (c) Illumina 2008, 2009. All rights reserved. * ** This software is covered by the "Illumina Genome Analyzer Software ** License Agreement" and the "Illumina Source Code License Agreement", ** and certain third party copyright/licenses, and any user of this ** source file is bound by the terms therein (see accompanying files ** Illumina_Genome_Analyzer_Software_License_Agreement.pdf and ** Illumina_Source_Code_License_Agreement.pdf and third party ** copyright/license notices). * */ #include "common/SharedDataTypes.hh" #include namespace ca { namespace variance_detection { using namespace casava::common; /** * @class Aligner * * @brief Implementation of global alignment with affine gap costs. * * TODO: Integrate with Eland * */ struct Aligner { public: Aligner(ScoreType w_match, ScoreType w_mismatch, ScoreType w_open, ScoreType w_extend) : w_match_(w_match), w_mismatch_(w_mismatch), w_open_(w_open), w_extend_(w_extend) { } ScoreType operator()(const char* x, const char* y, const unsigned x_size, const unsigned y_size); ScoreType operator()(const std::string& x, const std::string& y) { //(*this)(x.c_str(), y.c_str(), x.size(), y.size()); return (*this)(x.c_str(),y.c_str(),x.size(),y.size()); } // ~operator() //protected: // match score const ScoreType w_match_; // mismatch score const ScoreType w_mismatch_; // gap opening score const ScoreType w_open_; // gap extension score const ScoreType w_extend_; std::string xt_; std::string yt_; std::string at_; int x_start_; int y_start_; int x_end_; int y_end_; int score_; }; } } // end namespace casava{ namespace { applications #endif /*ALIGNER_HH_*/