NCBI C++ ToolKit
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Private Types | Private Member Functions | List of all members
CFeatureGenerator::SImplementation Struct Reference

Search Toolkit Book for CFeatureGenerator::SImplementation

#include "feature_generator.hpp"
(Private to src/algo/sequence.)

+ Collaboration diagram for CFeatureGenerator::SImplementation:

Classes

struct  SExon
 
struct  SMapper
 

Public Types

enum  ETrimSide { eTrimProduct , eTrimGenomic }
 
typedef map< Int8, CRef< CSeq_feat > > TGeneMap
 

Public Member Functions

 SImplementation (objects::CScope &scope)
 
 ~SImplementation ()
 
void StitchSmallHoles (objects::CSeq_align &align)
 
void TrimHolesToCodons (objects::CSeq_align &align)
 
void TrimEnds (objects::CSeq_align &align)
 
void MaximizeTranslation (objects::CSeq_align &align)
 
CConstRef< objects::CSeq_align > CleanAlignment (const objects::CSeq_align &align_in)
 
CConstRef< objects::CSeq_align > AdjustAlignment (const objects::CSeq_align &align, TSeqRange range, EProductPositionsMode mode)
 
CRef< CSeq_featConvertAlignToAnnot (const objects::CSeq_align &align, objects::CSeq_annot &annot, objects::CBioseq_set &seqs, Int8 gene_id, const objects::CSeq_feat *cdregion, bool call_on_align_list)
 
void ConvertAlignToAnnot (const list< CRef< objects::CSeq_align > > &aligns, objects::CSeq_annot &annot, objects::CBioseq_set &seqs)
 
void SetFeatureExceptions (objects::CSeq_feat &feat, const objects::CSeq_align *align, objects::CSeq_feat *cds_feat=NULL, const objects::CSeq_feat *cds_feat_on_query_mrna=NULL, const objects::CSeq_feat *cds_feat_on_transcribed_mrna=NULL, list< CRef< CSeq_loc > > *transcribed_mrna_seqloc_refs=NULL, TSeqPos *clean_match_count=NULL)
 
void SetPartialFlags (CRef< CSeq_feat > gene_feat, CRef< CSeq_feat > mrna_feat, CRef< CSeq_feat > cds_feat)
 
void RecomputePartialFlags (objects::CSeq_annot &annot)
 
TSignedSeqRange GetCds (const objects::CSeq_id &seqid)
 

Static Public Member Functions

static void TrimLeftExon (int trim_amount, ETrimSide side, vector< SExon >::reverse_iterator left_edge, vector< SExon >::reverse_iterator &exon_it, objects::CSpliced_seg::TExons::reverse_iterator &spl_exon_it, objects::ENa_strand product_strand, objects::ENa_strand genomic_strand)
 
static void TrimRightExon (int trim_amount, ETrimSide side, vector< SExon >::iterator &exon_it, vector< SExon >::iterator right_edge, objects::CSpliced_seg::TExons::iterator &spl_exon_it, objects::ENa_strand product_strand, objects::ENa_strand genomic_strand)
 

Public Attributes

CRef< objects::CScope > m_scope
 
TFeatureGeneratorFlags m_flags
 
EIntronStitchThresholdFlags m_intron_stitch_threshold_flags
 
TSeqPos m_min_intron
 
TSeqPos m_allowed_unaligned
 
bool m_is_gnomon
 
bool m_is_best_refseq
 
TGeneMap genes
 

Private Types

enum  e_MatchType { eNone , eOverlap , eExact }
 

Private Member Functions

void TransformProteinAlignToTranscript (CConstRef< CSeq_align > &align, CRef< CSeq_feat > &cd_feat)
 
void x_CollectMrnaSequence (CSeq_inst &inst, const CSeq_align &align, const CSeq_loc &loc, bool add_unaligned_parts=true, bool mark_transcript_deletions=true, bool *has_gap=NULL, bool *has_indel=NULL)
 
CRef< CSeq_idx_CreateMrnaBioseq (const CSeq_align &align, CConstRef< CSeq_loc > loc, const CTime &time, size_t model_num, CBioseq_set &seqs, CConstRef< CSeq_feat > cds_feat_on_query_mrna, CRef< CSeq_feat > &cds_feat_on_transcribed_mrna)
 
const CBioseqx_CreateProteinBioseq (CSeq_loc *cds_loc, CRef< CSeq_feat > cds_feat_on_transcribed_mrna, list< CRef< CSeq_loc > > &transcribed_mrna_seqloc_refs, const CTime &time, size_t model_num, CBioseq_set &seqs)
 
CRef< CSeq_featx_CreateMrnaFeature (CRef< CSeq_loc > loc, const CSeq_id &query_rna_id, CSeq_id &transcribed_rna_id, CConstRef< CSeq_feat > cds_feat_on_query_mrna)
 
void x_CreateGeneFeature (CRef< CSeq_feat > &gene_feat, const CBioseq_Handle &handle, SMapper &mapper, CRef< CSeq_loc > loc, const CSeq_id &genomic_id, Int8 gene_id=0)
 
CRef< CSeq_featx_CreateCdsFeature (CConstRef< CSeq_feat > cds_feat_on_query_mrna, CRef< objects::CSeq_feat > cds_feat_on_transcribed_mrna, list< CRef< CSeq_loc > > &transcribed_mrna_seqloc_refs, const CSeq_align &align, CRef< CSeq_loc > loc, const CTime &time, size_t model_num, CBioseq_set &seqs, CSeq_loc_Mapper::TMapOptions opts)
 
CRef< CSeq_featx_CreateNcRnaFeature (const objects::CSeq_feat *ncrnafeature_on_mrna, const CSeq_align &align, CConstRef< CSeq_loc > loc, CSeq_loc_Mapper::TMapOptions opts)
 
CRef< CSeq_featx_MapFeature (const objects::CSeq_feat *feature_on_mrna, const CSeq_align &align, CRef< CSeq_loc > loc, CSeq_loc_Mapper::TMapOptions opts, TSeqPos &offset)
 
