NCBI C++ ToolKit
|
#include <ncbi_pch.hpp>
#include <corelib/ncbiapp.hpp>
#include <corelib/ncbienv.hpp>
#include <corelib/ncbiargs.hpp>
#include <algo/gnomon/chainer.hpp>
#include <algo/gnomon/id_handler.hpp>
#include <algo/gnomon/gnomon_exception.hpp>
#include <algo/gnomon/glb_align.hpp>
#include <util/sequtil/sequtil_manip.hpp>
#include <algo/gnomon/gnomon_model.hpp>
#include <algo/gnomon/gnomon.hpp>
#include <algo/gnomon/annot.hpp>
#include <map>
#include <sstream>
#include <tuple>
#include <unordered_set>
#include <unordered_map>
#include <objects/general/Object_id.hpp>
#include <objmgr/object_manager.hpp>
#include <objmgr/feat_ci.hpp>
#include <objmgr/util/sequence.hpp>
#include "gnomon_seq.hpp"
Go to the source code of this file.
Go to the SVN repository for this file.
Classes | |
class | CChainer::CChainerImpl |
struct | SChainMember |
class | CChain |
class | CGene |
struct | GenomeOrderD |
struct | AlignIdOrder |
struct | LeftOrder |
struct | LeftOrderD |
struct | RightOrder |
struct | RightOrderD |
struct | CdsNumOrder |
struct | ScoreOrder |
class | CChainMembers |
struct | GModelOrder |
struct | AlignSeqOrder |
struct | AlignLenOrder |
struct | SLinker |
struct | RangeOrder |
struct | s_ByAccVerLen |
struct | OverlapsSameAccessionAlignment |
struct | ConnectsParalogs |
struct | SFShiftsCluster |
struct | ProjectCDS |
struct | TrimAlignment |
struct | DoNotBelieveShortPolyATail |
struct | DoNotBelieveFrameShiftsWithoutCdsEvidence |
Macros | |
#define | START_BONUS 600 |
#define | NON_CDNA_INTRON_PENALTY 20 |
#define | PGAP_PENALTY 120 |
#define | SCAN_WINDOW 49 |
#define | MIN_UTR_EXON 15 |
#define | COVERAGE_DROP 0.1 |
#define | COVERAGE_BUMP 3 |
#define | SMALL_GAP_UTR 100 |
#define | PROT_CLIP 120 |
#define | PROT_CLIP_FRAC 0.20 |
#define | MIN_PART 30 |
#define | BLOCK_OF_Ns 35 |
Typedefs | |
typedef list< CChain > | TChainList |
typedef list< CChain * > | TChainPointerList |
typedef vector< SChainMember * > | TContained |
typedef map< Int8, CAlignModel * > | TOrigAligns |
typedef map< Int8, CGeneModel > | TUnmodAligns |
typedef set< SChainMember * > | TMemberPtrSet |
typedef CChain * | TChainPtr |
typedef vector< pair< SChainMember *, CGene * > > | TMemeberGeneVec |
typedef tuple< Int8, TSignedSeqRange > | TIdLim |
typedef vector< SLinker > | TLinkers |
typedef set< TSignedSeqRange, RangeOrder > | TRangePrecedeSet |
Enumerations | |
enum | { eCDS , eLeftUTR , eRightUTR } |
#define BLOCK_OF_Ns 35 |
#define COVERAGE_BUMP 3 |
Definition at line 5745 of file chainer.cpp.
#define COVERAGE_DROP 0.1 |
Definition at line 5744 of file chainer.cpp.
#define MIN_PART 30 |
Definition at line 6618 of file chainer.cpp.
#define MIN_UTR_EXON 15 |
Definition at line 5470 of file chainer.cpp.
#define NON_CDNA_INTRON_PENALTY 20 |
Definition at line 2568 of file chainer.cpp.
#define PGAP_PENALTY 120 |
#define PROT_CLIP 120 |
Definition at line 6616 of file chainer.cpp.
#define PROT_CLIP_FRAC 0.20 |
Definition at line 6617 of file chainer.cpp.
#define SCAN_WINDOW 49 |
Definition at line 4365 of file chainer.cpp.
#define SMALL_GAP_UTR 100 |
Definition at line 5746 of file chainer.cpp.
#define START_BONUS 600 |
Definition at line 1725 of file chainer.cpp.
typedef list<CChain> TChainList |
Definition at line 73 of file chainer.cpp.
typedef list<CChain*> TChainPointerList |
Definition at line 74 of file chainer.cpp.
Definition at line 699 of file chainer.cpp.
typedef vector<SChainMember*> TContained |
Definition at line 78 of file chainer.cpp.
typedef tuple<Int8, TSignedSeqRange> TIdLim |
Definition at line 1257 of file chainer.cpp.
Definition at line 4679 of file chainer.cpp.
typedef set<SChainMember*> TMemberPtrSet |
Definition at line 226 of file chainer.cpp.
typedef vector< pair<SChainMember*,CGene*> > TMemeberGeneVec |
Definition at line 1255 of file chainer.cpp.
typedef map<Int8,CAlignModel*> TOrigAligns |
Definition at line 80 of file chainer.cpp.
typedef set<TSignedSeqRange,RangeOrder> TRangePrecedeSet |
Definition at line 4686 of file chainer.cpp.
typedef map<Int8,CGeneModel> TUnmodAligns |
Definition at line 81 of file chainer.cpp.
anonymous enum |
Enumerator | |
---|---|
eCDS | |
eLeftUTR | |
eRightUTR |
Definition at line 220 of file chainer.cpp.
TIdLim AlignIdLimits | ( | SChainMember * | mp | ) |
Definition at line 1258 of file chainer.cpp.
References CGeneModel::ID(), CGeneModel::Limits(), and SChainMember::m_align.
Referenced by AlignIdOrder::operator()(), and CChainer::CChainerImpl::TrimAlignmentsIncludedInDifferentGenes().
bool BelongToExon | ( | const CGeneModel::TExons & | exons, |
int | pos | ||
) |
Definition at line 64 of file chainer.cpp.
TInDels CombineCorrectionsAndIndels | ( | const TSignedSeqRange | exona, |
int | extra_left, | ||
int | extra_right, | ||
const TSignedSeqRange | exonb, | ||
const TInDels & | editing_indels_frombtoa, | ||
const TInDels & | exona_indels | ||
) |
Definition at line 7689 of file chainer.cpp.
References _ASSERT, count, CInDelInfo::eDel, CInDelInfo::eGenomeNotCorrect, CInDelInfo::eIns, ERASE_ITERATE, CRange_Base::GetFrom(), COpenRange< Position >::GetLength(), CRange_Base::GetTo(), ip, len, max(), min(), OverlappingIndel(), and pb.
Referenced by CGnomonAnnotator_Base::MapOneModelToEditedContig(), and CGnomonAnnotator_Base::MapOneModelToOrigContig().
Definition at line 611 of file chainer.cpp.
References a, b, CGeneModel::eCap, CGeneModel::ecDNAIntrons, CGeneModel::ePolyA, and fabs.
Referenced by DescendingModelOrderP(), DescendingModelOrderPConsistentCoverage(), and CChainer::CChainerImpl::FindAltsForGeneSeeds().
Definition at line 700 of file chainer.cpp.
References a, b, and DescendingModelOrder().
Referenced by CChainer::CChainerImpl::FilterOutSimilarsWithLowerScore(), CChainer::CChainerImpl::FindGeneSeeds(), CChainer::CChainerImpl::PlaceAllYouCan(), and CChainer::CChainerImpl::ReplacePseudoGeneSeeds().
|
static |
Definition at line 704 of file chainer.cpp.
References a, b, DescendingModelOrder(), and CGeneModel::eConsistentCoverage.
Referenced by CChainer::CChainerImpl::FindAltsForGeneSeeds().
Definition at line 8617 of file chainer.cpp.
References CAlignMap::FShiftedLen(), COpenRange< Position >::GetLength(), min(), and CAlignMap::ShrinkToRealPoints().
Referenced by CutShortPartialExons::transform_align().
TSignedSeqRange ExtendedMaxCdsLimits | ( | const CGeneModel & | a, |
const CCDSInfo & | cds | ||
) |
Definition at line 2055 of file chainer.cpp.
References a, limits, and CCDSInfo::MaxCdsLimits().
Referenced by CChainer::CChainerImpl::CanIncludeJinI(), CChainer::CChainerImpl::LRCanChainItoJ(), and CChainer::CChainerImpl::RightLeft().
string FindMultiplyIncluded | ( | CAlignModel & | algn, |
TAlignModelList & | clust | ||
) |
Definition at line 6534 of file chainer.cpp.
References CGeneModel::AlignLen(), CGeneModel::Continuous(), CGeneModel::eProt, CGeneModel::IdenticalAlign(), set< Key, Compare >::insert(), CGeneModel::isCompatible(), kEmptyStr, len, NON_CONST_ITERATE, CGeneModel::Strand(), CAlignModel::TargetAccession(), and CGeneModel::Type().
Referenced by ConnectsParalogs::align_predicate().
pair<string,int> GetAccVer | ( | const CAlignModel & | a, |
CScope & | scope | ||
) |
Definition at line 6323 of file chainer.cpp.
References a, CSeq_id_Handle::AsString(), eGetId_ForceAcc, CGeneModel::eProt, CTextseq_id_Base::GetAccession(), GetId(), CSeq_id_Handle::GetSeqId(), CSeq_id::GetTextseq_Id(), CTextseq_id_Base::GetVersion(), CTextseq_id_Base::IsSetAccession(), and CTextseq_id_Base::IsSetVersion().
Referenced by s_ByAccVerLen::operator()(), and OverlapsSameAccessionAlignment::OverlapsSameAccessionAlignment().
string GetLinkedIdsForMember | ( | const SChainMember & | mi | ) |
Definition at line 2984 of file chainer.cpp.
References CGeneModel::ID(), ITERATE, SChainMember::m_align, SChainMember::m_left_member, SChainMember::m_right_member, and ct::sort().
Referenced by CChainer::CChainerImpl::CreateChainsForPartialProteins().
bool GoodSupportForIntrons | ( | const CGeneModel & | chain, |
const SMinScor & | minscor, | ||
map< TSignedSeqRange, int > & | mrna_count, | ||
map< TSignedSeqRange, int > & | est_count, | ||
map< TSignedSeqRange, int > & | rnaseq_count | ||
) |
Definition at line 3001 of file chainer.cpp.
References CGeneModel::Exons(), i, int, SMinScor::m_minsupport, SMinScor::m_minsupport_mrna, and SMinScor::m_minsupport_rnaseq.
Referenced by MarkUnwantedLowSupportIntrons().
double InframeFraction | ( | const CGeneModel & | a, |
TSignedSeqPos | left, | ||
TSignedSeqPos | right | ||
) |
Definition at line 6895 of file chainer.cpp.
References a, CAlignMap::FShiftedLen(), ITERATE, len, prev(), and CAlignMap::ShrinkToRealPoints().
Referenced by ProjectCDS::transform_align().
bool LeftAndLongFirst | ( | const CGeneModel & | a, |
const CGeneModel & | b | ||
) |
Definition at line 7274 of file chainer.cpp.
void MarkUnwantedLowSupportIntrons | ( | TContained & | pointers, |
const SMinScor & | minscor, | ||
map< TSignedSeqRange, int > & | mrna_count, | ||
map< TSignedSeqRange, int > & | est_count, | ||
map< TSignedSeqRange, int > & | rnaseq_count | ||
) |
Definition at line 3015 of file chainer.cpp.
References GoodSupportForIntrons(), i, and NON_CONST_ITERATE.
bool MemberIsCoding | ( | const SChainMember * | mp | ) |
Definition at line 2975 of file chainer.cpp.
References BadScore(), SChainMember::m_cds_info, and CCDSInfo::Score().
Referenced by CChainer::CChainerImpl::MakeChains().
bool MemberIsMarkedForDeletion | ( | const SChainMember * | mp | ) |
Definition at line 2979 of file chainer.cpp.
References SChainMember::m_marked_for_deletion.
Referenced by CChainer::CChainerImpl::MakeChains().
bool OverlappingIndel | ( | int | pos, |
const CInDelInfo & | indl | ||
) |
Definition at line 7680 of file chainer.cpp.
References CInDelInfo::InDelEnd(), and CInDelInfo::IsDeletion().
Referenced by CombineCorrectionsAndIndels(), CGnomonAnnotator_Base::MapModelsToOrigContig(), CGnomonAnnotator_Base::MapOneModelToEditedContig(), and CGnomonAnnotator_Base::MapOneModelToOrigContig().
|
static |
Definition at line 6374 of file chainer.cpp.
References a, ITERATE, and len.
Referenced by s_ByAccVerLen::operator()().
TInDels StrictlyContainedInDels | ( | const TInDels & | indels, |
const TSignedSeqRange & | lim | ||
) |
Definition at line 2358 of file chainer.cpp.
References CRange_Base::GetFrom(), CRange_Base::GetTo(), and ITERATE.
Referenced by CChainer::CChainerImpl::CanIncludeJinI(), CChainer::CChainerImpl::CombineCompatibleChains(), CChainer::CChainerImpl::FindOptimalChainForProtein(), CChainer::FindSelenoproteinsClipProteinsToStartStop(), CChainer::CChainerImpl::LRCanChainItoJ(), and CChainer::CChainerImpl::RightLeft().
void uniq | ( | C & | container | ) |
Definition at line 1932 of file chainer.cpp.
References ct::sort().
Referenced by CChainer::CChainerImpl::AddIfCompatible(), CChainer::CChainerImpl::MakeChains(), CChainer::CChainerImpl::ReplicatePStops(), DeBruijn::CKmerCountTemplate< LargeInt< 1 >, LargeInt< 2 >, LargeInt< 4 >, LargeInt< 8 >, LargeInt< 16 > >::SortAndExtractUniq(), DeBruijn::CKmerCountTemplate< LargeInt< 1 >, LargeInt< 2 >, LargeInt< 4 >, LargeInt< 8 >, LargeInt< 16 > >::SortAndUniq(), and CDiscrepancyVisitorImpl< _Name >::Summarize().