separators(
"( \t\r\n");
70 const string& legal_path_chars = kLegalPathChars.Get();
75 if( sentence ==
""|| pos > sentence.length() - 1 ) {
78 if( string::npos != separators.find( sentence[ pos ] ) ) {
88 if( (pos < 1) || (sentence[ pos-1 ] !=
'/') ) {
96string::size_type left_edge = sentence.find_last_of( separators, pos-1 );
97 if( left_edge == string::npos ) {
107 static const char* sc_ProtocolSpecifiers[] = {
113 size_tcolon = sentence.find(
':', left_edge );
114 if( colon == string::npos ) {
117 stringstrMaybeUrl = sentence.substr( left_edge, colon - left_edge + 1 );
118 if( vProtocolSpecifiers.find( strMaybeUrl ) == vProtocolSpecifiers.end() ) {
123 if( string::npos == legal_path_chars.find( sentence[ pos ] ) ) {
127 for( ++pos; sentence[ pos ] != 0; ++pos ) {
128 if( string::npos == legal_path_chars.find( sentence[ pos ] ) ) {
129 return( sentence[ pos ] ==
'/');
140 if(
max>= length) {
144 if(s[
i] !=
'*') {
158 SIZE_TYPEstart = 0, tilde, length = s.length();
160tilde = s.find(
'~', start);
161 if(tilde ==
NPOS) {
167 while( (start < length) && (tilde = s.find(
'~', start)) !=
NPOS) {
168 result.append(s, start, tilde - start);
169 char next= (tilde + 1) < length ? s[tilde + 1] : 0;
172 if( (tilde + 1 < length &&
isdigit((
unsigned char)
next) ) ||
173(tilde + 2 < length && (
next==
' '||
next==
'(') &&
174 isdigit((
unsigned char) s[tilde + 2]))) {
183 if( tilde + 1 < length && s[tilde + 1] ==
'~') {
193 if( tilde + 1 < length && s[tilde + 1] ==
'~') {
199 charprevChar = ( tilde >= 1 ? s[tilde - 1] :
'\0');
201 if(
' '== prevChar ||
';'== prevChar ) {
211 if(tilde > 0 && s[tilde - 1] ==
'`') {
221 if(s[start] ==
' '&&
s_RunOfStars(s, start+1, length)) {
233 if(start < length) {
242replace(
str.begin(),
str.end(),
'\"',
'\'');
248 stringretval =
str;
261 autoorig_len =
str.length();
264 autothis_len =
str.length();
266 while(
str.length() != this_len) {
267this_len =
str.length();
276string::iterator end =
str.end();
277string::iterator it =
str.begin();
278string::iterator new_str = it;
281 if( (*it ==
' ') || (*it ==
'\t') || (*it ==
'(') ) {
282 for(++it; it != end && (*it ==
' '|| *it ==
'\t'); ++it)
284 if(it != end && (*it ==
')'|| *it ==
',')) {
285 if( *(new_str - 1) !=
'(') {
293 str.erase(new_str,
str.end());
295 return(orig_len !=
str.length());
316 conststring::size_type
len=
str.length();
318 if( keep_ellipsis ) {
325 if(
len>= 1 &&
str[
len-1] ==
'.') {
343if (str.length() - pos2 > 3) {
351else if (pos2 < pos) {
354} else if (pos2 < pos) {
357if (pos < str.size() - 1) {
379 size_tpos =
str.find_last_not_of(
" \t~.\n");
391 size_tend =
str.length() - 1;
407 return isgraph((
unsigned char)c) != 0;
418 if(
str.empty() ) {
424string::iterator start_iter =
str.begin();
425 if( trim_beginning ) {
428 if(
str.end() == start_iter ) {
433string::iterator end_iter =
str.end();
435string::reverse_iterator rev_iter = find_if(
str.rbegin(),
str.rend(),
CIsGraph() );
436end_iter =
str.begin() + (
str.rend() - rev_iter );
438 if(
str.begin() == end_iter ) {
445newstr.reserve( end_iter - start_iter );
452 charlast_ch_was_printable =
true;
453 for( string::iterator iter = start_iter; iter < end_iter; ++iter ) {
454 const charch = *iter;
458last_ch_was_printable =
true;
462 if( last_ch_was_printable ) {
465last_ch_was_printable =
false;
541 if(
str.empty() ) {
548 boolisPeriod =
false;
549 boolisTilde =
false;
550 intstart_of_junk_pos = (
int)
str.length() - 1;
551 for( ; start_of_junk_pos >= 0 ; --start_of_junk_pos ) {
552 const charch =
str[start_of_junk_pos];
553 if(ch <=
' '|| ch ==
'.'|| ch ==
','|| ch ==
'~'|| ch ==
';') {
557isPeriod = (isPeriod || ch ==
'.');
558isTilde = (isTilde || ch ==
'~');
566 if( start_of_junk_pos < 0 ) {
567start_of_junk_pos = 0;
572 if( start_of_junk_pos < (
int)
str.length() &&
str[start_of_junk_pos] ==
';') {
574 static const intkMaxCharsToLookAt = 20;
577 intamp_iter = (start_of_junk_pos - 1);
578 for( ; amp_iter >= 0 && ((start_of_junk_pos - amp_iter) < kMaxCharsToLookAt); --amp_iter ) {
579 const charch =
str[amp_iter];
580 if(
isalnum(ch) || ch ==
'#') {
582}
else if( ch ==
'&') {
593 boolchanged =
false;
596 if( start_of_junk_pos < (
int)
str.length() ) {
599 const char* suffix =
"";
601 const intchars_in_junk = ( (
int)
str.length() - start_of_junk_pos );
602 _ASSERT( chars_in_junk >= 1 );
607 const boolputEllipsis = ( allow_ellipsis && (chars_in_junk >= 3) &&
608 str[start_of_junk_pos+1] ==
'.'&&
str[start_of_junk_pos+2] ==
'.');
610suffix = ( putEllipsis ?
"...":
".");
611}
else if(isTilde ) {
616 if(
str[start_of_junk_pos] ==
'~') {
617 const booldoubleTilde = ( (chars_in_junk >= 2) &&
str[start_of_junk_pos+1] ==
'~');
618suffix = ( doubleTilde ?
"~~":
"~");
621 if( suffix[0] !=
'\0') {
622 if( 0 !=
str.compare( start_of_junk_pos, INT_MAX, suffix) ) {
623 str.erase( start_of_junk_pos );
627}
else if( start_of_junk_pos < (
int)
str.length() ) {
628 str.erase( start_of_junk_pos );
634string::iterator input_iter =
str.begin();
635 while( input_iter !=
str.end() && *input_iter <=
' ') {
638 if( input_iter !=
str.begin() ) {
639 str.erase(
str.begin(), input_iter );
721 boolisPeriod =
false;
722 boolisTilde =
false;
723 size_tstart_of_junk_pos = 0;
724 for(
size_t len=
str.length();
len&& start_of_junk_pos == 0;
len--)
727 if(ch <=
' ') ch =
' ';
742start_of_junk_pos =
len;
749 if(start_of_junk_pos <
str.length() &&
str[start_of_junk_pos] ==
';') {
751 static const intkMaxCharsToLookAt = 20;
754 intamp_iter = ((
int)start_of_junk_pos - 1);
755 for(; amp_iter >= 0 && ((start_of_junk_pos - amp_iter) < kMaxCharsToLookAt); --amp_iter) {
756 const unsigned charch =
str[amp_iter];
757 if(
isalnum(ch) || ch ==
'#') {
760 else if(ch ==
'&') {
776 if(start_of_junk_pos <
str.length()) {
778 const intchars_in_junk = (
int)(
str.length() - start_of_junk_pos);
784 const boolputEllipsis = (allow_ellipsis && (chars_in_junk >= 3) &&
785 str[start_of_junk_pos + 1] ==
'.'&&
str[start_of_junk_pos + 2] ==
'.');
787suffix = (putEllipsis ?
"...":
".");
794 if(
str[start_of_junk_pos] ==
'~') {
795 const booldoubleTilde = ((chars_in_junk >= 2) &&
str[start_of_junk_pos + 1] ==
'~');
796suffix = (doubleTilde ?
"~~":
"~");
800 const char* ptr =
str.data();
801 size_t len= start_of_junk_pos;
802 while(
len&& *ptr <=
' ')
812 #define twochars(a,b) Uint2((a) << 8 | (b)) 813 #define twocommas twochars(',',',') 814 #define twospaces twochars(' ',' ') 815 #define twosemicolons twochars(';',';') 816 #define space_comma twochars(' ',',') 817 #define space_bracket twochars(' ',')') 818 #define bracket_space twochars('(',' ') 819 #define space_semicolon twochars(' ',';') 820 #define comma_space twochars(',',' ') 821 #define semicolon_space twochars(';',' ') 825 size_tleft = instr.
size();
827 const char*
in= instr.
data();
830 while(left && *
in==
' ')
836 while(left &&
in[left - 1] ==
' ')
843 if(left < 1)
return;
846 char*
out= (
char*)dest.c_str();
852 Uint2two_chars = curr;
857two_chars =
Uint2((two_chars << 8) |
next);
879 while((
next==
' '||
next==
',') && left > 0) {
890 while((
next==
' '||
next==
';') && left > 0) {
900 while((
next==
' '||
next==
',') && left > 0) {
910 while((
next==
' '||
next==
';') && left > 0) {
928 if(curr > 0 && curr !=
' ') {
932dest.resize(
out- dest.c_str());
936 structCleanAndCompress_unit_test
938CleanAndCompress_unit_test()
950 void test(
char* s)
954cout << s <<
"--->"<<
str<<
'.'<< endl;
958CleanAndCompress_unit_test
t;
1018 structCJunkUnitTest
1028 test(
" .",
true);
1029 test(
" aaa bbb.....",
true);
1030 test(
" aaa bbb.....",
false);
1031 test(
" aaa bbb~~~~~",
true);
1032 test(
" aaa bbb,,,,,",
true);
1033 test(
" aaa bbb;;;;;;",
true);
1037 staticCJunkUnitTest c;
1045 return(pos > 0 && pos <=
str.size()) ?
1046 isspace((
unsigned char)
str[pos - 1]) ||
ispunct((
unsigned char)
str[pos - 1]) :
true;
1050 void JoinString(
string& to,
const string& prefix,
const string&
str,
boolnoRedundancy)
1052 if(
str.empty() ) {
1075to += prefix.substr(1);
1083 string JoinString(
constlist<string>&
l,
const string& delim,
boolnoRedundancy)
1104list<string>::const_iterator it =
l.begin();
1105 while( ++it !=
l.end() ) {
1210 size_tpos = accn.find(
'.');
1214 size_tnum_digis = 0;
1215 for(++pos; pos < accn.size(); ++pos) {
1216 if(
isdigit((
unsigned char) accn[pos])) {
1223 return(num_digis >= 1);
1242 static const char* regular_format =
"%{%2D%|01%}-%{%3N%|JUN%}-%Y";
1243 static const char* cit_sub_format =
"%{%2D%|??%}-%{%3N%|???%}-%{%4Y%|/???%}";
1244 static const char* patent_format =
"%{%2D%|01%}-%{%3N%|JAN%}-%Y";
1253 str.append(date_str);
1277CDelta_ext::Tdata::const_iterator curr = segs.begin();
1278CDelta_ext::Tdata::const_iterator end = segs.end();
1279CDelta_ext::Tdata::const_iterator
next;
1280 for( ; curr != end; curr =
next) {
1285 size_tfrom =
len+ 1;
1286 switch( (*curr)->Which() ) {
1292 text<<
"* "<< from <<
' '<<
len 1293<<
" gap of unknown length~";
1298 text<<
"* "<< setw(8) << from <<
' '<< setw(8) <<
len 1299<<
": contig of "<< tlen <<
" bp in length~";
1310 while(
next!= end && (*next)->IsLiteral() &&
1311(*next)->GetLiteral().CanGetSeq_data() &&
1316lit_len += next_len;
1321 text<<
"* "<< setw(8) << from <<
' '<< setw(8) <<
len 1322<<
": contig of "<< lit_len <<
" bp in length~";
1328 if( fuzz.
IsLim() &&
1333 text<<
"* gap of unknown length~";
1335 text<<
"* "<< setw(8) << from <<
' '<< setw(8) <<
len 1336<<
": gap of unknown length~";
1341 text<<
"* "<< setw(8) << from <<
" "<< setw(8) <<
len 1342<<
": gap of "<< lit_len <<
" bp~";
1369 returnkTS_concept_trans.Get();
1372 returnkTS_seq_pept.Get();
1375 returnkTS_both.Get();
1378 returnkTS_seq_pept_overlap.Get();
1381 returnkTS_seq_pept_homol.Get();
1384 returnkTS_concept_trans_a.Get();
1415 switch(
data.Which() ) {
1451 if( moduop->
HasField(
"Contig Name") ) {
1452ufp = &(moduop->
GetField(
"Contig Name"));
1457 if( moduop->
HasField(
"Assembly") ) {
1458ufp = &(moduop->
GetField(
"Assembly"));
1466 if(
label!=
"accession")
continue;
1468 if(
data.IsStr()) {
1469 const string& accn =
data.GetStr();
1476 if( moduop->
HasField(
"Method") ) {
1477ufp = &(moduop->
GetField(
"Method"));
1482 if( moduop->
HasField(
"Counts") ) {
1483ufp = &(moduop->
GetField(
"Counts"));
1491 if( moduop->
HasField(
"mRNA") ) {
1494 if( moduop->
HasField(
"EST") ) {
1497 if( moduop->
HasField(
"Contig Gi") ) {
1498ufp = &(moduop->
GetField(
"Contig Gi"));
1503 if( moduop->
HasField(
"Contig Span") ) {
1504ufp = &(moduop->
GetField(
"Contig Span"));
1509me.
span.first = int_list[0];
1510me.
span.second = int_list[1];
1517 if( me.
gi>
ZERO_GI&& me.
name.find(
'.') == string::npos ) {
1521 if( accver_seq_id ) {
1553 "---",
"Ala",
"Asx",
"Cys",
"Asp",
"Glu",
"Phe",
"Gly",
"His",
"Ile",
1554 "Lys",
"Leu",
"Met",
"Asn",
"Pro",
"Gln",
"Arg",
"Ser",
"Thr",
"Val",
1555 "Trp",
"OTHER",
"Tyr",
"Glx",
"Sec",
"TERM",
"Pyl",
"Xle" 1562aa = (
unsignedchar)
1566 return(aa <
sizeof(
kAANames)/
sizeof(*kAANames)) ?
kAANames[aa] :
"OTHER";
1585 if(possible_mrna) {
1589 if(possible_mrna && possible_prot) {
1600 if(possible_prot) {
1605 if(possible_mrna && possible_prot) {
1637 "https://www.ncbi.nlm.nih.gov/nuccore/";
1639 "https://www.ncbi.nlm.nih.gov/protein/";
1642 "https://www.ncbi.nlm.nih.gov/entrez/viewer.fcgi?val=";
1645 "https://www.ncbi.nlm.nih.gov/Taxonomy/Browser/wwwtax.cgi?";
1647 "https://www.ncbi.nlm.nih.gov/Taxonomy/Utils/wprintgc.cgi?mode=c#SG";
1649 "https://www.ncbi.nlm.nih.gov/pubmed/";
1651 "https://enzyme.expasy.org/EC/";
1653 "https://www.ncbi.nlm.nih.gov/sites/entrez?db=Nucleotide&cmd=Search&term=";
1655 "https://www.ncbi.nlm.nih.gov/bioproject/";
1657 "https://www.ncbi.nlm.nih.gov/projects/Sequin/latlonview.html";
1659 "http://amigo.geneontology.org/amigo/term/GO:";
1661 "http://www.geneontology.org/cgi-bin/references.cgi#GO_REF:";
1663 "https://ppubs.uspto.gov/pubwebapp/external.html?q=";
1665 "https://www.uniprot.org/uniprot/";
1668 "https://www.ncbi.nlm.nih.gov/genome/annotation_euk/process/";
1674 template<
typename_T>
1675 bools_ShouldWeEscapeAmpersand(
1677 const _T&str_iter_end)
1687 if(str_iter != str_iter_end) {
1688 switch(*str_iter) {
1692 if(str_iter != str_iter_end && *str_iter ==
't') {
1694 if(str_iter != str_iter_end && *str_iter ==
';') {
1701 if(str_iter != str_iter_end && *str_iter ==
'm') {
1703 if(str_iter != str_iter_end && *str_iter ==
'p') {
1705 if(str_iter != str_iter_end && *str_iter ==
';') {
1713 if(str_iter != str_iter_end && *str_iter ==
'u') {
1715 if(str_iter != str_iter_end && *str_iter ==
'o') {
1717 if(str_iter != str_iter_end && *str_iter ==
't') {
1719 if(str_iter != str_iter_end && *str_iter ==
';') {
1736 template<
typename_T>
1739 const _T&str_iter_end)
1742 static const char* possible_tag_starts[] = {
1748 static const size_tnum_possible_tag_starts =
1749(
sizeof(possible_tag_starts) /
sizeof(possible_tag_starts[0]));
1752 for(
size_tpossible_str_idx = 0; possible_str_idx < num_possible_tag_starts; ++possible_str_idx) {
1753 const stringexpected_str = possible_tag_starts[possible_str_idx];
1755string::size_type idx = 0;
1756 _Tcheck_str_iter = str_iter;
1757 for(; check_str_iter != str_iter_end && idx < expected_str.length(); ++idx, ++check_str_iter) {
1758 if(*check_str_iter != expected_str[idx]) {
1763 if(idx == expected_str.length()) {
1776 boolchanges_made =
false;
1778 boolin_tag =
false;
1780 for(; idx <
str.length(); ++idx) {
1781 switch(
str[idx]) {
1792changes_made =
true;
1798 returnchanges_made;
1808 result.reserve(1 + (
int)((
double)
str.length() * 1.1));
1821 boolin_html_tag =
false;
1824 if(!in_html_tag && *str_iter ==
'<'&& s_IsTagStart(str_iter,
str.end())) {
1825in_html_tag =
true;
1831 switch(*str_iter) {
1835 if(s_ShouldWeEscapeAmpersand(str_iter,
str.end())) {
1848 switch(*str_iter) {
1862 if(in_html_tag && *str_iter ==
'>') {
1865in_html_tag =
false;
1882 static const char* bad_html_strings[] = {
1883 "<script",
"<object",
"<applet",
"<embed",
"<form",
1884 "javascript:",
"vbscript:" 1889 if( ! fsa->IsPrimed() ) {
1890 for(
size_tii = 0; ii <
ArraySize(bad_html_strings); ++ii ) {
1891fsa->AddWord( bad_html_strings[ii] );
1897 intcurrent_state = 0;
1898 for(
SIZE_TYPEstr_idx = 0 ; str_idx <
str.length(); ++str_idx) {
1899 const charch =
str[str_idx];
1900 intnext_state = fsa->GetNextState (current_state, ch);
1901 if(fsa->IsMatchFound (next_state)) {
1904current_state = next_state;
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.
void GetDate(string *label, bool year_only=false) const
Append a standardized string representation of the date to the label.
bool operator()(const char c)
CNcbiOstrstreamToString class helps convert CNcbiOstrstream to a string Sample usage:
static TIndex GetMapToIndex(CSeq_data::E_Choice from_type, CSeq_data::E_Choice to_type, TIndex from_idx)
CTempString implements a light-weight string on top of a storage buffer whose lifetime management is ...
bool HasField(const string &str, const string &delim=".", NStr::ECase use_case=NStr::eCase) const
Verify that a named field exists.
bool HasField(const string &str, const string &delim=".", NStr::ECase use_case=NStr::eCase) const
Verify that a named field exists.
const CUser_field & GetField(const string &str, const string &delim=".", NStr::ECase use_case=NStr::eCase) const
Access a named field in this user object.
Include a standard set of the NCBI C++ Toolkit most basic headers.
std::ofstream out("events_result.xml")
main entry point for tests
#define test(a, b, c, d, e)
static DLIST_TYPE *DLIST_NAME() next(DLIST_LIST_TYPE *list, DLIST_TYPE *item)
static const char * str(char *buf, int n)
Utility macros and typedefs for exploring NCBI objects from general.asn.
#define GI_FROM(T, value)
constexpr size_t ArraySize(const Element(&)[Size])
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define NON_CONST_ITERATE(Type, Var, Cont)
Non constant version of ITERATE macro.
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...
CConstRef< CSeq_id > GetSeqIdOrNull(void) const
static CSeq_id_Handle GetGiHandle(TGi gi)
Faster way to create a handle for a gi.
const CTextseq_id * GetTextseq_Id(void) const
Return embedded CTextseq_id, if any.
TSeqPos GetLength(const CSeq_id &id, CScope *scope)
Get sequence length if scope not null, else return max possible TSeqPos.
const CBioseq * GetNucleotideParent(const CBioseq &product, CScope *scope)
Get the encoding nucleotide sequnce of a protein.
CSeq_id_Handle GetAccVer(const CSeq_id_Handle &idh, TGetFlags flags=0)
Get accession.version Seq-id Returns null CSeq_id_Handle if the sequence is not found or if it doesn'...
static CRef< CObjectManager > GetInstance(void)
Return the existing object manager or create one.
CBioseq_Handle GetBioseqHandle(const CSeq_id &id)
Get bioseq handle by seq-id.
void AddDefaults(TPriority pri=kPriority_Default)
Add default data loaders from object manager.
const TInst_Ext & GetInst_Ext(void) const
bool IsSetInst_Ext(void) const
TInst_Mol GetInst_Mol(void) const
CBioseq_Handle GetBioseqHandle(const CSeq_id &id) const
Get Bioseq handle from the TSE of this Seq-entry.
bool IsSetInst(void) const
bool IsSetInst_Repr(void) const
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.
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.
uint16_t Uint2
2-byte (16-bit) unsigned integer
#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 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 SIZE_TYPE Find(const CTempString str, const CTempString pattern, ECase use_case=eCase, EDirection direction=eForwardSearch, SIZE_TYPE occurrence=0)
Find the pattern in the string.
const char * data(void) const
Return a pointer to the array represented.
static bool StartsWith(const CTempString str, const CTempString start, ECase use_case=eCase)
Check if a string starts with a specified prefix value.
size_type length(void) const
Return the length of the represented array.
static string & ReplaceInPlace(string &src, const string &search, const string &replace, SIZE_TYPE start_pos=0, SIZE_TYPE max_replace=0, SIZE_TYPE *num_replace=0)
Replace occurrences of a substring within a string.
static string & ToUpper(string &str)
Convert string to upper case â string& version.
size_type size(void) const
Return the length of the represented array.
#define NCBI_XOBJEDIT_EXPORT
static const char label[]
const TStr & GetStr(void) const
Get the variant data.
bool IsStr(void) const
Check if variant Str is selected.
bool CanGetType(void) const
Check if it is safe to call GetType method.
bool IsLim(void) const
Check if variant Lim is selected.
const TData & GetData(void) const
Get the Data member data.
bool CanGetData(void) const
Check if it is safe to call GetData method.
const TFields & GetFields(void) const
Get the variant data.
vector< CRef< CUser_field > > TFields
TLim GetLim(void) const
Get the variant data.
bool IsFields(void) const
Check if variant Fields is selected.
bool IsInt(void) const
Check if variant Int is selected.
bool IsStr(void) const
Check if variant Str is selected.
vector< CRef< CUser_object > > TObjects
bool IsSetLabel(void) const
field label Check if a value has been assigned to Label data member.
const TStr & GetStr(void) const
Get the variant data.
bool IsSetNum(void) const
required for strs, ints, reals, oss Check if a value has been assigned to Num data member.
TInt GetInt(void) const
Get the variant data.
bool IsInts(void) const
Check if variant Ints is selected.
const TData & GetData(void) const
Get the Data member data.
const TLabel & GetLabel(void) const
Get the Label member data.
const TType & GetType(void) const
Get the Type member data.
bool IsSetData(void) const
Check if a value has been assigned to Data data member.
vector< CRef< CUser_field > > TData
const TInts & GetInts(void) const
Get the variant data.
TNum GetNum(void) const
Get the Num member data.
@ e_Object
for using other definitions
bool IsSetAccession(void) const
Check if a value has been assigned to Accession data member.
TVersion GetVersion(void) const
Get the Version member data.
bool IsNull(void) const
Check if variant Null is selected.
bool IsSetVersion(void) const
Check if a value has been assigned to Version data member.
const TAccession & GetAccession(void) const
Get the Accession member data.
TLength GetLength(void) const
Get the Length member data.
bool CanGetLength(void) const
Check if it is safe to call GetLength method.
const TFuzz & GetFuzz(void) const
Get the Fuzz member data.
bool IsDelta(void) const
Check if variant Delta is selected.
const TDelta & GetDelta(void) const
Get the variant data.
bool CanGetFuzz(void) const
Check if it is safe to call GetFuzz method.
bool CanGetSeq_data(void) const
Check if it is safe to call GetSeq_data method.
const Tdata & Get(void) const
Get the member data.
list< CRef< CDelta_seq > > Tdata
const TSeq_data & GetSeq_data(void) const
Get the Seq_data member data.
E_Choice Which(void) const
Which variant is currently selected.
@ eRepr_delta
sequence made by changes (delta) to others
@ eTech_both
concept transl. w/ partial pept. seq.
@ eTech_seq_pept_homol
sequenced peptide, ordered by homology
@ eTech_seq_pept_overlap
sequenced peptide, ordered by overlap
@ eTech_concept_trans
conceptual translation
@ eTech_seq_pept
peptide was sequenced
@ eTech_concept_trans_a
conceptual transl. supplied by author
@ e_Ncbieaa
extended ASCII 1 letter aa codes
@ e_Ncbistdaa
consecutive codes for std aas
@ e_User
user defined object
@ e_Literal
a piece of sequence
@ e_Loc
point to a sequence
unsigned int
A callback function used to compare two keys in a database.
The blob sat and sat key Both must be positive integers</td > n< td > Non empty string The interpretation of the blob id depends on a processor Cassandra n processor expects the following format
static void text(MDB_val *v)
std::istream & in(std::istream &in_, double &x_)
const char * strLinkBaseGeneOntologyRef
bool s_IsModelEvidanceUop(const CUser_object &uo)
const char * strLinkBaseGenomePrj
const char * strLinkBaseProt
bool StripSpaces(string &str)
const char * strLinkBaseNucSearch
void TryToSanitizeHtml(string &str)
bool RemovePeriodFromEnd(string &str, bool keep_ellipsis)
SAFE_CONST_STATIC_STRING(kLegalPathChars, "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_-.")
const char * strLinkBaseNuc
const char * strLinkBaseEntrezViewer
const char * strLinkBaseTaxonomy
const char * strLinkBaseGeneOntology
void TryToSanitizeHtmlList(std::list< std::string > &strs)
const CUser_object * s_FindModelEvidanceUop(const CUser_object &uo)
static bool s_IsWholeWord(const string &str, size_t pos)
void ExpandTildes(string &s, ETildeStyle style)
void DateToString(const CDate &date, string &str, EDateToString format_choice)
void TrimSpaces(string &str, size_t indent)
void JoinString(string &to, const string &prefix, const string &str, bool noRedundancy)
const char * strLinkBaseLatLon
const char * strLinkBaseTransTable
void GetDeltaSeqSummary(const CBioseq_Handle &seq, SDeltaSeqSummary &summary)
bool TrimSpacesAndJunkFromEnds(string &str, bool allow_ellipsis)
bool IsPartOfUrl(const string &sentence, size_t pos)
bool ConvertQuotesNotInHTMLTags(string &str)
bool IsValidAccession(const string &accn, EAccValFlag flag)
const char * GetAAName(unsigned char aa, bool is_ascii)
const char * strLinkBasePubmed
const char * strLinkBaseUniProt
bool CommentHasSuspiciousHtml(const string &str)
void AddPeriod(string &str)
static const char * kAANames[]
string & CompressSpaces(string &str, const bool trim_beginning, const bool trim_end)
bool s_GetModelEvidance(const CBioseq_Handle &bsh, SModelEvidance &me)
const string & GetTechString(int tech)
void CleanAndCompress(string &dest, const CTempString &instr)
EResolveOrder GetResolveOrder(CScope &scope, const CSeq_id_Handle &mrna, const CSeq_id_Handle &prot, CBioseq_Handle &mrna_bsh, CBioseq_Handle &prot_bsh)
const char * strLinkBaseUSPTO
static bool s_IsValidDotVersion(const string &accn)
bool GetModelEvidance(const CBioseq_Handle &bsh, SModelEvidance &me)
static bool s_RunOfStars(string &s, SIZE_TYPE start, SIZE_TYPE length)
void ConvertQuotes(string &str)
const char * strLinkBaseExpasy
static SLJIT_INLINE sljit_ins l(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)
#define DEFINE_STATIC_ARRAY_MAP_WITH_COPY(Type, Var, Array)
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