void x_CheckInconsistentDbxrefs (CConstRef< CSeq_feat > gene_feat, CConstRef< CSeq_feat > cds_feat)
 
void x_CopyAdditionalFeatures (const CBioseq_Handle &handle, SMapper &mapper, CSeq_annot &annot)
 
void x_HandleRnaExceptions (CSeq_feat &feat, const CSeq_align *align, CSeq_feat *cds_feat, const CSeq_feat *cds_feat_on_mrna)
 Handle feature exceptions. More...
 
void x_HandleCdsExceptions (CSeq_feat &feat, const CSeq_align *align, const CSeq_feat *cds_feat_on_query_mrna, const CSeq_feat *cds_feat_on_transcribed_mrna, list< CRef< CSeq_loc > > *transcribed_mrna_seqloc_refs, TSeqPos *clean_match_count)
 
void x_SetExceptText (CSeq_feat &feat, const string &except_text)
 
void x_SetComment (CSeq_feat &rna_feat, CSeq_feat *cds_feat, const CSeq_feat *cds_feat_on_mrna, const CSeq_align *align, const CRangeCollection< TSeqPos > &mismatch_locs, const CRangeCollection< TSeqPos > &insert_locs, const CRangeCollection< TSeqPos > &delete_locs, map< TSeqPos, TSeqPos > &delete_sizes, bool partial_unaligned_edge)
 
void x_SetCommentForGapFilledModel (CSeq_feat &feat, TSeqPos insert_length)
 
void x_SetQualForGapFilledModel (CSeq_feat &feat, CSeq_id_Handle id)
 
void x_AddSelectMarkup (const CSeq_align &align, const CBioseq_Handle &rna_handle, const CSeq_id &genomic_acc, CSeq_feat &rna_feat, CSeq_feat *cds_feat)
 
e_MatchType x_CheckMatch (const CSeq_align &align, const CSeq_id &genomic_acc, const CUser_field &loc_field)
 
void x_AddKeywordQuals (CSeq_feat &feat, const vector< string > &keywords)
 
string x_ConstructRnaName (const CBioseq_Handle &handle)
 
CRef< CSeq_locMergeSeq_locs (const CSeq_loc *loc1, const CSeq_loc *loc2=NULL)
 
CRef< CSeq_locFixOrderOfCrossTheOriginSeqloc (const CSeq_loc &loc, TSeqPos outside_point, CSeq_loc::TOpFlags flags=CSeq_loc::fSort)
 
bool HasMixedGenomicIds (const CSeq_align &input_align)
 
CRef< CSeq_featConvertMixedAlignToAnnot (const CSeq_align &input_align, CSeq_annot &annot, CBioseq_set &seqs, Int8 gene_id, const CSeq_feat *cds_feat_on_query_mrna_ptr, bool call_on_align_list)
 
void RecalculateScores (CSeq_align &align)
 
void RecalculateExonIdty (CSpliced_exon &exon)
 
void ClearScores (CSeq_align &align)
 
vector< SExonGetExons (const CSeq_align &align)
 
void GetExonStructure (const CSpliced_seg &spliced_seg, vector< SExon > &exons, CScope *scope)
 

Detailed Description

Definition at line 51 of file feature_generator.hpp.

Member Typedef Documentation

◆ TGeneMap

Definition at line 79 of file feature_generator.hpp.

Member Enumeration Documentation

◆ e_MatchType

Enumerator
eNone 
eOverlap 
eExact 

Definition at line 170 of file feature_generator.hpp.

◆ ETrimSide

Enumerator
eTrimProduct 
eTrimGenomic 

Definition at line 113 of file feature_generator.hpp.

Constructor & Destructor Documentation

◆ SImplementation()

CFeatureGenerator::SImplementation::SImplementation ( objects::CScope &  scope)

Definition at line 166 of file gene_model.cpp.

◆ ~SImplementation()

CFeatureGenerator::SImplementation::~SImplementation ( )

Definition at line 177 of file gene_model.cpp.

Member Function Documentation

◆ AdjustAlignment()

CConstRef< CSeq_align > CFeatureGenerator::SImplementation::AdjustAlignment ( const objects::CSeq_align &  align,
TSeqRange  range,
EProductPositionsMode  mode 
)

◆ CleanAlignment()

CConstRef< CSeq_align > CFeatureGenerator::SImplementation::CleanAlignment ( const objects::CSeq_align &  align_in)

◆ ClearScores()

void CFeatureGenerator::SImplementation::ClearScores ( CSeq_align align)
private

◆ ConvertAlignToAnnot() [1/2]

void CFeatureGenerator::SImplementation::ConvertAlignToAnnot ( const list< CRef< objects::CSeq_align > > &  aligns,
objects::CSeq_annot &  annot,
objects::CBioseq_set &  seqs 
)

◆ ConvertAlignToAnnot() [2/2]

CRef<CSeq_feat> CFeatureGenerator::SImplementation::ConvertAlignToAnnot ( const objects::CSeq_align &  align,
objects::CSeq_annot &  annot,
objects::CBioseq_set &  seqs,
Int8  gene_id,
const objects::CSeq_feat *  cdregion,
bool  call_on_align_list 
)

◆ ConvertMixedAlignToAnnot()

CRef< CSeq_feat > CFeatureGenerator::SImplementation::ConvertMixedAlignToAnnot ( const CSeq_align input_align,
CSeq_annot annot,
CBioseq_set seqs,
Int8  gene_id,
const CSeq_feat cds_feat_on_query_mrna_ptr,
bool  call_on_align_list 
)
private

Definition at line 4208 of file gene_model.cpp.

