NCBI C++ ToolKit
Typedefs | Enumerations | Functions
seq_entry_edit.hpp File Reference
#include <corelib/ncbistd.hpp>
#include <objects/seqfeat/Seq_feat.hpp>
#include <objects/seq/Seq_gap.hpp>
#include <objects/seq/Linkage_evidence.hpp>
#include <objects/general/User_object.hpp>
#include <objects/submit/Seq_submit.hpp>
+ Include dependency graph for seq_entry_edit.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Go to the SVN repository for this file.

Typedefs

typedef vector< CSeq_entry_HandleTVecOfSeqEntryHandles
 
typedef pair< TSeqPos, intTLocAdjustment
 
typedef vector< TLocAdjustmentTLocAdjustmentVector
 
typedef CRange< TSeqPosTRange
 A list of trim coordinates. More...
 
typedef vector< TRangeTCuts
 

Enumerations

enum  EInternalTrimType { eTrimToClosestEnd = 0 , eTrimTo5PrimeEnd , eTrimTo3PrimeEnd , eDoNotTrimInternal }
 Any internal cut listed in TCuts will be converted to a terminal cut using one of these options. More...
 

Functions

void AddSeqEntryToSeqEntry (const CSeq_entry_Handle &to, const CSeq_entry_Handle &add)
 Attach one Seq-entry to another. More...
 
void AddBioseqToBioseq (const CBioseq_Handle &to, const CBioseq_Handle &add)
 Attach one Bioseq to another. More...
 
void AddBioseqToBioseqSet (const CBioseq_set_Handle &bsst, const CBioseq_Handle &seq)
 Add a Bioseq to a Bioseq-set. More...
 
CRef< CSeq_entrySeqEntryFromSeqSubmit (const CSeq_submit &submit)
 Create a Seq-entry from a Seq-submit. More...
 
NCBI_XOBJEDIT_EXPORT 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...
 
void DivvyUpAlignments (const TVecOfSeqEntryHandles &vecOfSeqEntryHandles)
 Call this if the alignments directly under these seq-entries are all jumbled up between each other. More...
 
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. 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 AddLocalIdUserObjects (CSeq_entry &entry)
 Creates a User-object descriptor on every sequence that has a local ID Contains the original local ID. More...
 
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 ConvertRawToDeltaByNs (CSeq_inst &inst, size_t min_unknown, int max_unknown, size_t min_known, int max_known, bool is_assembly_gap=false, int gap_type=CSeq_gap::eType_unknown, int linkage=-1, int linkage_evidence=-1)
 ConvertRawToDeltaByNs A function to convert a raw sequence to a delta sequence, using runs of Ns to determine the gap location. More...
 
void ConvertRawToDeltaByNs (CBioseq_Handle bsh, size_t min_unknown, int max_unknown, size_t min_known, int max_known, bool is_assembly_gap=false, int gap_type=CSeq_gap::eType_unknown, int linkage=-1, int linkage_evidence=-1)
 
TLocAdjustmentVector NormalizeUnknownLengthGaps (CSeq_inst &inst, TSeqPos unknown_length=100)
 NormalizeUnknownLengthGaps A function to adjust the length of unknown-length gaps to a specific length (100 by default). More...
 
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, CLinkage_evidence::TType evidence_type)
 
void SortSeqDescr (CSeq_entry &entry)
 
void SortSeqDescr (CSeq_descr &entry)
 
void TrimSequenceAndAnnotation (CBioseq_Handle bsh, const TCuts &cuts, EInternalTrimType internal_cut_conversion=eTrimToClosestEnd)
 Trim sequence data and all associated annotation. More...
 
void GetSortedCuts (CBioseq_Handle bsh, const TCuts &cuts, TCuts &sorted_cuts, EInternalTrimType internal_cut_conversion=eTrimToClosestEnd)
 1) Merge abutting and overlapping cuts. More...
 
void TrimSeqData (CBioseq_Handle bsh, CRef< CSeq_inst > inst, const TCuts &sorted_cuts)
 Trim sequence data. More...
 
void TrimSeqGraph (CBioseq_Handle bsh, CRef< CSeq_graph > graph, const TCuts &sorted_cuts)
 Trim Seq-graph annotation. More...
 
void TrimSeqAlign (CBioseq_Handle bsh, CRef< CSeq_align > align, const TCuts &sorted_cuts)
 Trim Seq-align annotation. More...
 
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...
 
NCBI_XOBJEDIT_EXPORT void AdjustCdregionFrame (TSeqPos original_nuc_len, CRef< CSeq_feat > cds, const TCuts &sorted_cuts)
 Secondary function needed after trimming Seq-feat. More...
 
