A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/doxyhtml/readfeat_8cpp_source.html below:

NCBI C++ ToolKit: src/objtools/readers/readfeat.cpp Source File

92 #include <unordered_set> 98 #define NCBI_USE_ERRCODE_X Objtools_Rd_Feature 108  static const char

*

const

kCdsFeatName =

"CDS"

;

142  Uchar

best_weight = UCHAR_MAX;

145  Uchar

new_weight = std_order[(*it)->Which()];

146  if

(new_weight < best_weight)

149

best_weight = new_weight;

160

{

'A'

, list<char>({

'A'

})},

161

{

'G'

, list<char>({

'G'

})},

162

{

'C'

, list<char>({

'C'

})},

163

{

'T'

, list<char>({

'T'

})},

164

{

'U'

, list<char>({

'U'

})},

165

{

'M'

, list<char>({

'A'

,

'C'

})},

166

{

'R'

, list<char>({

'A'

,

'G'

})},

167

{

'W'

, list<char>({

'A'

,

'T'

})},

168

{

'S'

, list<char>({

'C'

,

'G'

})},

169

{

'Y'

, list<char>({

'C'

,

'T'

})},

170

{

'K'

, list<char>({

'G'

,

'T'

})},

171

{

'V'

, list<char>({

'A'

,

'C'

,

'G'

})},

172

{

'H'

, list<char>({

'A'

,

'C'

,

'T'

})},

173

{

'D'

, list<char>({

'A'

,

'G'

,

'T'

})},

174

{

'B'

, list<char>({

'C'

,

'G'

,

'T'

})},

175

{

'N'

, list<char>({

'A'

,

'C'

,

'G'

,

'T'

})}

315  const string

&seq_id,

320  const string

& feat_name,

324  const string

&seq_id );

332  const unsigned int

line_number,

347  function

<

void

(

const string

&

msg

)>* fpReportError =

nullptr 390  const string

&feat_name,

391  const string

& qual,

const string

&

val

,

395  const string

& qual_val,

396  const string

& feat_name,

407  EQual

qtype,

const string

& qual,

const string

&

val

);

409  const string

&feat_name,

419  const string

& feat_name,

421  const string

&

val

);

424  const string

& qual,

const string

&

val

);

789

{

"Arginine"

,

'R'

},

792

{

"Asp or Asn"

,

'B'

},

793

{

"Asparagine"

,

'N'

},

794

{

"Aspartate"

,

'D'

},

795

{

"Aspartic Acid"

,

'D'

},

798

{

"Cysteine"

,

'C'

},

801

{

"Glu or Gln"

,

'Z'

},

802

{

"Glutamate"

,

'E'

},

803

{

"Glutamic Acid"

,

'E'

},

804

{

"Glutamine"

,

'Q'

},

809

{

"Histidine"

,

'H'

},

812

{

"Isoleucine"

,

'I'

},

814

{

"Leu or Ile"

,

'J'

},

819

{

"Methionine"

,

'M'

},

822

{

"Phenylalanine"

,

'F'

},

826

{

"Pyrrolysine"

,

'O'

},

828

{

"Selenocysteine"

,

'U'

},

833

{

"Termination"

,

'*'

},

835

{

"Threonine"

,

'T'

},

837

{

"Tryptophan"

,

'W'

},

839

{

"Tyrosine"

,

'Y'

},

853  "environmental_sample"

,

859  "ribosomal_slippage"

,

867

: m_reader(reader), m_LineNumber(

line_num

), m_pMessageListener(pMessageListener)

916

out_offset = new_offset;

934  bool

isminus =

false

;

935  bool

ispoint =

false

;

937  bool

partial5 =

false

;

938  bool

partial3 =

false

;

942  string

start, stop, feat, qual,

val

, stnd;

946  if

(line.

empty

())

return false

;

953

numtkns = tkns.size ();

970  if