References _ASSERT, AddInsertWithGaps(), CSeq_id::Assign(), CSerialObject::Assign(), CSpliced_exon_Base::CanGetGenomic_id(), CSpliced_seg_Base::CanGetGenomic_id(), CSpliced_exon_Base::CanGetGenomic_strand(), CSpliced_seg_Base::CanGetGenomic_strand(), CSeq_loc::ChangeToPackedInt(), ConvertAlignToAnnot(), CSeqdesc_Base::e_Org, CSeqdesc_Base::e_Source, eExtreme_Positional, eNa_strand_minus, eNa_strand_plus, map_checker< Container >::end(), map_checker< Container >::erase(), ERASE_ITERATE, eUnknown, f(), map_checker< Container >::find(), CSeq_loc::FlipStrand(), genes, CBioseq_Handle::GetBioseqLength(), CBioseq_set_Base::GetClass(), CBioseq_Handle::GetCompleteBioseq(), CSpliced_seg_Base::GetExons(), CBioseq::GetFirstId(), CSpliced_exon_Base::GetGenomic_end(), CSpliced_exon_Base::GetGenomic_id(), CSpliced_seg_Base::GetGenomic_id(), CSpliced_exon_Base::GetGenomic_start(), CSpliced_exon_Base::GetGenomic_strand(), CSpliced_seg_Base::GetGenomic_strand(), CSeq_id_Handle::GetHandle(), CSeq_inst_Base::GetHist(), CBioseq_Base::GetInst(), CSeq_feat_Base::GetLocation(), CProduct_pos_Base::GetNucpos(), CSpliced_exon_Base::GetProduct_end(), CSpliced_exon_Base::GetProduct_start(), CSeq_entry_Base::GetSeq(), CSeq_loc::GetStart(), CSeq_loc::GetStop(), CSeq_inst_Base::GetTopology(), set< Key, Compare >::insert(), CSeq_entry_Base::IsSeq(), CSeq_hist_Base::IsSetAssembly(), CBioseq_set_Base::IsSetClass(), CSeq_inst_Base::IsSetHist(), CBioseq_Base::IsSetInst(), ITERATE, k_except_text_for_gap_filled_gnomon_model, m_scope, CSeq_id::Match(), max(), min(), NCBI_THROW, NON_CONST_ITERATE, offset, CRef< C, Locker >::Reset(), CSpliced_exon_Base::ResetGenomic_id(), CSpliced_exon_Base::ResetGenomic_strand(), CBioseq_set_Base::SetClass(), CSeq_annot_Base::SetData(), CBioseq_Base::SetDescr(), CSpliced_seg_Base::SetExons(), CSpliced_exon_Base::SetGenomic_end(), CSpliced_exon_Base::SetGenomic_id(), CSpliced_seg_Base::SetGenomic_id(), CSpliced_exon_Base::SetGenomic_start(), CSpliced_seg_Base::SetGenomic_strand(), CBioseq_Base::SetInst(), CSeq_loc::SetMix(), CSeq_align_Base::SetSegs(), CSeq_entry_Base::SetSeq(), CBioseq_set_Base::SetSeq_set(), set< Key, Compare >::size(), x_SetCommentForGapFilledModel(), x_SetExceptText(), and x_SetQualForGapFilledModel().

◆ FixOrderOfCrossTheOriginSeqloc()

CRef< CSeq_loc > CFeatureGenerator::SImplementation::FixOrderOfCrossTheOriginSeqloc ( const CSeq_loc loc,
TSeqPos  outside_point,
CSeq_loc::TOpFlags  flags = CSeq_loc::fSort 
)
private

◆ GetCds()

TSignedSeqRange CFeatureGenerator::SImplementation::GetCds ( const objects::CSeq_id &  seqid)

◆ GetExons()

vector< CFeatureGenerator::SImplementation::SExon > CFeatureGenerator::SImplementation::GetExons ( const CSeq_align align)
private

◆ GetExonStructure()

void CFeatureGenerator::SImplementation::GetExonStructure ( const CSpliced_seg spliced_seg,
vector< SExon > &  exons,
CScope scope 
)
private

◆ HasMixedGenomicIds()

bool CFeatureGenerator::SImplementation::HasMixedGenomicIds ( const CSeq_align input_align)
private

◆ MaximizeTranslation()

void CFeatureGenerator::SImplementation::MaximizeTranslation ( objects::CSeq_align &  align)

◆ MergeSeq_locs()

CRef< CSeq_loc > CFeatureGenerator::SImplementation::MergeSeq_locs ( const CSeq_loc loc1,
const CSeq_loc loc2 = NULL 
)
private

◆ RecalculateExonIdty()

void CFeatureGenerator::SImplementation::RecalculateExonIdty ( CSpliced_exon exon)
private

◆ RecalculateScores()

void CFeatureGenerator::SImplementation::RecalculateScores ( CSeq_align align)
private

◆ RecomputePartialFlags()

void CFeatureGenerator::SImplementation::RecomputePartialFlags ( objects::CSeq_annot &  annot)

◆ SetFeatureExceptions()

void CFeatureGenerator::SImplementation::SetFeatureExceptions ( objects::CSeq_feat &  feat,
const objects::CSeq_align *  align,
objects::CSeq_feat *  cds_feat = NULL,
const objects::CSeq_feat *  cds_feat_on_query_mrna = NULL,
const objects::CSeq_feat *  cds_feat_on_transcribed_mrna = NULL,
list< CRef< CSeq_loc > > *  transcribed_mrna_seqloc_refs = NULL,
TSeqPos clean_match_count = NULL 
)

◆ SetPartialFlags()

void CFeatureGenerator::SImplementation::SetPartialFlags ( CRef< CSeq_feat gene_feat,
CRef< CSeq_feat mrna_feat,
CRef< CSeq_feat cds_feat 
)

◆ StitchSmallHoles()

void CFeatureGenerator::SImplementation::StitchSmallHoles ( objects::CSeq_align &  align)

Definition at line 137 of file transform_align.cpp.

