: m_SEH(seh), m_Add(seqentry)
66 if(nuc_parent && nuc_parent.
IsSetClass() && nuc_parent.
GetClass() == objects::CBioseq_set::eClass_nuc_prot) {
79 if(
set&&
set->IsSetSeq_set()) {
82CBioseq_set::TDescr::Tdata::const_iterator it =
nuc->GetDescr().Get().begin();
85 while(it !=
nuc->GetDescr().Get().end()) {
86 if(!(*it)->IsMolinfo()
94 if(
nuc->IsSetDescr()) {
95it =
nuc->GetDescr().Get().begin();
116 if(entry->
IsSet()) {
118CBioseq_set::TSeq_set::const_iterator it =
set.GetSeq_set().
begin();
124 if(it !=
set.GetSeq_set().
end()) {
127 if(
set.GetSeq_set().
size() == 1) {
137 return "Add SeqEntry";
142 boolchanged =
false;
144 if( partial5 && partial3 ) {
146}
else if( partial5 ) {
148}
else if( partial3 ) {
165 if((*it)->IsMolinfo()) {
171pdesc =
newobjects::CSeqdesc();
172protein->SetDescr().Set().push_back(pdesc);
174pdesc->SetMolinfo().SetBiomol(objects::CMolInfo::eBiomol_peptide);
183 NON_CONST_ITERATE(objects::CSeq_entry::TAnnot, annot_it, protein->SetSeq().SetAnnot()) {
184 if((*annot_it)->IsFtable()) {
190 ftable=
newobjects::CSeq_annot();
191protein->SetSeq().SetAnnot().push_back(
ftable);
196 if((*feat_it)->IsSetData() && (*feat_it)->GetData().IsProt() && !(*feat_it)->GetData().GetProt().IsSetProcessed()) {
197prot_feat = *feat_it;
202prot_feat =
newobjects::CSeq_feat();
203prot_feat->SetData().SetProt();
204 ftable->SetData().SetFtable().push_back(prot_feat);
207prot_id->Assign(*(protein->GetSeq().GetId().front()));
208prot_feat->SetLocation().SetInt().SetId(*prot_id);
209prot_feat->SetLocation().SetInt().SetFrom(0);
210prot_feat->SetLocation().SetInt().SetTo(protein->GetSeq().GetLength() - 1);
213 if(partial5 || partial3) {
214prot_feat->SetPartial(
true);
216prot_feat->ResetPartial();
224objects::CSourceModParser
smp(
225objects::CSourceModParser::eHandleBadMod_Ignore );
228= protein->GetSeq().GetClosestDescriptor(objects::CSeqdesc::e_Title);
230 string& title(
const_cast<string&
>(title_desc->GetTitle()));
232 smp.ApplyAllMods(protein->SetSeq());
242objects::CSeqTranslator::ChangeDeltaProteinToRawProtein(protein);
244 if(cds->IsSetProduct()) {
245prot_id->Assign(*(cds->GetProduct().GetId()));
248 intlocal_offset = 1;
253cds->SetProduct().SetWhole().Assign(*prot_id);
258protein->SetId().push_back(prot_id);
260entry->SetSeq().Assign(*protein);
@ eExtreme_Biological
5' and 3'
CRef< objects::CSeq_id > GetNewProtId(objects::CBioseq_Handle bsh, int &offset, string &id_label, bool general_only)
virtual string GetLabel()
virtual void Unexecute()
Undo (opposite to Execute())
CCmdAddSeqEntry(CSeq_entry *seqentry, CSeq_entry_Handle seh)
virtual void Execute()
Do the editing action.
@ eObjectType_AutodefOptions
const_iterator begin() const
const_iterator end() const
bool SetMolinfoCompleteness(CMolInfo &mi, bool partial5, bool partial3)
void SetMolinfoForProtein(CRef< objects::CSeq_entry > protein, bool partial5, bool partial3)
CRef< objects::CSeq_feat > AddEmptyProteinFeatureToProtein(CRef< objects::CSeq_entry > protein, bool partial5, bool partial3)
CRef< objects::CSeq_entry > CreateTranslatedProteinSequence(CRef< objects::CSeq_feat > cds, objects::CBioseq_Handle nuc_h, bool create_general_only, int *offset)
CRef< objects::CSeq_feat > AddProteinFeatureToProtein(CRef< objects::CSeq_entry > protein, bool partial5, bool partial3)
#define NON_CONST_ITERATE(Type, Var, Cont)
Non constant version of ITERATE macro.
CSeq_entry_EditHandle GetSeq_entryEditHandle(const CSeq_entry &entry)
TSeq ConvertSetToSeq(void) const
Do the same as CollapseSet() when sub-entry is of type bioseq.
TClass GetClass(void) const
CRef< CSeqdesc > RemoveSeqdesc(const CSeqdesc &v) const
CBioseq_set_EditHandle GetParentBioseq_set(void) const
Get parent bioseq-set edit handle.
void Remove(void) const
Remove this Seq-entry from parent, or scope if it's top level Seq-entry.
TSet ConvertSeqToSet(TClass set_class=CBioseq_set::eClass_not_set) const
Convert the entry from Bioseq to Bioseq-set.
CConstRef< CBioseq_set > GetCompleteBioseq_set(void) const
Return the complete bioseq-set object.
CSeq_entry_EditHandle GetEditHandle(void) const
Get 'edit' version of handle.
CSeq_entry_Handle GetParentEntry(void) const
Return a handle for the parent seq-entry of the bioseq.
bool IsSetClass(void) const
CConstRef< CSeq_entry > GetCompleteSeq_entry(void) const
Complete and get const reference to the seq-entry.
CScope & GetScope(void) const
Get scope this handle belongs to.
CSeq_entry_EditHandle AttachEntry(CSeq_entry &entry, int index=-1) const
Attach an existing seq-entry.
bool AddSeqdesc(CSeqdesc &v) const
int GetSeq_entry_Index(const CSeq_entry_Handle &handle) const
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
const TSeq & GetSeq(void) const
Get the variant data.
const TSet & GetSet(void) const
Get the variant data.
bool IsSeq(void) const
Check if variant Seq is selected.
bool IsSet(void) const
Check if variant Set is selected.
@ eClass_nuc_prot
nuc acid and coded proteins
void SetCompleteness(TCompleteness value)
Assign a value to Completeness data member.
bool IsSetCompleteness(void) const
Check if a value has been assigned to Completeness data member.
TCompleteness GetCompleteness(void) const
Get the Completeness member data.
@ eCompleteness_complete
complete biological entity
@ eCompleteness_no_left
missing 5' or NH3 end
@ eCompleteness_no_right
missing 3' or COOH end
@ eCompleteness_no_ends
missing both ends
void copy(Njn::Matrix< S > *matrix_, const Njn::Matrix< T > &matrix0_)
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