NCBI C++ ToolKit
|
#include <ncbi_pch.hpp>
#include <corelib/ncbistd.hpp>
#include <corelib/ncbi_autoinit.hpp>
#include <objects/misc/sequence_macros.hpp>
#include <objects/pub/Pub.hpp>
#include <objects/pub/Pub_equiv.hpp>
#include <objects/seq/Bioseq.hpp>
#include <objects/seq/Pubdesc.hpp>
#include <objects/seq/Seq_descr.hpp>
#include <objects/seq/Seq_ext.hpp>
#include <objects/seq/Seg_ext.hpp>
#include <objects/seq/seqport_util.hpp>
#include <objects/seqalign/Dense_diag.hpp>
#include <objects/seqalign/Dense_seg.hpp>
#include <objmgr/align_ci.hpp>
#include <objmgr/bioseq_handle.hpp>
#include <objmgr/bioseq_set_handle.hpp>
#include <objmgr/feat_ci.hpp>
#include <objmgr/scope.hpp>
#include <objmgr/seq_entry_ci.hpp>
#include <objmgr/seq_annot_ci.hpp>
#include <objmgr/seq_descr_ci.hpp>
#include <objmgr/seqdesc_ci.hpp>
#include <objmgr/util/seq_loc_util.hpp>
#include <objmgr/util/feature_edit.hpp>
#include <objmgr/graph_ci.hpp>
#include <objmgr/seq_vector.hpp>
#include <objmgr/util/sequence.hpp>
#include <util/sequtil/sequtil_convert.hpp>
#include <objtools/edit/edit_exception.hpp>
#include <objtools/edit/seq_entry_edit.hpp>
#include <objtools/edit/loc_edit.hpp>
#include <objmgr/util/autodef_options.hpp>
#include <set>
#include <sstream>
#include <map>
Go to the source code of this file.
Go to the SVN repository for this file.
Classes | |
struct | SSerialObjectLessThan< T > |
struct | CSerialObjectSet< T > |
class | CRangeCmp |
Helper functor to compare cuts during sorting. More... | |
Typedefs | |
typedef map< CSeq_entry_Handle, CSeq_entry_Handle > | TMapDescendentToInputEntry |
typedef CMapWithOriginalOrderingIteration< CRef< CSeq_annot >, CSeq_entry_Handle > | TMapSeqAnnotToDest |
typedef vector< CSeq_annot_Handle > | TVecOfSeqAnnotsToErase |
typedef vector< CConstRef< CSeq_align > > | TAlignVec |
typedef CMapWithOriginalOrderingIteration< CSeq_entry_Handle, TAlignVec > | TMapEntryToAlignVec |
Functions | |
CConstRef< CDelta_seq > | GetDeltaSeqForPosition (const unsigned pos, const CBioseq_Handle seq_hl, CScope *scope, unsigned &left_endpoint) |
bool | IsDeltaSeqGap (CConstRef< CDelta_seq > delta) |
bool | Does5primerAbutGap (const CSeq_feat &feat, CBioseq_Handle seq_hl) |
bool | Does3primerAbutGap (const CSeq_feat &feat, CBioseq_Handle seq_hl) |
static void | s_AddBioseqToPartsSet (CBioseq_set_EditHandle &parts, CBioseq_EditHandle &seq) |
static void | s_AddPartToSegmentedBioseq (const CBioseq_EditHandle &seg, const CBioseq_EditHandle &part) |
static void | s_AddBioseqToSegset (CBioseq_set_EditHandle &segset, CBioseq_EditHandle &part) |
void | AddSeqEntryToSeqEntry (const CSeq_entry_Handle &target, const CSeq_entry_Handle &insert) |
Attach one Seq-entry to another. More... | |
static void | s_AddProtToNuc (const CBioseq_EditHandle &nuc, const CBioseq_EditHandle &prot) |
static CSeq_id * | s_MakeUniqueLocalId (void) |
static void | s_AddBioseqToBioseq (const CBioseq_EditHandle &to, const CBioseq_EditHandle &add) |
void | AddBioseqToBioseq (const CBioseq_Handle &to, const CBioseq_Handle &add) |
Attach one Bioseq to another. More... | |
static void | s_AddBioseqToNucProtSet (CBioseq_set_EditHandle &nuc_prot, CBioseq_EditHandle &seq) |
void | AddBioseqToBioseqSet (const CBioseq_set_Handle &set, const CBioseq_Handle &seq) |
Add a Bioseq to a Bioseq-set. More... | |
bool | IsSeqDescInList (const CSeqdesc &desc, const CSeq_descr &set) |
void | AddSeqdescToSeqDescr (const CSeqdesc &desc, CSeq_descr &seq_descr) |
void | AddSeqdescToBioseq (const CSeqdesc &desc, CBioseq &seq) |
void | AddSeqdescToBioseqSet (const CSeqdesc &desc, CBioseq_set &set) |
bool | AddSeqdescToSeqEntryRecursively (CSeq_entry &entry, CSeqdesc &desc) |
CRef< CSeq_entry > | SeqEntryFromSeqSubmit (const CSeq_submit &submit) |
Create a Seq-entry from a Seq-submit. More... | |
static bool | s_IsSingletonSet (const CBioseq_set_Handle &bioseq_set) |
static void | s_PromoteSingletonSetsInSet (const CBioseq_set_Handle &bioseq_set_h) |
static void | s_MakeGroupsForUniqueValues (const CSeq_entry_Handle &target, const CScope::TBioseqHandles &bioseq_handles) |
void | SegregateSetsByBioseqList (const CSeq_entry_Handle &target, const CScope::TBioseqHandles &bioseq_handles) |
Split a Seq-entry, where the second part holds the given bioseqs. More... | |
static bool | s_DivvyUpAlignments_ProcessAnnot_Dendiag (const CSeq_align_Handle &align, const TMapDescendentToInputEntry &mapDescendentToInputEntry, TMapEntryToAlignVec &mapEntryToAlignVec) |
static bool | s_DivvyUpAlignments_ProcessAnnot_Denseg (const CSeq_align_Handle &align, const TMapDescendentToInputEntry &mapDescendentToInputEntry, TMapEntryToAlignVec &mapEntryToAlignVec) |
static void | s_DivvyUpAlignments_ProcessAnnot (const CSeq_annot_Handle &annot_h, const TMapDescendentToInputEntry &mapDescendentToInputEntry, TMapSeqAnnotToDest &mapSeqAnnotToDest, TVecOfSeqAnnotsToErase &vecOfSeqAnnotToErase) |
void | DivvyUpAlignments (const TVecOfSeqEntryHandles &vecOfSeqEntryHandles) |
Call this if the alignments directly under these seq-entries are all jumbled up between each other. More... | |
void | BioseqSetDescriptorPropagateUp (CBioseq_set_Handle set) |
Moves descriptors up from children of the given bioseq-set if each child has an identical copy of the descriptor. More... | |
void | BioseqSetDescriptorPropagateDown (const CBioseq_set_Handle &bioseq_set_h, const vector< CSeqdesc::E_Choice > &choices_to_delete) |
Moves descriptors down to children of the given bioseq-set. More... | |
CSeq_id::E_Choice | TypeFromLabel (const string &label) |
string | LabelFromType (CSeq_id::E_Choice choice) |
string | MakeOriginalLabelForId (const CSeq_id &id) |
CRef< CUser_field > | MakeOriginalIdField (const CSeq_id &id) |
void | AddLocalIdUserObjects (CSeq_entry &entry) |
Creates a User-object descriptor on every sequence that has a local ID Contains the original local ID. More... | |
bool | IsMatchingIdMissing (const CUser_field &field, const CBioseq::TId &ids) |
bool | HasRepairedIDs (const CUser_object &user, const CBioseq::TId &ids) |
bool | HasRepairedIDs (const CSeq_entry &entry) |
Detects whether colliding IDs were fixed by comparing sequence IDs to the contents of the OriginalID User-object descriptor. More... | |
void | RemoveUserObjectType (CSeq_entry &entry, CUser_object::EObjectType type) |
Removes User-object descriptors of a certain type from the seq-entry. More... | |
void | HandleCollidingIds (CSeq_entry &entry) |
void | s_AddLiteral (CSeq_inst &inst, const string &element) |
void | s_AddGap (CSeq_inst &inst, size_t n_len, bool is_unknown, bool is_assembly_gap=false, int gap_type=CSeq_gap::eType_unknown, int linkage=-1, int linkage_evidence=-1) |
void | ConvertRawToDeltaByNs (CSeq_inst &inst, size_t min_unknown, int max_unknown, size_t min_known, int max_known, bool is_assembly_gap, int gap_type, int linkage, int linkage_evidence) |
ConvertRawToDeltaByNs A function to convert a raw sequence to a delta sequence, using runs of Ns to determine the gap location. More... | |
TLocAdjustmentVector | NormalizeUnknownLengthGaps (CSeq_inst &inst, TSeqPos unknown_length) |
NormalizeUnknownLengthGaps A function to adjust the length of unknown-length gaps to a specific length (100 by default). More... | |
void | ConvertRawToDeltaByNs (CBioseq_Handle bsh, size_t min_unknown, int max_unknown, size_t min_known, int max_known, bool is_assembly_gap, int gap_type, int linkage, int linkage_evidence) |
void | SetLinkageType (CSeq_ext &ext, CSeq_gap::TType linkage_type) |
SetLinkageType A function to set the linkage_type for gaps in a delta sequence. More... | |
void | SetLinkageTypeScaffold (CSeq_ext &ext, CLinkage_evidence::TType evidence_type) |
SetLinkageTypeScaffold A special case of SetLinkageType. More... | |
void | SetLinkageTypeLinkedRepeat (CSeq_ext &ext, CLinkage_evidence::TType evidence_type) |
void | AddLinkageEvidence (CSeq_ext &ext, CLinkage_evidence::TType evidence_type) |
AddLinkageEvidence A function to add linkage evidence for gaps in a delta sequence. More... | |
void | ResetLinkageEvidence (CSeq_ext &ext) |
ResetLinkageEvidence A function to clear linkage evidence for gaps in a delta sequence. More... | |
void | s_BasicValidation (CBioseq_Handle bsh, const TCuts &cuts) |
static TRange | s_GetRetainedRange (const TCuts &sorted_merged_cuts, TSeqPos seqLength) |
void | TrimSequenceAndAnnotation (CBioseq_Handle bsh, const TCuts &cuts, EInternalTrimType internal_cut_conversion) |
Implementation detail: first trim all associated annotation, then trim sequence data. More... | |
static void | s_MergeCuts (TCuts &sorted_cuts) |
Assumes sorted_cuts are sorted in Ascending order! More... | |
static void | s_AdjustInternalCutLocations (TCuts &cuts, TSeqPos seq_length, EInternalTrimType internal_cut_conversion) |
Adjust any internal cuts to terminal cuts. More... | |
void | GetSortedCuts (CBioseq_Handle bsh, const TCuts &cuts, TCuts &sorted_cuts, EInternalTrimType internal_cut_conversion) |
1) Adjust any internal cuts to terminal cuts according to option. More... | |
void | UpdateSeqLength (CAutoInitRef< CDelta_ext > &pDeltaExt, CBioseq_Handle &complete_bsh, CSeqMap_CI &seqmap_ci, CSeq_inst_Base::TLength &new_length) |
Update sequence length. More... | |
void | TrimSeqData (CBioseq_Handle bsh, CRef< CSeq_inst > inst, const TCuts &sorted_cuts) |
Trim sequence data. More... | |
static void | s_GetTrimCoordinates (CBioseq_Handle bsh, const TCuts &sorted_cuts, TSeqPos &trim_start, TSeqPos &trim_stop) |
static void | s_SeqIntervalDelete (CRef< CSeq_interval > interval, TSeqPos cut_from, TSeqPos cut_to, bool &bCompleteCut, bool &bTrimmed) |
static void | s_SeqLocDelete (CRef< CSeq_loc > loc, TSeqPos from, TSeqPos to, bool &bCompleteCut, bool &bTrimmed) |
static void | s_UpdateSeqGraphLoc (CRef< CSeq_graph > graph, const TCuts &sorted_cuts) |
void | TrimSeqGraph (CBioseq_Handle bsh, CRef< CSeq_graph > graph, const TCuts &sorted_cuts) |
Trim Seq-graph annotation. More... | |
bool | s_FindSegment (const CDense_seg &denseg, CDense_seg::TDim row, TSeqPos pos, CDense_seg::TNumseg &seg, TSeqPos &seg_start) |
void | s_CutDensegSegment (CRef< CSeq_align > align, CDense_seg::TDim row, TSeqPos pos) |
void | TrimSeqAlign (CBioseq_Handle bsh, CRef< CSeq_align > align, const TCuts &sorted_cuts) |
Trim Seq-align annotation. More... | |
void | SetPartial (CSeq_loc &loc, CRef< CSeq_feat > feat, CSeq_loc::TStrand strand, bool partial_start, bool partial_stop) |
void | TrimSeqFeat (CRef< CSeq_feat > feat, const TCuts &sorted_cuts, bool &bFeatureDeleted, bool &bFeatureTrimmed, bool &partial_start, bool &partial_stop) |
Trim Seq-feat annotation. More... | |
void | DeleteProteinAndRenormalizeNucProtSet (const CSeq_feat_Handle &feat_h) |
Secondary function needed after trimming Seq-feat. More... | |
void | AdjustCdregionFrame (TSeqPos original_nuc_len, CRef< CSeq_feat > cds, const TCuts &sorted_cuts) |
Secondary function needed after trimming Seq-feat. More... | |
CRef< CBioseq > | SetNewProteinSequence (CScope &new_scope, CRef< CSeq_feat > cds, CRef< CSeq_inst > new_inst) |
Secondary function needed after trimming Seq-feat. More... | |
void | RetranslateCdregion (CBioseq_Handle nuc_bsh, bool isPartialStart, bool isPartialStop, CRef< CSeq_inst > trimmed_nuc_inst, CRef< CSeq_feat > cds, const TCuts &sorted_cuts) |
Secondary function needed after trimming Seq-feat. More... | |
CRef< CSeqdesc > | FindUnverified (const CBioseq &seq) |
bool | IsUnverifiedOrganism (const CBioseq &seq) |
bool | IsUnverifiedFeature (const CBioseq &seq) |
bool | IsUnverifiedMisassembled (const CBioseq &seq) |
bool | IsUnverifiedContaminant (const CBioseq &seq) |
void | SortSeqDescr (CSeq_descr &descr) |
void | SortSeqDescr (CSeq_entry &entry) |
const string & | GetTargetedLocusName (const CGene_ref &gene) |
const string & | GetTargetedLocusName (const CProt_ref &prot) |
string | GetTargetedLocusName (const CRNA_ref &rna) |
string | GetTargetedLocusName (const CSeq_feat &feat) |
string | GetTargetedLocusName (const CSeq_feat &cds, CScope &scope) |
string | GenerateTargetedLocusName (CBioseq_Handle seq) |
void | SetTargetedLocusName (CBioseq_Handle seq, const string &tls) |
string | GetTargetedLocusNameConsensus (const string &tls1, const string &tls2) |
typedef vector< CConstRef<CSeq_align> > TAlignVec |
Definition at line 996 of file seq_entry_edit.cpp.
Definition at line 992 of file seq_entry_edit.cpp.
typedef CMapWithOriginalOrderingIteration<CSeq_entry_Handle, TAlignVec> TMapEntryToAlignVec |
Definition at line 997 of file seq_entry_edit.cpp.
typedef CMapWithOriginalOrderingIteration< CRef<CSeq_annot>, CSeq_entry_Handle> TMapSeqAnnotToDest |
Definition at line 993 of file seq_entry_edit.cpp.
typedef vector<CSeq_annot_Handle> TVecOfSeqAnnotsToErase |
Definition at line 994 of file seq_entry_edit.cpp.
void AddBioseqToBioseq | ( | const CBioseq_Handle & | to, |
const CBioseq_Handle & | add | ||
) |
Attach one Bioseq to another.
This function will add one Bioseq to another if: 1. 'to' is a nucleotide and 'add' is a protein. The result is a nuc-prot set contating both elements. 2. both Bioseqs have the same molecular type. The result is a segmented bioseq of which the two bioseqs serve as parts. 3. 'to' is a segmented bioseq and 'add' has the same molecular type as 'to'. 'add' will be added as a new part of 'to'.
to | Bioseq to change |
add | Bioseq to add |
Definition at line 414 of file seq_entry_edit.cpp.
References CBioseq_Handle::GetEditHandle(), CBioseq_Handle::GetInst_Mol(), CSeq_inst::IsAa(), CSeq_inst::IsNa(), s_AddBioseqToBioseq(), and s_AddProtToNuc().
Referenced by AddSeqEntryToSeqEntry(), and s_AddBioseqToNucProtSet().
void AddBioseqToBioseqSet | ( | const CBioseq_set_Handle & | bsst, |
const CBioseq_Handle & | seq | ||
) |
Add a Bioseq to a Bioseq-set.
This function will add the Bioseq to the set if: 1. The set is of class 'parts' and the Bioseq has the same molecular type as the other parts. 2.
bsst | Bioseq to change |
seq | Bioseq to add |
Definition at line 469 of file seq_entry_edit.cpp.
References CBioseq_set_Base::eClass_conset, CBioseq_set_Base::eClass_eco_set, CBioseq_set_Base::eClass_equiv, CBioseq_set_Base::eClass_gen_prod_set, CBioseq_set_Base::eClass_genbank, CBioseq_set_Base::eClass_gi, CBioseq_set_Base::eClass_gibb, CBioseq_set_Base::eClass_mut_set, CBioseq_set_Base::eClass_nuc_prot, CBioseq_set_Base::eClass_other, CBioseq_set_Base::eClass_parts, CBioseq_set_Base::eClass_pdb_entry, CBioseq_set_Base::eClass_phy_set, CBioseq_set_Base::eClass_pir, CBioseq_set_Base::eClass_pop_set, CBioseq_set_Base::eClass_pub_set, CBioseq_set_Base::eClass_segset, CBioseq_set_Base::eClass_swissprot, CBioseq_set_Base::eClass_wgs_set, CBioseq_set_Handle::GetClass(), CBioseq_Handle::GetEditHandle(), CBioseq_EditHandle::MoveTo(), s_AddBioseqToNucProtSet(), s_AddBioseqToPartsSet(), and s_AddBioseqToSegset().
Referenced by AddSeqEntryToSeqEntry().
void AddLinkageEvidence | ( | CSeq_ext & | ext, |
CLinkage_evidence::TType | evidence_type | ||
) |
AddLinkageEvidence A function to add linkage evidence for gaps in a delta sequence.
Note that this function will automatically set the linkage to eLinkage_linked.
ext | The Seq_ext to adjust |
evidence_type | The evidence type to use. |
Definition at line 2040 of file seq_entry_edit.cpp.
References CSeq_gap::AddLinkageEvidence(), NON_CONST_ITERATE, CDelta_ext_Base::Set(), and CSeq_ext_Base::SetDelta().
void AddLocalIdUserObjects | ( | CSeq_entry & | entry | ) |
Creates a User-object descriptor on every sequence that has a local ID Contains the original local ID.
Definition at line 1583 of file seq_entry_edit.cpp.
References CUser_object::eObjectType_OriginalId, CSeq_descr_Base::Get(), CBioseq_Base::GetDescr(), CBioseq_Base::GetId(), CSeq_entry_Base::GetSeq(), CSeq_entry_Base::GetSet(), CSeq_entry_Base::IsSeq(), CSeq_entry_Base::IsSet(), CUser_object_Base::IsSetData(), CBioseq_Base::IsSetDescr(), CBioseq_set_Base::IsSetSeq_set(), ITERATE, MakeOriginalIdField(), NON_CONST_ITERATE, CUser_object_Base::SetData(), CBioseq_Base::SetDescr(), CUser_object::SetObjectType(), CSeq_entry_Base::SetSeq(), CBioseq_set_Base::SetSeq_set(), CSeq_entry_Base::SetSet(), and CSeqdesc_Base::SetUser().
Referenced by BOOST_AUTO_TEST_CASE(), HandleCollidingIds(), and TestCollidingAccessionFixes().
Definition at line 549 of file seq_entry_edit.cpp.
References AddSeqdescToSeqDescr(), CBioseq_Base::GetDescr(), IsSeqDescInList(), CBioseq_Base::IsSetDescr(), and CBioseq_Base::SetDescr().
Referenced by AddSeqdescToSeqEntryRecursively(), and SeqEntryFromSeqSubmit().
void AddSeqdescToBioseqSet | ( | const CSeqdesc & | desc, |
CBioseq_set & | set | ||
) |
Definition at line 557 of file seq_entry_edit.cpp.
References AddSeqdescToSeqDescr(), and IsSeqDescInList().
Referenced by AddSeqdescToSeqEntryRecursively().
void AddSeqdescToSeqDescr | ( | const CSeqdesc & | desc, |
CSeq_descr & | seq_descr | ||
) |
Definition at line 541 of file seq_entry_edit.cpp.
References CSerialObject::Assign(), and CSeq_descr_Base::Set().
Referenced by AddSeqdescToBioseq(), and AddSeqdescToBioseqSet().
bool AddSeqdescToSeqEntryRecursively | ( | CSeq_entry & | entry, |
CSeqdesc & | desc | ||
) |
Definition at line 565 of file seq_entry_edit.cpp.
References AddSeqdescToBioseq(), AddSeqdescToBioseqSet(), CBioseq_set_Base::eClass_nuc_prot, CBioseq_set_Base::eClass_segset, CBioseq_set_Base::GetClass(), CSeq_entry_Base::GetSet(), CSeq_entry_Base::IsSeq(), CSeq_entry_Base::IsSet(), CBioseq_set_Base::IsSetClass(), CBioseq_set_Base::IsSetSeq_set(), NON_CONST_ITERATE, CSeq_entry_Base::SetSeq(), CBioseq_set_Base::SetSeq_set(), and CSeq_entry_Base::SetSet().
Referenced by SeqEntryFromSeqSubmit().
void AddSeqEntryToSeqEntry | ( | const CSeq_entry_Handle & | to, |
const CSeq_entry_Handle & | add | ||
) |
Attach one Seq-entry to another.
to | Seq-entry to change |
add | Seq-entry to add |
Definition at line 344 of file seq_entry_edit.cpp.
References AddBioseqToBioseq(), AddBioseqToBioseqSet(), CSeq_entry_Handle::GetSeq(), CSeq_entry_Handle::GetSet(), CSeq_entry_Handle::IsSeq(), and CSeq_entry_Handle::IsSet().
void AdjustCdregionFrame | ( | TSeqPos | original_nuc_len, |
CRef< CSeq_feat > | cds, | ||
const TCuts & | sorted_cuts | ||
) |
Secondary function needed after trimming Seq-feat.
If TrimSeqFeat()'s bFeatureTrimmed returns true, then adjust cdregion frame.
Definition at line 3214 of file seq_entry_edit.cpp.
References CSeq_feat_Base::CanGetData(), CSeq_feat_Base::CanGetLocation(), eExtreme_Biological, eNa_strand_minus, eNa_strand_unknown, CSeqFeatData::eSubtype_cdregion, CSeqFeatData_Base::GetCdregion(), CSeq_feat_Base::GetData(), CRange_Base::GetFrom(), CSeq_feat_Base::GetLocation(), CSeq_loc::GetStrand(), CSeqFeatData::GetSubtype(), CRange_Base::GetTo(), CSeqFeatData_Base::IsCdregion(), CSeq_loc::IsPartialStart(), and CSeq_feat_Base::SetData().
void BioseqSetDescriptorPropagateDown | ( | const CBioseq_set_Handle & | bioseq_set_h, |
const vector< CSeqdesc::E_Choice > & | choices_to_delete = vector< CSeqdesc::E_Choice >() |
||
) |
Moves descriptors down to children of the given bioseq-set.
Each child gets a copy of all the descriptors. It does NOT check for duplicate Seqdescs.
bioseq_set_h | This is the bioseq_set whose descriptors we're moving. |
choices_to_delete | If non-empty, it indicates the types of CSeqdescs to delete instead of propagating. |
Definition at line 1447 of file seq_entry_edit.cpp.
References CSeq_entry_EditHandle::AddDescr(), CSeqdesc_Base::e_not_set, CSeq_entry_CI::eNonRecursive, CBioseq_set_Handle::GetEditHandle(), CSeq_entry_Handle::GetEditHandle(), CBioseq_set_Handle::GetParentEntry(), CBioseq_set_EditHandle::ResetDescr(), SerialClone(), CSeq_descr_Base::Set(), and CSeqdesc_Base::Which().
Referenced by BOOST_AUTO_TEST_CASE(), and s_PromoteSingletonSetsInSet().
void BioseqSetDescriptorPropagateUp | ( | CBioseq_set_Handle | set | ) |
Moves descriptors up from children of the given bioseq-set if each child has an identical copy of the descriptor.
It does NOT check for duplicate Seqdescs. Will not move molinfo, title, or source descriptors.
bioseq_set_h | This is the bioseq_set whose descriptors we're moving. |
Definition at line 1368 of file seq_entry_edit.cpp.
References CBioseq_set_EditHandle::AddSeqdesc(), CSerialObject::Assign(), first(), CSeq_descr_Base::Get(), CBioseq_set_Base::GetSeq_set(), CSeq_descr_Base::IsSet(), ITERATE, CBioseq_EditHandle::RemoveSeqdesc(), CBioseq_set_EditHandle::RemoveSeqdesc(), CSeq_descr_Base::Reset(), CSeq_descr_Base::Set(), CBioseq_EditHandle::SetDescr(), and CBioseq_set_EditHandle::SetDescr().
Referenced by BOOST_AUTO_TEST_CASE().
void ConvertRawToDeltaByNs | ( | CBioseq_Handle | bsh, |
size_t | min_unknown, | ||
int | max_unknown, | ||
size_t | min_known, | ||
int | max_known, | ||
bool | is_assembly_gap, | ||
int | gap_type, | ||
int | linkage, | ||
int | linkage_evidence | ||
) |
Definition at line 1944 of file seq_entry_edit.cpp.
References CSerialObject::Assign(), ConvertRawToDeltaByNs(), f, FeatureAdjustForInsert(), FeatureAdjustForTrim(), CBioseq_Handle::GetEditHandle(), CBioseq_Handle::GetInst(), NormalizeUnknownLengthGaps(), CSeq_feat_EditHandle::Remove(), CSeq_feat_EditHandle::Replace(), and CBioseq_EditHandle::SetInst().
void ConvertRawToDeltaByNs | ( | CSeq_inst & | inst, |
size_t | min_unknown, | ||
int | max_unknown, | ||
size_t | min_known, | ||
int | max_known, | ||
bool | is_assembly_gap, | ||
int | gap_type, | ||
int | linkage, | ||
int | linkage_evidence | ||
) |
ConvertRawToDeltaByNs A function to convert a raw sequence to a delta sequence, using runs of Ns to determine the gap location.
The size of the run of Ns determines whether a gap should be created and whether the gap should be of type known or unknown. Note that if the ranges overlap, unknown gaps will be preferred (allowing the user to create known length gaps for 20-forever, but unknown length gaps for 100, for example). Use a negative number for a maximum to indicate that there is no upper limit.
inst | The Seq-inst to adjust |
min_unknown | The minimum number of Ns to be converted to a gap of unknown length |
max_unknown | The maximum number of Ns to be converted to a gap of unknown length |
min_known | The minimum number of Ns to be converted to a gap of known length |
max_known | The maximum number of Ns to be converted to a gap of known length |
Definition at line 1804 of file seq_entry_edit.cpp.
References CSeqConvert::Convert(), CSeq_data_Base::e_Iupacna, CSeqUtil::e_Iupacna, CSeq_data_Base::e_Ncbi2na, CSeqUtil::e_Ncbi2na, CSeq_data_Base::e_Ncbi4na, CSeqUtil::e_Ncbi4na, CSeq_data_Base::e_Ncbi8na, CSeqUtil::e_Ncbi8na, CSeq_inst_Base::eRepr_delta, CSeq_inst_Base::eRepr_raw, CAliasBase< TPrim >::Get(), CSeq_data_Base::GetIupacna(), CSeq_inst_Base::GetLength(), CSeq_data_Base::GetNcbi2na(), CSeq_data_Base::GetNcbi4na(), CSeq_data_Base::GetNcbi8na(), CSeq_inst_Base::GetRepr(), CSeq_inst_Base::GetSeq_data(), CSeq_inst_Base::IsSetRepr(), CSeq_inst_Base::IsSetSeq_data(), ITERATE, CSeq_inst_Base::ResetSeq_data(), s_AddGap(), s_AddLiteral(), CSeq_inst_Base::SetRepr(), and CSeq_data_Base::Which().
Referenced by BOOST_AUTO_TEST_CASE(), ConvertRawToDeltaByNs(), ConvertRawToDeltaByNsCommand_impl(), and ConvertRawToDeltaByNsHugeFileCmd_impl().
void DeleteProteinAndRenormalizeNucProtSet | ( | const CSeq_feat_Handle & | feat_h | ) |
Secondary function needed after trimming Seq-feat.
If the trim completely covers the feature (boolean reference bFeatureDeleted from TrimSeqFeat() returns true), then delete protein sequence and re-normalize nuc-prot set.
Definition at line 3171 of file seq_entry_edit.cpp.
References CSeq_entry_EditHandle::ConvertSetToSeq(), CSeqFeatData_Base::e_Cdregion, CBioseq_set_Base::eClass_nuc_prot, CBioseq_set_Handle::GetBioseq_setCore(), CScope::GetBioseqHandle(), CBioseq_set_Handle::GetClass(), CSeq_feat_Handle::GetData(), CSeq_entry_Handle::GetEditHandle(), CBioseq_Handle::GetParentBioseq_set(), CBioseq_set_Handle::GetParentEntry(), CMappedFeat::GetProduct(), CSeq_feat_Handle::GetScope(), CBioseq_set_Base::GetSeq_set(), CBioseq_set_Handle::IsEmptySeq_set(), CBioseq_Handle::IsProtein(), CBioseq_Handle::IsRemoved(), CBioseq_set_Handle::IsSetClass(), CSeq_feat_Handle::IsSetData(), CSeq_feat_Handle::IsSetProduct(), CBioseq_EditHandle::Remove(), CSeq_feat_EditHandle::Remove(), and CSeqFeatData_Base::Which().
Referenced by BOOST_AUTO_TEST_CASE(), and TrimSequenceAndAnnotation().
void DivvyUpAlignments | ( | const TVecOfSeqEntryHandles & | vecOfSeqEntryHandles | ) |
Call this if the alignments directly under these seq-entries are all jumbled up between each other.
It will move each Seq-align into the proper location. In particular, it looks at all the seq-ids in each seq-align. If none of them belong to any member of vecOfSeqEntryHandles, then that Seq-align is copied to all members of vecOfSeqEntryHandles. If it belongs to only one member of vecOfSeqEntryHandles, then it goes there. If the align belongs to more than one, it's destroyed.
vecOfSeqEntryHandles | The Seq-entries we're considering for alignments. |
Definition at line 1304 of file seq_entry_edit.cpp.
References CSerialObject::Assign(), CSeq_entry_EditHandle::AttachAnnot(), CSeq_entry_CI::eRecursive, CSeq_annot_CI::eSearch_entry, CSeq_entry_Handle::GetEditHandle(), ITERATE, and s_DivvyUpAlignments_ProcessAnnot().
Referenced by SegregateSetsByBioseqList().
bool Does3primerAbutGap | ( | const CSeq_feat & | feat, |
CBioseq_Handle | seq_hl | ||
) |
Definition at line 250 of file seq_entry_edit.cpp.
References CSeqVector::begin(), CBioseq_Handle::eCoding_Iupac, eNa_strand_plus, CSeq_feat_Base::GetLocation(), CRange_Base::GetTo(), CSeq_loc::GetTotalRange(), i, and CSeqVector::size().
bool Does5primerAbutGap | ( | const CSeq_feat & | feat, |
CBioseq_Handle | seq_hl | ||
) |
Definition at line 234 of file seq_entry_edit.cpp.
References CSeqVector::begin(), CBioseq_Handle::eCoding_Iupac, eNa_strand_plus, CRange_Base::GetFrom(), CSeq_feat_Base::GetLocation(), CSeq_loc::GetTotalRange(), and i.
Definition at line 3440 of file seq_entry_edit.cpp.
References CUser_object::eObjectType_Unverified, CSeq_descr_Base::Get(), CBioseq_Base::GetDescr(), and CBioseq_Base::IsSetDescr().
Referenced by BOOST_AUTO_TEST_CASE().
string GenerateTargetedLocusName | ( | CBioseq_Handle | seq | ) |
Definition at line 3625 of file seq_entry_edit.cpp.
References CSeqFeatData_Base::e_Cdregion, CSeqFeatData_Base::e_Gene, CSeqFeatData_Base::e_Imp, CSeqFeatData_Base::e_Rna, f, CBioseq_Handle::GetScope(), and GetTargetedLocusName().
Referenced by CheckTargetedLocusEntry(), and CTLSContigHandler::ProcessBioseq().
CConstRef<CDelta_seq> GetDeltaSeqForPosition | ( | const unsigned | pos, |
const CBioseq_Handle | seq_hl, | ||
CScope * | scope, | ||
unsigned & | left_endpoint | ||
) |
Definition at line 197 of file seq_entry_edit.cpp.
References CSeq_inst_Base::CanGetExt(), CSeq_inst_Base::eRepr_delta, CDelta_ext_Base::Get(), CSeq_ext_Base::GetDelta(), CSeq_inst_Base::GetExt(), CBioseq_Handle::GetInst(), CBioseq_Handle::GetInst_Ext(), CBioseq_Handle::GetInst_Repr(), GetLength(), CSeq_ext_Base::IsDelta(), CBioseq_Handle::IsNa(), CBioseq_Handle::IsSetInst_Repr(), ITERATE, len, and offset.
void GetSortedCuts | ( | CBioseq_Handle | bsh, |
const TCuts & | cuts, | ||
TCuts & | sorted_cuts, | ||
EInternalTrimType | internal_cut_conversion | ||
) |
1) Adjust any internal cuts to terminal cuts according to option.
1) Merge abutting and overlapping cuts.
2) Merge abutting and overlapping cuts. 3) Sort the cuts from greatest to least so that sequence data and annotation will be deleted from greatest loc to smallest loc. That way we don't have to adjust coordinate values after each cut.
Definition at line 2401 of file seq_entry_edit.cpp.
References CRangeCmp::eAscending, CRangeCmp::eDescending, eDoNotTrimInternal, CBioseq_Handle::GetBioseqLength(), CRange_Base::GetFrom(), CRange_Base::GetTo(), s_AdjustInternalCutLocations(), s_MergeCuts(), and ct::sort().
Referenced by BOOST_AUTO_TEST_CASE(), and TrimSequenceAndAnnotation().
Definition at line 3528 of file seq_entry_edit.cpp.
References CGene_ref_Base::GetLocus(), CGene_ref_Base::IsSetLocus(), and kEmptyStr.
Referenced by GenerateTargetedLocusName(), and GetTargetedLocusName().
Definition at line 3539 of file seq_entry_edit.cpp.
Definition at line 3552 of file seq_entry_edit.cpp.
References rna.
Definition at line 3605 of file seq_entry_edit.cpp.
References CSeqFeatData::eSubtype_prot, f, CScope::GetBioseqHandle(), GetGeneForFeature(), CSeq_feat_Base::GetProduct(), GetTargetedLocusName(), NStr::IsBlank(), CSeq_feat_Base::IsSetProduct(), and prot.
Definition at line 3558 of file seq_entry_edit.cpp.
References CSeqFeatData_Base::e_Gene, CSeqFeatData_Base::e_Imp, CSeqFeatData_Base::e_Prot, CSeqFeatData_Base::e_Rna, NStr::EqualNocase(), CSeqFeatData::eSubtype_misc_feature, CSeqFeatData::eSubtype_mobile_element, NStr::Find(), CSeq_feat_Base::GetComment(), CSeq_feat_Base::GetData(), CSeqFeatData_Base::GetGene(), CSeqFeatData_Base::GetProt(), CSeq_feat_Base::GetQual(), CSeqFeatData_Base::GetRna(), CSeqFeatData::GetSubtype(), GetTargetedLocusName(), CSeq_feat_Base::IsSetComment(), CSeq_feat_Base::IsSetData(), CSeq_feat_Base::IsSetQual(), NStr::TruncateSpacesInPlace(), and CSeqFeatData_Base::Which().
Referenced by BOOST_AUTO_TEST_CASE().
Definition at line 3684 of file seq_entry_edit.cpp.
References NStr::EndsWith(), NStr::Equal(), NStr::fSplit_Tokenize, i, NStr::IsBlank(), ITERATE, kEmptyStr, NStr::Split(), and NStr::StartsWith().
Referenced by BOOST_AUTO_TEST_CASE(), and CTLSContigHandler::ProcessBioseq().
void HandleCollidingIds | ( | CSeq_entry & | entry | ) |
Definition at line 1738 of file seq_entry_edit.cpp.
References AddLocalIdUserObjects(), CUser_object::eObjectType_OriginalId, HasRepairedIDs(), CSeq_entry::ReassignConflictingIds(), and RemoveUserObjectType().
Referenced by CObjectLoadingTask::AddObjects().
bool HasRepairedIDs | ( | const CSeq_entry & | entry | ) |
Detects whether colliding IDs were fixed by comparing sequence IDs to the contents of the OriginalID User-object descriptor.
Definition at line 1683 of file seq_entry_edit.cpp.
References CUser_object::eObjectType_OriginalId, CSeq_descr_Base::Get(), CBioseq_Base::GetDescr(), CBioseq_Base::GetId(), CSeq_entry_Base::GetSeq(), CBioseq_set_Base::GetSeq_set(), CSeq_entry_Base::GetSet(), HasRepairedIDs(), CSeq_entry_Base::IsSeq(), CSeq_entry_Base::IsSet(), CBioseq_Base::IsSetDescr(), CBioseq_Base::IsSetId(), CBioseq_set_Base::IsSetSeq_set(), and ITERATE.
Referenced by BOOST_AUTO_TEST_CASE(), s_CollidedIds(), and TestCollidingAccessionFixes().
bool HasRepairedIDs | ( | const CUser_object & | user, |
const CBioseq::TId & | ids | ||
) |
Definition at line 1668 of file seq_entry_edit.cpp.
References CUser_object_Base::GetData(), IsMatchingIdMissing(), and CUser_object_Base::IsSetData().
Referenced by HandleCollidingIds(), and HasRepairedIDs().
bool IsDeltaSeqGap | ( | CConstRef< CDelta_seq > | delta | ) |
Definition at line 225 of file seq_entry_edit.cpp.
References delta().
bool IsMatchingIdMissing | ( | const CUser_field & | field, |
const CBioseq::TId & | ids | ||
) |
Definition at line 1620 of file seq_entry_edit.cpp.
References CSeq_id_Base::e_Ddbj, CSeq_id_Base::e_Embl, CSeq_id_Base::e_Genbank, CSeq_id_Base::e_Local, CSeq_id_Base::e_not_set, CSeq_id_Base::e_Other, NStr::Equal(), expected, CUser_field_Base::GetData(), CUser_field_Base::GetLabel(), CObject_id_Base::GetStr(), CUser_field_Base::C_Data::GetStr(), NStr::IsBlank(), CUser_field_Base::IsSetData(), CUser_field_Base::IsSetLabel(), CObject_id_Base::IsStr(), CUser_field_Base::C_Data::IsStr(), ITERATE, MakeOriginalLabelForId(), NStr::StartsWith(), and TypeFromLabel().
Referenced by HasRepairedIDs().
bool IsSeqDescInList | ( | const CSeqdesc & | desc, |
const CSeq_descr & | set | ||
) |
Definition at line 526 of file seq_entry_edit.cpp.
References CPubdesc_Base::GetPub(), CSeqdesc_Base::GetPub(), and CSeqdesc_Base::IsPub().
Referenced by AddSeqdescToBioseq(), and AddSeqdescToBioseqSet().
Definition at line 3495 of file seq_entry_edit.cpp.
References CSeq_descr_Base::Get(), CBioseq_Base::GetDescr(), and CBioseq_Base::IsSetDescr().
Referenced by BOOST_AUTO_TEST_CASE().
Definition at line 3468 of file seq_entry_edit.cpp.
References CSeq_descr_Base::Get(), CBioseq_Base::GetDescr(), and CBioseq_Base::IsSetDescr().
Referenced by BOOST_AUTO_TEST_CASE().
Definition at line 3481 of file seq_entry_edit.cpp.
References CSeq_descr_Base::Get(), CBioseq_Base::GetDescr(), and CBioseq_Base::IsSetDescr().
Referenced by BOOST_AUTO_TEST_CASE().
Definition at line 3454 of file seq_entry_edit.cpp.
References CSeq_descr_Base::Get(), CBioseq_Base::GetDescr(), and CBioseq_Base::IsSetDescr().
Referenced by BOOST_AUTO_TEST_CASE().
string LabelFromType | ( | CSeq_id::E_Choice | choice | ) |
Definition at line 1515 of file seq_entry_edit.cpp.
References CSeq_id_Base::e_Ddbj, CSeq_id_Base::e_Embl, CSeq_id_Base::e_Genbank, CSeq_id_Base::e_General, CSeq_id_Base::e_Local, CSeq_id_Base::e_Other, and kEmptyStr.
Referenced by MakeOriginalIdField().
CRef<CUser_field> MakeOriginalIdField | ( | const CSeq_id & | id | ) |
Definition at line 1568 of file seq_entry_edit.cpp.
References NStr::IsBlank(), label, LabelFromType(), MakeOriginalLabelForId(), CUser_field_Base::SetData(), CUser_field_Base::SetLabel(), and val.
Referenced by AddLocalIdUserObjects().
Definition at line 1543 of file seq_entry_edit.cpp.
References CSeq_id_Base::e_Ddbj, CSeq_id_Base::e_Embl, CSeq_id_Base::e_Genbank, CSeq_id_Base::e_General, CSeq_id_Base::e_Local, CSeq_id_Base::e_Other, GetId(), NStr::NumericToString(), and val.
Referenced by IsMatchingIdMissing(), and MakeOriginalIdField().
TLocAdjustmentVector NormalizeUnknownLengthGaps | ( | CSeq_inst & | inst, |
TSeqPos | unknown_length | ||
) |
NormalizeUnknownLengthGaps A function to adjust the length of unknown-length gaps to a specific length (100 by default).
inst | The Seq-inst to adjust |
Definition at line 1907 of file seq_entry_edit.cpp.
References CSeq_inst_Base::eRepr_delta, CSeq_inst_Base::GetLength(), CSeq_inst_Base::GetRepr(), CSeq_inst_Base::IsSetExt(), CSeq_inst_Base::IsSetRepr(), NON_CONST_ITERATE, CSeq_inst_Base::SetExt(), and CSeq_inst_Base::SetLength().
Referenced by CRawSeqToDeltaSeqByLoc::apply_impl(), BOOST_AUTO_TEST_CASE(), ConvertRawToDeltaByNs(), ConvertRawToDeltaByNsCommand_impl(), and ConvertRawToDeltaByNsHugeFileCmd_impl().
void RemoveUserObjectType | ( | CSeq_entry & | entry, |
CUser_object::EObjectType | type | ||
) |
Removes User-object descriptors of a certain type from the seq-entry.
Definition at line 1711 of file seq_entry_edit.cpp.
References EDIT_EACH_SEQDESC_ON_BIOSEQ, EDIT_EACH_SEQDESC_ON_SEQSET, ERASE_SEQDESC_ON_BIOSEQ, ERASE_SEQDESC_ON_SEQSET, CSeq_descr_Base::Get(), CBioseq_Base::GetDescr(), CSeq_entry_Base::GetSet(), CSeq_entry_Base::IsSeq(), CSeq_entry_Base::IsSet(), CBioseq_Base::IsSetDescr(), CBioseq_set_Base::IsSetSeq_set(), CBioseq_Base::ResetDescr(), CSeq_entry_Base::SetSeq(), CBioseq_set_Base::SetSeq_set(), and CSeq_entry_Base::SetSet().
Referenced by BOOST_AUTO_TEST_CASE(), and HandleCollidingIds().
void ResetLinkageEvidence | ( | CSeq_ext & | ext | ) |
ResetLinkageEvidence A function to clear linkage evidence for gaps in a delta sequence.
ext | The Seq_ext to adjust |
Definition at line 2057 of file seq_entry_edit.cpp.
References CSeq_gap_Base::eLinkage_unlinked, CSeq_gap_Base::eType_repeat, CSeq_gap_Base::GetType(), CSeq_gap_Base::IsSetType(), NON_CONST_ITERATE, CSeq_gap_Base::ResetLinkage(), CSeq_gap_Base::ResetLinkage_evidence(), CDelta_ext_Base::Set(), CSeq_ext_Base::SetDelta(), and CSeq_gap_Base::SetLinkage().
void RetranslateCdregion | ( | CBioseq_Handle | nuc_bsh, |
bool | isPartialStart, | ||
bool | isPartialStop, | ||
CRef< CSeq_inst > | trimmed_nuc_inst, | ||
CRef< CSeq_feat > | cds, | ||
const TCuts & | sorted_cuts | ||
) |
Secondary function needed after trimming Seq-feat.
If TrimSeqFeat()'s bFeatureTrimmed returns true, then retranslate cdregion.
Definition at line 3304 of file seq_entry_edit.cpp.
References CSerialObject::Assign(), CSeq_feat_Base::CanGetLocation(), CSeq_interval_Base::CanGetTo(), CSeqFeatData_Base::e_Cdregion, CSeqFeatData_Base::e_Prot, CMolInfo_Base::eBiomol_peptide, CMolInfo_Base::eCompleteness_complete, CMolInfo_Base::eCompleteness_no_ends, CMolInfo_Base::eCompleteness_no_left, CMolInfo_Base::eCompleteness_no_right, eExtreme_Biological, eNa_strand_unknown, CScope::GetBioseqHandle(), CSeq_feat_Base::GetData(), CBioseq_Handle::GetEditHandle(), CBioseq_Handle::GetInst(), CSeq_loc_Base::GetInt(), CBioseq::GetLength(), CSeq_feat_Base::GetLocation(), CMappedFeat::GetOriginalFeature(), CSeq_feat_Base::GetProduct(), CBioseq_Handle::GetScope(), CSeq_loc::GetStrand(), CSeq_loc_Base::IsInt(), CSeq_loc::IsPartialStart(), CSeq_loc::IsPartialStop(), CBioseq_Handle::IsProtein(), CSeq_feat_Base::IsSetData(), CSeq_feat_Base::IsSetProduct(), CSeq_feat_EditHandle::Replace(), CMolInfo_Base::SetBiomol(), CMolInfo_Base::SetCompleteness(), CBioseq_EditHandle::SetDescr(), CBioseq_EditHandle::SetInst(), CSeq_feat_Base::SetLocation(), CSeqdesc_Base::SetMolinfo(), SetNewProteinSequence(), SetPartial(), and CSeqFeatData_Base::Which().
Referenced by TrimSequenceAndAnnotation().
|
static |
Definition at line 384 of file seq_entry_edit.cpp.
References _ASSERT, CSeq_entry_EditHandle::AttachBioseq(), CSeq_entry_EditHandle::ConvertSeqToSet(), CBioseq_set_Base::eClass_parts, CBioseq_set_Base::eClass_segset, CSeq_inst_Base::eRepr_seg, CBioseq_Handle::GetInst_Length(), CBioseq_Handle::GetInst_Mol(), CBioseq_EditHandle::GetParentEntry(), CSeq_entry_Handle::IsSet(), s_AddPartToSegmentedBioseq(), s_MakeUniqueLocalId(), CBioseq_Base::SetId(), CBioseq_EditHandle::SetInst_Length(), CBioseq_EditHandle::SetInst_Mol(), CBioseq_EditHandle::SetInst_Repr(), and CSeq_entry_EditHandle::TakeBioseq().
Referenced by AddBioseqToBioseq().
|
static |
Definition at line 440 of file seq_entry_edit.cpp.
References _ASSERT, AddBioseqToBioseq(), CBioseq_set_Base::eClass_nuc_prot, CBioseq_set_Handle::GetClass(), CBioseq_Handle::GetInst_Mol(), CSeq_entry_Handle::GetSeq(), CSeq_inst::IsAa(), CSeq_inst::IsNa(), CSeq_entry_Handle::IsSeq(), and CBioseq_EditHandle::MoveTo().
Referenced by AddBioseqToBioseqSet().
|
static |
Definition at line 266 of file seq_entry_edit.cpp.
References _ASSERT, CBioseq_set_Base::eClass_parts, CBioseq_set_Handle::GetClass(), CBioseq_Handle::GetInst_Mol(), NCBI_THROW, and CBioseq_set_EditHandle::TakeBioseq().
Referenced by AddBioseqToBioseqSet(), and s_AddBioseqToSegset().
|
static |
Definition at line 316 of file seq_entry_edit.cpp.
References CBioseq_set_Base::eClass_parts, CSeq_inst_Base::eRepr_seg, NCBI_THROW, s_AddBioseqToPartsSet(), and s_AddPartToSegmentedBioseq().
Referenced by AddBioseqToBioseqSet().
void s_AddGap | ( | CSeq_inst & | inst, |
size_t | n_len, | ||
bool | is_unknown, | ||
bool | is_assembly_gap = false , |
||
int | gap_type = CSeq_gap::eType_unknown , |
||
int | linkage = -1 , |
||
int | linkage_evidence = -1 |
||
) |
Definition at line 1758 of file seq_entry_edit.cpp.
References CInt_fuzz_Base::eLim_unk, and CSeq_inst_Base::SetExt().
Referenced by ConvertRawToDeltaByNs().
Definition at line 1748 of file seq_entry_edit.cpp.
References CSeq_inst_Base::SetExt().
Referenced by ConvertRawToDeltaByNs().
|
static |
Definition at line 286 of file seq_entry_edit.cpp.
References _ASSERT, CBioseq_Handle::CanGetInst_Ext(), copy(), CSeq_inst_Base::eRepr_seg, CSeg_ext_Base::Get(), CBioseq_Handle::GetInst_Ext(), CBioseq_Handle::GetInst_Repr(), CSeq_ext_Base::GetSeg(), CBioseq_Handle::GetSeqId(), CSeg_ext_Base::Set(), CBioseq_EditHandle::SetInst_Ext(), CSeq_ext_Base::SetSeg(), and CSeq_loc::SetWhole().
Referenced by s_AddBioseqToBioseq(), and s_AddBioseqToSegset().
|
static |
Definition at line 363 of file seq_entry_edit.cpp.
References _ASSERT, CSeq_entry_EditHandle::ConvertSeqToSet(), CBioseq_set_Base::eClass_nuc_prot, CSeq_inst::IsAa(), CSeq_inst::IsNa(), nuc, and prot.
Referenced by AddBioseqToBioseq().
|
static |
Adjust any internal cuts to terminal cuts.
Definition at line 2361 of file seq_entry_edit.cpp.
References eTrimTo5PrimeEnd, eTrimToClosestEnd, CRange_Base::GetFrom(), CRange_Base::GetTo(), CRange_Base::SetFrom(), and CRange_Base::SetTo().
Referenced by GetSortedCuts().
void s_BasicValidation | ( | CBioseq_Handle | bsh, |
const TCuts & | cuts | ||
) |
Definition at line 2080 of file seq_entry_edit.cpp.
References CBioseq_Handle::CanGetInst(), CSeq_inst_Base::CanGetLength(), CRange_Base::GetFrom(), CBioseq_Handle::GetInst(), CSeq_inst_Base::GetLength(), CRange_Base::GetTo(), CBioseq_Handle::IsNucleotide(), and NCBI_THROW.
Referenced by TrimSequenceAndAnnotation().
void s_CutDensegSegment | ( | CRef< CSeq_align > | align, |
CDense_seg::TDim | row, | ||
TSeqPos | pos | ||
) |
Definition at line 2886 of file seq_entry_edit.cpp.
References eNa_strand_minus, CSeq_align_Base::C_Segs::GetDenseg(), CDense_seg_Base::GetDim(), CDense_seg_Base::GetIds(), CDense_seg_Base::GetLens(), CDense_seg_Base::GetNumseg(), CSeq_align_Base::GetSegs(), CDense_seg_Base::GetStarts(), CDense_seg_Base::GetStrands(), CDense_seg_Base::IsSetStrands(), ITERATE, row, s_FindSegment(), CDense_seg_Base::SetDim(), CDense_seg_Base::SetIds(), CDense_seg_Base::SetLens(), CDense_seg_Base::SetNumseg(), CSeq_align_Base::SetSegs(), CDense_seg_Base::SetStarts(), CDense_seg_Base::SetStrands(), and si.
Referenced by TrimSeqAlign().
|
static |
Definition at line 1202 of file seq_entry_edit.cpp.
References _ASSERT, CSerialObject::Assign(), CSeq_annot_Handle::GetCompleteSeq_annot(), CSeq_align_Base::C_Segs::GetDenseg(), CSeq_annot_Handle::GetParentEntry(), CSeq_align_Handle::GetSegs(), CSeq_align_Handle::GetSeq_align(), CAlign_CI::GetSeq_align_Handle(), CSeq_annot_Handle::IsAlign(), CSeq_align_Base::C_Segs::IsDendiag(), CSeq_align_Base::C_Segs::IsDenseg(), ITERATE, RAW_FIELD_IS_EMPTY, s_DivvyUpAlignments_ProcessAnnot_Dendiag(), s_DivvyUpAlignments_ProcessAnnot_Denseg(), and CSeq_annot_Base::SetData().
Referenced by DivvyUpAlignments().
|
static |
Definition at line 1000 of file seq_entry_edit.cpp.
References _ASSERT, CSerialObject::Assign(), map_checker< Container >::end(), FIELD_EQUALS, map_checker< Container >::find(), CSeq_align_Handle::GetAnnot(), CScope::GetBioseqHandle(), CSeq_align_Base::C_Segs::GetDendiag(), CBioseq_Handle::GetParentEntry(), CSeq_annot_Handle::GetParentEntry(), CSeq_align_Handle::GetScope(), CSeq_align_Handle::GetSegs(), CSeq_align_Handle::GetSeq_align(), ITERATE, NON_CONST_ITERATE, CSeq_align_Base::ResetSegs(), and CSeq_align_Base::SetSegs().
Referenced by s_DivvyUpAlignments_ProcessAnnot().
|
static |
Definition at line 1123 of file seq_entry_edit.cpp.
References _ASSERT, CSerialObject::Assign(), map_checker< Container >::end(), CDense_seg::ExtractRows(), map_checker< Container >::find(), CSeq_align_Handle::GetAnnot(), CScope::GetBioseqHandle(), CSeq_align_Base::C_Segs::GetDenseg(), CDense_seg_Base::GetIds(), CBioseq_Handle::GetParentEntry(), CSeq_annot_Handle::GetParentEntry(), CSeq_align_Handle::GetScope(), CSeq_align_Handle::GetSegs(), CSeq_align_Handle::GetSeq_align(), ITERATE, and CSeq_align_Base::SetSegs().
Referenced by s_DivvyUpAlignments_ProcessAnnot().
bool s_FindSegment | ( | const CDense_seg & | denseg, |
CDense_seg::TDim | row, | ||
TSeqPos | pos, | ||
CDense_seg::TNumseg & | seg, | ||
TSeqPos & | seg_start | ||
) |
Definition at line 2866 of file seq_entry_edit.cpp.
References CDense_seg_Base::GetDim(), CDense_seg_Base::GetLens(), CDense_seg_Base::GetNumseg(), CDense_seg_Base::GetStarts(), len, and row.
Referenced by s_CutDensegSegment().
Definition at line 2118 of file seq_entry_edit.cpp.
References _ASSERT, and compile_time_bits::range().
Referenced by TrimSequenceAndAnnotation().
|
static |
Definition at line 2581 of file seq_entry_edit.cpp.
References CRange_Base::GetFrom(), CBioseq_Handle::GetInst(), CSeq_inst_Base::GetLength(), and CRange_Base::GetTo().
Referenced by TrimSeqGraph().
|
static |
Definition at line 626 of file seq_entry_edit.cpp.
References CSeq_entry_CI::eNonRecursive, CSeq_annot_CI::eSearch_entry, and CSeq_annot_Handle::IsAlign().
Referenced by s_PromoteSingletonSetsInSet().
|
static |
Definition at line 758 of file seq_entry_edit.cpp.
References _ASSERT, CBioseq_set_EditHandle::AddSeq_descr(), CBioseq_set_EditHandle::AddSeqdesc(), CBioseq_set_EditHandle::AttachAnnot(), CBioseq_set_EditHandle::AttachEntry(), CSeqdesc_Base::e_not_set, CBioseq_set_Base::eClass_genbank, CBioseq_set_Base::eClass_not_set, CBioseq_set_Base::eClass_nuc_prot, set< Key, Compare >::end(), CSeq_entry_CI::eNonRecursive, CSeq_annot_CI::eSearch_entry, FIELD_EQUALS, set< Key, Compare >::find(), CBioseq_set_Handle::GetClass(), CSeq_annot_Handle::GetCompleteSeq_annot(), CBioseq_set_Handle::GetEditHandle(), CSeq_entry_Handle::GetEditHandle(), CSeq_entry_Handle::GetParentBioseq_set(), CBioseq_set_Handle::GetParentEntry(), CSeq_entry_Handle::GetParentEntry(), CSeq_entry_Handle::GetSet(), CSeq_entry_Handle::HasParentEntry(), set< Key, Compare >::insert(), CSeq_entry_Handle::IsSet(), CBioseq_set_Handle::IsSetClass(), ITERATE, CBioseq_set_EditHandle::ResetDescr(), s_PromoteSingletonSetsInSet(), SerialClone(), CBioseq_set_EditHandle::SetClass(), CBioseq_set_Base::SetClass(), CSeq_entry_Base::SetSet(), and CBioseq_set_EditHandle::TakeEntry().
Referenced by SegregateSetsByBioseqList().
Definition at line 375 of file seq_entry_edit.cpp.
References count, and NStr::NumericToString().
Referenced by s_AddBioseqToBioseq().
Assumes sorted_cuts are sorted in Ascending order!
Definition at line 2324 of file seq_entry_edit.cpp.
References CRange_Base::GetFrom(), CRange_Base::GetTo(), and CRange_Base::SetTo().
Referenced by GetSortedCuts().
|
static |
Definition at line 652 of file seq_entry_edit.cpp.
References _ASSERT, BioseqSetDescriptorPropagateDown(), CSeq_entry_Base::e_Set, CSeqdesc_Base::e_Title, CSeq_entry_CI::eNonRecursive, CBioseq_set_Handle::GetEditHandle(), CSeq_entry_Handle::GetEditHandle(), CBioseq_set_EditHandle::GetParentEntry(), CBioseq_set_Handle::GetSeq_entry_Index(), CSeq_entry_Handle::GetSet(), ITERATE, s_IsSingletonSet(), CSeq_entry_EditHandle::TakeAllAnnots(), and CBioseq_set_EditHandle::TakeEntry().
Referenced by s_MakeGroupsForUniqueValues().
|
static |
Definition at line 2614 of file seq_entry_edit.cpp.
References CSeq_interval_Base::CanGetFrom(), CSeq_interval_Base::CanGetTo(), CSeq_interval_Base::GetFrom(), CSeq_interval_Base::GetTo(), CSeq_interval_Base::SetFrom(), and CSeq_interval_Base::SetTo().
Referenced by s_SeqLocDelete().
|
static |
Definition at line 2691 of file seq_entry_edit.cpp.
References CSerialObject::Assign(), CSeq_loc_Base::e_Int, CSeq_loc_Base::e_Mix, CSeq_loc_Base::e_Packed_int, CSeq_loc_Base::GetInt(), CSeq_loc_Base::GetMix(), CSeq_loc_Base::GetPacked_int(), s_SeqIntervalDelete(), CSeq_loc::SetInt(), CSeq_loc::SetMix(), CSeq_loc::SetPacked_int(), and CSeq_loc_Base::Which().
Referenced by s_UpdateSeqGraphLoc(), and TrimSeqFeat().
|
static |
Definition at line 2794 of file seq_entry_edit.cpp.
References CSeq_graph_Base::CanGetLoc(), CRange_Base::GetFrom(), CSeq_graph_Base::GetLoc(), CRange_Base::GetTo(), s_SeqLocDelete(), and CSeq_graph_Base::SetLoc().
Referenced by TrimSeqGraph().
void SegregateSetsByBioseqList | ( | const CSeq_entry_Handle & | target, |
const CScope::TBioseqHandles & | bioseq_handles | ||
) |
Split a Seq-entry, where the second part holds the given bioseqs.
There are various complex rules here that may not be obvious at first glance.
target | The Seq-entry to split |
bioseq_handles | The array of bioseqs that should end up in the second part of the target, with the rest in the first part. |
Definition at line 963 of file seq_entry_edit.cpp.
References DivvyUpAlignments(), CSeq_entry_CI::eNonRecursive, CSeq_entry_Handle::GetSet(), CSeq_entry_Handle::IsSet(), and s_MakeGroupsForUniqueValues().
CRef<CSeq_entry> SeqEntryFromSeqSubmit | ( | const CSeq_submit & | submit | ) |
Create a Seq-entry from a Seq-submit.
submit | Seq-submit to create Seq-entry from |
Definition at line 591 of file seq_entry_edit.cpp.
References AddSeqdescToBioseq(), AddSeqdescToSeqEntryRecursively(), CSerialObject::Assign(), CBioseq_set_Base::eClass_genbank, CSubmit_block_Base::GetCit(), CSeq_submit_Base::GetData(), CSeq_submit_Base::C_Data::GetEntrys(), CSeq_submit_Base::GetSub(), CSeq_submit::IsEntrys(), CSeq_entry_Base::IsSeq(), CSubmit_block_Base::IsSetCit(), CSeq_submit_Base::IsSetSub(), ITERATE, CBioseq_set_Base::SetClass(), CPubdesc_Base::SetPub(), CSeqdesc_Base::SetPub(), CSeq_entry_Base::SetSeq(), CBioseq_set_Base::SetSeq_set(), CSeq_entry_Base::SetSet(), and CPub_Base::SetSub().
Referenced by BOOST_AUTO_TEST_CASE(), CLocalFileRestorer::x_AttachNewObject(), CUpdateSeq_Input::x_ReadUpdateSeq_ASN(), and CUpdateMultipleSeq_Input::x_ReadUpdateSeqs_ASN().
void SetLinkageType | ( | CSeq_ext & | ext, |
CSeq_gap::TType | linkage_type | ||
) |
SetLinkageType A function to set the linkage_type for gaps in a delta sequence.
ext | The Seq_ext to adjust |
linkage_type | The linkage_type to use. |
Definition at line 1990 of file seq_entry_edit.cpp.
References CSeq_gap::ChangeType(), NON_CONST_ITERATE, CDelta_ext_Base::Set(), and CSeq_ext_Base::SetDelta().
Referenced by BOOST_AUTO_TEST_CASE().
void SetLinkageTypeLinkedRepeat | ( | CSeq_ext & | ext, |
CLinkage_evidence::TType | evidence_type | ||
) |
Definition at line 2021 of file seq_entry_edit.cpp.
References NON_CONST_ITERATE, CDelta_ext_Base::Set(), CSeq_ext_Base::SetDelta(), and CSeq_gap::SetLinkageTypeLinkedRepeat().
Referenced by BOOST_AUTO_TEST_CASE().
void SetLinkageTypeScaffold | ( | CSeq_ext & | ext, |
CLinkage_evidence::TType | evidence_type | ||
) |
SetLinkageTypeScaffold A special case of SetLinkageType.
When type is Scaffold, linkage must be linked and linkage evidence must be provided.
ext | The Seq_ext to adjust |
evidence_type | The linkage_type to use. |
Definition at line 2009 of file seq_entry_edit.cpp.
References NON_CONST_ITERATE, CDelta_ext_Base::Set(), CSeq_ext_Base::SetDelta(), and CSeq_gap::SetLinkageTypeScaffold().
CRef<CBioseq> SetNewProteinSequence | ( | CScope & | new_scope, |
CRef< CSeq_feat > | cds, | ||
CRef< CSeq_inst > | new_inst | ||
) |
Secondary function needed after trimming Seq-feat.
If TrimSeqFeat()'s bFeatureTrimmed returns true, then make new protein sequence.
Definition at line 3274 of file seq_entry_edit.cpp.
References CAliasBase< TPrim >::Get(), CBioseq_Base::GetInst(), CSeq_data_Base::GetIupacaa(), CSeq_inst_Base::GetLength(), CSeq_data_Base::GetNcbieaa(), CSeq_inst_Base::GetSeq_data(), CSeq_data_Base::IsIupacaa(), CSeq_data_Base::IsNcbieaa(), CSeq_inst_Base::IsSetSeq_data(), CSeq_inst_Base::SetLength(), CSeq_inst_Base::SetSeq_data(), and CSeqTranslator::TranslateToProtein().
Referenced by RetranslateCdregion().
void SetPartial | ( | CSeq_loc & | loc, |
CRef< CSeq_feat > | feat, | ||
CSeq_loc::TStrand | strand, | ||
bool | partial_start, | ||
bool | partial_stop | ||
) |
Definition at line 3094 of file seq_entry_edit.cpp.
References eExtreme_Biological, eNa_strand_minus, CSeq_feat_Base::SetPartial(), CSeq_loc::SetPartialStart(), CSeq_loc::SetPartialStop(), and swap().
Referenced by RetranslateCdregion(), and TrimSeqFeat().
void SetTargetedLocusName | ( | CBioseq_Handle | seq, |
const string & | tls | ||
) |
Definition at line 3653 of file seq_entry_edit.cpp.
References CSerialObject::Assign(), CUser_object::eObjectType_AutodefOptions, CBioseq_Handle::GetCompleteBioseq(), CAutoDefOptions::InitFromUserObject(), CBioseq_Base::IsSetDescr(), CAutoDefOptions::MakeUserObject(), NON_CONST_ITERATE, CBioseq_EditHandle::SetDescr(), CAutoDefOptions::SetTargetedLocusName(), and CSeqdesc_Base::SetUser().
Referenced by CTLSContigHandler::ProcessBioseq(), and CTLSMasterHandler::ProcessBioseq().
void SortSeqDescr | ( | CSeq_descr & | descr | ) |
Definition at line 3509 of file seq_entry_edit.cpp.
References CSeq_descr_Base::Set().
Referenced by SortSeqDescr().
void SortSeqDescr | ( | CSeq_entry & | entry | ) |
Definition at line 3514 of file seq_entry_edit.cpp.
References CSeq_entry_Base::IsSet(), CSeq_entry::IsSetDescr(), CSeq_entry::SetDescr(), CBioseq_set_Base::SetSeq_set(), CSeq_entry_Base::SetSet(), and SortSeqDescr().
Referenced by CTbl2AsnApp::ProcessOneEntry(), and CTbl2AsnApp::ProcessSingleEntry().
void TrimSeqAlign | ( | CBioseq_Handle | bsh, |
CRef< CSeq_align > | align, | ||
const TCuts & | sorted_cuts | ||
) |
Trim Seq-align annotation.
Definition at line 3032 of file seq_entry_edit.cpp.
References CDense_seg_Base::CanGetDim(), CSeq_align_Base::C_Segs::GetDenseg(), CDense_seg_Base::GetDim(), CRange_Base::GetFrom(), CDense_seg_Base::GetIds(), CDense_seg_Base::GetLens(), CDense_seg_Base::GetNumseg(), CSeq_align_Base::GetSegs(), CBioseq_Handle::GetSeqId(), CDense_seg_Base::GetStarts(), CRange_Base::GetTo(), row, s_CutDensegSegment(), and CSeq_align_Base::SetSegs().
Referenced by BOOST_AUTO_TEST_CASE(), and TrimSequenceAndAnnotation().
void TrimSeqData | ( | CBioseq_Handle | bsh, |
CRef< CSeq_inst > | inst, | ||
const TCuts & | sorted_cuts | ||
) |
Trim sequence data.
Definition at line 2498 of file seq_entry_edit.cpp.
References CScope::AddBioseq(), CSerialObject::Assign(), eNa_strand_plus, CSeq_inst_Base::eRepr_raw, CSeqMap::eSeqData, CSeqMap::fFindAny, CSeqMap::fIgnoreUnresolved, CBioseq_Handle::GetCompleteBioseq(), CSeq_inst_Base::GetLength(), CBioseq_Handle::GetScope(), CSeq_entry_Handle::GetScope(), CBioseq_Handle::GetSeqMap(), CBioseq_Handle::GetTopLevelEntry(), CSeqMap_CI::GetType(), CBioseq_Handle::IsNucleotide(), CScope::RemoveBioseq(), CSeq_inst_Base::ResetExt(), CSeq_inst_Base::ResetSeq_data(), CSeqMap::ResolvedRangeIterator(), CAutoInitRef< T >::Set(), CSeq_inst_Base::SetExt(), CSeq_inst_Base::SetLength(), CSeq_inst_Base::SetRepr(), CSeq_inst_Base::SetSeq_data(), and UpdateSeqLength().
Referenced by BOOST_AUTO_TEST_CASE(), and TrimSequenceAndAnnotation().
void TrimSeqFeat | ( | CRef< CSeq_feat > | feat, |
const TCuts & | sorted_cuts, | ||
bool & | bFeatureDeleted, | ||
bool & | bFeatureTrimmed, | ||
bool & | partial_start, | ||
bool & | partial_stop | ||
) |
Trim Seq-feat annotation.
Definition at line 3114 of file seq_entry_edit.cpp.
References CSeq_feat_Base::CanGetLocation(), CSeq_feat_Base::CanGetProduct(), eExtreme_Positional, eNa_strand_unknown, CSeq_feat_Base::GetLocation(), CSeq_feat_Base::GetProduct(), GetStart(), GetStop(), CSeq_loc::GetStrand(), s_SeqLocDelete(), CSeq_feat_Base::SetLocation(), SetPartial(), and CSeq_feat_Base::SetProduct().
Referenced by BOOST_AUTO_TEST_CASE(), and TrimSequenceAndAnnotation().
void TrimSeqGraph | ( | CBioseq_Handle | bsh, |
CRef< CSeq_graph > | graph, | ||
const TCuts & | sorted_cuts | ||
) |
Trim Seq-graph annotation.
Definition at line 2815 of file seq_entry_edit.cpp.
References eExtreme_Positional, CSeq_graph_Base::C_Graph::GetByte(), CSeq_graph_Base::GetLoc(), CSeq_loc::GetStart(), CSeq_loc::GetStop(), CByte_graph_Base::GetValues(), CSeq_graph_Base::C_Graph::IsByte(), s_GetTrimCoordinates(), s_UpdateSeqGraphLoc(), CSeq_graph_Base::C_Graph::SetByte(), CSeq_graph_Base::SetGraph(), CSeq_graph_Base::SetNumval(), and CByte_graph_Base::SetValues().
Referenced by BOOST_AUTO_TEST_CASE(), and TrimSequenceAndAnnotation().
void TrimSequenceAndAnnotation | ( | CBioseq_Handle | bsh, |
const TCuts & | cuts, | ||
EInternalTrimType | internal_cut_conversion | ||
) |
Implementation detail: first trim all associated annotation, then trim sequence data.
Trim sequence data and all associated annotation.
Definition at line 2147 of file seq_entry_edit.cpp.
References CSerialObject::Assign(), CDense_seg_Base::CanGetDim(), CDense_seg_Base::CanGetIds(), CSeq_inst_Base::CanGetLength(), CDense_seg_Base::CanGetLens(), CDense_seg_Base::CanGetNumseg(), CSeq_align_Base::CanGetSegs(), CDense_seg_Base::CanGetStarts(), NStr::CompareNocase(), DeleteProteinAndRenormalizeNucProtSet(), CSeq_annot_Base::C_Data::e_Align, CSeqFeatData_Base::e_Cdregion, CSeq_align_Base::C_Segs::e_Denseg, CSeq_annot_Base::C_Data::e_Ftable, CSeq_annot_Base::C_Data::e_Graph, CCdregion_Base::eFrame_not_set, CSeq_feat_Base::GetData(), CSeq_align_Base::C_Segs::GetDenseg(), CBioseq_Handle::GetEditHandle(), CBioseq_Handle::GetInst(), CSeq_inst_Base::GetLength(), CMappedFeat::GetOriginalFeature(), CMappedGraph::GetOriginalGraph(), CAlign_CI::GetOriginalSeq_align(), CSeq_align_Base::GetSegs(), CAlign_CI::GetSeq_align_Handle(), CMappedGraph::GetSeq_graph_Handle(), GetSortedCuts(), CMappedGraph::GetTitle(), CSeq_feat_Base::IsSetData(), CSeq_feat_Base::IsSetProduct(), CMappedGraph::IsSetTitle(), CSeq_align_Handle::Replace(), CSeq_feat_EditHandle::Replace(), CSeq_graph_Handle::Replace(), RetranslateCdregion(), s_BasicValidation(), s_GetRetainedRange(), CSeq_feat_Base::SetData(), CBioseq_EditHandle::SetInst(), TrimSeqAlign(), TrimSeqData(), TrimSeqFeat(), TrimSeqGraph(), CSeq_align_Base::C_Segs::Which(), and CSeqFeatData_Base::Which().
Referenced by BOOST_AUTO_TEST_CASE().
CSeq_id::E_Choice TypeFromLabel | ( | const string & | label | ) |
Definition at line 1495 of file seq_entry_edit.cpp.
References CSeq_id_Base::e_Ddbj, CSeq_id_Base::e_Embl, CSeq_id_Base::e_Genbank, CSeq_id_Base::e_General, CSeq_id_Base::e_Local, CSeq_id_Base::e_not_set, CSeq_id_Base::e_Other, NStr::EqualNocase(), and label.
Referenced by IsMatchingIdMissing().
void UpdateSeqLength | ( | CAutoInitRef< CDelta_ext > & | pDeltaExt, |
CBioseq_Handle & | complete_bsh, | ||
CSeqMap_CI & | seqmap_ci, | ||
CSeq_inst_Base::TLength & | new_length | ||
) |
Update sequence length.
Definition at line 2449 of file seq_entry_edit.cpp.
References CBioseq_Handle::eCoding_Iupac, CInt_fuzz_Base::eLim_unk, CSeqMap::eSeqData, CSeqMap::eSeqGap, CSeqMap_CI::GetEndPosition(), CSeqMap_CI::GetLength(), CSeqMap_CI::GetPosition(), CSeqMap_CI::GetRefGapLiteral(), CSeqVector::GetSeqData(), CSeqMap_CI::GetType(), CSeqMap_CI::IsUnknownLength(), CSeqportUtil::Pack(), Ref(), CAutoInitRef< T >::Set(), CAliasBase< TPrim >::Set(), and CSeq_data_Base::SetIupacna().
Referenced by TrimSeqData().