References _ASSERT, CSeq_id::Assign(), CSpliced_seg_Base::CanGetExons(), eExtreme_Positional, CSeq_loc_Mapper_Base::eLocationToProduct, eNa_strand_minus, CSpliced_seg_Base::eProduct_type_protein, ERR_POST, CFeatureGenerator::fGenomic, CFeatureGenerator::fProduct, GetCdsOnMrna(), CSpliced_exon_Base::GetDonor_after_exon(), CSpliced_seg_Base::GetExons(), CSpliced_exon_Base::GetGenomic_end(), CSpliced_seg_Base::GetGenomic_id(), CSpliced_exon_Base::GetGenomic_start(), CSpliced_exon_Base::GetParts(), CSpliced_seg_Base::GetPoly_a(), CSpliced_exon_Base::GetProduct_end(), CSpliced_seg_Base::GetProduct_length(), CSpliced_exon_Base::GetProduct_start(), CSpliced_seg_Base::GetProduct_type(), CMappedFeat::GetSeq_feat(), CSeq_align::GetSeq_id(), CSeq_loc::GetStart(), i, int, CSpliced_exon_Base::IsSetAcceptor_before_exon(), CSpliced_exon_Base::IsSetDonor_after_exon(), CSpliced_exon_Base::IsSetExt(), CSpliced_exon_Base::IsSetParts(), CSpliced_seg_Base::IsSetPoly_a(), CSeq_feat_Handle::IsSetProduct(), CSpliced_seg_Base::IsSetProduct_length(), CSeq_loc_Mapper_Base::Map(), max(), min(), origin, CRef< C, Locker >::Reset(), CSpliced_seg_Base::SetExons(), CSpliced_exon_Base::SetExt(), CSpliced_exon_Base::SetGenomic_end(), CSpliced_exon_Base::SetGenomic_start(), CSpliced_exon_Base::SetPartial(), CSpliced_exon_Base::SetParts(), CSpliced_exon_Base::SetProduct_end(), CSpliced_exon_Base::SetProduct_start(), CSeq_align_Base::SetSegs(), and Warning().

Referenced by CleanAlignment().

◆ TransformProteinAlignToTranscript()

void CFeatureGenerator::SImplementation::TransformProteinAlignToTranscript ( CConstRef< CSeq_align > &  align,
CRef< CSeq_feat > &  cd_feat 
)
private

◆ TrimEnds()

void CFeatureGenerator::SImplementation::TrimEnds ( objects::CSeq_align &  align)

◆ TrimHolesToCodons()

void CFeatureGenerator::SImplementation::TrimHolesToCodons ( objects::CSeq_align &  align)

◆ TrimLeftExon()

void CFeatureGenerator::SImplementation::TrimLeftExon ( int  trim_amount,
ETrimSide  side,
vector< SExon >::reverse_iterator  left_edge,
vector< SExon >::reverse_iterator &  exon_it,
objects::CSpliced_seg::TExons::reverse_iterator &  spl_exon_it,
objects::ENa_strand  product_strand,
objects::ENa_strand  genomic_strand 
)
static

◆ TrimRightExon()

void CFeatureGenerator::SImplementation::TrimRightExon ( int  trim_amount,
ETrimSide  side,
vector< SExon >::iterator &  exon_it,
vector< SExon >::iterator  right_edge,
objects::CSpliced_seg::TExons::iterator &  spl_exon_it,
objects::ENa_strand  product_strand,
objects::ENa_strand  genomic_strand 
)
static

◆ x_AddKeywordQuals()

void CFeatureGenerator::SImplementation::x_AddKeywordQuals ( CSeq_feat feat,
const vector< string > &  keywords 
)
private

◆ x_AddSelectMarkup()

void CFeatureGenerator::SImplementation::x_AddSelectMarkup ( const CSeq_align align,
const CBioseq_Handle rna_handle,
const CSeq_id genomic_acc,
CSeq_feat rna_feat,
CSeq_feat cds_feat 
)
private

◆ x_CheckInconsistentDbxrefs()

void CFeatureGenerator::SImplementation::x_CheckInconsistentDbxrefs ( CConstRef< CSeq_feat gene_feat,
CConstRef< CSeq_feat cds_feat 
)
private

◆ x_CheckMatch()

CFeatureGenerator::SImplementation::e_MatchType CFeatureGenerator::SImplementation::x_CheckMatch ( const CSeq_align align,
const CSeq_id genomic_acc,
const CUser_field loc_field 
)
private

◆ x_CollectMrnaSequence()

void CFeatureGenerator::SImplementation::x_CollectMrnaSequence ( CSeq_inst inst,
const CSeq_align align,
const CSeq_loc loc,
bool  add_unaligned_parts = true,
bool  mark_transcript_deletions = true,
bool has_gap = NULL,
bool has_indel = NULL 
)
private

◆ x_ConstructRnaName()

string CFeatureGenerator::SImplementation::x_ConstructRnaName ( const CBioseq_Handle handle)
private

◆ x_CopyAdditionalFeatures()

void CFeatureGenerator::SImplementation::x_CopyAdditionalFeatures ( const CBioseq_Handle handle,
SMapper mapper,
CSeq_annot annot 
)
private

◆ x_CreateCdsFeature()

CRef< CSeq_feat > CFeatureGenerator::SImplementation::x_CreateCdsFeature ( CConstRef< CSeq_feat cds_feat_on_query_mrna,
CRef< objects::CSeq_feat >  cds_feat_on_transcribed_mrna,
list< CRef< CSeq_loc > > &  transcribed_mrna_seqloc_refs,
const CSeq_align align,
CRef< CSeq_loc loc,
const CTime time,
size_t  model_num,
CBioseq_set seqs,
CSeq_loc_Mapper::TMapOptions  opts 
)
private

Definition at line 1916 of file gene_model.cpp.

