34 #ifndef ALGO_BLAST_API___BLAST_SEQALIGN__HPP
35 #define ALGO_BLAST_API___BLAST_SEQALIGN__HPP
81 const vector<string> & seqid_list,
91 const vector<string> & seqid_list,
127 vector<TSeqLocInfoVector>& subj_masks,
Contains C++ wrapper classes to structures in algo/blast/core as well as some auxiliary functions to ...
Structures and API used for saving BLAST hits.
EBlastProgramType
Defines the engine's notion of the different applications of the BLAST algorithm.
Declarations of auxiliary functions using IBlastSeqInfoSrc to retrieve ids and related sequence infor...
vector< CRef< objects::CSeq_align_set > > TSeqAlignVector
Vector of Seq-align-sets.
EResultType
Specifies the style of Seq-aligns that should be built from the internal BLAST data structures.
@ eDatabaseSearch
Seq-aligns in the style of a database search.
Abstract base class to encapsulate retrieval of sequence identifiers.
Provides access (not ownership) to the C structures used to configure local BLAST search class implem...
Include a standard set of the NCBI C++ Toolkit most basic headers.
void BLASTPrelminSearchHitListToStdSeg(EBlastProgramType program, BlastHitList *hit_list, const CSeq_loc &query_loc, TSeqPos query_length, const IBlastSeqInfoSrc *subject_seqinfo, list< CRef< CStd_seg > > &seg_list)
TSeqAlignVector LocalBlastResults2SeqAlign(BlastHSPResults *hsp_results, ILocalQueryData &local_data, const IBlastSeqInfoSrc &seqinfo_src, EBlastProgramType program, bool gapped, bool oof_mode, vector< TSeqLocInfoVector > &subj_masks, EResultType result_type)
Convert traceback output into Seq-align format.
CRef< CSeq_align_set > CreateEmptySeq_align_set()
Constructs an empty Seq-align-set containing an empty discontinuous seq-align, and appends it to a pr...
void BLASTHspListToSeqAlign(EBlastProgramType program, BlastHSPList *hsp_list, CRef< CSeq_id > query_id, CRef< CSeq_id > subject_id, Int4 query_length, Int4 subject_length, bool is_ooframe, const vector< string > &seqid_list, vector< CRef< CSeq_align > > &sa_vector)
This is called for each query and each subject in a BLAST search.
void MakeSplicedSeg(CSpliced_seg &spliced_seg, CRef< CSeq_id > product_id, CRef< CSeq_id > genomic_id, int product_length, const HSPChain *chain)
Convert a spliced alignmeny in BlastHSPChain into Spliced_seg.
void BLASTUngappedHspListToSeqAlign(EBlastProgramType program, BlastHSPList *hsp_list, CRef< CSeq_id > query_id, CRef< CSeq_id > subject_id, Int4 query_length, Int4 subject_length, const vector< string > &seqid_list, vector< CRef< CSeq_align > > &sa_vector)
Creates a Seq-align from an HSP list for an ungapped search.
void RemapToQueryLoc(CRef< CSeq_align > sar, const CSeq_loc &query)
Remaps Seq-align offsets relative to the query Seq-loc.
unsigned int TSeqPos
Type for sequence locations and lengths.
int32_t Int4
4-byte (32-bit) signed integer
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define USING_SCOPE(ns)
Use the specified namespace.
#define END_SCOPE(ns)
End the previously defined scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define BEGIN_SCOPE(ns)
Define a new scope.
The structure to hold all HSPs for a given sequence after the gapped alignment.
The structure to contain all BLAST results, for multiple queries.
The structure to contain all BLAST results for one query sequence.
A chain of HSPs: spliced alignment.