pooled_clones =
false);
108 stringprefix, title, suffix;
116 boolthird_party =
false;
117 booltpa_exp =
false;
118 booltpa_inf =
false;
122 boolis_tsa =
false;
123 boolwgs_master =
false;
124 booltsa_master =
false;
126 boolhtg_tech =
false;
127 boolhtgs_draft =
false;
128 boolhtgs_cancelled =
false;
129 boolhtgs_pooled =
false;
130 boolhtgs_unfinished =
false;
131 booluse_biosrc =
false;
137tsid =
id->GetTextseq_Id();
139 switch(id->
Which()) {
146 if(
t.IsSetAccession()) {
147 const string& acc =
t.GetAccession();
167general_id = &
id->GetGeneral();
176pdb_id = &
id->GetPdb();
179pat_id = &
id->GetPatent();
194 source= &it->GetSource();
195 if( (found |= 1) == 3 ) {
202mol_info = &it->GetMolinfo();
204 if( (found |= 2) == 3 ) {
216htgs_unfinished =
true;
237 if(htg_tech || third_party) {
240 if(gb->GetGenbank().IsSetKeywords()) {
241keywords = &gb->GetGenbank().GetKeywords();
247 if(embl->GetEmbl().IsSetKeywords()) {
248keywords = &embl->GetEmbl().GetKeywords();
258htgs_cancelled =
true;
271 size_tsearch_depth = 0;
283 if(title.empty() && use_biosrc &&
source.NotEmpty()) {
290htgs_unfinished && htgs_pooled);
295 if(title.empty() && is_nc &&
source.NotEmpty()
301 if(!title.empty()) {
306}
else if(title.empty() && is_nm &&
source.NotEmpty()
308 unsigned intgenes = 0, cdregions = 0, prots
NCBI_UNUSED= 0;
312 switch(it->GetData().Which()) {
315gene.Reset(&it->GetMappedFeature());
319cdregion.
Reset(&it->GetMappedFeature());
328 if(genes == 1 && cdregions == 1
329&&
source->GetOrg().IsSetTaxname()) {
330title =
source->GetOrg().GetTaxname() +
' ';
335 "Drosophila melanogaster")) {
339 "transcript variant ");
345}
else if(title.empty() && is_nr &&
source.NotEmpty()
350 if(it->GetData().IsGene()) {
351title =
source->GetOrg().GetTaxname() +
' ';
375title.erase(title.end() - 1);
378 if(title.empty() && pdb_id.
NotEmpty()) {
382 if(
isprint((
unsigned char) pdb_id->GetChain())) {
383title =
string(
"Chain ") + (char)pdb_id->GetChain() +
", ";
391 if(title.empty() && pat_id.
NotEmpty()) {
393+
" from Patent "+ pat_id->GetCit().GetCountry()
394+
' '+ pat_id->GetCit().GetSomeNumber();
399 if( !title.empty() ) {
404 if(title.empty() && !htg_tech
409 if(title.empty() && !htg_tech &&
source.NotEmpty()) {
412title =
"No definition line found";
416 if(is_tsa && !title.empty() ) {
418}
else if(third_party && !title.empty() ) {
422prefix =
"TPA_exp: ";
427}
else if(tpa_inf) {
429prefix =
"TPA_inf: ";
434}
else if( !tpa_start ) {
441 if(title.find(
"LOW-PASS") ==
NPOS) {
442suffix =
", LOW-PASS SEQUENCE SAMPLING";
448 if(htgs_draft && title.find(
"WORKING DRAFT") ==
NPOS) {
449suffix =
", WORKING DRAFT SEQUENCE";
450}
else if( !htgs_draft && !htgs_cancelled
451&& title.find(
"SEQUENCING IN") ==
NPOS) {
452suffix =
", *** SEQUENCING IN PROGRESS ***";
460 unsigned intpieces = 1;
468+
' '+ un +
"ordered pieces");
476 if(title.find(
"complete sequence") ==
NPOS) {
477suffix =
", complete sequence";
482 if(title.find(
"mRNA sequence") ==
NPOS) {
483suffix =
", mRNA sequence";
488 if(title.find(
"sequence tagged site") ==
NPOS) {
489suffix =
", sequence tagged site";
494 if(title.find(
"genomic survey sequence") ==
NPOS) {
495suffix =
", genomic survey sequence";
501 if(title.find(
"whole genome shotgun sequencing project") ==
NPOS){
502suffix =
", whole genome shotgun sequencing project";
504}
else if(title.find(
"whole genome shotgun sequence") ==
NPOS) {
505 if(
source.NotEmpty()) {
508 if(orgnl[0] && title.find(orgnl) ==
NPOS) {
509suffix =
string(1,
' ') + orgnl;
512suffix +=
", whole genome shotgun sequence";
518 if(title.find(
"transcriptome shotgun assembly project") ==
NPOS){
519suffix =
", transcriptome shotgun assembly project";
521}
else if(title.find(
"transcriptome shotgun assembly project") ==
NPOS) {
522suffix +=
", transcriptome shotgun assembly project";
530org = &
source->GetOrg();
539 if(organism.empty() && org.
NotEmpty() && org->IsSetTaxname()) {
540organism = org->GetTaxname();
542 if( !organism.empty() && title.find(organism) ==
NPOS) {
543suffix +=
" ["+ organism +
']';
547 returnprefix + title + suffix;
553 stringprefix, title, suffix;
561 boolthird_party =
false;
562 booltpa_exp =
false;
563 booltpa_inf =
false;
567 boolis_tsa =
false;
568 boolwgs_master =
false;
569 booltsa_master =
false;
571 boolhtg_tech =
false;
572 boolhtgs_draft =
false;
573 boolhtgs_cancelled =
false;
574 boolhtgs_pooled =
false;
575 boolhtgs_unfinished =
false;
576 booluse_biosrc =
false;
581tsid =
id->GetTextseq_Id();
583 switch(id->
Which()) {
590 if(
t.IsSetAccession()) {
591 const string& acc =
t.GetAccession();
611general_id = &
id->GetGeneral();
620pdb_id = &
id->GetPdb();
623pat_id = &
id->GetPatent();
633 source= &desc->GetSource();
637mol_info = &desc->GetMolinfo();
646htgs_unfinished =
true;
667 if(htg_tech || third_party) {
681 if( level <= max_level ) {
682title = desc->GetTitle();
687 if(title.empty() && use_biosrc &&
source.NotEmpty()) {
694htgs_unfinished && htgs_pooled);
699 if(title.empty() && is_nc &&
source.NotEmpty()
705 if(!title.empty()) {
710}
else if(title.empty() && is_nm &&
source.NotEmpty()) {
712}
else if(title.empty() && is_nr &&
source.NotEmpty()
713&&
source->GetOrg().IsSetTaxname()) {
719title.erase(title.end() - 1);
722 if(title.empty() && pdb_id.
NotEmpty()) {
726 if(title.empty() && pat_id.
NotEmpty()) {
728+
" from Patent "+ pat_id->GetCit().GetCountry()
729+
' '+ pat_id->GetCit().GetSomeNumber();
732 if(title.empty() && seq.
IsAa()) {
736 if(title.empty() && !htg_tech &&
741 if(title.empty() && !htg_tech &&
source.NotEmpty()) {
744title =
"No definition line found";
748 if(is_tsa && !title.empty() ) {
750}
else if(third_party && !title.empty() ) {
754prefix =
"TPA_exp: ";
759}
else if(tpa_inf) {
761prefix =
"TPA_inf: ";
766}
else if( !tpa_start ) {
773 if(title.find(
"LOW-PASS") ==
NPOS) {
774suffix =
", LOW-PASS SEQUENCE SAMPLING";
780 if(htgs_draft && title.find(
"WORKING DRAFT") ==
NPOS) {
781suffix =
", WORKING DRAFT SEQUENCE";
782}
else if( !htgs_draft && !htgs_cancelled
783&& title.find(
"SEQUENCING IN") ==
NPOS) {
784suffix =
", *** SEQUENCING IN PROGRESS ***";
799 if(title.find(
"complete sequence") ==
NPOS) {
800suffix =
", complete sequence";
805 if(title.find(
"mRNA sequence") ==
NPOS) {
806suffix =
", mRNA sequence";
811 if(title.find(
"sequence tagged site") ==
NPOS) {
812suffix =
", sequence tagged site";
817 if(title.find(
"genomic survey sequence") ==
NPOS) {
818suffix =
", genomic survey sequence";
824 if(title.find(
"whole genome shotgun sequencing project") ==
NPOS){
825suffix =
", whole genome shotgun sequencing project";
827}
else if(title.find(
"whole genome shotgun sequence") ==
NPOS) {
828 if(
source.NotEmpty()) {
831 if(orgnl[0] && title.find(orgnl) ==
NPOS) {
832suffix =
string(1,
' ') + orgnl;
835suffix +=
", whole genome shotgun sequence";
841 if(title.find(
"transcriptome shotgun assembly project") ==
NPOS){
842suffix =
", transcriptome shotgun assembly project";
844}
else if(title.find(
"transcriptome shotgun assembly project") ==
NPOS) {
845suffix +=
", transcriptome shotgun assembly project";
853org = &
source->GetOrg();
857org = &desc->GetOrg();
861 if(organism.empty() && org.
NotEmpty() && org->IsSetTaxname()) {
862organism = org->GetTaxname();
864 if( !organism.empty() && title.find(organism) ==
NPOS) {
865suffix +=
" ["+ organism +
']';
869*title_ptr = prefix + title + suffix;
878pos = clone.find(
';', pos + 1)) {
882 return ", pooled multiple clones";
883}
else if(
count> 3) {
886 return " clone "+ clone;
894 if(strain.size() >= name.size()) {
901pos = name.find(
' ', pos + 1);
902 if(pos ==
NPOS|| pos + strain.size() >= name.size()) {
908 if(pos == name.size() - strain.size()) {
910}
else if(pos == name.size() - strain.size() - 1
911&& name[pos - 1] ==
'\''&& name[name.size() - 1] ==
'\'') {
921 const string& suffix,
924 stringname, chromosome, clone, map_, plasmid, strain, sfx;
931 if(suffix.size() > 0) {
935 if(
source.IsSetSubtype()) {
937 switch((*it)->GetSubtype()) {
939chromosome =
" chromosome "+ (*it)->GetName();
940 if(suffix == (*it)->GetName()) {
948map_ =
" map "+ (*it)->GetName();
952plasmid =
" plasmid "+ (*it)->GetName();
953 if(suffix == (*it)->GetName()) {
964 const string&
subname= (*it)->GetSubname();
973+ map_ + plasmid + sfx);
974 if( !title.empty() &&
islower((
unsigned char) title[0])) {
975title[0] = (char)
toupper((
unsigned char) title[0]);
988 return "chloroplast";
990 return "chromoplast";
992 return "kinetoplast";
995 return "mitochondrion";
997 return "mitochondrial";
1003 return "macronuclear";
1008 return "extrachromosomal";
1035 return "nucleomorph";
1039 return "apicoplast";
1041 return "leucoplast";
1044 return "protoplast";
1046 return "proplastid";
1051 return "endogenous virus";
1056 return "hydrogenosome";
1061 return "chromosome";
1066 return "chromatophore";
1077 stringname, chromosome, segment, plasmid_name, orgnl;
1078 stringseq_tag, gen_tag;
1079 boolis_plasmid =
false;
1082 if(
source.GetOrg().IsSetTaxname()) {
1083name =
source.GetOrg().GetTaxname();
1088 stringlc_name = name;
1091 if(lc_name.find(
"virus") !=
NPOS|| lc_name.find(
"phage") !=
NPOS) {
1095 if(
source.IsSetSubtype()) {
1097 switch((*it)->GetSubtype()) {
1099chromosome = (*it)->GetName();
1102segment = (*it)->GetName();
1106plasmid_name = (*it)->GetName();
1107 stringlc_plasmid = plasmid_name;
1109 if(lc_plasmid.find(
"plasmid") ==
NPOS 1110&& lc_plasmid.find(
"element") ==
NPOS) {
1111plasmid_name =
"plasmid "+ plasmid_name;
1130seq_tag =
", partial sequence";
1131gen_tag =
", genome";
1134seq_tag =
", complete sequence";
1135gen_tag =
", complete genome";
1139 if(lc_name.find(
"plasmid") !=
NPOS) {
1140 returnname + seq_tag;
1141}
else if(is_plasmid) {
1142 if(plasmid_name.empty()) {
1143 returnname +
" unnamed plasmid"+ seq_tag;
1145 returnname +
' '+ plasmid_name + seq_tag;
1147}
else if( !plasmid_name.empty() ) {
1148 if(orgnl.empty()) {
1149 returnname +
' '+ plasmid_name + seq_tag;
1151 returnname +
' '+ orgnl +
' '+ plasmid_name + seq_tag;
1153}
else if( !orgnl.empty() ) {
1154 if( chromosome.empty() ) {
1155 returnname +
' '+ orgnl + gen_tag;
1157 returnname +
' '+ orgnl +
" chromosome "+ chromosome + seq_tag;
1159}
else if( !segment.empty() ) {
1160 if(segment.find(
"DNA") ==
NPOS&& segment.find(
"RNA") ==
NPOS 1161&& segment.find(
"segment") ==
NPOS 1162&& segment.find(
"Segment") ==
NPOS) {
1163 returnname +
" segment "+ segment + seq_tag;
1165 returnname +
' '+ segment + seq_tag;
1167}
else if( !chromosome.empty() ) {
1168 returnname +
" chromosome "+ chromosome + seq_tag;
1170 returnname + gen_tag;
1221 if(
prot.NotEmpty() &&
prot->IsSetName() && !
prot->GetName().empty()) {
1241}
else if(
prot.NotEmpty() &&
prot->IsSetDesc()
1242&& !
prot->GetDesc().empty()) {
1243 return prot->GetDesc();
1244}
else if(
prot.NotEmpty() &&
prot->IsSetActivity()
1245&& !
prot->GetActivity().empty()) {
1246 return prot->GetActivity().front();
1252gene_name = *gene->
GetSyn().begin();
1254gene_name = gene->
GetDesc();
1256 if( !gene_name.empty() ) {
1257 returngene_name +
" gene product";
1261 return "unnamed protein product";
1274 result=
"unnamed protein product";
1280org = &it->GetSource().GetOrg();
1286org = &it->GetData().GetBiosrc().GetOrg();
1290 if(org.
NotEmpty() && org->IsSetTaxname()) {
1291organism = org->GetTaxname();
1302 stringorganism, product, locus, strain, clone, isolate;
1303 stringcompleteness =
"complete";
1304 boolcds_found =
false;
1318 const string&
subname= (*mod)->GetSubname();
1343 if(organism.empty()) {
1344organism =
"Unknown";
1360completeness =
"partial";
1366 if(product.empty() && prot_feat.
NotEmpty()
1373 if(locus.empty() && gene_feat.
NotEmpty()) {
1385 string result= organism;
1387 if( !strain.empty() ) {
1388 result+=
" strain "+ strain;
1389}
else if( !clone.empty() && clone.find(
" clone ") !=
NPOS) {
1391}
else if( !isolate.empty() ) {
1392 result+=
" isolate "+ isolate;
1395 if( !product.empty() ) {
1398 if( !locus.empty() ) {
1399 result+=
" ("+ locus +
')';
1401 if( !product.empty() || !locus.empty() ) {
1402 result+=
" gene, "+ completeness +
" cds";
1413 if(pos > 0 && !
isspace((
unsigned char)s[pos - 1]) ) {
1417 while(pos + 3 <
len&&
isdigit((
unsigned char)s[pos])) {
1420 if(s[pos] ==
'-'&& s[pos + 1] ==
'P' 1421&&
isalpha((
unsigned char)s[pos + 2])
1422&& (pos + 3 ==
len|| strchr(
" ,;", s[pos + 3])) ) {
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
CConstRef< CSeqdesc > GetClosestDescriptor(CSeqdesc::E_Choice choice, int *level=NULL) const
bool IsSkippable(void) const
Template class for iteration on objects of class C (non-medifiable version)
static DLIST_TYPE *DLIST_NAME() first(DLIST_LIST_TYPE *list)
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
static EAccessionInfo IdentifyAccession(const CTempString &accession, TParseFlags flags=fParse_AnyRaw)
Deduces information from a bare accession a la WHICH_db_accession; may report false negatives on prop...
EAccessionInfo
For IdentifyAccession (below)
string GetLabel(const CSeq_id &id)
CMappedFeat GetBestOverlappingFeat(const CMappedFeat &feat, CSeqFeatData::ESubtype need_subtype, sequence::EOverlapType overlap_type, CFeatTree *feat_tree=0, const SAnnotSelector *base_sel=0)
@ fFGL_Content
Include its content if there is any.
@ eOverlap_Interval
at least one pair of intervals must overlap
@ eOverlap_Contained
2nd contained within 1st extremes
const CSeq_feat * GetCDSForProduct(const CBioseq &product, CScope *scope)
Get the encoding CDS feature of a given protein sequence.
CConstRef< CSeq_feat > GetOverlappingGene(const CSeq_loc &loc, CScope &scope, ETransSplicing eTransSplicing=eTransSplicing_Auto)
string GetTitle(const CBioseq_Handle &hnd, TGetTitleFlags flags)
@ fGetTitle_Organism
append [organism]
@ fGetTitle_Reconstruct
ignore existing title Seqdesc.
@ fGetTitle_NoExpensive
skip potential expensive operations
@ fGetTitle_AllProteins
normally just names the first
vector< CSeq_id_Handle > TId
const TInst_Ext & GetInst_Ext(void) const
bool IsSetProduct(void) const
CConstRef< CSeq_id > GetSeqId(void) const
Get id which can be used to access this bioseq handle Throws an exception if none is available.
CConstRef< CSeq_entry > GetCompleteSeq_entry(void) const
Complete and get const reference to the seq-entry.
TInst_Repr GetInst_Repr(void) const
CScope & GetScope(void) const
Get scope this handle belongs to.
CSeq_entry_Handle GetTopLevelEntry(void) const
Get top level Seq-entry handle.
const TId & GetId(void) const
TMol GetBioseqMolType(void) const
Get some values from core:
bool IsSetPartial(void) const
const CSeq_loc & GetLocation(void) const
const CSeq_loc & GetProduct(void) const
vector< CSeqdesc::E_Choice > TDescChoices
bool Empty(void) const THROWS_NONE
Check if CConstRef is empty â not pointing to any object which means having a null value.
bool IsNull(void) const THROWS_NONE
Check if pointer is null â same effect as Empty().
void Reset(void)
Reset reference object.
bool NotEmpty(void) const THROWS_NONE
Check if CConstRef is not empty â pointing to an object and has a non-null value.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define END_SCOPE(ns)
End the previously defined scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define BEGIN_SCOPE(ns)
Define a new scope.
NCBI_NS_STD::string::size_type SIZE_TYPE
static string SizetToString(size_t value, TNumToStringFlags flags=0, int base=10)
Convert size_t to string.
static int CompareNocase(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2)
Case-insensitive compare of a substring with another string.
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 EndsWith(const CTempString str, const CTempString end, ECase use_case=eCase)
Check if a string ends with a specified suffix value.
static string IntToString(int value, TNumToStringFlags flags=0, int base=10)
Convert int to string.
static string & Replace(const string &src, const string &search, const string &replace, string &dst, SIZE_TYPE start_pos=0, SIZE_TYPE max_replace=0, SIZE_TYPE *num_replace=0)
Replace occurrences of a substring within a string.
static SIZE_TYPE FindCase(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 sensitive search.
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 string TruncateSpaces(const string &str, ETrunc where=eTrunc_Both)
Truncate whitespace in a string.
const char *const kEmptyCStr
Empty "C" string (points to a '\0').
static string & ToLower(string &str)
Convert string to lower case â string& version.
@ eNocase
Case insensitive compare.
const TSubtype & GetSubtype(void) const
Get the Subtype member data.
list< CRef< CSubSource > > TSubtype
bool IsSetSubtype(void) const
Check if a value has been assigned to Subtype data member.
const TOrg & GetOrg(void) const
Get the Org member data.
@ eGenome_endogenous_virus
bool IsSetSyn(void) const
synonyms for locus Check if a value has been assigned to Syn data member.
const TSyn & GetSyn(void) const
Get the Syn member data.
const TDesc & GetDesc(void) const
Get the Desc member data.
bool IsSetLocus_tag(void) const
systematic gene name (e.g., MI0001, ORF0069) Check if a value has been assigned to Locus_tag data mem...
bool IsSetLocus(void) const
Official gene symbol Check if a value has been assigned to Locus data member.
bool IsSetDesc(void) const
descriptive name Check if a value has been assigned to Desc data member.
const TLocus_tag & GetLocus_tag(void) const
Get the Locus_tag member data.
const TLocus & GetLocus(void) const
Get the Locus member data.
bool IsStr(void) const
Check if variant Str is selected.
const TTag & GetTag(void) const
Get the Tag member data.
const TStr & GetStr(void) const
Get the variant data.
const TMod & GetMod(void) const
Get the Mod member data.
const TTaxname & GetTaxname(void) const
Get the Taxname member data.
bool IsSetMod(void) const
Check if a value has been assigned to Mod data member.
list< CRef< COrgMod > > TMod
bool IsSetOrgname(void) const
Check if a value has been assigned to Orgname data member.
bool IsSetTaxname(void) const
preferred formal name Check if a value has been assigned to Taxname data member.
const TOrgname & GetOrgname(void) const
Get the Orgname member data.
const TName & GetName(void) const
Get the Name member data.
bool IsSetName(void) const
protein name Check if a value has been assigned to Name data member.
const TLocation & GetLocation(void) const
Get the Location member data.
const TData & GetData(void) const
Get the Data member data.
const TGene & GetGene(void) const
Get the variant data.
const TProt & GetProt(void) const
Get the variant data.
E_Choice Which(void) const
Which variant is currently selected.
const TGeneral & GetGeneral(void) const
Get the variant data.
@ e_Other
for historical reasons, 'other' = 'refseq'
@ e_Tpe
Third Party Annot/Seq EMBL.
@ e_Tpd
Third Party Annot/Seq DDBJ.
@ e_General
for other databases
@ e_Tpg
Third Party Annot/Seq Genbank.
TRepr GetRepr(void) const
Get the Repr member data.
const TSeg & GetSeg(void) const
Get the variant data.
const TInst & GetInst(void) const
Get the Inst member data.
const TTitle & GetTitle(void) const
Get the variant data.
const TSource & GetSource(void) const
Get the variant data.
const TPdb & GetPdb(void) const
Get the variant data.
const TId & GetId(void) const
Get the Id member data.
TTech GetTech(void) const
Get the Tech member data.
bool IsSetInst(void) const
the sequence data Check if a value has been assigned to Inst data member.
const TOrg & GetOrg(void) const
Get the variant data.
list< CRef< CSeq_id > > TId
TBiomol GetBiomol(void) const
Get the Biomol member data.
TCompleteness GetCompleteness(void) const
Get the Completeness member data.
@ eRepr_seg
segmented sequence
@ eRepr_delta
sequence made by changes (delta) to others
@ eCompleteness_no_left
missing 5' or NH3 end
@ eCompleteness_partial
partial but no details given
@ eCompleteness_no_right
missing 3' or COOH end
@ eCompleteness_no_ends
missing both ends
@ eTech_htgs_2
ordered High Throughput sequence contig
@ eTech_sts
Sequence Tagged Site.
@ eTech_htgs_3
finished High Throughput sequence
@ eTech_htgs_1
unordered High Throughput sequence contig
@ eTech_tsa
transcriptome shotgun assembly
@ eTech_wgs
whole genome shotgun sequencing
@ eTech_survey
one-pass genomic sequence
@ eTech_htgs_0
single genomic reads for coordination
@ eTech_est
Expressed Sequence Tag.
@ eBiomol_pre_RNA
precursor RNA of any sort really
@ eBiomol_cRNA
viral RNA genome copy intermediate
@ eBiomol_snoRNA
small nucleolar RNA
@ eBiomol_transcribed_RNA
transcribed RNA other than existing classes
@ eBiomol_other_genetic
other genetic material
@ e_Embl
EMBL specific information.
@ e_Org
if all from one organism
@ e_Genbank
GenBank specific info.
@ e_Molinfo
info on the molecule and techniques
@ e_Title
a title for this sequence
@ e_Pdb
PDB specific information.
@ e_Source
source of materials, includes Org-ref
const TCompound & GetCompound(void) const
Get the Compound member data.
const CharType(& source)[N]
static string s_GetProteinName(const CBioseq_Handle &handle, CScope &scope, CConstRef< CSeq_loc > &cds_loc, TGetTitleFlags flags)
static string s_TitleFromChromosome(const CBioSource &source, const CMolInfo &mol_info)
static const char * s_OrganelleName(CBioSource::TGenome genome, TOrganelleNameFlags flags)
static string s_TitleFromProtein(const CBioseq_Handle &handle, CScope &scope, string &organism, TGetTitleFlags flags)
static void s_FlyCG_PtoR(string &s)
static string x_TitleFromChromosome(const CBioSource &source, const CMolInfo &mol_info)
static string s_DescribeClones(const string &clone, bool pooled)
static string s_TitleFromSegment(const CBioseq_Handle &handle, CScope &scope, TGetTitleFlags flags)
static string s_TitleFromBioSource(const CBioSource &source, CMolInfo::TTech tech, const string &suffix=kEmptyStr, bool pooled_clones=false)
static bool s_EndsWithStrain(const string &name, const string &strain)
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