NCBI C++ ToolKit
Classes | Macros | Typedefs | Enumerations | Functions
chainer.cpp File Reference
#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"
+ Include dependency graph for chainer.cpp:

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< CChainTChainList
 
typedef list< CChain * > TChainPointerList
 
typedef vector< SChainMember * > TContained
 
typedef map< Int8, CAlignModel * > TOrigAligns
 
typedef map< Int8, CGeneModelTUnmodAligns
 
typedef set< SChainMember * > TMemberPtrSet
 
typedef CChainTChainPtr
 
typedef vector< pair< SChainMember *, CGene * > > TMemeberGeneVec
 
typedef tuple< Int8, TSignedSeqRangeTIdLim
 
typedef vector< SLinkerTLinkers
 
typedef set< TSignedSeqRange, RangeOrderTRangePrecedeSet
 

Enumerations

enum  { eCDS , eLeftUTR , eRightUTR }
 

Functions

bool BelongToExon (const CGeneModel::TExons &exons, int pos)
 
static bool DescendingModelOrder (const CChain &a, const CChain &b)
 
static bool DescendingModelOrderP (const TChainPtr &a, const TChainPtr &b)
 
static bool DescendingModelOrderPConsistentCoverage (const TChainPtr &a, const TChainPtr &b)
 
TIdLim AlignIdLimits (SChainMember *mp)
 
template<class C >
void uniq (C &container)
 
TSignedSeqRange ExtendedMaxCdsLimits (const CGeneModel &a, const CCDSInfo &cds)
 
TInDels StrictlyContainedInDels (const TInDels &indels, const TSignedSeqRange &lim)
 
bool MemberIsCoding (const SChainMember *mp)
 
bool MemberIsMarkedForDeletion (const SChainMember *mp)
 
string GetLinkedIdsForMember (const SChainMember &mi)
 
bool GoodSupportForIntrons (const CGeneModel &chain, const SMinScor &minscor, map< TSignedSeqRange, int > &mrna_count, map< TSignedSeqRange, int > &est_count, map< TSignedSeqRange, int > &rnaseq_count)
 
void MarkUnwantedLowSupportIntrons (TContained &pointers, const SMinScor &minscor, map< TSignedSeqRange, int > &mrna_count, map< TSignedSeqRange, int > &est_count, map< TSignedSeqRange, int > &rnaseq_count)
 
pair< string, intGetAccVer (const CAlignModel &a, CScope &scope)
 
static int s_ExonLen (const CGeneModel &a)
 
string FindMultiplyIncluded (CAlignModel &algn, TAlignModelList &clust)
 
double InframeFraction (const CGeneModel &a, TSignedSeqPos left, TSignedSeqPos right)
 
bool LeftAndLongFirst (const CGeneModel &a, const CGeneModel &b)
 
bool OverlappingIndel (int pos, const CInDelInfo &indl)
 
TInDels CombineCorrectionsAndIndels (const TSignedSeqRange exona, int extra_left, int extra_right, const TSignedSeqRange exonb, const TInDels &editing_indels_frombtoa, const TInDels &exona_indels)
 
int EffectiveExonLength (const CModelExon &e, const CAlignMap &alignmap, bool snap_to_codons)
 

Macro Definition Documentation

◆ BLOCK_OF_Ns

#define BLOCK_OF_Ns   35

◆ COVERAGE_BUMP

#define COVERAGE_BUMP   3

Definition at line 5745 of file chainer.cpp.

◆ COVERAGE_DROP

#define COVERAGE_DROP   0.1

Definition at line 5744 of file chainer.cpp.

◆ MIN_PART

#define MIN_PART   30

Definition at line 6618 of file chainer.cpp.

◆ MIN_UTR_EXON

#define MIN_UTR_EXON   15

Definition at line 5470 of file chainer.cpp.

◆ NON_CDNA_INTRON_PENALTY

#define NON_CDNA_INTRON_PENALTY   20

Definition at line 2568 of file chainer.cpp.

◆ PGAP_PENALTY

#define PGAP_PENALTY   120

◆ PROT_CLIP

#define PROT_CLIP   120

Definition at line 6616 of file chainer.cpp.

◆ PROT_CLIP_FRAC

#define PROT_CLIP_FRAC   0.20

Definition at line 6617 of file chainer.cpp.

◆ SCAN_WINDOW

#define SCAN_WINDOW   49

Definition at line 4365 of file chainer.cpp.

◆ SMALL_GAP_UTR

#define SMALL_GAP_UTR   100

Definition at line 5746 of file chainer.cpp.

◆ START_BONUS

#define START_BONUS   600

Definition at line 1725 of file chainer.cpp.

Typedef Documentation