References CSeq_annot_EditHandle::AddFeat(), CSeq_loc::Assign(), CSerialObject::Assign(), CSeq_feat_Base::CanGetProduct(), CSeq_annot_Base::C_Data::e_Ftable, CSeq_loc_Base::e_not_set, CBioseq_Handle::eCoding_Iupac, eExtreme_Biological, CCdregion_Base::eFrame_one, CCdregion_Base::eFrame_three, CCdregion_Base::eFrame_two, eNa_strand_plus, eUnknown, ExtractGnomonModelNum(), CFeatureGenerator::fCreateCdregion, CSeqTranslator::fIs5PrimePartial, CSeq_loc_equiv_Base::Get(), CSeqFeatData_Base::GetCdregion(), CCdregion_Base::GetCode(), CCdregion_Base::GetCode_break(), CRangeCollection< Position >::GetCoveredLength(), CSeq_feat_Base::GetData(), CSeq_annot_Handle::GetEditHandle(), CSeq_loc_Base::GetEquiv(), CCdregion_Base::GetFrame(), CRange_Base::GetFrom(), CSeq_loc::GetId(), CSeq_feat_Base::GetLocation(), CConstRef< C, Locker >::GetNonNullPointer(), CSeq_feat_Base::GetProduct(), CSeq_align::GetSeq_id(), CSeqVector::GetSeqData(), CBioseq_Handle::GetSeqId(), CSeq_loc::GetTotalRange(), CFeatureGenerator::SImplementation::SMapper::IncludeSourceLocs(), CSeq_loc_Base::IsEquiv(), CSeq_loc_Base::IsNull(), CConstRef< C, Locker >::IsNull(), CSeq_loc::IsPartialStart(), CCdregion_Base::IsSetCode(), CCdregion_Base::IsSetCode_break(), CCdregion_Base::IsSetFrame(), ITERATE, m_flags, m_scope, CFeatureGenerator::SImplementation::SMapper::Map(), NCBI_THROW, NPOS, NULL, offset, CRef< C, Locker >::Reset(), CCdregion_Base::ResetCode_break(), CSeq_feat_Base::ResetId(), CCdregion_Base::SetCode_break(), CSeq_feat_Base::SetComment(), CSeq_feat_Base::SetData(), CSeq_loc::SetId(), CSeq_feat_Base::SetIds(), CSeq_loc::SetInt(), CFeat_id_Base::SetLocal(), CSeq_feat_Base::SetLocation(), CFeatureGenerator::SImplementation::SMapper::SetMergeNone(), CSeq_loc::SetPartialStart(), SAnnotSelector::SetResolveNone(), CObject_id_Base::SetStr(), CSeqTranslator::Translate(), CSeq_loc_Base::Which(), x_CreateProteinBioseq(), and x_MapFeature().

◆ x_CreateGeneFeature()

void CFeatureGenerator::SImplementation::x_CreateGeneFeature ( CRef< CSeq_feat > &  gene_feat,
const CBioseq_Handle handle,
SMapper mapper,
CRef< CSeq_loc loc,
const CSeq_id genomic_id,
Int8  gene_id = 0 
)
private

◆ x_CreateMrnaBioseq()

CRef< CSeq_id > CFeatureGenerator::SImplementation::x_CreateMrnaBioseq ( const CSeq_align align,
CConstRef< CSeq_loc loc,
const CTime time,
size_t  model_num,
CBioseq_set seqs,
CConstRef< CSeq_feat cds_feat_on_query_mrna,
CRef< CSeq_feat > &  cds_feat_on_transcribed_mrna 
)
private

◆ x_CreateMrnaFeature()

CRef< CSeq_feat > CFeatureGenerator::SImplementation::x_CreateMrnaFeature ( CRef< CSeq_loc loc,
const CSeq_id query_rna_id,
CSeq_id transcribed_rna_id,
CConstRef< CSeq_feat cds_feat_on_query_mrna 
)
private

◆ x_CreateNcRnaFeature()

CRef< CSeq_feat > CFeatureGenerator::SImplementation::x_CreateNcRnaFeature ( const objects::CSeq_feat *  ncrnafeature_on_mrna,
const CSeq_align align,
CConstRef< CSeq_loc loc,
CSeq_loc_Mapper::TMapOptions  opts 
)
private

◆ x_CreateProteinBioseq()

const CBioseq & CFeatureGenerator::SImplementation::x_CreateProteinBioseq ( CSeq_loc cds_loc,
CRef< CSeq_feat cds_feat_on_transcribed_mrna,
list< CRef< CSeq_loc > > &  transcribed_mrna_seqloc_refs,
const CTime time,
size_t  model_num,
CBioseq_set seqs 
)
private

Definition at line 1454 of file gene_model.cpp.

References _ASSERT, AddCodeBreak(), CSeq_feat::AddExt(), CUser_object::AddField(), AddLiteral(), CSeq_loc::Assign(), CSerialObject::Assign(), CTime::AsString(), b, CMolInfo_Base::eBiomol_peptide, CBioseq_Handle::eCoding_Iupac, CBioseq_Handle::eCoding_Ncbi, CMolInfo_Base::eCompleteness_complete, CMolInfo_Base::eCompleteness_no_ends, CMolInfo_Base::eCompleteness_no_left, CMolInfo_Base::eCompleteness_no_right, CMolInfo_Base::eCompleteness_partial, eExtreme_Biological, eExtreme_Positional, CCdregion_Base::eFrame_three, CCdregion_Base::eFrame_two, CInt_fuzz_Base::eLim_unk, CSeq_loc_Mapper_Base::eLocationToProduct, CSeq_inst_Base::eMol_aa, CSeq_loc_Mapper_Base::eProductToLocation, CSeq_inst_Base::eRepr_delta, CSeq_inst_Base::eRepr_raw, CFeatureGenerator::fAddTranslatedCDSAssembly, CFeatureGenerator::fGenerateStableLocalIds, CSeq_loc::fMerge_SingleRange, CDelta_ext_Base::Get(), CSeqFeatData_Base::GetCdregion(), CCdregion_Base::GetCode_break(), CSeq_feat_Base::GetData(), CSeq_ext_Base::GetDelta(), CSeq_inst_Base::GetExt(), CCdregion_Base::GetFrame(), CSeq_loc::GetId(), CSeq_inst_Base::GetLength(), CSeq_feat_Base::GetLocation(), CRef< C, Locker >::GetPointer(), CSeq_align::GetSeq_id(), CSeqVector::GetSeqData(), CSeqVector::GetSeqMap(), CSeq_loc::GetStart(), int, IsContinuous(), CSeq_loc::IsPartialStart(), CSeq_loc::IsPartialStop(), CCdregion_Base::IsSetCode_break(), CCdregion_Base::IsSetFrame(), ITERATE, len, m_flags, m_is_best_refseq, m_scope, CSeq_loc_Mapper_Base::Map(), CSeq_loc::Merge(), NULL, CSeq_inst_Base::ResetExt(), result, CMolInfo_Base::SetBiomol(), CMolInfo_Base::SetCompleteness(), CBioseq_Base::SetDescr(), CSeq_inst_Base::SetExt(), CSeq_inst_Base::SetHist(), CSeq_loc::SetId(), CBioseq_Base::SetId(), CBioseq_Base::SetInst(), CSeq_loc::SetInt(), CSeq_inst_Base::SetLength(), CSeq_feat_Base::SetLocation(), CSeq_inst_Base::SetMol(), CSeqdesc_Base::SetMolinfo(), CSeq_loc::SetPartialStart(), CSeq_loc::SetPartialStop(), CSeq_feat_Base::SetProduct(), CSeq_inst_Base::SetRepr(), CSeq_align_Base::SetSegs(), CSeq_entry_Base::SetSeq(), CSeq_inst_Base::SetSeq_data(), CBioseq_set_Base::SetSeq_set(), CUser_object_Base::SetType(), CSeqVector::size(), NStr::SizetToString(), str(), and CSeqTranslator::Translate().

