objects::CSeq_inst::ETopology topology = objects::CSeq_inst::eTopology_not_set;
73topology = objects::CSeq_inst::eTopology_circular;
75topology = objects::CSeq_inst::eTopology_linear;
77topology = objects::CSeq_inst::eTopology_other;
79topology = objects::CSeq_inst::eTopology_tandem;
85 string s_GetBiomolName(objects::CSeq_inst::EMol mol, objects::CMolInfo::TBiomol biomol)
89 caseobjects::CMolInfo::eBiomol_genomic:
90 caseobjects::CMolInfo::eBiomol_unknown:
91 if(mol == objects::CSeq_inst::eMol_rna) {
92name =
"Genomic RNA";
93}
else if(mol == objects::CSeq_inst::eMol_dna) {
97 caseobjects::CMolInfo::eBiomol_pre_RNA:
98name =
"Precursor RNA";
100 caseobjects::CMolInfo::eBiomol_mRNA:
103 caseobjects::CMolInfo::eBiomol_rRNA:
104name =
"Ribosomal RNA";
106 caseobjects::CMolInfo::eBiomol_tRNA:
107name =
"Transfer RNA";
109 caseobjects::CMolInfo::eBiomol_peptide:
112 caseobjects::CMolInfo::eBiomol_other_genetic:
113name =
"Other-Genetic";
115 caseobjects::CMolInfo::eBiomol_genomic_mRNA:
116name =
"Genomic-mRNA";
118 caseobjects::CMolInfo::eBiomol_cRNA:
121 caseobjects::CMolInfo::eBiomol_transcribed_RNA:
122name =
"Transcribed RNA";
124 caseobjects::CMolInfo::eBiomol_ncRNA:
125 caseobjects::CMolInfo::eBiomol_scRNA:
126 caseobjects::CMolInfo::eBiomol_snoRNA:
127 caseobjects::CMolInfo::eBiomol_snRNA:
128 caseobjects::CMolInfo::eBiomol_tmRNA:
129name =
"Non-coding RNA";
131 caseobjects::CMolInfo::eBiomol_other:
141mol = objects::CSeq_inst::eMol_na;
142biomol = objects::CMolInfo::eBiomol_unknown;
145biomol = objects::CMolInfo::eBiomol_genomic;
146mol = objects::CSeq_inst::eMol_rna;
148biomol = objects::CMolInfo::eBiomol_genomic;
149mol = objects::CSeq_inst::eMol_dna;
154biomol = objects::CMolInfo::eBiomol_pre_RNA;
155mol = objects::CSeq_inst::eMol_rna;
159biomol = objects::CMolInfo::eBiomol_mRNA;
160mol = objects::CSeq_inst::eMol_rna;
163biomol = objects::CMolInfo::eBiomol_rRNA;
164mol = objects::CSeq_inst::eMol_rna;
167biomol = objects::CMolInfo::eBiomol_tRNA;
168mol = objects::CSeq_inst::eMol_rna;
171biomol = objects::CMolInfo::eBiomol_peptide;
172mol = objects::CSeq_inst::eMol_aa;
174biomol = objects::CMolInfo::eBiomol_other_genetic;
175mol = objects::CSeq_inst::eMol_na;
178biomol = objects::CMolInfo::eBiomol_genomic_mRNA;
179mol = objects::CSeq_inst::eMol_rna;
181biomol = objects::CMolInfo::eBiomol_cRNA;
182mol = objects::CSeq_inst::eMol_rna;
184biomol = objects::CMolInfo::eBiomol_transcribed_RNA;
185mol = objects::CSeq_inst::eMol_rna;
192biomol = objects::CMolInfo::eBiomol_ncRNA;
193mol = objects::CSeq_inst::eMol_rna;
195biomol = objects::CMolInfo::eBiomol_other;
196mol = objects::CSeq_inst::eMol_na;
203vector<string> mol_options;
206 switch(wizard_type) {
208mol_options.push_back(
"genomic RNA");
209mol_options.push_back(
"cRNA");
210mol_options.push_back(
"mRNA");
213mol_options.push_back(
"mRNA");
219mol_options.push_back(
"genomic RNA");
220mol_options.push_back(
"cRNA");
221mol_options.push_back(
"mRNA");
222mol_options.push_back(
"Precursor RNA");
223mol_options.push_back(
"Ribosomal RNA");
224mol_options.push_back(
"Transfer RNA");
225mol_options.push_back(
"Other-Genetic");
226mol_options.push_back(
"Transcribed RNA");
227mol_options.push_back(
"Transfer-messenger RNA");
228mol_options.push_back(
"ncRNA");
237vector<string> genome_options;
238genome_options.clear();
240genome_options.push_back(
"genomic");
241genome_options.push_back(
"mitochondrion");
242genome_options.push_back(
"chloroplast");
243genome_options.push_back(
"plastid");
245genome_options.push_back(
"genomic");
249genome_options.push_back(
"mitochondrion");
253genome_options.push_back(
"chloroplast");
254genome_options.push_back(
"chromoplast");
255genome_options.push_back(
"kinetoplast");
256genome_options.push_back(
"plastid");
257genome_options.push_back(
"macronuclear");
258genome_options.push_back(
"cyanelle");
259genome_options.push_back(
"nucleomorph");
260genome_options.push_back(
"apicoplast");
261genome_options.push_back(
"leucoplast");
262genome_options.push_back(
"proplastid");
263genome_options.push_back(
"hydrogenosome");
264genome_options.push_back(
"chromatophore");
265genome_options.push_back(
"extrachromosomal");
266genome_options.push_back(
"plasmid");
267genome_options.push_back(
"proviral");
268genome_options.push_back(
"virion");
269genome_options.push_back(
"endogenous-virus");
273 returngenome_options;
281id_col->SetHeader().SetField_id(objects::CSeqTable_column_info::eField_id_location_id);
283 table->SetColumns().push_back(id_col);
289moltype_col =
newobjects::CSeqTable_column();
291moltype_col->SetHeader().SetField_name(
"biomol");
292moltype_col->SetData().SetString();
293 table->SetColumns().push_back(moltype_col);
294topology_col =
newobjects::CSeqTable_column();
295topology_col->SetHeader().SetTitle(
"Topology");
296topology_col->SetHeader().SetField_name(
"topology");
297topology_col->SetData().SetString();
298 table->SetColumns().push_back(topology_col);
301objects::CBioseq_CI b_iter(seh, objects::CSeq_inst::eMol_na);
302 for( ; b_iter ; ++b_iter ) {
303objects::CSeqdesc_CI it (*b_iter, objects::CSeqdesc::e_Molinfo);
305 id->Assign (*(b_iter->GetSeqId()));
306id_col->SetData().SetId().push_back(
id);
308objects::CSeq_inst::ETopology topology = objects::CSeq_inst::eTopology_not_set;
309 if(b_iter->IsSetInst_Topology()) {
310topology = b_iter->GetInst_Topology();
315objects::CSeq_inst::EMol mol = objects::CSeq_inst::eMol_na;
316 if(b_iter->IsSetInst_Mol()) {
317mol = b_iter->GetInst_Mol();
319objects::CMolInfo::TBiomol biomol = objects::CMolInfo::eBiomol_unknown;
320 if(it && it->GetMolinfo().IsSetBiomol()) {
321biomol = it->GetMolinfo().GetBiomol();
323moltype_col->SetData().SetString().push_back(
s_GetBiomolName(mol, biomol));
344 if( ! values_table->IsSetColumns() || values_table->GetColumns().empty() ) {
348 for(
int row= 0;
row< values_table->GetNum_rows() && (
unsigned int) row < id_col->GetData().GetSize();
row++) {
349objects::CBioseq_Handle bsh = seh.GetBioseqHandle(*(id_col->GetData().GetId()[
row]));
352inst->Assign(bsh.GetInst());
353 boolinst_changed =
false;
356objects::CSeq_inst::ETopology new_topology =
s_TopologyFromName(*topology_col->GetStringPtr(
row) );
357 if(inst->IsSetTopology()) {
358 if(new_topology != inst->GetTopology()) {
359inst->SetTopology(new_topology);
360inst_changed =
true;
363 if(new_topology != objects::CSeq_inst::eTopology_not_set) {
364inst->SetTopology(new_topology);
365inst_changed =
true;
371objects::CMolInfo & molinfo = new_molinfo_desc->SetMolinfo();
372 boolmolinfo_changed =
false;
373objects::CSeqdesc_CI desc_ci( bsh, objects::CSeqdesc::e_Molinfo);
375molinfo.Assign(desc_ci->GetMolinfo());
377molinfo_changed =
true;
381objects::CSeq_inst::EMol new_mol;
382objects::CMolInfo::EBiomol new_biomol;
384 if(inst->IsSetMol()) {
385 if(new_mol != inst->GetMol()) {
386inst->SetMol(new_mol);
387inst_changed =
true;
390 if(new_mol != objects::CSeq_inst::eMol_not_set) {
391inst->SetMol(new_mol);
392inst_changed =
true;
396 if(molinfo.IsSetBiomol()) {
397 if(new_biomol != molinfo.GetBiomol()) {
398molinfo.SetBiomol(new_biomol);
399molinfo_changed =
true;
402 if(new_biomol != objects::CMolInfo::eBiomol_unknown) {
403molinfo.SetBiomol(new_biomol);
404molinfo_changed =
true;
411 cmd->AddCommand(*scmd);
413 if(molinfo_changed) {
416 cmd->AddCommand (*ecmd);
421 if(add_confirmed && (inst_changed || molinfo_changed)) {
435id_col->SetHeader().SetField_id(objects::CSeqTable_column_info::eField_id_location_id);
437 table->SetColumns().push_back(id_col);
440comment_col->SetHeader().SetTitle(
label);
441comment_col->SetHeader().SetField_name(
"comment");
442comment_col->SetData().SetString();
443 table->SetColumns().push_back(comment_col);
446objects::CBioseq_CI b_iter(seh, objects::CSeq_inst::eMol_na);
447 for( ; b_iter ; ++b_iter ) {
448objects::CSeqdesc_CI it (*b_iter, objects::CSeqdesc::e_Comment);
450 id->Assign (*(b_iter->GetSeqId()));
451id_col->SetData().SetId().push_back(
id);
452 stringcomment =
"";
454comment = it->GetComment();
456comment_col->SetData().SetString().push_back(comment);
475 if( ! values_table->IsSetColumns() || values_table->GetColumns().empty() ) {
479 for(
int row= 0;
row< values_table->GetNum_rows() && (
unsigned int) row < id_col->GetData().GetSize();
row++) {
480objects::CBioseq_Handle bsh = seh.GetBioseqHandle(*(id_col->GetData().GetId()[
row]));
481 stringnew_comment =
"";
482 if((
unsigned int) row < comment_col->GetData().GetSize()) {
483new_comment = comment_col->GetData().GetString()[
row];
485 stringold_comment =
"";
486objects::CSeqdesc_CI desc_ci( bsh, objects::CSeqdesc::e_Comment);
488old_comment = desc_ci->GetComment();
492new_desc->SetComment(new_comment);
495 cmd->AddCommand (*ecmd);
512 if(src.IsSetGenome() && src.GetGenome() == objects::CBioSource::eGenome_mitochondrion) {
514}
else if(src.IsSetOrg() && src.GetOrg().IsSetOrgname() && src.GetOrg().GetOrgname().IsSetLineage()) {
515 const string& lineage = src.GetOrg().GetOrgname().GetLineage();
535id_col->SetHeader().SetField_id(objects::CSeqTable_column_info::eField_id_location_id);
537 table->SetColumns().push_back(id_col);
540comment_col->SetHeader().SetTitle(
label);
541comment_col->SetHeader().SetField_name(
"comment");
542comment_col->SetData().SetString();
543 table->SetColumns().push_back(comment_col);
546objects::CBioseq_CI b_iter(seh, objects::CSeq_inst::eMol_na);
547 for( ; b_iter ; ++b_iter ) {
548objects::CSeqdesc_CI desc (*b_iter, objects::CSeqdesc::e_Source);
555objects::CFeat_CI fit (*b_iter);
556 while(fit && this_count < 2) {
558 if(fit->IsSetData() && fit->GetData().IsRna()
559&& fit->GetData().GetRna().IsSetType()
560&& fit->GetData().GetRna().GetType() == objects::CRNA_ref::eType_rRNA
561&& fit->GetData().GetRna().IsSetExt()
562&& fit->GetData().GetRna().GetExt().IsName()
563&&
NStr::Equal(fit->GetData().GetRna().GetExt().GetName(),
"16S ribosomal RNA")) {
570 if(this_count == 1 && any) {
572 id->Assign (*(b_iter->GetSeqId()));
573id_col->SetData().SetId().push_back(
id);
574objects::CSeqdesc_CI it (*b_iter, objects::CSeqdesc::e_Comment);
578 stringprog_ver =
"";
582comment_col->SetData().SetString().push_back(prog_ver);
606 if( ! values_table->IsSetColumns() || values_table->GetColumns().empty() ) {
610 for(
int row= 0;
row< values_table->GetNum_rows() && (
unsigned int) row < id_col->GetData().GetSize();
row++) {
611objects::CBioseq_Handle bsh = seh.GetBioseqHandle(*(id_col->GetData().GetId()[
row]));
612 stringnew_comment = comment_col->GetData().GetString()[
row];
616 stringold_comment =
"";
617objects::CSeqdesc_CI desc_ci( bsh, objects::CSeqdesc::e_Comment);
622old_comment = desc_ci->GetComment();
626new_desc->SetComment(new_comment);
629 cmd->AddCommand (*ecmd);
647id_col->SetHeader().SetField_id(objects::CSeqTable_column_info::eField_id_location_id);
649 table->SetColumns().push_back(id_col);
654objects::CBioseq_CI b_iter(seh, objects::CSeq_inst::eMol_na);
655 for( ; b_iter ; ++b_iter ) {
657 id->Assign (*(b_iter->GetSeqId()));
658id_col->SetData().SetId().push_back(
id);
660objects::CSeqdesc_CI it (*b_iter, objects::CSeqdesc::e_User);
662 if(it->GetUser().IsSetType()
663&& it->GetUser().GetType().IsStr()
665 ITERATE(objects::CUser_object::TData, field_it, it->GetUser().GetData()) {
666 if((*field_it)->IsSetLabel()
667&& (*field_it)->GetLabel().IsStr()
668&& (*field_it)->IsSetData()) {
669 stringexisting_val =
"";
670 if((*field_it)->GetData().IsStr()) {
671existing_val = (*field_it)->GetData().GetStr();
672}
else if((*field_it)->GetData().IsStrs()) {
673 for(vector<CStringUTF8>::const_iterator str_it = (*field_it)->GetData().GetStrs().begin();
674str_it != (*field_it)->GetData().GetStrs().end();
676existing_val +=
", "+ *str_it;
679existing_val = existing_val.substr(2);
706 constobjects::CSeq_table::TColumns &
columns= values_table->GetColumns();
707 size_tnum_cols =
columns.size();
709 for(
int row= 0;
row< values_table->GetNum_rows() && (
size_t) row < id_col->GetData().GetSize();
row++) {
710objects::CBioseq_Handle bsh = seh.GetBioseqHandle(*(id_col->GetData().GetId()[
row]));
713objects::CSeqdesc_CI desc_ci( bsh, objects::CSeqdesc::e_User);
715 while(desc_ci && !found) {
716 if(desc_ci->GetUser().IsSetType()
717&& desc_ci->GetUser().GetType().IsStr()
720new_desc->SetUser().Assign(desc_ci->GetUser());
726 boolany_change =
false;
727 for(
size_t i= 1;
i< num_cols;
i++) {
728 stringcol_name = values_table->GetColumns()[
i]->GetHeader().GetTitle();
730objects::CUser_field& field = new_desc->SetUser().SetField(col_name);
731 if(!field.IsSetLabel() || !field.GetLabel().IsStr() ||
NStr::IsBlank(field.GetLabel().GetStr())) {
732field.SetLabel().SetStr(col_name);
734 stringnew_val =
"";
735 if((
size_t) row < values_table->GetColumns()[
i]->GetData().GetSize()) {
736new_val = values_table->GetColumns()[
i]->GetData().GetString()[
row];
738vector<string> values;
741 for(vector<string>::iterator str_it = values.begin(); str_it != values.end(); str_it++) {
742field.SetData().SetStrs().push_back(*str_it);
744 if(values.size() == 0) {
745field.SetData().SetStrs().push_back(
" ");
753 cmd->AddCommand (*ecmd);
755new_desc->SetUser().SetType().SetStr(
"DBLink");
776inst = &(
b->GetInst());
836vector<string> rvals;
837rvals.push_back(
GetVal(
object));
967vector<CConstRef<CObject> > objs;
989vector<CRef<edit::CApplyObject> > objs;
1000new_desc->
Assign(*desc_ci);
1004objs.push_back(new_obj);
1014objs.push_back(new_obj);
1029objs.push_back(new_obj);
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
static string GetBiomolLabel(objects::CMolInfo::TBiomol biomol)
static objects::CSeq_inst::TStrand GetStrandFromLabel(const string &val)
static objects::CSeq_inst::TMol GetMolFromLabel(const string &val)
static string GetTechLabel(objects::CMolInfo::TTech tech)
static objects::CSeq_inst::TTopology GetTopologyFromLabel(const string &val)
static EMolInfoFieldType GetFieldType(const string &field_name)
static objects::CMolInfo::TTech GetTechFromLabel(const string &val)
static string GetStrandLabel(objects::CSeq_inst::TStrand val)
static string GetMolLabel(objects::CSeq_inst::TMol val)
static string GetTopologyLabel(objects::CSeq_inst::TTopology tech)
static objects::CMolInfo::TCompleteness GetCompletenessFromLabel(const string &val)
static objects::CMolInfo::TBiomol GetBiomolFromLabel(const string &val)
static string GetCompletenessLabel(objects::CMolInfo::TCompleteness tech)
virtual void SetConstraint(const string &field, CConstRef< objects::edit::CStringConstraint > string_constraint)
virtual bool SetVal(CObject &object, const string &val, objects::edit::EExistingText existing_text)
CMolInfoFieldType::EMolInfoFieldType m_FieldType
virtual vector< string > GetVals(const CObject &object)
virtual string GetVal(const CObject &object)
CMolInfoFieldType::EMolInfoFieldType m_ConstraintFieldType
virtual vector< CConstRef< CObject > > GetObjects(CBioseq_Handle bsh)
virtual vector< CRef< objects::edit::CApplyObject > > GetApplyObjects(CBioseq_Handle bsh)
virtual bool IsEmpty(const CObject &object) const
virtual void ClearVal(CObject &object)
CRef< objects::edit::CStringConstraint > m_StringConstraint
@ eWizardSrcType_bacteria_or_archaea
@ eWizardType_microsatellite
@ eWizardType_rrna_its_igs
static CRef< CCmdComposite > SetWizardFieldInSeqEntry(objects::CSeq_entry_Handle entry, string field_name, string value)
objects::CSeqdesc::E_Choice m_Subtype
virtual vector< CConstRef< CObject > > GetObjects(objects::CBioseq_Handle bsh)
const char * kMoleculeType
const char * kDefaultMoleculeType
const char * kSequenceIdColLabel
static const column_t columns[]
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Set object to copy of another one.
CConstRef< CBioseq > GetCompleteBioseq(void) const
Get the complete bioseq.
CSeq_entry_Handle GetParentEntry(void) const
Get parent Seq-entry handle.
bool IsSetInst(void) const
const TInst & GetInst(void) const
TObjectType * GetPointer(void) const THROWS_NONE
Get pointer,.
TObjectType * GetPointer(void) THROWS_NONE
Get pointer,.
void Reset(void)
Reset reference object.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static list< string > & Split(const CTempString str, const CTempString delim, list< string > &arr, TSplitFlags flags=0, vector< SIZE_TYPE > *token_pos=NULL)
Split a string using specified delimiters.
static SIZE_TYPE FindNoCase(const CTempString str, const CTempString pattern, SIZE_TYPE start, SIZE_TYPE end, EOccurrence which=eFirst)
Find the pattern in the specified range of a string using a case insensitive search.
static bool IsBlank(const CTempString str, SIZE_TYPE pos=0)
Check if a string is blank (has no text).
static bool StartsWith(const CTempString str, const CTempString start, ECase use_case=eCase)
Check if a string starts with a specified prefix value.
static bool EqualNocase(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2)
Case-insensitive equality of a substring with another string.
static bool Equal(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2, ECase use_case=eCase)
Test for equality of a substring with another string.
static const char label[]
void SetCompleteness(TCompleteness value)
Assign a value to Completeness data member.
void ResetStrand(void)
Reset Strand data member.
bool IsSetCompleteness(void) const
Check if a value has been assigned to Completeness data member.
bool IsMolinfo(void) const
Check if variant Molinfo is selected.
TStrand GetStrand(void) const
Get the Strand member data.
void ResetMol(void)
Reset Mol data member.
TTopology GetTopology(void) const
Get the Topology member data.
bool IsSetTechexp(void) const
explanation if tech not enough
bool IsSetMol(void) const
Check if a value has been assigned to Mol data member.
bool IsSetStrand(void) const
Check if a value has been assigned to Strand data member.
void ResetCompleteness(void)
Reset Completeness data member.
bool IsSetBiomol(void) const
Check if a value has been assigned to Biomol data member.
TTech GetTech(void) const
Get the Tech member data.
void ResetTechexp(void)
Reset Techexp data member.
TMol GetMol(void) const
Get the Mol member data.
const TTechexp & GetTechexp(void) const
Get the Techexp member data.
void SetInst(TInst &value)
Assign a value to Inst data member.
void ResetTech(void)
Reset Tech data member.
void ResetTopology(void)
Reset Topology data member.
TBiomol GetBiomol(void) const
Get the Biomol member data.
void SetTopology(TTopology value)
Assign a value to Topology data member.
void ResetBiomol(void)
Reset Biomol data member.
void SetBiomol(TBiomol value)
Assign a value to Biomol data member.
bool IsSetTech(void) const
Check if a value has been assigned to Tech data member.
void SetTechexp(const TTechexp &value)
Assign a value to Techexp data member.
TCompleteness GetCompleteness(void) const
Get the Completeness member data.
void SetStrand(TStrand value)
Assign a value to Strand data member.
void SetTech(TTech value)
Assign a value to Tech data member.
const TMolinfo & GetMolinfo(void) const
Get the variant data.
TMolinfo & SetMolinfo(void)
Select the variant.
void SetMol(TMol value)
Assign a value to Mol data member.
bool IsSetTopology(void) const
Check if a value has been assigned to Topology data member.
@ eTech_other
use Source.techexp
<!DOCTYPE HTML >< html > n< header > n< title > PubSeq Gateway Help Page</title > n< style > n table
CRef< CCmdComposite > ApplyCommentValuesTableToSeqEntry(CRef< objects::CSeq_table >values_table, objects::CSeq_entry_Handle seh, const string &label)
CRef< objects::CSeq_table > BuildCommentDescriptorValuesTableFromSeqEntry(objects::CSeq_entry_Handle seh, const string &label)
objects::CSeq_inst::ETopology s_TopologyFromName(string name)
static void s_GetBiomolValuesFromName(string name, objects::CSeq_inst::EMol &mol, objects::CMolInfo::EBiomol &biomol)
CRef< CCmdComposite > ApplyMolInfoValuesTableToSeqEntry(CRef< objects::CSeq_table >values_table, objects::CSeq_entry_Handle seh, bool add_confirmed)
vector< string > GetSrcGenomeOptions(CSourceRequirements::EWizardType wizard_type, CSourceRequirements::EWizardSrcType src_type)
vector< string > GetMoleculeTypeOptions(CSourceRequirements::EWizardType wizard_type)
string s_GetBiomolName(objects::CSeq_inst::EMol mol, objects::CMolInfo::TBiomol biomol)
CRef< objects::CSeq_table > BuildMolInfoValuesTableFromSeqEntry(objects::CSeq_entry_Handle seh, CSourceRequirements::EWizardType wizard_type)
CRef< objects::CSeq_table > BuildChimeraValuesTableFromSeqEntry(objects::CSeq_entry_Handle seh, const string &label, CSourceRequirements::EWizardSrcType src_type)
static bool s_WantChimeraForSource(const objects::CBioSource &src, CSourceRequirements::EWizardSrcType src_type)
CRef< CCmdComposite > ApplyDBLinkValuesTableToSeqEntry(CRef< objects::CSeq_table >values_table, objects::CSeq_entry_Handle seh)
CRef< CCmdComposite > ApplyChimeraValuesTableToSeqEntry(CRef< objects::CSeq_table >values_table, objects::CSeq_entry_Handle seh, const string &label)
CRef< objects::CSeq_table > BuildDBLinkValuesTableFromSeqEntry(objects::CSeq_entry_Handle seh)
const string kChimeraCommentStart
CRef< CSeqTable_column > FindSeqTableColumnByName(CRef< objects::CSeq_table > values_table, string column_name)
void AddValueToTable(CRef< CSeq_table > table, string subtype_name, string value, size_t row, edit::EExistingText existing_text=edit::eExistingText_replace_old)
#define row(bind, expected)
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