◆ TChainList

typedef list<CChain> TChainList

Definition at line 73 of file chainer.cpp.

◆ TChainPointerList

typedef list<CChain*> TChainPointerList

Definition at line 74 of file chainer.cpp.

◆ TChainPtr

typedef CChain* TChainPtr

Definition at line 699 of file chainer.cpp.

◆ TContained

typedef vector<SChainMember*> TContained

Definition at line 78 of file chainer.cpp.

◆ TIdLim

typedef tuple<Int8, TSignedSeqRange> TIdLim

Definition at line 1257 of file chainer.cpp.

◆ TLinkers

typedef vector<SLinker> TLinkers

Definition at line 4679 of file chainer.cpp.

◆ TMemberPtrSet

Definition at line 226 of file chainer.cpp.

◆ TMemeberGeneVec

typedef vector< pair<SChainMember*,CGene*> > TMemeberGeneVec

Definition at line 1255 of file chainer.cpp.

◆ TOrigAligns

Definition at line 80 of file chainer.cpp.

◆ TRangePrecedeSet

Definition at line 4686 of file chainer.cpp.

◆ TUnmodAligns

Definition at line 81 of file chainer.cpp.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
eCDS 
eLeftUTR 
eRightUTR 

Definition at line 220 of file chainer.cpp.

Function Documentation

◆ AlignIdLimits()

TIdLim AlignIdLimits ( SChainMember mp)

◆ BelongToExon()

bool BelongToExon ( const CGeneModel::TExons exons,
int  pos 
)

Definition at line 64 of file chainer.cpp.

References i, Include(), and ITERATE.

◆ CombineCorrectionsAndIndels()

TInDels CombineCorrectionsAndIndels ( const TSignedSeqRange  exona,
int  extra_left,
int  extra_right,
const TSignedSeqRange  exonb,
const TInDels editing_indels_frombtoa,
const TInDels exona_indels 
)

◆ DescendingModelOrder()

static bool DescendingModelOrder ( const CChain a,
const CChain b 
)
static

◆ DescendingModelOrderP()

static bool DescendingModelOrderP ( const TChainPtr a,
const TChainPtr b 
)
static

◆ DescendingModelOrderPConsistentCoverage()

static bool DescendingModelOrderPConsistentCoverage ( const TChainPtr a,
const TChainPtr b 
)
static

◆ EffectiveExonLength()

int EffectiveExonLength ( const CModelExon e,
const CAlignMap alignmap,
bool  snap_to_codons 
)

◆ ExtendedMaxCdsLimits()

TSignedSeqRange ExtendedMaxCdsLimits ( const CGeneModel a,
const CCDSInfo cds 
)

◆ FindMultiplyIncluded()

string FindMultiplyIncluded ( CAlignModel algn,
TAlignModelList clust 
)

◆ GetAccVer()

pair<string,int> GetAccVer ( const CAlignModel a,
CScope scope 
)

◆ GetLinkedIdsForMember()

string GetLinkedIdsForMember ( const SChainMember mi)

◆ GoodSupportForIntrons()

bool GoodSupportForIntrons ( const CGeneModel chain,
const SMinScor minscor,
map< TSignedSeqRange, int > &  mrna_count,
map< TSignedSeqRange, int > &  est_count,
map< TSignedSeqRange, int > &  rnaseq_count 
)

◆ InframeFraction()

double InframeFraction ( const CGeneModel a,
TSignedSeqPos  left,
TSignedSeqPos  right 
)

◆ LeftAndLongFirst()

bool LeftAndLongFirst ( const CGeneModel a,
const CGeneModel b 
)

Definition at line 7274 of file chainer.cpp.

References a, and b.

◆ MarkUnwantedLowSupportIntrons()

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.

◆ MemberIsCoding()

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().

◆ MemberIsMarkedForDeletion()

bool MemberIsMarkedForDeletion ( const SChainMember mp)

Definition at line 2979 of file chainer.cpp.

References SChainMember::m_marked_for_deletion.

Referenced by CChainer::CChainerImpl::MakeChains().

◆ OverlappingIndel()

bool OverlappingIndel ( int  pos,
const CInDelInfo indl 
)

◆ s_ExonLen()

static int s_ExonLen ( const CGeneModel a)
static

Definition at line 6374 of file chainer.cpp.

References a, ITERATE, and len.

Referenced by s_ByAccVerLen::operator()().

◆ StrictlyContainedInDels()

TInDels StrictlyContainedInDels ( const TInDels indels,
const TSignedSeqRange lim 
)

◆ uniq()

template<class C >
void uniq ( C container)
Modified on Wed Feb 21 09:58:04 2024 by modify_doxy.py rev. 669887