CRef< CBioseqSetNewProteinSequence (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 partial_start, bool partial_stop, CRef< CSeq_inst > trimmed_nuc_inst, CRef< CSeq_feat > cds, const TCuts &sorted_cuts)
 Secondary function needed after trimming Seq-feat. More...
 
CRef< CSeqdescFindUnverified (const CBioseq &seq)
 
bool IsUnverifiedOrganism (const CBioseq &seq)
 
bool IsUnverifiedFeature (const CBioseq &seq)
 
bool IsUnverifiedMisassembled (const CBioseq &seq)
 
bool IsUnverifiedContaminant (const CBioseq &seq)
 
string GetTargetedLocusName (const CSeq_feat &feat)
 
string GenerateTargetedLocusName (CBioseq_Handle seq)
 
void SetTargetedLocusName (CBioseq_Handle seq, const string &tls)
 
string GetTargetedLocusNameConsensus (const string &tls1, const string &tls2)
 

Typedef Documentation

◆ TCuts

typedef vector<TRange> TCuts

Definition at line 221 of file seq_entry_edit.hpp.

◆ TLocAdjustment

typedef pair<TSeqPos, int> TLocAdjustment

Definition at line 185 of file seq_entry_edit.hpp.

◆ TLocAdjustmentVector

Definition at line 186 of file seq_entry_edit.hpp.

◆ TRange

typedef CRange<TSeqPos> TRange

A list of trim coordinates.

Definition at line 220 of file seq_entry_edit.hpp.

◆ TVecOfSeqEntryHandles

Definition at line 114 of file seq_entry_edit.hpp.

Enumeration Type Documentation

◆ EInternalTrimType

Any internal cut listed in TCuts will be converted to a terminal cut using one of these options.

The default is eTrimToClosestEnd.

Enumerator
eTrimToClosestEnd 
eTrimTo5PrimeEnd 
eTrimTo3PrimeEnd 
eDoNotTrimInternal 

Definition at line 225 of file seq_entry_edit.hpp.

Function Documentation

◆ AddBioseqToBioseq()

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'.

Parameters
toBioseq to change
addBioseq to add
See also
AddSeqEntryToSeqEntry()

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

◆ AddBioseqToBioseqSet()

void AddBioseqToBioseqSet ( const CBioseq_set_Handle bsst,
const CBioseq_Handle seq 
)

◆ AddLinkageEvidence()

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.

Parameters
extThe Seq_ext to adjust
evidence_typeThe evidence type to use.
Returns
none

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

◆ AddLocalIdUserObjects()

void AddLocalIdUserObjects ( CSeq_entry entry)

◆ AddSeqEntryToSeqEntry()

void AddSeqEntryToSeqEntry ( const CSeq_entry_Handle to,
const CSeq_entry_Handle add 
)

Attach one Seq-entry to another.

Parameters
toSeq-entry to change
addSeq-entry to add
See also
Other forms of adding the content of one Seq-entry to another.

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

◆ AdjustCdregionFrame()

NCBI_XOBJEDIT_EXPORT void AdjustCdregionFrame ( TSeqPos  original_nuc_len,
CRef< CSeq_feat cds,
const TCuts sorted_cuts 
)

◆ BioseqSetDescriptorPropagateDown()

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.

Parameters
bioseq_set_hThis is the bioseq_set whose descriptors we're moving.
choices_to_deleteIf 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().

◆ BioseqSetDescriptorPropagateUp()

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.

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

◆ ConvertRawToDeltaByNs() [1/2]

void ConvertRawToDeltaByNs ( CBioseq_Handle  bsh,
size_t  min_unknown,
int  max_unknown,
size_t  min_known,
int  max_known,
bool  is_assembly_gap = false,
int  gap_type = CSeq_gap::eType_unknown,
int  linkage = -1,
int  linkage_evidence = -1 
)

◆ ConvertRawToDeltaByNs() [2/2]

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.

Parameters
instThe Seq-inst to adjust
min_unknownThe minimum number of Ns to be converted to a gap of unknown length
max_unknownThe maximum number of Ns to be converted to a gap of unknown length
min_knownThe minimum number of Ns to be converted to a gap of known length
max_knownThe maximum number of Ns to be converted to a gap of known length
Returns
none

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

◆ DeleteProteinAndRenormalizeNucProtSet()

void DeleteProteinAndRenormalizeNucProtSet ( const CSeq_feat_Handle feat_h)

◆ DivvyUpAlignments()

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.

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

◆ FindUnverified()

CRef<CSeqdesc> FindUnverified ( const CBioseq seq)

◆ GenerateTargetedLocusName()

string GenerateTargetedLocusName ( CBioseq_Handle  seq)

◆ GetSortedCuts()