Referenced by x_CreateCdsFeature().

◆ x_HandleCdsExceptions()

void CFeatureGenerator::SImplementation::x_HandleCdsExceptions ( CSeq_feat feat,
const CSeq_align align,
const CSeq_feat cds_feat_on_query_mrna,
const CSeq_feat cds_feat_on_transcribed_mrna,
list< CRef< CSeq_loc > > *  transcribed_mrna_seqloc_refs,
TSeqPos clean_match_count 
)
private

Definition at line 2993 of file gene_model.cpp.

References AddCodeBreak(), CSeq_id::Assign(), CSeq_loc::Assign(), CSerialObject::Assign(), CSpliced_seg_Base::CanGetPoly_a(), CSeq_loc::ChangeToPackedInt(), CRangeCollection< Position >::clear(), CSeq_loc::Compare(), CSeqConvert::Convert(), Convert(), CSeq_align::CreateRowSeq_loc(), CCode_break_Base::C_Aa::e_Ncbi8aa, CSeqUtil::e_Ncbi8aa, CCode_break_Base::C_Aa::e_Ncbieaa, CSeqUtil::e_Ncbieaa, CCode_break_Base::C_Aa::e_Ncbistdaa, CSeqUtil::e_Ncbistdaa, CSeqFeatData_Base::e_not_set, CBioseq_Handle::eCoding_Iupac, eExtreme_Biological, eExtreme_Positional, CCdregion_Base::eFrame_three, CCdregion_Base::eFrame_two, CSeq_loc_Mapper_Base::eLocationToProduct, CRangeCollection< Position >::Empty(), eNa_strand_minus, CSeq_loc_Mapper_Base::eProductToLocation, CSeq_loc_Mapper_Base::eSplicedRow_Gen, CSeq_loc_Mapper_Base::eSplicedRow_Prod, CSeqFeatData::eSubtype_C_region, CSeqFeatData::eSubtype_D_loop, CSeqFeatData::eSubtype_D_segment, CSeqFeatData::eSubtype_J_segment, CSeqFeatData::eSubtype_S_region, CSeqFeatData::eSubtype_V_region, CSeqFeatData::eSubtype_V_segment, eUnknown, CSeq_loc::fCompare_Strand, CSeqTranslator::fDefault, CFeatureGenerator::fForceTranslateCds, CSeqTranslator::fIs5PrimePartial, CSeq_loc::FlipStrand(), CFeatureGenerator::fTrustProteinSeq, CSeqFeatData_Base::GetCdregion(), CCdregion_Base::GetCode(), CCdregion_Base::GetCode_break(), CSeq_feat_Base::GetComment(), CSeq_feat_Base::GetData(), CSeq_feat_Handle::GetData(), CTSE_Handle::GetFeatureWithId(), CCdregion_Base::GetFrame(), CRangeCollection< Position >::GetFrom(), CObject_id_Base::GetId(), CSeq_loc::GetId(), GetLength(), COpenRange< Position >::GetLength(), CCode_break_Base::GetLoc(), CFeat_id_Base::GetLocal(), CSeq_feat_Base::GetLocation(), CRef< C, Locker >::GetPointer(), CSeq_feat_Base::GetProduct(), CSeq_align_Base::GetSegs(), CSeq_align::GetSeq_id(), CSeqVector::GetSeqData(), CSeq_align_Base::C_Segs::GetSpliced(), CSeq_loc::GetStart(), CSeq_loc::GetStop(), CObject_id_Base::GetStr(), CSeq_loc::GetStrand(), CSeqFeatData::GetSubtype(), CRangeCollection< Position >::GetTo(), CSeq_loc::GetTotalRange(), CBioseq_Handle::GetTSE_Handle(), COpenRange< TSeqPos >::GetWhole(), COpenRange< TSeqPos >::GetWholeTo(), CSeq_feat_Base::GetXref(), CSeq_loc::Intersect(), CObject_id_Base::IsId(), CSeq_loc_Base::IsInt(), CFeat_id_Base::IsLocal(), CSeq_id_Base::IsLocal(), CSeq_loc::IsPartialStart(), CSeq_loc::IsPartialStop(), CCdregion_Base::IsSetCode(), CCdregion_Base::IsSetCode_break(), CSeq_feat_Base::IsSetComment(), CCdregion_Base::IsSetFrame(), CSeq_feat_Base::IsSetProduct(), CSeq_feat_Base::IsSetXref(), CSeq_align_Base::C_Segs::IsSpliced(), ITERATE, m_flags, m_scope, CSeq_loc_Mapper_Base::Map(), NCBI_THROW, NON_CONST_ITERATE, NULL, r(), CRef< C, Locker >::Reset(), s_MapSingleAA(), CCode_break_Base::SetAa(), CSeq_feat_Base::SetComment(), CSeq_feat_Base::SetData(), CSeq_feat_Base::SetExcept(), CSeq_feat_Base::SetExcept_text(), CBioseq_Base::SetInst(), CSeq_feat_Base::SetLocation(), CSeq_loc::SetWhole(), CSeqVector::size(), CSeqTranslator::Translate(), whole, x_CollectMrnaSequence(), and x_SetExceptText().

