1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
#ifndef _BLASR_GLOBAL_CHAIN_HPP_
#define _BLASR_GLOBAL_CHAIN_HPP_
#include <vector>
#include <pbdata/Types.h>
#include <alignment/algorithms/anchoring/PrioritySearchTree.hpp>
#include <pbdata/DNASequence.hpp>
template <typename T_Fragment, typename T_Endpoint>
void FragmentSetToEndpoints(T_Fragment *fragments, int nFragments,
std::vector<T_Endpoint> &endpoints);
template <typename T_Fragment>
UInt RestrictedGlobalChain(T_Fragment *fragments, DNALength nFragments, float maxIndelRate,
std::vector<VectorIndex> &optFragmentChainIndices,
std::vector<UInt> &scores, std::vector<UInt> &prevOpt);
template <typename T_Fragment, typename T_Endpoint>
int GlobalChain(T_Fragment *fragments, DNALength nFragments,
std::vector<VectorIndex> &optFragmentChainIndices,
std::vector<T_Endpoint> *bufEndpointsPtr = NULL);
template <typename T_Fragment, typename T_Endpoint>
int GlobalChain(std::vector<T_Fragment> &fragments,
std::vector<VectorIndex> &optFragmentChainIndices);
template <typename T_Fragment, typename T_Endpoint>
int GlobalChain(std::vector<T_Fragment> &fragments, DNALength start, DNALength end,
std::vector<VectorIndex> &optFragmentChainIndices,
std::vector<T_Endpoint> *bufEndpointsPtr = NULL);
#include "GlobalChainImpl.hpp"
#endif
|