Go to the source code of this file.
Go to the SVN repository for this file.
USING_SCOPE (objects) void Canonicalize (CSeq_loc &loc) Recursively convert empty container-locs to null-locs, drop null sublocs from containers, and unwrap singleton containers. More...first and ::second indicate partialness for of a loc or an exon, 5' and 3' end respectively.
Definition at line 124 of file project_exons.cpp.
◆ AreAbuttingOnProduct() ◆ as_nucpos() ◆ AugmentPartialness() ◆ Canonicalize()Recursively convert empty container-locs to null-locs, drop null sublocs from containers, and unwrap singleton containers.
Definition at line 75 of file project_exons.cpp.
References CSeq_loc::Assign(), CPacked_seqint_Base::Get(), CSeq_loc_mix_Base::Get(), CSeq_loc_Base::GetMix(), CSeq_loc_Base::GetPacked_int(), CSeq_loc_Base::IsMix(), CSeq_loc_Base::IsNull(), CSeq_loc_Base::IsPacked_int(), NON_CONST_ITERATE, CSeq_loc::SetInt(), CSeq_loc::SetMix(), and CSeq_loc::SetNull().
Referenced by CollapseDiscontinuitiesInUTR(), and ProjectExons().
◆ CollapseDiscontinuitiesInUTR()Precondition: input loc is discontinuity-preserving RNA loc Postcontition: adjacent packed-ints having the discontinuity between them entirely outside of cds-range are merged into single interval.
Definition at line 1620 of file project_exons.cpp.
References CSeq_loc::Assign(), CSerialObject::Assign(), Canonicalize(), CSeq_loc_Base::e_Null, CSerialObject::Equals(), CSeq_loc::fMerge_SingleRange, CPacked_seqint_Base::Get(), CSeq_loc_mix_Base::Get(), CSeq_interval_Base::GetFrom(), CSeq_interval_Base::GetId(), CSeq_loc_Base::GetInt(), CSeq_loc_Base::GetMix(), CSeq_loc_Base::GetPacked_int(), CSeq_interval_Base::GetStrand(), CSeq_interval_Base::GetTo(), CSeq_loc_Base::IsMix(), CSeq_loc_Base::IsPacked_int(), ITERATE, MSerial_AsnText, NcbiCerr, NULL, Seq_loc_Add(), SerialClone(), CSeq_loc::SetInt(), CSeq_loc::SetMix(), and CSeq_loc::SetPacked_int().
Referenced by CFeatureGenerator::s_ProjectRNA().
◆ CollapseExonStructure()Create an exon with the structure consisting of two diags extending inwards from the exon terminals with a single gap of required length in the middle.
This is used for projecting cds-exons consisting entirely of gaps (see ProjectExons)
Definition at line 1224 of file project_exons.cpp.
References as_nucpos(), max(), min(), and SerialClone().
◆ GetExonPartialness() ◆ GetTerminalPartialness()Return whether 5' and/or 3' end of exons-loc is partial based on unaligned tails in case of RNA, or overlap of product-cds-loc with unaligned tails, in case of CDS.
Definition at line 201 of file project_exons.cpp.
References CProduct_pos::AsSeqPos(), eExtreme_Positional, eNa_strand_minus, CSpliced_seg_Base::eProduct_type_protein, CSpliced_seg_Base::GetExons(), CSpliced_exon_Base::GetProduct_end(), CSpliced_exon_Base::GetProduct_start(), CSpliced_seg_Base::GetProduct_type(), CSeq_align_Base::GetSegs(), CSeq_align::GetSeqStrand(), CSeq_align_Base::C_Segs::GetSpliced(), CSeq_loc::GetStart(), CSeq_loc::GetStop(), GetUnalignedLength_3p(), GetUnalignedLength_5p(), CSeq_loc::IsPartialStart(), CSeq_loc::IsPartialStop(), ITERATE, and swap().
Referenced by ProjectExons().
◆ GetUnalignedLength_3p() ◆ GetUnalignedLength_5p() ◆ PreserveTerminalCodons()Definition at line 1705 of file project_exons.cpp.
References _ASSERT, NTweakExon::AdjustBioStart(), NTweakExon::AdjustBioStop(), eNa_strand_minus, CPacked_seqint_Base::Get(), GetLength(), CSeq_loc_Base::GetPacked_int(), CSeq_loc::GetStrand(), CSeq_loc_Base::IsMix(), CSeq_loc_Base::IsPacked_int(), kInvalidSeqPos, next(), NULL, prev(), CSeq_loc_mix_Base::Set(), CSeq_loc::SetMix(), CSeq_loc::SetPacked_int(), and swap().
Referenced by CFeatureGenerator::s_ProjectCDS(), and CFeatureGenerator::s_ProjectRNA().
◆ ProjectAndCollapseCDS()Definition at line 1443 of file project_exons.cpp.
References CSeq_loc_CI::eEmpty_Skip, CSeq_loc_CI::eOrder_Biological, CSeq_loc::fMerge_SingleRange, CSeq_loc_Base::IsInt(), CSeq_loc_Base::IsNull(), CSeq_loc_Mapper_Base::Map(), NCBI_USER_THROW, NULL, out(), Seq_loc_Merge(), and CSeq_loc::SetInt().
Referenced by ProjectExons().
◆ ProjectExon() ◆ ProjectExon_newlogic()Definition at line 1100 of file project_exons.cpp.
References as_nucpos(), blocks, NTweakExon::CollapseNonframeshiftting(), CSeq_loc_Base::e_Packed_int, eExtreme_Positional, eNa_strand_minus, eUnknown, CSpliced_exon_Base::GetGenomic_end(), CSpliced_exon_Base::GetGenomic_id(), CSpliced_exon_Base::GetGenomic_start(), CSpliced_exon_Base::GetGenomic_strand(), GetLength(), CSpliced_exon_Base::GetProduct_end(), CSpliced_exon_Base::GetProduct_start(), CSeq_loc::GetStart(), CSeq_loc::GetStop(), CSpliced_exon_Base::IsSetGenomic_id(), CSpliced_exon_Base::IsSetGenomic_strand(), CSpliced_exon_Base::IsSetParts(), ITERATE, len, MSerial_AsnText, NCBI_RETHROW_SAME, NCBI_THROW, NCBI_USER_THROW, NcbiCerr, NULL, CSeq_interval_Base::SetFrom(), CSeq_interval_Base::SetId(), CSeq_loc::SetInt(), CSeq_loc::SetPacked_int(), CSeq_interval_Base::SetStrand(), CSeq_interval_Base::SetTo(), and NTweakExon::SubsumeMicroIntervals().
Referenced by ProjectExon().
◆ ProjectExon_oldlogic()Definition at line 760 of file project_exons.cpp.
References CSeq_loc_Base::e_Packed_int, eNa_strand_minus, CSpliced_exon_chunk_Base::GetDiag(), CSpliced_exon_chunk_Base::GetGenomic_ins(), CSpliced_exon_chunk_Base::GetMatch(), CSpliced_exon_chunk_Base::GetMismatch(), CSpliced_exon_chunk_Base::GetProduct_ins(), CSpliced_exon_chunk_Base::IsDiag(), CSpliced_exon_chunk_Base::IsGenomic_ins(), CSpliced_exon_chunk_Base::IsMatch(), CSpliced_exon_chunk_Base::IsMismatch(), CSpliced_exon_chunk_Base::IsProduct_ins(), ITERATE, len, NON_CONST_ITERATE, CSeq_interval_Base::SetFrom(), CSeq_interval_Base::SetId(), CSeq_loc::SetInt(), CSeq_loc::SetPacked_int(), CSeq_interval_Base::SetStrand(), CSeq_interval_Base::SetTo(), spliced_exon(), and NTweakExon::TweakExon().
Referenced by ProjectExon().
◆ ProjectExons()Definition at line 1543 of file project_exons.cpp.
References AugmentPartialness(), Canonicalize(), CSeq_loc_Base::e_Mix, eExtreme_Positional, eNa_strand_minus, GetExonPartialness(), CSpliced_seg_Base::GetExons(), CSeq_loc::GetId(), CSeq_align_Base::GetSegs(), CSeq_align::GetSeq_id(), CSeq_align::GetSeqStrand(), CSeq_align_Base::C_Segs::GetSpliced(), GetStart(), GetStop(), GetTerminalPartialness(), ITERATE, NULL, ProjectAndCollapseCDS(), ProjectExon(), CSeq_loc::SetMix(), CSeq_loc::SetPartialStart(), CSeq_loc::SetPartialStop(), spliced_exon(), swap(), and TruncateToCDS().
Referenced by CFeatureGenerator::s_ProjectCDS(), and CFeatureGenerator::s_ProjectRNA().
◆ TransferPartialness()Definition at line 1481 of file project_exons.cpp.
References eExtreme_Biological, CSerialObject::Equals(), CSeq_loc::GetId(), CSeq_loc::GetStart(), CSeq_loc::GetStop(), CSeq_loc::GetStrand(), CSeq_loc::IsPartialStart(), CSeq_loc::IsPartialStop(), CSeq_loc::IsTruncatedStart(), CSeq_loc::IsTruncatedStop(), CSeq_loc::SetPartialStart(), CSeq_loc::SetPartialStop(), CSeq_loc::SetTruncatedStart(), and CSeq_loc::SetTruncatedStop().
Referenced by TruncateToCDS().
◆ TruncateToCDS() ◆ USING_SCOPE()RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4