NCBI C++ ToolKit
aln_builders.hpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 #ifndef OBJTOOLS_ALNMGR___ALN_BUILDERS__HPP
2 #define OBJTOOLS_ALNMGR___ALN_BUILDERS__HPP
3 /* $Id: aln_builders.hpp 53721 2012-04-12 15:23:21Z grichenk $
4 * ===========================================================================
5 *
6 * PUBLIC DOMAIN NOTICE
7 * National Center for Biotechnology Information
8 *
9 * This software/database is a "United States Government Work" under the
10 * terms of the United States Copyright Act. It was written as part of
11 * the author's official duties as a United States Government employee and
12 * thus cannot be copyrighted. This software/database is freely available
13 * to the public for use. The National Library of Medicine and the U.S.
14 * Government have not placed any restriction on its use or reproduction.
15 *
16 * Although all reasonable efforts have been taken to ensure the accuracy
17 * and reliability of the software and data, the NLM and the U.S.
18 * Government do not and cannot warrant the performance or results that
19 * may be obtained by using this software or data. The NLM and the U.S.
20 * Government disclaim all warranties, express or implied, including
21 * warranties of performance, merchantability or fitness for any particular
22 * purpose.
23 *
24 * Please cite the author in any work or product based on this material.
25 *
26 * ===========================================================================
27 *
28 * Authors: Kamen Todorov, NCBI
29 *
30 * File Description:
31 * Alignment builders
32 *
33 * ===========================================================================
34 */
35 
36 #include <corelib/ncbistd.hpp>
37 #include <corelib/ncbiobj.hpp>
38 
42 
43 
45 
46 
47 /// Merge two pariwise alignments.
48 /// @param existing
49 /// Source and destination pairwise alignment.
50 /// @param addition
51 /// Alignment to be added to to first one.
52 /// @param flags
53 /// Merge options.
55 void MergePairwiseAlns(CPairwiseAln& existing,
56  const CPairwiseAln& addition,
58 
59 
60 /// Sort anchored alignments by score.
61 /// @sa PScoreGreater
63 void SortAnchoredAlnVecByScore(TAnchoredAlnVec& anchored_aln_vec);
64 
65 
66 /// Build anchored alignment from a set of alignmnets. The input alignments
67 /// are merged (according to the options), a new pseudo-sequence is used to
68 /// provide alignment coordinates.
69 /// @param in_alns
70 /// Input Alignments (will be sorted by score unless fSkipSortByScore
71 /// is raised).
72 /// @param out_aln
73 /// Ouput anchored alignment.
74 /// @param options
75 /// Options for merging input alignments.
76 /// @param pseudo_seqid
77 /// User-created seq-id of the pseudo alignment sequence. If null, a new local,
78 /// time-stamped seq-id will be automatically generated.
80 void BuildAln(TAnchoredAlnVec& in_alns,
81  CAnchoredAln& out_aln,
82  const CAlnUserOptions& options,
83  TAlnSeqIdIRef pseudo_seqid = TAlnSeqIdIRef());
84 
85 
87 
88 #endif // OBJTOOLS_ALNMGR___ALN_BUILDERS__HPP
void MergePairwiseAlns(CPairwiseAln &existing, const CPairwiseAln &addition, const CAlnUserOptions::TMergeFlags &flags)
Merge two pariwise alignments.
void SortAnchoredAlnVecByScore(TAnchoredAlnVec &anchored_aln_vec)
Sort anchored alignments by score.
void BuildAln(TAnchoredAlnVec &in_alns, CAnchoredAln &out_aln, const CAlnUserOptions &options, TAlnSeqIdIRef pseudo_seqid=TAlnSeqIdIRef())
Build anchored alignment from a set of alignmnets.
CIRef< IAlnSeqId > TAlnSeqIdIRef
Definition: aln_seqid.hpp:86
Options for different alignment manager operations.
Query-anchored alignment can be 2 or multi-dimentional.
A pairwise aln is a collection of ranges for a pair of rows.
Include a standard set of the NCBI C++ Toolkit most basic headers.
static uch flags
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
#define NCBI_XALNMGR_EXPORT
Definition: ncbi_export.h:1065
Portable reference counted smart and weak pointers using CWeakRef, CRef, CObject and CObjectEx.
vector< CRef< CAnchoredAln > > TAnchoredAlnVec
Collection of anchored alignments.
Modified on Sun Apr 14 05:28:16 2024 by modify_doxy.py rev. 669887