Referenced by SetFeatureExceptions().

◆ x_HandleRnaExceptions()

void CFeatureGenerator::SImplementation::x_HandleRnaExceptions ( CSeq_feat feat,
const CSeq_align align,
CSeq_feat cds_feat,
const CSeq_feat cds_feat_on_mrna 
)
private

Handle feature exceptions.

Definition at line 2706 of file gene_model.cpp.

References CSeqVector::begin(), CRangeCollection< Position >::clear(), Convert(), CSpliced_exon_chunk_Base::e_Diag, CSpliced_exon_chunk_Base::e_Genomic_ins, CSpliced_exon_chunk_Base::e_Match, CSpliced_exon_chunk_Base::e_Mismatch, CSeqFeatData_Base::e_not_set, CSpliced_exon_chunk_Base::e_Product_ins, CBioseq_Handle::eCoding_Iupac, CRangeCollection< Position >::empty(), CSeqVector::end(), CSpliced_seg_Base::eProduct_type_transcript, CSeqFeatData::eSubtype_C_region, CSeqFeatData::eSubtype_D_loop, CSeqFeatData::eSubtype_D_segment, CSeqFeatData::eSubtype_J_segment, CSeqFeatData::eSubtype_S_region, CSeqFeatData::eSubtype_V_region, CSeqFeatData::eSubtype_V_segment, CBioseq_Handle::GetBioseqLength(), CSeq_feat_Handle::GetData(), CSpliced_seg_Base::GetExons(), CTSE_Handle::GetFeatureWithId(), GetId(), CObject_id_Base::GetId(), CSeq_loc::GetId(), GetLength(), CFeat_id_Base::GetLocal(), CSeq_feat_Base::GetLocation(), CProduct_pos_Base::GetNucpos(), CSpliced_exon_Base::GetParts(), CRef< C, Locker >::GetPointer(), CSpliced_seg_Base::GetPoly_a(), CSeqVector_CI::GetPos(), CSeq_feat_Base::GetProduct(), CSpliced_exon_Base::GetProduct_end(), CSpliced_seg_Base::GetProduct_length(), CSpliced_exon_Base::GetProduct_start(), CSpliced_seg_Base::GetProduct_type(), CSeq_align_Base::GetSegs(), CSeq_align::GetSeq_id(), CSeq_align::GetSeqRange(), CSeq_align_Base::C_Segs::GetSpliced(), CObject_id_Base::GetStr(), CSeqFeatData::GetSubtype(), CRange_Base::GetTo(), CSeq_loc::GetTotalRange(), CBioseq_Handle::GetTSE_Handle(), CSeq_feat_Base::GetXref(), CObject_id_Base::IsId(), CFeat_id_Base::IsLocal(), IsSameBioseq(), CSeq_feat_Base::IsSetPartial(), CSpliced_exon_Base::IsSetParts(), CSpliced_seg_Base::IsSetPoly_a(), CSeq_feat_Base::IsSetProduct(), CSpliced_seg_Base::IsSetProduct_length(), CSeq_feat_Base::IsSetXref(), CSeq_align_Base::C_Segs::IsSpliced(), ITERATE, m_scope, COpenRange< Position >::NotEmpty(), r(), CConstRef< C, Locker >::Reset(), CSeq_feat_Base::SetExcept(), CSeq_feat_Base::SetExcept_text(), SAnnotSelector::SetResolveAll(), x_SetComment(), and x_SetExceptText().

Referenced by SetFeatureExceptions().

◆ x_MapFeature()

CRef< CSeq_feat > CFeatureGenerator::SImplementation::x_MapFeature ( const objects::CSeq_feat *  feature_on_mrna,
const CSeq_align align,
CRef< CSeq_loc loc,
CSeq_loc_Mapper::TMapOptions  opts,
TSeqPos offset 
)
private

Definition at line 2181 of file gene_model.cpp.

References abs, CSeq_loc::Assign(), CSerialObject::Assign(), CSpliced_seg_Base::CanGetPoly_a(), CSeq_loc::ChangeToPackedInt(), CSeq_loc_Base::e_not_set, eExtreme_Biological, eExtreme_Positional, eNa_strand_minus, eUnknown, FixOrderOfCrossTheOriginSeqloc(), CSeq_loc::fSort, CSeq_loc_equiv_Base::Get(), CSeq_loc_Base::GetEquiv(), CSeq_interval_Base::GetFrom(), CSeq_loc::GetId(), CSeq_loc_Base::GetInt(), CRef< C, Locker >::GetPointer(), CSeq_align_Base::GetSegs(), CSeq_align_Base::C_Segs::GetSpliced(), CSeq_loc::GetStart(), CSeq_loc::GetStop(), CSeq_interval_Base::GetStrand(), CSeq_loc::GetStrand(), CRange_Base::GetTo(), CSeq_interval_Base::GetTo(), CSeq_loc::GetTotalRange(), CFeatureGenerator::SImplementation::SMapper::IncludeSourceLocs(), set< Key, Compare >::insert(), CSeq_loc::Intersect(), CSeq_loc_Base::IsEmpty(), CSeqVector::IsInGap(), CSeq_loc_Base::IsMix(), CSeq_loc_Base::IsNull(), CSeq_loc::IsPartialStart(), CSeq_loc::IsPartialStop(), CSpliced_seg_Base::IsSetPoly_a(), CSeq_align_Base::C_Segs::IsSpliced(), ITERATE, m_allowed_unaligned, m_scope, CFeatureGenerator::SImplementation::SMapper::Map(), CSeq_loc_Mapper_Base::Map(), NCBI_THROW, NON_CONST_ITERATE, NULL, offset, CRef< C, Locker >::Reset(), CSeq_feat_Base::ResetId(), CSeq_interval_Base::SetFrom(), CSeq_loc::SetId(), CSeq_loc::SetInt(), CSeq_feat_Base::SetLocation(), CFeatureGenerator::SImplementation::SMapper::SetMergeNone(), CSeq_loc::SetMix(), CSeq_loc::SetPacked_int(), CSeq_loc::SetPartialStart(), CSeq_loc::SetPartialStop(), CSeq_loc::SetStrand(), CSeq_interval_Base::SetTo(), CSeqVector::size(), and CSeq_loc_Base::Which().