(

val

.length() >= 2 &&

val

[0] ==

'"'

&&

val

[

val

.length()-1] ==

'"'

) {

978  bool

has_start =

false

;

979  if

(! start.empty ()) {

980  if

(start [0] ==

'<'

) {

984  len

= start.length ();

985  if

(

len

> 1 && start [

len

- 1] ==

'^'

) {

987

start [

len

- 1] =

'\0'

;

994  bool

has_stop =

false

;

995  if

(! stop.empty ()) {

996  if

(stop [0] ==

'>'

) {

1005  if

( startv <= 0 || stopv <= 0 ) {

1011  if

(! stnd.empty ()) {

1012  if

(stnd ==

"minus"

|| stnd ==

"-"

|| stnd ==

"complement"

) {

1030  if

((has_start && startv < 0) || (has_stop && stopv < 0)) {

1037

loc_info.

start_pos

= ( startv < 0 ? -1 : startv);

1038

loc_info.

stop_pos

= ( stopv < 0 ? -1 : stopv);

1054

vector<string> &out_tokens )

1059

string::size_type startPosOfNextRoundOfTokenization = 0;

1060  while

( startPosOfNextRoundOfTokenization < line.

size

() ) {

1061  auto

posAfterSpaces = line.

find_first_not_of

(

" "

, startPosOfNextRoundOfTokenization );

1062  if

( posAfterSpaces == string::npos ) {

1066

string::size_type posOfTab = line.

find

(

'\t'

, posAfterSpaces );

1067  if

( posOfTab == string::npos ) {

1068

posOfTab = line.

length

();

1073  string

&new_token = out_tokens.back();

1074  copy

( line.

begin

() + posAfterSpaces, line.

begin

() + posOfTab, back_inserter(new_token) );

1077

startPosOfNextRoundOfTokenization = ( posOfTab + 1 );

1094

vector<string> &out_tokens )

1098  if

( line.

empty

() ) {

1108  if

( start_of_qual == line.

end

() ) {

1111  auto

start_of_whitespace_after_qual = find_if( start_of_qual, line.

end

(),

CIsSpace

() );

1112  auto

start_of_val = find_if( start_of_whitespace_after_qual, line.

end

(),

CIsNotSpace

() );

1121  string

&qual = out_tokens.back();

1122  copy

( start_of_qual, start_of_whitespace_after_qual, back_inserter(qual) );

1125  if

( start_of_val != line.

end

() ) {

1127  string

&

val

= out_tokens.back();

1128  copy

( start_of_val, line.

end

(), back_inserter(

val

) );

1136  auto

first_column_start = line.

begin

();

1137  auto

first_whitespace = find_if( first_column_start, line.

end

(),

CIsSpace

() );

1138  auto

second_column_start = find_if( first_whitespace, line.

end

(),

CIsNotSpace

() );

1139  auto

second_whitespace = find_if( second_column_start, line.

end

(),

CIsSpace

() );

1140  auto

third_column_start = find_if( second_whitespace, line.

end

(),

CIsNotSpace

() );

1141  auto

third_whitespace = find_if( third_column_start, line.

end

(),

CIsSpace

() );

1143  auto

sixth_column_start = find_if( third_whitespace, line.

end

(),

CIsNotSpace

() );

1144  auto

sixth_whitespace = find_if( sixth_column_start, line.

end

(),

CIsSpace

() );

1147  string

&

first

= out_tokens.back();

1148  copy

( first_column_start, first_whitespace, back_inserter(

first

) );

1151  string

&second = out_tokens.back();

1152  copy

( second_column_start, second_whitespace, back_inserter(second) );

1155  string

&third = out_tokens.back();

1156  copy

( third_column_start, third_whitespace, back_inserter(third) );

1158  if

( sixth_column_start != line.

end

() ) {

1164  string

&sixth = out_tokens.back();

1165  copy

( sixth_column_start, sixth_whitespace, back_inserter(sixth) );

1192

syn.push_back (

val

);

1211  EQual

qtype,

const string

& val

1242

ec.push_back (

val

);

1249

fun.push_back (

val

);

1256

prod.push_back (

val

);

1292

kCdsFeatName,

"transl_table"

,

val

);

1311  if

(ch >

' '

&& ch !=

'"'

&& ch !=

'\''

)

return false

;

1322  const static char

* kOrder =

"ORDER"

;

1325

string::size_type pos = 0;

1326  for

( ; pos < line.

length

() &&

isspace

(line[pos]); ++pos) {

1331  if

( pos >= line.

length

() ) {

1354  for

( ; loc_iter; ++loc_iter ) {

1355  if

( ! mix_pieces.empty() ) {

1356

mix_pieces.push_back( loc_piece_null );

1360

mix_pieces.push_back( new_piece );

1364  if

( mix_pieces.size() > 1 ) {

1403  for

( ; pos <

str

.length(); ++pos ) {

1404  switch

(

str

[pos] ) {

1431  const string

&

str

,

1433  function

<

void

(

const string

&

msg

)>* fpReportError

1438  string

normalized_string =

str

;

1439

normalized_string.erase(

1441

end(normalized_string),

1442

[](

char

c) {

return isspace

(c);}),

1443

end(normalized_string));

1448  if

(pos_end != string::npos) {

1449  string

pos_str = normalized_string.substr (5, pos_end - 5);

1451  if

(aa_start != string::npos) {

1453  if

(seq_start != string::npos &&

1454

seq_start < aa_start+3) {

1455  if

(fpReportError) {

1456

(*fpReportError)(

"Unable to resolve amino acid"

);

1461  size_t

aa_length = (seq_start ==

NPOS

) ?

1462

pos_str.size() - (aa_start+3) :

1463

seq_start - (aa_start+3);

1465  string

abbrev = pos_str.substr (aa_start + 3, aa_length);

1467  auto

t_iter =

sm_TrnaKeys

.find (abbrev.c_str ());

1469  if

(fpReportError) {

1470

(*fpReportError)(

"Unrecognized amino acid : "

+ abbrev);

1475

aa->SetNcbieaa (t_iter->second);

1476

ext_trna.

SetAa

(*aa);

1477

pos_str = pos_str.substr (0, aa_start);

1480

pos_str = pos_str.substr (0, pos_str.length() - 1);

1487  if

(fpReportError) {

1488

(*fpReportError)(

"Failed to resolve anticodon location"

);

1499  if

(fpReportError) {

1500

(*fpReportError)(

"Invalid anticodon strand"

);

1506

}

else if

(fpReportError) {

1507

(*fpReportError)(

"Unmatched parentheses"

);

1509

}

else if

(fpReportError) {

1510

(*fpReportError)(

"Anticodon string does not start with '(pos:'"

);

1528  if

( ! strToConvert.

empty

() &&

isdigit

(strToConvert[0]) ) {

1541

strFeatureName, strQualifierName, strToConvert );

1555

strFeatureName, strQualifierName, strToConvert );

1591

rrp.

SetExt

().SetGen().SetProduct(

val

);

1595

rrp.

SetExt

().SetGen().SetClass(

val

);

1605

rrp.

SetExt

().SetGen().SetProduct(

val

);

1610

q->

SetQual

(

"tag_peptide"

);

1612

rrp.

SetExt

().SetGen().SetQuals().Set().push_back(q);

1632  const auto

aaval_it =

sm_TrnaKeys

.find(aa_string.c_str());

1638  taa

.SetNcbieaa(aaval_it->second);

1639  if

(aa_string ==

"fMet"

||

1640

aa_string ==

"iMet"

||

1641

aa_string ==

"Ile2"

) {

1648  "tRNA"

,

"product"

,

val

);

1658  "tRNA"

,

"anticodon"

,

val

);

1687  if

(

val

.size() != 3) {

1693  for

(

char

char1 : s_IUPACmap.at(

val

[0])) {

1694  for

(

char

char2 : s_IUPACmap.at(

val

[1])) {

1695  for

(

char

char3 : s_IUPACmap.at(

val

[2])) {

1697  codons

.insert(codon_index);

1703

trna_ext.

SetAa

().SetNcbieaa();

1704  for

(

const auto

codon_index :

codons

) {

1705

trna_ext.

SetCodon

().push_back(codon_index);

1720  const string

& qual,

1725  const char

*

str

=

nullptr

;

1735  if

(

val

!=

"other"

) {

1736  const

vector<string>& allowed_values =

1738  if

(find(allowed_values.cbegin(), allowed_values.cend(),

val

)

1739

== allowed_values.cend()) {

1774  str

=

"dbSnpSynonymyData"

;

1787  str

=

"stsUserObject"

;

1803  str

=

"cloneUserObject"

;

1817  if

((! obj.

IsStr

()) || obj.

GetStr

().empty ()) {

1830  const string

&feat_name,

1847  if

(g_iter != sm_GenomeKeys.end ()) {

1853

feat_name,

"organelle"

,

val

);

1906

slist.push_back (ssp);

1925

mlist.push_back (omp);

1932  const string

& qual,

1937  if

(qual.empty ())

return false

;

1948  if

( ! potential_normalized_qual.

empty

() ) {

1949

normalized_qual = potential_normalized_qual;

1953  auto

& qlist = sfp->

SetQual

();

1955

gbq->

SetQual

() = normalized_qual;

1961

qlist.push_back (gbq);

1974  typedef

pair<TChoiceCI, TChoiceCI> TChoiceEqualRange;

1975

TChoiceEqualRange cds_equal_range =

1977  if

( cds_equal_range.first == cds_equal_range.second )

1985

TStringToGeneAndLineMap locusToGeneAndLineMap;

1986

TStringToGeneAndLineMap locusTagToGeneAndLineMap;

1987  const

TChoiceEqualRange gene_equal_range =

1989  for

( TChoiceCI gene_choice_ci = gene_equal_range.first;

1990

gene_choice_ci != gene_equal_range.second;

1996

locusToGeneAndLineMap.insert(

1998

gene_ref.

GetLocus

(), gene_feat_ref_and_line));

2001

locusTagToGeneAndLineMap.insert(

2009  for

( TChoiceCI cds_choice_ci = cds_equal_range.first;

2010

cds_choice_ci != cds_equal_range.second ; ++cds_choice_ci)

2013  const TSeqPos

cds_line_num = cds_choice_ci->second.m_uLineNum;

2018  if

( ! pGeneXrefOnCDS ) {

2029  const string

locus =

2034  const string

locus_tag =

2043  typedef

TStringToGeneAndLineMap::iterator TStrToGeneCI;

2044  typedef

pair<TStrToGeneCI, TStrToGeneCI> TStrToGeneEqualRange;

2048

TStrToGeneEqualRange locus_equal_range =

2050  for

( TStrToGeneCI locus_gene_ci = locus_equal_range.first;

2051

locus_gene_ci != locus_equal_range.second;

2055  auto

gene_feat = locus_gene_ci->second.m_pFeat;

2056  if

(gene_feat->GetData().GetGene().IsSetLocus_tag() &&

2057

gene_feat->GetData().GetGene().GetLocus_tag() != locus_tag) {

2061

locusGeneMatches.

insert

(locus_gene_ci->second);

2067

TStrToGeneEqualRange locus_tag_equal_range =

2068

locusTagToGeneAndLineMap.

equal_range

(locus_tag);

2069  for

( TStrToGeneCI locus_tag_gene_ci = locus_tag_equal_range.first;

2070

locus_tag_gene_ci != locus_tag_equal_range.second;

2071

++locus_tag_gene_ci )

2074  auto

gene_feat = locus_tag_gene_ci->second.m_pFeat;

2075  if

(gene_feat->GetData().GetGene().IsSetLocus() &&

2076

gene_feat->GetData().GetGene().GetLocus() != locus) {

2080

locusTagGeneMatches.

insert

(locus_tag_gene_ci->second);

2084  if

( locusGeneMatches.

empty

() ) {

2086

matchingGenes.

swap

(locusTagGeneMatches);

2087

}

else if

( locusTagGeneMatches.

empty

() ) {

2089

matchingGenes.

swap

(locusGeneMatches);

2093

locusGeneMatches.

begin

(), locusGeneMatches.

end

(),

2094

locusTagGeneMatches.

begin

(), locusTagGeneMatches.

end

(),

2095

inserter(matchingGenes, matchingGenes.

begin

()));

2103  const CSeq_loc

& gene_loc = gene_feat_and_line_ci->m_pFeat->GetLocation();

2104  const TSeqPos

gene_line_num = gene_feat_and_line_ci->m_uLineNum;

2112  if

( pCdsMinusGeneLoc &&

2113

! pCdsMinusGeneLoc->

IsNull

() &&

2114

! pCdsMinusGeneLoc->

IsEmpty

() )

2117  if

( gene_line_num > 0 ) {

2118

gene_lines.push_back(gene_line_num);

2133

matchingGenes.

empty

() )

2137

pNewGene->

SetData

().SetGene().Assign( *pGeneXrefOnCDS );

2144

the_ftable.push_back(pNewGene);

2148

choiceToFeatMap.

insert

(

2150

pNewGene->

GetData

().

Which

(), gene_feat_and_line ) );

2152

locusToGeneAndLineMap.insert(

2154

pGeneXrefOnCDS->

GetLocus

(), gene_feat_and_line));

2157

locusTagToGeneAndLineMap.insert(

2159

pGeneXrefOnCDS->

GetLocus_tag

(), gene_feat_and_line));

2177  string

lqual = qual;

2191  const string

& note)

2211  const string

& feat_name,

2212  const string

& qual,

2213  const string

& val) {

2219  if

(qual !=

"note"

) {

2220  string

error_message =

2221

qual +

" is not a valid qualifier for this feature. Converting to note."

;

2224

feat_name, qual,

kEmptyStr

, error_message);

2231  const string

&feat_name,

2232  const string

& qual,

2254  if

(o_iter != sm_OrgRefKeys.end ()) {

2255  EOrgRef

rtype = o_iter->second;

2260  if

(s_iter != sm_SubSrcKeys.end ()) {

2268  if

(m_iter != sm_OrgModKeys.end ()) {

2283  if

(q_iter != sm_QualKeys.end ()) {

2284  EQual

qtype = q_iter->second;

2326

sfdata.

SetPub

().SetPub().Set().push_back( new_pub );

2333

sfdata.

SetProt

().SetName().push_back(

val

);

2336

sfdata.

SetProt

().SetActivity().push_back(

val

);

2369  if

(

val

==

"experimental"

) {

2371

}

else if

(

val

==

"not_experimental"

||

val

==

"non_experimental"

||

2372  val

==

"not-experimental"

||

val

==

"non-experimental"

) {

2380  string

prefix, remainder;

2388

feat_name, qual,

val

);

2394  string

val_copy =

val

;

2469

syn.push_back (

val

);

2493  static const char

* digits =

"0123456789"

;

2499

dblist.push_back (dbt);

2517

feat_name, qual,

val

,

2538

feat_name, qual,

val

,

2539  "Invalid transcript_id : "

+

val

);

2543  for

(

const auto

&

id

: ids) {

2544  auto

id_string =

id

->GetSeqIdString(

true

);

2546  if

(res.second ==

false

) {

2549

feat_name, qual,

val

,

2550  "Transcript ID "

+ id_string +

" appears on multiple mRNA features" 2577

feat_name, qual,

val

,

2578  "Invalid protein_id : "

+

val

);

2583  for

(

const auto

&

id

: ids) {

2584  auto

id_string =

id

->GetSeqIdString(

true

);

2586  if

(res.second ==

false

) {

2589

feat_name, qual,

val

,

2590  "Protein ID "

+ id_string +

" appears on multiple CDS features" 2613

feat_name, qual,

val

);

2629  if

( line.

length

() < 6 ) {

2633  if

( line[0] ==

'='

) {

2635  "==================================================================="

;

2639

}

else if

( line[0] ==

' '

) {

2686  const Int4

orig_start = start;

2700  if

(loc_info.

is_point

|| start == stop ) {

2702  if

(mix_set.empty())

2717  if

( stop != (start+1) ) {

2733

loc->

SetPnt

( *pPoint );

2752  if

( ! mix_set.empty() ) {

2753  const CSeq_loc

& last_loc = *mix_set.back();

2763

mix_set.push_back(loc);

2777  const string

& feat,

2783  if

(feat.empty ())

return false

;

2804

sfp->

SetData

().Select (typ);

2825

rrp.

SetExt

().SetGen().SetClass(

"snRNA"

);

2829

rrp.

SetExt

().SetGen().SetClass(

"scRNA"

);

2833

rrp.

SetExt

().SetGen().SetClass(

"snoRNA"

);

2844

rrp.

SetExt

().SetName(

"misc_RNA"

);

2907

imp.

SetKey

(

"misc_feature"

);

2928  const string

& strFeatureName,

2929  const string

& strQualifierName,

2930  const string

& strQualifierValue,

2931  const string

& strErrorMessage,

2949  const string

& strFeatureName,

2950  const string

& strQualifierName,

2951  const string

& strQualifierValue,

2952  const string

& strErrorMessage,

2960

unique_ptr<CObjReaderLineException> pErr (

2963

strQualifierName, strQualifierValue));

2969  for

(

auto

line : vecOfOtherLines) {

2970

pErr->AddOtherLine(line);

2981  const unsigned int

line_number,

3000

curr_feat_intervals_done =

false

;

3008  if

(

last

.IsInt() &&

last

.GetInt().IsSetStrand())

3010

strand =

last

.GetInt().GetStrand();

3013  if

(

last

.IsPnt() &&

last

.GetPnt().IsSetStrand())

3015

strand =

last

.GetPnt().GetStrand();

3025  for

(

auto

pSeqLoc : feat.

SetLocation

().SetMix().Set()) {

3026  if

(pSeqLoc->IsPnt()) {

3027  auto

& seq_point = pSeqLoc->SetPnt();

3028  const auto

old_strand =

3029

seq_point.IsSetStrand() ?

3030

seq_point.GetStrand() :

3033

seq_point.SetStrand(strand);

3034  if

(old_strand != strand) {

3057  const auto

& featData = feat->

GetData

();

3059

(!featData.GetPub().IsSetPub() ||

3060

!featData.GetPub().GetPub().IsSet() ||

3061

featData.GetPub().GetPub().Get().empty())) {

3067  string msg

=

"Reference feature is empty. Skipping feature."

;

3098  const string

& qual_val,

3099  const string

& feat_name,

3149  string

feat, qual, qual_value;

3150  string

curr_feat_name;

3154  bool

ignore_until_next_feature_key =

false

;

3161  const bool

bIgnoreWebComments =

3185  bool

curr_feat_intervals_done =

false

;

3187  if

(! in_annotname.

empty

()) {

3190

annot->

SetName

(in_annotname);

3191

descr.

Set

().push_back (annot);

3217  if

(line [0] ==

'['

) {

3236  if

( loc_with_nulls ) {

3243

replace( qual_value.begin(), qual_value.end(),

'\"'

,

'\''

);

3259

choiceToFeatMap.

insert

(

3272

ignore_until_next_feature_key =

false

;

3274

curr_feat_name = feat;

3280

ignore_until_next_feature_key =

true

;

3283

}

else if

(ignore_until_next_feature_key) {

3294

qual_value.empty ()) {

3296  if

( curr_feat_intervals_done ) {

3300

ignore_until_next_feature_key =

true

;

3314

curr_feat_intervals_done =

true

;

3319  else if

(!feat.empty()) {

3325

curr_feat_intervals_done =

true

;

3350  const string

& feat,

3353  const string

&seq_id,

3382  for

(

auto id

: ids)

3384  if

(id->IsGenbank())

3399  const string

& feat_name,

3400  const string

& qual,

3403  const string

&seq_id1 )

3412  if

(!

val

.empty ()) {

3438

out_seqid.

clear

();

3439

out_annotname.

clear

();

3516  const string

& seqid,

3517  const string

& annotname,

3529  const string

& seqid,

3530  const string

& annotname,

3538  return impl

.ReadSequinFeatureTable(seqid, annotname,

flags

, filter);

3567  const string

& seqid_prefix)

3577  while

(orig_seqid.

empty

() && !pLineReader->AtEOF() ) {

3581  static_cast<unsigned>

(pLineReader->GetLineNumber()),

3587  if

(seqid_prefix.empty()) {

3590  if

(orig_seqid.

find

(

'|'

) == string::npos)

3591

temp_seqid = seqid_prefix + orig_seqid;

3595

temp_seqid = seqid_prefix + orig_seqid.

substr

(4);

3597

orig_seqid = temp_seqid;

3608  const string

& seqid_prefix

3619  const string

& seqid_prefix

3640  const

list<string>& stringFlags,

3665  return

*left < *right;

3682

seq_map[seq_id->GetPointer()].Reset(&*seqit);

3687  while

( !reader.

AtEOF

() ) {

3689  if

(entry.

IsSeq

()) {

3693  _ASSERT

(annot->GetData().IsFtable());

3694  if

(annot->GetData().GetFtable().empty()) {

3702

seq = seq_map[feat_id].GetPointer();

3704

seq->

SetAnnot

().push_back(annot);

3707

<<

"ReadSequinFeatureTables: unable to find match for " 3716  const string

& feat,

3720  unsigned int

line_number,

3726  return impl

.CreateSeqFeat (feat,

location

,

flags

, (seq_id ? *seq_id :

string

() ), filter);

3732  function

<

void

(

const string

&

msg

)>* fpReportError)

3744  const string

& feat_name,

3745  const string

& qual,

3750  const string

&seq_id

3755  impl

.AddFeatQual (sfp, feat_name, qual,

val

,

flags

, seq_id) ;

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.

@ eExtreme_Biological

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

void remove_if(Container &c, Predicate *__pred)

bool AddFeat(const CSeq_feat &new_cds)

static bool ParseTrnaExtString(CTrna_ext &ext_trna, const string &str, const CSeq_id &seqid, function< void(const string &msg)> *fpReportError=nullptr)

bool x_AddQualifierToFeature(CRef< CSeq_feat > sfp, const string &feat_name, const string &qual, const string &val, const TFlags flags)

static void PutProgress(const CTempString &seq_id, const unsigned int line_number, ILineErrorListener *pListener)

CSeq_annot::C_Data::TFtable TFtable

bool x_TryToParseOffset(const CTempString &sLine, Int4 &out_offset)

void AddFeatQual(CRef< CSeq_feat > sfp, const string &feat_name, const string &qual, const string &val, const TFlags flags, const string &seq_id)

@ eQual_mobile_element_type

@ eQual_recombination_class

@ eQual_ribosomal_slippage

@ eQual_secondary_accession

bool x_AddQualifierToImp(CRef< CSeq_feat > sfp, CSeqFeatData &sfdata, EQual qtype, const string &qual, const string &val)

static bool ParseInitialFeatureLine(const CTempString &line_arg, CTempStringEx &out_seqid, CTempStringEx &out_annotname)

bool x_AddNoteToFeature(CRef< CSeq_feat > sfp, const string &note)

CConstRef< CSeq_feat > TFeatConstRef

void x_TokenizeStrict(const CTempString &line, vector< string > &out_tokens)

bool x_AddQualifierToGene(CSeqFeatData &sfdata, EQual qtype, const string &val)

ILineReader *const GetLineReaderPtr(void)

string x_TrnaToAaString(const string &val)

bool x_AddIntervalToFeature(CTempString strFeatureName, CRef< CSeq_feat > &sfp, const SFeatLocInfo &loc_info)

unsigned int m_LineNumber

void x_ProcessQualifier(const string &qual_name, const string &qual_val, const string &feat_name, CRef< CSeq_feat > feat, TFlags flags)

void x_InitId(const CTempString &seq_id, const TFlags flags)

multimap< CSeqFeatData::E_Choice, SFeatAndLineNum > TChoiceToFeatMap

bool x_AddQualifierToRna(CRef< CSeq_feat > sfp, EQual qtype, const string &val)

void x_ResetFeat(CRef< CSeq_feat > &feat, bool &curr_feat_intervals_done)

CRef< CSeq_annot > ReadSequinFeatureTable(const CTempString &seqid, const CTempString &annotname, const TFlags flags, ITableFilter *filter)

void x_CreateGenesFromCDSs(CRef< CSeq_annot > sap, TChoiceToFeatMap &choiceToFeatMap, const TFlags flags)

long x_StringToLongNoThrow(CTempString strToConvert, CTempString strFeatureName, CTempString strQualifierName, ILineError::EProblem eProblem=ILineError::eProblem_Unset)

ILineErrorListener * m_pMessageListener

void x_FinishFeature(CRef< CSeq_feat > &feat, TFtable &ftable)

CFeatureTableReader_Imp(ILineReader *reader, unsigned int line_num, ILineErrorListener *pMessageListener)

bool x_AddGBQualToFeature(CRef< CSeq_feat > sfp, const string &qual, const string &val)

bool x_IsWebComment(CTempString line)

CFeature_table_reader::TFlags TFlags

ILineErrorListener *const GetErrorListenerPtr(void)

bool x_StringIsJustQuotes(const string &str)

void x_GetPointStrand(const CSeq_feat &feat, CSeq_interval::TStrand &strand) const

CRef< CSeq_feat > CreateSeqFeat(const string &feat, CSeq_loc &location, const TFlags flags, const string &seq_id, ITableFilter *filter)

bool x_AddQualifierToCdregion(CRef< CSeq_feat > sfp, CSeqFeatData &sfdata, EQual qtype, const string &val)

void x_TokenizeLenient(const CTempString &line, vector< string > &out_tokens)

void x_UpdatePointStrand(CSeq_feat &feat, CSeq_interval::TStrand strand) const

unordered_set< string > m_ProcessedProteinIds

bool x_ParseFeatureTableLine(const CTempString &line, SFeatLocInfo &loc_info, string &feat, string &qual, string &val, Int4 offset)

CRef< CSeq_feat > m_pCurrentFeat

bool x_AddQualifierToBioSrc(CSeqFeatData &sfdata, const string &feat_name, EOrgRef rtype, const string &val)

unsigned int x_GetLineNumber() const

CFeatureTableReader_Imp & operator=(const CFeatureTableReader_Imp &value)

~CFeatureTableReader_Imp(void)

bool x_AddCodons(const string &val, CTrna_ext &trna_ext) const

bool x_SetupSeqFeat(CRef< CSeq_feat > sfp, const string &feat, const TFlags flags, ITableFilter *filter)

unordered_set< string > m_ProcessedTranscriptIds

void x_ProcessMsg(int line_num, ILineError::EProblem eProblem, EDiagSev eSeverity, const std::string &strFeatureName=kEmptyStr, const std::string &strQualifierName=kEmptyStr, const std::string &strQualifierValue=kEmptyStr, const std::string &strErrorMessage=kEmptyStr, const ILineError::TVecOfLines &vecOfOtherLines=ILineError::TVecOfLines())

void x_ProcessMsg(ILineError::EProblem eProblem, EDiagSev eSeverity, const std::string &strFeatureName=kEmptyStr, const std::string &strQualifierName=kEmptyStr, const std::string &strQualifierValue=kEmptyStr, const std::string &strErrorMessage=kEmptyStr, const ILineError::TVecOfLines &vecOfOtherLines=ILineError::TVecOfLines())

CFeatureTableReader_Imp(const CFeatureTableReader_Imp &value)

CFeature_table_reader(TReaderFlags fReaderFlags=0)

CRef< CSerialObject > ReadObject(ILineReader &lr, ILineErrorListener *pErrors) override

Read an object from a given line reader, render it as the most appropriate Genbank object.

long TFlags

binary OR of EFlags

static CRef< CTrna_ext > ParseTrnaExtString(const string &ext, const CSeq_id &seqid, function< void(const string &msg)> *fpReportError=nullptr)

static bool ParseInitialFeatureLine(const CTempString &line_arg, CTempStringEx &out_seqid, CTempStringEx &out_annotname)

If line_arg is a feature line (e.g.

static void ReadSequinFeatureTables(ILineReader &reader, CSeq_entry &entry, const TFlags flags=0, ILineErrorListener *pMessageListener=nullptr, ITableFilter *filter=nullptr)

@ fSuppressBadKeyWarning

= 0x400 (Suppress 'bad key' errors; Not recommended.)

@ fReportDiscouragedKey

= 0x40 (Report discouraged keys into the error container)

@ fKeepBadKey

= 0x02 (As much as possible, try to use bad keys as if they were acceptable)

@ fIgnoreWebComments

= 0x08 (ignore web comment lines such as lines that start with " INFO:", or consist of many equals si...

@ fIncludeObjectInMsg

= 0x800 (Include reference to feature object in message).

@ fAllIdsAsLocal

= 0x100 (Do not attempt to parse accessions)

@ fLeaveProteinIds

= 0x80 (Leave all protein_id as a qualifiers)

@ fCreateGenesFromCDSs

= 0x10 (If a CDS has a gene xref, create a gene with the same intervals if one doesn't already exist....

@ fPreferGenbankId

= 0x200 (Prefer Genbank accession ids)

@ fTranslateBadKey

= 0x04 (yields misc_feature /standard_name="...")

@ fCDSsMustBeInTheirGenes

= 0x20 (If a CDS has a gene xref, it *must* be inside of that gene)

CRef< CSeq_annot > ReadSeqAnnot(ILineReader &lr, ILineErrorListener *pErrors) override

Read an object from a given line reader, render it as a single Seq-annot, if possible.

unique_ptr< CFeatureTableReader_Imp > m_pImpl

static CRef< CSeq_annot > x_ReadFeatureTable(CFeatureTableReader_Imp &reader, const CTempString &seqid, const CTempString &annot_name, const TFlags flags, ITableFilter *filter)

static CRef< CSeq_feat > CreateSeqFeat(const string &feat, CSeq_loc &location, const TFlags flags=0, ILineErrorListener *pMessageListener=nullptr, unsigned int line=0, std::string *seq_id=nullptr, ITableFilter *filter=nullptr)

static void AddFeatQual(CRef< CSeq_feat > sfp, const string &feat_name, const string &qual, const string &val, const TFlags flags=0, ILineErrorListener *pMessageListener=nullptr, int line=0, const string &seq_id=std::string())

static void AddStringFlags(const list< string > &stringFlags, TFlags &baseFlags)

CRef< CSeq_annot > ReadSequinFeatureTable(const TFlags flags=0, ITableFilter *filter=nullptr, const string &seqid_prefix=kEmptyStr)

@Gb_qual.hpp User-defined methods of the data storage class.

static const CTrans_table & GetTransTable(int id)

static int CodonToIndex(char base1, char base2, char base3)

*** Import *********************************************** * * Features imported from other databases...

static void GetPrefixAndRemainder(const string &inference, string &prefix, string &remainder)

static CObjReaderLineException * Create(EDiagSev eSeverity, unsigned int uLine, const std::string &strMessage, EProblem eProblem=eProblem_GeneralParsingError, const std::string &strSeqId=string(""), const std::string &strFeatureName=string(""), const std::string &strQualifierName=string(""), const std::string &strQualifierValue=string(""), CObjReaderLineException::EErrCode eErrCode=eFormat, const TVecOfLines &vecOfOtherLines=TVecOfLines())

Please use this instead of the constructor because the ctor is protected.

@OrgMod.hpp User-defined methods of the data storage class.

@RNA_ref.hpp User-defined methods of the data storage class.

static void AddGeneOntologyTerm(CSeq_feat &feature, const CTempString &qual, const CTempString &val)

Defines and provides stubs for a general interface to a variety of file readers.

static void xAddStringFlagsWithMap(const list< string > &stringFlags, const map< string, TReaderFlags > flagMap, TReaderFlags &baseFlags)

void SetRegion(const TRegion &v)

void SetBiosrc(TBiosrc &v)

static bool IsDiscouragedQual(EQualifier qual)

EQualifier

List of available qualifiers for feature keys.

void SetBond(const TBond &v)

static bool CanHaveGene(ESubtype subtype)

void SetSite(const TSite &v)

static const CSiteList * GetSiteList()

ESubtype GetSubtype(void) const

static bool IsDiscouragedSubtype(ESubtype subtype)

static E_Choice GetTypeFromSubtype(ESubtype subtype)

void SetCdregion(TCdregion &v)

@ eSubtype_bad

These no longer need to match the FEATDEF values in the C toolkit's objfdef.h.

@ eSubtype_transit_peptide_aa

@ eSubtype_sig_peptide_aa

@ eSubtype_mat_peptide_aa

static EQualifier GetQualifierType(CTempString qual)

convert qual string to enumerated value

static const CBondList * GetBondList()

static CTempString GetQualifierAsString(EQualifier qual)

Convert a qualifier from an enumerated value to a string representation or empty if not found.

static ESubtype SubtypeNameToValue(CTempString sName)

Turn a string into its ESubtype which is NOT necessarily related to the identifier of the enum.

static bool IsRegulatory(ESubtype subtype)

static const vector< string > & GetRegulatoryClassList()

bool IsFtable(void) const

namespace ncbi::objects::

void AddExceptText(const string &exception_text)

Add the given exception_text and set the except flag to true.

const CGene_ref * GetGeneXref(void) const

See related function in util/feature.hpp.

void SetGeneXref(CGene_ref &value)

void SetProtXref(CProt_ref &value)

void SetPartialStart(bool val, ESeqLocExtremes ext)

void SetPartialStop(bool val, ESeqLocExtremes ext)

Seq-loc iterator class – iterates all intervals from a seq-loc in the correct order.

void SetRightOf(bool val)

void SetPartialStart(bool val, ESeqLocExtremes ext)

void SetPartialStop(bool val, ESeqLocExtremes ext)

class CStaticArrayMap<> is an array adaptor that provides an STLish interface to statically-defined a...

TBase::const_iterator const_iterator

Simple implementation of ILineReader for i(o)streams.

CTempString implements a light-weight string on top of a storage buffer whose lifetime management is ...

CUser_object & AddField(const string &label, const string &value, EParseField parse=eParse_String)

add a data field to the user object that holds a given value

@ eParse_Number

Parse a real or integer number, otherwise string.

virtual bool PutError(const ILineError &)=0

Store error in the container, and return true if error was stored fine, and return false if the calle...

virtual void PutProgress(const string &sMessage, const Uint8 iNumDone=0, const Uint8 iNumTotal=0)=0

This is used for processing progress messages.

virtual EDiagSev Severity(void) const

@ eProblem_InvalidQualifier

@ eProblem_QualifierBadValue

@ eProblem_NumericQualifierValueIsNotANumber

@ eProblem_InternalPartialsInFeatLocation

@ eProblem_FeatMustBeInXrefdGene

@ eProblem_UnrecognizedFeatureName

@ eProblem_FeatureNameNotAllowed

@ eProblem_IncompleteFeature

@ eProblem_QualifierWithoutFeature

@ eProblem_FeatureBadStartAndOrStop

@ eProblem_NumericQualifierValueHasExtraTrailingCharacters

@ eProblem_UnrecognizedSquareBracketCommand

@ eProblem_UnrecognizedQualifierName

@ eProblem_BadFeatureInterval

@ eProblem_DiscouragedFeatureName

@ eProblem_NoFeatureProvidedOnIntervals

@ eProblem_DiscouragedQualifierName

vector< unsigned int > TVecOfLines

virtual EProblem Problem(void) const =0

virtual const string & ErrorMessage() const

Abstract base class for lightweight line-by-line reading.

Use to give a feature filter to CFeature_table_reader.

EAction

How a given feature name should be handled.

@ eAction_Okay

Just accept the feat.

@ eAction_Disallowed

Do not accept the feat and give message eProblem_FeatureNameNotAllowed.

virtual bool DropQualifier(const string &, const string &, const CSeq_id &, unsigned int) const

virtual EAction GetFeatAction(const string &feature_name) const =0

Returns how we should treat the given feature name.

const_iterator_pair equal_range(const key_type &key) const

iterator insert(const value_type &val)

container_type::iterator iterator

container_type::value_type value_type

iterator_bool insert(const value_type &val)

const_iterator begin() const

const_iterator_pair equal_range(const key_type &key) const

const_iterator end() const

Include a standard set of the NCBI C++ Toolkit most basic headers.

static DLIST_TYPE *DLIST_NAME() first(DLIST_LIST_TYPE *list)

static DLIST_TYPE *DLIST_NAME() last(DLIST_LIST_TYPE *list)

static unsigned int line_num

static const char * str(char *buf, int n)

static const char location[]

const TResidue codons[4][4]

unsigned int TSeqPos

Type for sequence locations and lengths.

#define ITERATE(Type, Var, Cont)

ITERATE macro to sequence through container elements.

void swap(NCBI_NS_NCBI::pair_base_member< T1, T2 > &pair1, NCBI_NS_NCBI::pair_base_member< T1, T2 > &pair2)

#define ENTREZ_ID_FROM(T, value)

#define ERR_POST_X(err_subcode, message)

Error posting with default error code and given error subcode.

EDiagSev

Severity level for the posted diagnostics.

@ eDiag_Error

Error message.

@ eDiag_Warning

Warning message.

void Warning(CExceptionArgs_Base &args)

virtual void UngetLine(void)=0

Unget current line, which must be valid.

virtual Uint8 GetLineNumber(void) const =0

Returns the current line number (counting from 1, not 0).

virtual bool AtEOF(void) const =0

Indicates (negatively) whether there is any more input.

const string AsFastaString(void) const

static SIZE_TYPE ParseIDs(CBioseq::TId &ids, const CTempString &s, TParseFlags flags=fParse_Default)

Parse a string representing one or more Seq-ids, appending the results to IDS.

void GetLabel(string *label, ELabelType type=eDefault, TLabelFlags flags=fLabel_Default) const

Append a label for this Seq-id to the supplied string.

@ fParse_PartialOK

Warn rather than throwing an exception when a FASTA-style ID set contains unparsable portions,...

@ fParse_AnyLocal

Treat otherwise unidentified strings as local accessions as long as they don't resemble FASTA-style I...

@ fParse_Default

By default in ParseIDs and IsValid, allow raw parsable non-numeric accessions and plausible local acc...

@ fParse_ValidLocal

Treat otherwise unidentified strings as raw accessions, provided that they pass rudimentary validatio...

@ eFasta

Tagged ID in NCBI's traditional FASTA style.

bool IsPartialStart(ESeqLocExtremes ext) const

check start or stop of location for e_Lim fuzz

ENa_strand GetStrand(void) const

Get the location's strand.

virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)

Override Assign() to incorporate cache invalidation.

CRef< CSeq_loc > Subtract(const CSeq_loc &other, TOpFlags flags, ISynonymMapper *syn_mapper, ILengthGetter *len_getter) const

Subtract seq-loc from this, merge/sort resulting ranges depending on flags.

const CSeq_loc & GetEmbeddingSeq_loc(void) const

Get the nearest seq-loc containing the current range.

const CSeq_id * GetId(void) const

Get the id of the location return NULL if has multiple ids or no id at all.

void SetNull(void)

Override all setters to incorporate cache invalidation.

bool IsPartialStop(ESeqLocExtremes ext) const

CRef< C > Ref(C *object)

Helper functions to get CRef<> and CConstRef<> objects.

void Reset(void)

Reset reference object.

TObjectType * GetPointerOrNull(void) const THROWS_NONE

Get pointer value.

bool IsNull(void) const THROWS_NONE

Check if pointer is null – same effect as Empty().

bool Empty(void) const THROWS_NONE

Check if CRef is empty – not pointing to any object, which means having a null value.

int32_t Int4

4-byte (32-bit) signed integer

unsigned char Uchar

Alias for unsigned char.

#define END_NCBI_SCOPE

End previously defined NCBI scope.

#define BEGIN_NCBI_SCOPE

Define ncbi namespace.

IO_PREFIX::istream CNcbiIstream

Portable alias for istream.

NCBI_NS_STD::string::size_type SIZE_TYPE

const_iterator end() const

Return an iterator to the string's ending position (one past the end of the represented sequence)

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 int StringToInt(const CTempString str, TStringToNumFlags flags=0, int base=10)

Convert string to int.

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.

CTempStringEx substr(size_type pos) const

Obtain a substring from this string, beginning at a given offset.

static bool IsBlank(const CTempString str, SIZE_TYPE pos=0)

Check if a string is blank (has no text).

static void TruncateSpacesInPlace(string &str, ETrunc where=eTrunc_Both)

Truncate whitespace in a string (in-place)

static string IntToString(int value, TNumToStringFlags flags=0, int base=10)

Convert int to string.

bool empty(void) const

Return true if the represented string is empty (i.e., the length is zero)

void clear(void)

Clear value to an empty string.

static long StringToLong(const CTempString str, TStringToNumFlags flags=0, int base=10)

Convert string to long.

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 SplitInTwo(const CTempString str, const CTempString delim, string &str1, string &str2, TSplitFlags flags=0)

Split a string into two pieces using the specified delimiters.

size_type length(void) const

Return the length of the represented array.

CTempString substr(size_type pos) const

Obtain a substring from this string, beginning at a given offset.

size_type find_first_not_of(const CTempString match, size_type pos=0) const

Find the first occurrence of any character not in the matching string within the current string,...

static bool EqualNocase(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2)

Case-insensitive equality of a substring with another string.

size_type find(const CTempString match, size_type pos=0) const

Find the first instance of the entire matching string within the current string, beginning at an opti...

static string TruncateSpaces(const string &str, ETrunc where=eTrunc_Both)

Truncate whitespace in a string.

size_type size(void) const

Return the length of the represented array.

static string & ToLower(string &str)

Convert string to lower case – string& version.

static const size_type npos

const_iterator begin() const

Return an iterator to the string's starting position.

@ fAllowTrailingSymbols

Ignore trailing non-numerics characters.

@ fSplit_Tokenize

All delimiters are merged and trimmed, to get non-empty tokens only.

@ eTrunc_End

Truncate trailing whitespace only.

@ eTrunc_Begin

Truncate leading whitespace only.

@ eNocase

Case insensitive compare.

void SetSubtype(TSubtype value)

Assign a value to Subtype data member.

list< CRef< CSubSource > > TSubtype

void SetGenome(TGenome value)

Assign a value to Genome data member.

void SetOrg(TOrg &value)

Assign a value to Org data member.

void SetName(const TName &value)

Assign a value to Name data member.

EGenome

biological context

TSubtype & SetSubtype(void)

Assign a value to Subtype data member.

@ eSubtype_collection_date

DD-MMM-YYYY format.

@ eSubtype_insertion_seq_name

@ eSubtype_transposon_name

@ eSubtype_fwd_primer_seq

sequence (possibly more than one; semicolon-separated)

@ eSubtype_lat_lon

+/- decimal degrees

@ eSubtype_rev_primer_name

@ eSubtype_collected_by

name of person who collected the sample

@ eSubtype_fwd_primer_name

@ eSubtype_rev_primer_seq

sequence (possibly more than one; semicolon-separated)

@ eSubtype_isolation_source

@ eSubtype_environmental_sample

@ eSubtype_endogenous_virus_name

@ eSubtype_identified_by

name of person who identified the sample

@ eGenome_endogenous_virus

TSyn & SetSyn(void)

Assign a value to Syn data member.

void SetAllele(const TAllele &value)

Assign a value to Allele data member.

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.

void SetLocus(const TLocus &value)

Assign a value to Locus data member.

void SetLocus_tag(const TLocus_tag &value)

Assign a value to Locus_tag data member.

void SetMaploc(const TMaploc &value)

Assign a value to Maploc 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.

void SetDesc(const TDesc &value)

Assign a value to Desc data member.

bool IsStr(void) const

Check if variant Str is selected.

void SetTag(TTag &value)

Assign a value to Tag data member.

const TStr & GetStr(void) const

Get the variant data.

TStr & SetStr(void)

Select the variant.

void SetType(TType &value)

Assign a value to Type data member.

void SetDb(const TDb &value)

Assign a value to Db data member.

TId & SetId(void)

Select the variant.

void SetDiv(const TDiv &value)

Assign a value to Div data member.

void SetSubtype(TSubtype value)

Assign a value to Subtype data member.

void SetTaxname(const TTaxname &value)

Assign a value to Taxname data member.

list< CRef< COrgMod > > TMod

void SetGcode(TGcode value)

Assign a value to Gcode data member.

void SetMgcode(TMgcode value)

Assign a value to Mgcode data member.

TMod & SetMod(void)

Assign a value to Mod data member.

void SetOrgname(TOrgname &value)

Assign a value to Orgname data member.

void SetSubname(const TSubname &value)

Assign a value to Subname data member.

void SetLineage(const TLineage &value)

Assign a value to Lineage data member.

@ eSubtype_gb_acronym

used by taxonomy database

@ eSubtype_gb_synonym

used by taxonomy database

@ eSubtype_dosage

chromosome dosage of hybrid

@ eSubtype_nat_host

natural host of this specimen

@ eSubtype_metagenome_source

@ eSubtype_specimen_voucher

@ eSubtype_gb_anamorph

used by taxonomy database

@ eSubtype_culture_collection

@ eSubtype_forma_specialis

TActivity & SetActivity(void)

Assign a value to Activity data member.

TEc & SetEc(void)

Assign a value to Ec data member.

void SetDesc(const TDesc &value)

Assign a value to Desc data member.

TProcessed GetProcessed(void) const

Get the Processed member data.

bool IsSetProcessed(void) const

Check if a value has been assigned to Processed data member.

void SetProcessed(TProcessed value)

Assign a value to Processed data member.

TName & SetName(void)

Assign a value to Name data member.

@ eProcessed_signal_peptide

@ eProcessed_transit_peptide

TPmid & SetPmid(void)

Select the variant.

E_Choice

Choice variants.

void SetQual(const TQual &value)

Assign a value to Qual data member.

TTRNA & SetTRNA(void)

Select the variant.

TName & SetName(void)

Select the variant.

void SetVal(const TVal &value)

Assign a value to Val data member.

TType GetType(void) const

Get the Type member data.

void ResetAa(void)

Reset Aa data member.

E_Choice Which(void) const

Which variant is currently selected.

EType

type of RNA feature

void SetAnticodon(TAnticodon &value)

Assign a value to Anticodon data member.

void SetExt(TExt &value)

Assign a value to Ext data member.

bool IsSetExt(void) const

generic fields for ncRNA, tmRNA, miscRNA Check if a value has been assigned to Ext data member.

TCodon & SetCodon(void)

Assign a value to Codon data member.

void SetAa(TAa &value)

Assign a value to Aa data member.

void SetType(TType value)

Assign a value to Type data member.

const TExt & GetExt(void) const

Get the Ext member data.

@ e_Name

for naming "other" type

@ eType_scRNA

will become ncRNA, with RNA-gen.class = scRNA

@ eType_snoRNA

will become ncRNA, with RNA-gen.class = snoRNA

@ eType_ncRNA

non-coding RNA; subsumes snRNA, scRNA, snoRNA

@ eType_snRNA

will become ncRNA, with RNA-gen.class = snRNA

void SetQual(const TQual &value)

Assign a value to Qual data member.

vector< CRef< CDbtag > > TDbxref

TDbxref & SetDbxref(void)

Assign a value to Dbxref data member.

bool IsSetData(void) const

the specific data Check if a value has been assigned to Data data member.

E_Choice Which(void) const

Which variant is currently selected.

void SetLocation(TLocation &value)

Assign a value to Location data member.

void SetComment(const TComment &value)

Assign a value to Comment data member.

void SetPartial(TPartial value)

Assign a value to Partial data member.

void SetProduct(TProduct &value)

Assign a value to Product data member.

void SetCode(TCode &value)

Assign a value to Code data member.

const TLocation & GetLocation(void) const

Get the Location member data.

E_Choice

Choice variants.

void SetExcept(TExcept value)

Assign a value to Except data member.

void SetExt(TExt &value)

Assign a value to Ext data member.

const TData & GetData(void) const

Get the Data member data.

bool CanGetData(void) const

Check if it is safe to call GetData method.

void SetData(TData &value)

Assign a value to Data data member.

void SetExp_ev(TExp_ev value)

Assign a value to Exp_ev data member.

const TComment & GetComment(void) const

Get the Comment member data.

void SetVal(const TVal &value)

Assign a value to Val data member.

void SetPseudo(TPseudo value)

Assign a value to Pseudo data member.

const TGene & GetGene(void) const

Get the variant data.

const TProt & GetProt(void) const

Get the variant data.

void ResetLocation(void)

Reset Location data member.

const TRna & GetRna(void) const

Get the variant data.

TQual & SetQual(void)

Assign a value to Qual data member.

void SetFrame(TFrame value)

Assign a value to Frame data member.

bool IsSetLocation(void) const

feature made from Check if a value has been assigned to Location data member.

void SetKey(const TKey &value)

Assign a value to Key data member.

bool CanGetComment(void) const

Check if it is safe to call GetComment method.

@ e_not_set

No variant selected.

@ e_Region

named region (globin locus)

@ e_Pub

publication applies to this seq

@ eExp_ev_experimental

any reasonable experimental check

@ eExp_ev_not_experimental

similarity, pattern, etc

@ eFrame_not_set

not set, code uses one

@ eFrame_three

reading frame

bool IsMix(void) const

Check if variant Mix is selected.

bool IsEmpty(void) const

Check if variant Empty is selected.

ENa_strand

strand of nucleic acid

list< CRef< CSeq_loc > > Tdata

const Tdata & Get(void) const

Get the member data.

bool IsNull(void) const

Check if variant Null is selected.

const TMix & GetMix(void) const

Get the variant data.

@ e_MaxChoice

== e_Named_annot_track+1

TSet & SetSet(void)

Select the variant.

TAnnot & SetAnnot(void)

Assign a value to Annot data member.

bool IsSeq(void) const

Check if variant Seq is selected.

TSeq & SetSeq(void)

Select the variant.

Tdata & Set(void)

Assign a value to data member.

void SetData(TData &value)

Assign a value to Data data member.

void SetDesc(TDesc &value)

Assign a value to Desc data member.

TAnnot & SetAnnot(void)

Assign a value to Annot data member.

TName & SetName(void)

Select the variant.

list< CRef< CSeq_id > > TId

list< CRef< CSeq_feat > > TFtable

double value_type

The numeric datatype used by the parser.

const GenericPointer< typename T::ValueType > T2 value

Multi-threading – classes, functions, and features.

void copy(Njn::Matrix< S > *matrix_, const Njn::Matrix< T > &matrix0_)

SStaticPair< const char *, CFeatureTableReader_Imp::EOrgRef > TOrgRefKey

static bool s_LineIndicatesOrder(const CTempString &line)

static const TOrgRefKey orgref_key_to_subtype[]

DEFINE_STATIC_ARRAY_MAP(TQualMap, sm_QualKeys, qual_key_to_subtype)

CStaticPairArrayMap< const char *, CFeatureTableReader_Imp::EOrgRef, PCase_CStr > TOrgRefMap

static const int s_NumQualsWithCaps

SStaticPair< const char *, CBioSource::EGenome > TGenomeKey

static CRef< CSeq_loc > s_LocationJoinToOrder(const CSeq_loc &loc)

static string s_FixQualCapitalization(const string &qual)

static const map< const char *, int, PNocase_CStr > sm_TrnaKeys

CStaticPairArrayMap< const char *, CFeatureTableReader_Imp::EQual, PCase_CStr > TQualMap

CStaticPairArrayMap< const char *, CBioSource::EGenome, PCase_CStr > TGenomeMap

static const TSubSrcKey subsrc_key_to_subtype[]

static SIZE_TYPE s_MatchingParenPos(const string &str, SIZE_TYPE open_paren_pos)

static const TGenomeKey genome_key_to_subtype[]

CStaticPairArrayMap< const char *, CSubSource::ESubtype, PNocase_CStr > TSubSrcNoCaseMap

static set< const char *, PCase_CStr > sc_SingleKeys

static const string s_QualsWithCaps[]

SStaticPair< const char *, CFeatureTableReader_Imp::EQual > TQualKey

CStaticPairArrayMap< const char *, COrgMod::ESubtype, PCase_CStr > TOrgModMap

CStaticPairArrayMap< const char *, CSubSource::ESubtype, PCase_CStr > TSubSrcMap

SStaticPair< const char *, COrgMod::ESubtype > TOrgModKey

SStaticPair< const char *, CSubSource::ESubtype > TSubSrcKey

static const TQualKey qual_key_to_subtype[]

static const TOrgModKey orgmod_key_to_subtype[]

CConstRef< CSeq_id > GetBestId(const CBioseq &bioseq)

CRef< CSeq_loc > GetSeqLocFromString(const string &text, const CSeq_id *id, CGetSeqLocFromStringHelper *helper)

#define RAW_FIELD_IS_EMPTY_OR_UNSET(Var, Fld)

RAW_FIELD_IS_EMPTY_OR_UNSET macro.

#define FIELD_EQUALS(Var, Fld, Value)

FIELD_EQUALS base macro.

static SLJIT_INLINE sljit_ins msg(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)

static SLJIT_INLINE sljit_ins lr(sljit_gpr dst, sljit_gpr src)

bool operator!=(const SFeatAndLineNum &rhs) const

bool operator<(const SFeatAndLineNum &rhs) const

int Compare(const SFeatAndLineNum &rhs) const

bool operator==(const SFeatAndLineNum &rhs) const

SFeatAndLineNum(TFeatConstRef pFeat, TSeqPos uLineNum)

bool operator()(const CSeq_id *left, const CSeq_id *right) const

Template structure SStaticPair is simlified replacement of STL pair<> Main reason of introducing this...


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