void GetSortedCuts ( CBioseq_Handle  bsh,
const TCuts cuts,
TCuts sorted_cuts,
EInternalTrimType  internal_cut_conversion 
)

1) Merge abutting and overlapping cuts.

2) Adjust any internal cuts to terminal cuts according to option. 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.

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

◆ GetTargetedLocusName()

string GetTargetedLocusName ( const CSeq_feat feat)

◆ GetTargetedLocusNameConsensus()

string GetTargetedLocusNameConsensus ( const string tls1,
const string tls2 
)

◆ HandleCollidingIds()

void HandleCollidingIds ( CSeq_entry entry)

◆ HasRepairedIDs()

bool HasRepairedIDs ( const CSeq_entry entry)

◆ IsUnverifiedContaminant()

bool IsUnverifiedContaminant ( const CBioseq seq)

◆ IsUnverifiedFeature()

bool IsUnverifiedFeature ( const CBioseq seq)

◆ IsUnverifiedMisassembled()

bool IsUnverifiedMisassembled ( const CBioseq seq)

◆ IsUnverifiedOrganism()

bool IsUnverifiedOrganism ( const CBioseq seq)

◆ NormalizeUnknownLengthGaps()

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

Parameters
instThe Seq-inst to adjust
Returns
A vector of the adjustments to the sequence, which can be used to fix the locations of features on the sequence.

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

◆ RemoveUserObjectType()

void RemoveUserObjectType ( CSeq_entry entry,
CUser_object::EObjectType  type 
)

◆ ResetLinkageEvidence()

void ResetLinkageEvidence ( CSeq_ext ext,
CLinkage_evidence::TType  evidence_type 
)

◆ RetranslateCdregion()

void RetranslateCdregion ( CBioseq_Handle  nuc_bsh,
bool  isPartialStart,
bool  isPartialStop,
CRef< CSeq_inst trimmed_nuc_inst,
CRef< CSeq_feat cds,
const TCuts sorted_cuts 
)

◆ SegregateSetsByBioseqList()

NCBI_XOBJEDIT_EXPORT 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.

Parameters
targetThe Seq-entry to split
bioseq_handlesThe 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().

◆ SeqEntryFromSeqSubmit()

CRef<CSeq_entry> SeqEntryFromSeqSubmit ( const CSeq_submit submit)

◆ SetLinkageType()

void SetLinkageType ( CSeq_ext ext,
CSeq_gap::TType  linkage_type 
)

SetLinkageType A function to set the linkage_type for gaps in a delta sequence.

Parameters
extThe Seq_ext to adjust
linkage_typeThe linkage_type to use.
Returns
none

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

◆ SetLinkageTypeLinkedRepeat()

void SetLinkageTypeLinkedRepeat ( CSeq_ext ext,
CLinkage_evidence::TType  evidence_type 
)

◆ SetLinkageTypeScaffold()

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.

Parameters
extThe Seq_ext to adjust
evidence_typeThe linkage_type to use.
Returns
none

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

◆ SetNewProteinSequence()

CRef<CBioseq> SetNewProteinSequence ( CScope new_scope,
CRef< CSeq_feat cds,
CRef< CSeq_inst new_inst 
)

◆ SetTargetedLocusName()

void SetTargetedLocusName ( CBioseq_Handle  seq,
const string tls 
)

◆ SortSeqDescr() [1/2]

void SortSeqDescr ( CSeq_descr entry)

Definition at line 3515 of file seq_entry_edit.cpp.

References CSeq_descr_Base::Set().

Referenced by SortSeqDescr().

◆ SortSeqDescr() [2/2]

void SortSeqDescr ( CSeq_entry entry)

◆ TrimSeqAlign()

void TrimSeqAlign ( CBioseq_Handle  bsh,
CRef< CSeq_align align,
const TCuts sorted_cuts 
)

◆ TrimSeqData()

void TrimSeqData ( CBioseq_Handle  bsh,
CRef< CSeq_inst inst,
const TCuts sorted_cuts 
)

◆ TrimSeqFeat()

void TrimSeqFeat ( CRef< CSeq_feat feat,
const TCuts sorted_cuts,
bool bFeatureDeleted,
bool bFeatureTrimmed,
bool partial_start,
bool partial_stop 
)

◆ TrimSeqGraph()

void TrimSeqGraph ( CBioseq_Handle  bsh,
CRef< CSeq_graph graph,
const TCuts sorted_cuts 
)

◆ TrimSequenceAndAnnotation()

void TrimSequenceAndAnnotation ( CBioseq_Handle  bsh,
const TCuts cuts,
EInternalTrimType  internal_cut_conversion 
)

Trim sequence data and all associated annotation.

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

Modified on Tue Apr 30 06:39:10 2024 by modify_doxy.py rev. 669887