Referenced by x_CreateCdsFeature(), and x_CreateNcRnaFeature().

◆ x_SetComment()

void CFeatureGenerator::SImplementation::x_SetComment ( CSeq_feat rna_feat,
CSeq_feat cds_feat,
const CSeq_feat cds_feat_on_mrna,
const CSeq_align align,
const CRangeCollection< TSeqPos > &  mismatch_locs,
const CRangeCollection< TSeqPos > &  insert_locs,
const CRangeCollection< TSeqPos > &  delete_locs,
map< TSeqPos, TSeqPos > &  delete_sizes,
bool  partial_unaligned_edge 
)
private

Definition at line 3588 of file gene_model.cpp.

References CSeq_feat::AddExt(), CUser_object::AddField(), CSeq_id::Assign(), CSeq_loc::begin(), CSeqConvert::Convert(), Convert(), CCode_break_Base::C_Aa::e_Ncbi8aa, CSeqUtil::e_Ncbi8aa, CCode_break_Base::C_Aa::e_Ncbieaa, CSeqUtil::e_Ncbieaa, CCode_break_Base::C_Aa::e_Ncbistdaa, CSeqUtil::e_Ncbistdaa, CBioseq_Handle::eCoding_Iupac, eExtreme_Biological, eExtreme_Positional, CRangeCollection< Position >::empty(), CSeq_loc::end(), NStr::EndsWith(), CSeq_loc_Mapper_Base::eProductToLocation, CSeq_loc_Mapper_Base::eSplicedRow_Gen, CSeq_loc_Mapper_Base::eSplicedRow_Prod, eUnknown, map_checker< Container >::find(), CSeqFeatData_Base::GetCdregion(), CCdregion_Base::GetCode_break(), CTrans_table::GetCodonResidue(), CSeq_feat_Base::GetComment(), CRangeCollection< Position >::GetCoveredLength(), CUser_object_Base::GetData(), CSeq_feat_Base::GetData(), CRangeCollection< Position >::GetFrom(), CSeq_loc::GetId(), CSeq_feat_Base::GetLocation(), CScoreBuilderBase::GetPercentCoverage(), CSeq_feat_Base::GetProduct(), CSeq_loc::GetStart(), CTrans_table::GetStartResidue(), CSeq_loc::GetTotalRange(), CGen_code_table::GetTransTable(), set< Key, Compare >::insert(), CSeq_loc::IsPartialStart(), CCdregion_Base::IsSetCode_break(), CSeq_feat_Base::IsSetComment(), ITERATE, k_cds_comment, k_rna_comment, m_is_best_refseq, m_is_gnomon, m_scope, CSeq_loc_Mapper_Base::Map(), NCBI_ASSERT, NCBI_THROW, NStr::NumericToString(), prot, s_Count(), CTrans_table::SetCodonState(), CSeq_feat_Base::SetComment(), CUser_object_Base::SetType(), set< Key, Compare >::size(), CRangeCollection< Position >::size(), CSeqVector::size(), and string.

Referenced by x_HandleRnaExceptions().

◆ x_SetCommentForGapFilledModel()

void CFeatureGenerator::SImplementation::x_SetCommentForGapFilledModel ( CSeq_feat feat,
TSeqPos  insert_length 
)
private

◆ x_SetExceptText()

void CFeatureGenerator::SImplementation::x_SetExceptText ( CSeq_feat feat,
const string except_text 
)
private

◆ x_SetQualForGapFilledModel()

void CFeatureGenerator::SImplementation::x_SetQualForGapFilledModel ( CSeq_feat feat,
CSeq_id_Handle  id 
)
private

Member Data Documentation

◆ genes

TGeneMap CFeatureGenerator::SImplementation::genes

Definition at line 80 of file feature_generator.hpp.

Referenced by ConvertMixedAlignToAnnot().

◆ m_allowed_unaligned

TSeqPos CFeatureGenerator::SImplementation::m_allowed_unaligned

◆ m_flags

TFeatureGeneratorFlags CFeatureGenerator::SImplementation::m_flags

◆ m_intron_stitch_threshold_flags

EIntronStitchThresholdFlags CFeatureGenerator::SImplementation::m_intron_stitch_threshold_flags

Definition at line 73 of file feature_generator.hpp.

◆ m_is_best_refseq

bool CFeatureGenerator::SImplementation::m_is_best_refseq

Definition at line 77 of file feature_generator.hpp.

Referenced by x_CreateProteinBioseq(), and x_SetComment().

◆ m_is_gnomon

bool CFeatureGenerator::SImplementation::m_is_gnomon

Definition at line 76 of file feature_generator.hpp.

Referenced by x_SetComment().

◆ m_min_intron

TSeqPos CFeatureGenerator::SImplementation::m_min_intron

Definition at line 74 of file feature_generator.hpp.

◆ m_scope

CRef<objects::CScope> CFeatureGenerator::SImplementation::m_scope

The documentation for this struct was generated from the following files:
Modified on Thu May 23 12:34:49 2024 by modify_doxy.py rev. 669887