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/table2asn_8cpp_source.html below:

NCBI C++ ToolKit: src/app/table2asn/table2asn.cpp Source File

93 #if __has_include(<multicall/multicall.hpp>) 94  #include <multicall/multicall.hpp> 96  #define table2asn_app_main main 99 #include <common/ncbi_revision.h> 101 #ifndef NCBI_SC_VERSION 102 # define THIS_IS_TRUNK_BUILD 103 #elif (NCBI_SC_VERSION == 0) 104 # define THIS_IS_TRUNK_BUILD 109 using namespace ncbi

;

114  class

CMissingInputException : exception

122  throw

CMissingInputException();

149  string GetText

()

const override

{

return

m_txt; }

161  const string

& sMessage,

162  const Uint8

iNumDone,

163  const Uint8

iNumTotal)

173  auto edit

=

dynamic_cast<const

edit::CRemoteUpdaterMessage*

>

(&message);

174  if

(

edit

&& (

edit

->m_error != edit::EPubmedError::citation_not_found)) {

185  string str

= ss.str();

205  "aln-file"

,

"InFile"

,

"Alignment input file"

,

214  "aln-gapchar"

,

"STRING"

,

"Alignment missing indicator"

,

219  "aln-missing"

,

"STRING"

,

"Alignment missing indicator"

,

224  "aln-alphabet"

,

"STRING"

,

"Alignment alphabet"

,

239

HideStdArgs(fHideDryRun);

246

arg_desc->AddOptionalKey(

247  "indir"

,

"Directory"

,

"Path to input files"

,

250

arg_desc->AddOptionalKey(

251  "outdir"

,

"Directory"

,

"Path to results"

,

254

arg_desc->AddFlag(

"E"

,

"Recurse"

);

256

arg_desc->AddDefaultKey(

259

arg_desc->AddOptionalKey(

260  "i"

,

"InFile"

,

"Single Input File"

,

263

x_SetAlnArgs(*arg_desc);

265

arg_desc->AddOptionalKey(

266  "o"

,

"OutFile"

,

"Single Output File"

,

269

arg_desc->AddDefaultKey(

272

arg_desc->AddFlag(

"binary"

,

"Output binary ASN.1"

);

274

arg_desc->AddOptionalKey(

"t"

,

"InFile"

,

"Template File"

,

277

arg_desc->AddDefaultKey(

278  "a"

,

"String"

,

"File Type\n" 281 " d FASTA Delta, di FASTA Delta with Implicit Gaps\n" 283

may be implemented

in

the future; RW-1253

284 " l FASTA+Gap Alignment (l Batch, l1 Pop, l2 Phy, l3 Mut, l4 Eco,\n" 285 " l9 Small-genome)\n" 287 " z FASTA with Gap Lines" 289

may be implemented

in

the future; RW-1253

295

arg_desc->AddFlag(

"J"

,

"Delayed Genomic Product Set "

);

297

arg_desc->AddOptionalKey(

299

arg_desc->AddOptionalKey(

303

arg_desc->AddOptionalKey(

304  "j"

,

"String"

,

"Source Qualifiers.\nThese qualifier values override any conflicting values read from a file (See -src-file)"

,

306

arg_desc->AddOptionalKey(

"src-file"

,

"InFile"

,

"Single source qualifiers file. The qualifiers in this file override any conflicting qualifiers automically read from a .src file, which, in turn, take precedence over source qualifiers specified in a fasta defline"

,

CArgDescriptions::eInputFile

);

307

arg_desc->AddFlag(

"accum-mods"

,

"Accumulate non-conflicting modifier values from different sources. For example, with this option, a 'note' modifier specified on the command line no longer overwrites a 'note' modifier read from a .src file. Both notes will appear in the output ASN.1. If modifier values conflict, the rules of precedence specified above apply"

);

308

arg_desc->AddOptionalKey(

310

arg_desc->AddOptionalKey(

312

arg_desc->AddOptionalKey(

314

arg_desc->AddOptionalKey(

317

arg_desc->AddOptionalKey(

318  "V"

,

"String"

,

"Verification (combine any of the following letters)\n\ 319  v Validate with Normal Stringency\n\ 320  b Generate GenBank Flatfile\n\ 323

arg_desc->AddFlag(

"q"

,

"Seq ID from File Name"

);

325

arg_desc->AddFlag(

"U"

,

"Remove Unnecessary Gene Xref"

);

326

arg_desc->AddFlag(

"T"

,

"Remote Taxonomy Lookup"

);

327

arg_desc->AddFlag(

"P"

,

"Remote Publication Lookup"

);

328

arg_desc->AddFlag(

"W"

,

"Log Progress"

);

329

arg_desc->AddFlag(

"K"

,

"Save Bioseq-set"

);

331

arg_desc->AddOptionalKey(

"H"

,

"String"

,

"Hold Until Publish\n\ 332  y Hold for One Year\n\ 335

arg_desc->AddFlag(

"Z"

,

"Output discrepancy report"

);

336

arg_desc->AddFlag(

"split-dr"

,

"Create unique discrepancy report for each output file"

);

338

arg_desc->AddOptionalKey(

"c"

,

"String"

,

"Cleanup (combine any of the following letters)\n\ 339  b Basic cleanup (default)\n\ 340  e Extended cleanup\n\ 341  f Fix product names\n\ 342  s Add exception to short introns\n\ 343  w WGS cleanup (only needed when using a GFF3 file)\n\ 344  d Correct Collection Dates (assume month first)\n\ 345  D Correct Collection Dates(assume day first)\n\ 346  x Extend ends of features by one or two nucleotides to abut gaps or sequence ends\n\ 354

arg_desc->AddOptionalKey(

"M"

,

"String"

,

"Master Genome Flags\n\ 358

arg_desc->AddOptionalKey(

"l"

,

"String"

,

"Add type of evidence used to assert linkage across assembly gaps. May be used multiple times. Must be one of the following:\n\ 371

arg_desc->AddOptionalKey(

"linkage-evidence-file"

,

"InFile"

,

"File listing linkage evidence for gaps of different lengths"

,

CArgDescriptions::eInputFile

);

373

arg_desc->AddOptionalKey(

"gap-type"

,

"String"

,

"Set gap type for runs of Ns. Must be one of the following:\n\ 382  unknown (obsolete)\n\ 392

arg_desc->AddOptionalKey(

"ft-url"

,

"String"

,

"FileTrack URL for the XML file retrieval"

,

CArgDescriptions::eString

);

393

arg_desc->AddOptionalKey(

"ft-url-mod"

,

"String"

,

"FileTrack URL for the XML file base modifications"

,

CArgDescriptions::eString

);

396

arg_desc->AddOptionalKey(

"gaps-unknown"

,

"Integer"

,

"exact number of Ns recognised as a gap with unknown length"

,

CArgDescriptions::eInteger

);

402

arg_desc->AddFlag(

"postprocess-pubs"

,

"Postprocess pubs: convert authors to standard"

);

403

arg_desc->AddOptionalKey(

"locus-tag-prefix"

,

"String"

,

"Add prefix to locus tags in annotation files"

,

CArgDescriptions::eString

);

404

arg_desc->AddFlag(

"no-locus-tags-needed"

,

"Submission data does not require locus tags"

);

405

arg_desc->AddFlag(

"euk"

,

"Assume eukaryote, and create missing mRNA features"

);

406

arg_desc->AddOptionalKey(

"suspect-rules"

,

"String"

,

"Path to a file containing suspect rules set. Overrides environment variable PRODUCT_RULES_LIST"

,

CArgDescriptions::eString

);

407

arg_desc->AddFlag(

"allow-acc"

,

"Allow accession recognition in sequence IDs. Default is local"

);

408

arg_desc->AddFlag(

"augustus-fix"

,

"(Deprecated) Special handling of unusual problems in Augustus annotations"

,

410

arg_desc->AddFlag(

"intronless"

,

"Intronless alignments"

);

411

arg_desc->AddFlag(

"refine-prt-alignments"

,

"Refine ProSplign aligments when processing .prt input"

);

412

arg_desc->AddOptionalKey(

"prt-alignment-filter-query"

,

"String"

,

417

arg_desc->SetDependency(

"logxml"

,

420

arg_desc->AddFlag(

"split-logs"

,

"Create unique log file for each output file"

);

421

arg_desc->AddFlag(

"verbose"

,

"Be verbose on reporting"

);

422

arg_desc->AddFlag(

"huge"

,

"Execute in huge-file mode"

);

423

arg_desc->AddFlag(

"disable-huge"

,

"Explicitly disable huge-files mode"

);

424

arg_desc->SetDependency(

"disable-huge"

,

428

arg_desc->AddOptionalKey(

"usemt"

,

"String"

,

"Try to use as many threads as:\n\ 434

arg_desc->AddFlag(

"fetchall"

,

"Search data in all available databases"

);

437

arg_desc->SetUsageContext(

""

,

"Converts files of various formats to ASN.1"

);

440

SetupArgDescriptions(arg_desc.release());

453  const auto

& args =

GetArgs

();

454  string

numThreadsConfig;

455  if

(args[

"usemt"

]) {

456

numThreadsConfig = args[

"usemt"

].AsString();

458

numThreadsConfig = GetConfig().GetString(

"table2asn"

,

"UseThreads"

,

"one"

);

460  static

constexpr array<string_view, 3> numThreadsValues{

"one"

,

"two"

,

"many"

};

461  auto

numThreads = distance(begin(numThreadsValues),

462

find(begin(numThreadsValues), end(numThreadsValues), numThreadsConfig));

464  if

(1 <= numThreads && numThreads <= 3) {

465

cerr <<

"Will be using "

<< numThreadsConfig <<

" threads"

<< endl;

478  CTime expires

= GetFullVersion().GetBuildInfo().GetBuildTime();

482  NcbiCerr

<<

"This copy of "

<< GetProgramDisplayName()

483

<<

" is more than 1 year old. Please download the current version if it is newer."

<< endl;

487

m_context.m_disable_huge_files = args[

"disable-huge"

];

488  if

(! m_context.m_disable_huge_files) {

489

m_context.m_can_use_huge_files = args[

"huge"

] || GetConfig().GetBool(

"table2asn"

,

"UseHugeFiles"

,

false

);

490  if

(m_context.m_can_use_huge_files) {

491

std::cerr <<

"Will be using huge files scenario"

<< std::endl;

495

m_context.m_split_log_files = args[

"split-logs"

].AsBoolean();

496  if

(m_context.m_split_log_files && args[

"logfile"

]) {

498  "-logfile cannot be used with -split-logs"

);

500

m_context.m_verbose = args[

"verbose"

].AsBoolean();

503  CNcbiOstream

* error_log = args[

"logfile"

] ? &(args[

"logfile"

].AsOutputFile()) : &

NcbiCerr

;

504

app_logger->SetProgressOstream(error_log);

506

m_logger.Reset(app_logger);

507

m_context.m_logger = m_logger;

508

m_logger->m_enable_log = args[

"W"

].AsBoolean();

509

m_context.m_remote_updater.reset(

new

edit::CRemoteUpdater(m_logger));

510

m_context.m_remote_updater->SetPubmedInterceptor(

s_PubCleanup

);

513

m_context.m_SetIDFromFile = args[

"q"

].AsBoolean();

514

m_context.m_allow_accession = args[

"allow-acc"

].AsBoolean();

515

m_context.m_delay_genprodset = args[

"J"

].AsBoolean();

516

m_context.m_accumulate_mods = args[

"accum-mods"

].AsBoolean();

517

m_context.m_binary_asn1_output = args[

"binary"

].AsBoolean();

520  if

(args[

"c"

].AsString().find_first_not_of(

"-befwsdDx"

) != string::npos) {

522  "Unrecognized cleanup type "

+ args[

"c"

].AsString());

525

m_context.m_cleanup = args[

"c"

].AsString();

527

m_context.m_cleanup =

"b"

;

530

m_context.m_master_genome_flag = args[

"M"

].AsString();

531

m_context.m_delay_genprodset =

true

;

532

m_context.m_HandleAsSet =

true

;

533

m_context.m_cleanup +=

"fU"

;

534

m_context.m_validate =

"v"

;

535  if

(m_context.m_master_genome_flag.find(

'n'

) != string::npos) {

537

}

else if

(m_context.m_master_genome_flag.find(

't'

) != string::npos) {

546  if

(args[

"fcs-file"

]) {

550

m_fcs_reader->LoadFile(*reader);

551

m_context.m_fcs_trim = args[

"fcs-trim"

];

553  if

(args[

"min-threshold"

])

554

m_context.m_minimal_sequence_length = args[

"min-threshold"

].AsInteger();

562

m_context.m_Comment = args[

"y"

].AsString();

563  else if

(args[

"Y"

]) {

565  while

(! reader->

AtEOF

()) {

568

m_context.m_Comment +=

" "

;

573  if

(args[

"U"

] && args[

"U"

].AsBoolean())

574

m_context.m_cleanup +=

'U'

;

577

m_context.m_disc_lineage = args[

"m"

].AsString();

580

m_context.m_asn1_suffix = args[

"out-suffix"

].AsString();

582

m_context.m_save_bioseq_set = args[

"K"

].AsBoolean();

583

m_context.prtAlnOptions.intronless = args[

"intronless"

].AsBoolean();

584

m_context.prtAlnOptions.refineAlignment = args[

"refine-prt-alignments"

].AsBoolean();

585  if

(args[

"prt-alignment-filter-query"

]) {

586

m_context.prtAlnOptions.filterQueryString = args[

"prt-alignment-filter-query"

].AsString();

592  if

(args[

"ft-url"

])

593

m_context.m_ft_url = args[

"ft-url"

].AsString();

594  if

(args[

"ft-url-mod"

])

595

m_context.m_ft_url_mod = args[

"ft-url-mod"

].AsString();

597

m_context.m_accession.

Reset

(

new CSeq_id

(args[

"A"

].AsString()));

599

m_context.mCommandLineMods = args[

"j"

].AsString();

602

m_context.m_single_structure_cmt = args[

"w"

].AsString();

604

m_context.m_RemotePubLookup = args[

"P"

].AsBoolean();

605  if

(! m_context.m_RemotePubLookup)

606

m_context.m_postprocess_pubs = args[

"postprocess-pubs"

].AsBoolean();

608

m_context.m_RemoteTaxonomyLookup = args[

"T"

].AsBoolean();

609  if

(m_context.m_RemoteTaxonomyLookup) {

610

m_context.m_cleanup +=

'T'

;

614  const string

& a_arg = args[

"a"

].AsString();

615  if

(a_arg ==

"s"

|| a_arg ==

"z"

) {

616

m_context.m_HandleAsSet =

true

;

617

}

else if

(a_arg ==

"s1"

) {

618

m_context.m_HandleAsSet =

true

;

620

}

else if

(a_arg ==

"s2"

) {

621

m_context.m_HandleAsSet =

true

;

623

}

else if

(a_arg ==

"s3"

) {

624

m_context.m_HandleAsSet =

true

;

626

}

else if

(a_arg ==

"s4"

) {

627

m_context.m_HandleAsSet =

true

;

629

}

else if

(a_arg ==

"s9"

) {

630

m_context.m_HandleAsSet =

true

;

632

}

else if

(a_arg ==

"di"

) {

633

m_context.m_di_fasta =

true

;

634

}

else if

(a_arg ==

"d"

) {

635

m_context.m_d_fasta =

true

;

638  if

(args[

"gaps-min"

]) {

639  int

gaps_min = args[

"gaps-min"

].AsInteger();

642  "Invalid value: gaps-min cannot be negative."

);

644

m_context.m_gapNmin =

static_cast<TSeqPos>

(gaps_min);

646  if

(args[

"gaps-unknown"

]) {

647  int

gaps_unknown = args[

"gaps-unknown"

].AsInteger();

648  if

(gaps_unknown < 0) {

650  "Invalid value: gaps-unknown cannot be negative."

);

652

m_context.m_gap_Unknown_length =

static_cast<TSeqPos>

(gaps_unknown);

654  if

(m_context.m_gap_Unknown_length > 0 && m_context.m_gapNmin == 0) {

655

m_context.m_gapNmin = m_context.m_gap_Unknown_length;

658  if

(args[

"linkage-evidence-file"

]) {

663

args[

"linkage-evidence-file"

].AsString(),

664

m_context.m_GapsizeToEvidence,

671  for

(

auto

& arg_it : args[

"l"

].GetStringList()) {

673  auto value

= linkage_evidence_to_value->FindValue(arg_it);

674

m_context.m_DefaultEvidence.insert(

value

);

678  "Unrecognized linkage evidence "

+ arg_it);

683  if

(args[

"gap-type"

]) {

686  auto value

= gaptype_to_value->FindValue(args[

"gap-type"

].AsString());

687

m_context.m_gap_type =

value

;

690  "Unrecognized gap type "

+ args[

"gap-type"

].AsString());

695  string

sdate = args[

"H"

].AsString();

696  if

(sdate ==

"Y"

|| sdate ==

"y"

) {

697

m_context.m_HoldUntilPublish.SetCurrent();

698

m_context.m_HoldUntilPublish.SetYear(m_context.m_HoldUntilPublish.Year() + 1);

701  if

(sdate[0] ==

'\''

&& sdate.length() > 0 && sdate[sdate.length() - 1] ==

'\''

) {

703

sdate.erase(sdate.length() - 1, 1);

705

m_context.m_HoldUntilPublish =

CTime

(sdate,

"M/D/Y"

);

708

m_context.m_HoldUntilPublish.SetCurrent();

709

m_context.m_HoldUntilPublish.SetYear(m_context.m_HoldUntilPublish.Year() + years);

715

m_context.m_ProjectVersionNumber = args[

"N"

].AsString();

718

m_context.m_genome_center_id = args[

"C"

].AsString();

719  if

(! m_context.m_ProjectVersionNumber.empty())

720

m_context.m_genome_center_id += m_context.m_ProjectVersionNumber;

724

m_context.m_validate += args[

"V"

].AsString();

726  while

((p = m_context.m_validate.find(

"b"

)) != string::npos) {

727

m_context.m_validate.erase(p, 1);

728

m_context.m_make_flatfile =

true

;

730  while

((p = m_context.m_validate.find(

"t"

)) != string::npos) {

732

m_context.m_validate.erase(p, 1);

737

m_context.m_run_discrepancy =

true

;

738  if

(args[

"split-dr"

])

739

m_context.m_split_discrepancy =

true

;

742  if

(args[

"locus-tag-prefix"

] || args[

"no-locus-tags-needed"

]) {

743  if

(args[

"locus-tag-prefix"

] && args[

"no-locus-tags-needed"

]) {

746  "-no-locus-tags-needed and -locus-tag-prefix are mutually exclusive"

);

748  if

(args[

"no-locus-tags-needed"

]) {

749

m_context.m_locus_tag_prefix =

""

;

750

m_context.m_locus_tags_needed =

false

;

752

m_context.m_locus_tag_prefix = args[

"locus-tag-prefix"

].AsString();

753

m_context.m_locus_tags_needed =

true

;

757  if

(m_context.m_HandleAsSet) {

763  if

(args[

"outdir"

])

767

m_context.m_output_filename = args[

"o"

].AsString();

768

m_context.m_output = &args[

"o"

].AsOutputFile();

770  if

(args[

"outdir"

]) {

771  CDir

outputdir(m_context.m_ResultsDirectory);

773  if

(! outputdir.

Exists

())

778

m_context.m_eukaryote = args[

"euk"

].AsBoolean();

780  if

(m_context.m_cleanup.find(

'f'

) != string::npos)

781

m_context.m_use_hypothetic_protein =

true

;

783  if

(args[

"suspect-rules"

])

784

m_context.m_suspect_rules->SetRulesFilename(args[

"suspect-rules"

].AsString());

788

m_context.m_t =

true

;

789

m_reader->LoadTemplate(args[

"t"

].AsString());

797

m_reader->LoadDescriptors(args[

"D"

].AsString(), m_global_files.m_descriptors);

803  if

(m_logger->Count() == 0)

806  string

annot_file = args[

"f"

].AsString();

807  if

(!

CFile

(annot_file).Exists()) {

809  "The specified annotation file \""

+ annot_file +

"\" does not exist."

,

812

m_context.m_single_annot_file = args[

"f"

].AsString();

814  if

(args[

"src-file"

]) {

815  string

src_file = args[

"src-file"

].AsString();

816  if

(!

CFile

(src_file).Exists()) {

818  "The specified source qualifier file \""

+ src_file +

"\" does not exist."

,

821

m_context.m_single_source_qual_file = args[

"src-file"

].AsString();

826

m_context.m_current_file = args[

"i"

].AsString();

827  CFile

argAsFile(m_context.m_current_file);

828  if

(! argAsFile.

Exists

()) {

830  "The specified input file \""

+ m_context.m_current_file +

"\" does not exist."

,

833  if

(argAsFile.

GetLength

() > TBL2ASN_MAX_ALLOWED_FASTA_SIZE && m_context.m_disable_huge_files) {

836  "The specified input file \""

+

837

m_context.m_current_file +

838  "\" is too long. The maximum permissible file size for a FASTA sequence is "

+

840  " bytes. Consider allowing huge mode (remove \"-disable-huge\" from the command line)."

,

844

ProcessOneFile(

false

);

845

}

else if

(args[

"indir"

]) {

847  string

indir = args[

"indir"

].AsString();

848  CDir

directory(indir);

849  if

(! directory.

Exists

()) {

851  "The specified input directory \""

+ indir +

"\" does not exist."

,

854  string basename

= m_context.m_output_filename.empty() ?

856

m_context.m_output_filename;

861

masks.

Add

(

"*"

+ args[

"x"

].AsString());

863

ProcessOneDirectory(directory, masks, args[

"E"

].AsBoolean());

864

}

else if

(args[

"aln-file"

]) {

865

m_context.m_current_file = args[

"aln-file"

].AsString();

866  if

(!

CFile

(m_context.m_current_file).

Exists

()) {

868  "The specified alignment file \""

+ m_context.m_current_file +

"\" does not exist."

,

871  const bool

isAlignment =

true

;

872

ProcessOneFile(isAlignment);

876  if

(m_context.m_verbose &&

877

m_global_files.mp_src_qual_map &&

878

! m_global_files.mp_src_qual_map->Empty()) {

879

m_global_files.mp_src_qual_map->ReportUnusedIds();

882  if

(m_validator->ValTotalErrors() > 0) {

884

ostr.exceptions(ios::failbit | ios::badbit);

885

ostr.open(m_context.GenerateOutputFilename(

eFiles::stats

, m_context.m_base_name));

886

m_validator->ValReportErrorStats(ostr);

888

m_validator->ReportDiscrepancies(m_context.GenerateOutputFilename(

eFiles::dr

, m_context.m_base_name));

889

}

catch

(

const

CMissingInputException&) {

902  if

(bad_res_exc->GetBadResiduePositions().m_BadIndexMap.size() == 1) {

905

lines.reserve(bad_res_exc->GetBadResiduePositions().m_BadIndexMap.size());

906  for

(

auto

rec: bad_res_exc->GetBadResiduePositions().m_BadIndexMap) {

907

lines.push_back(rec.first);

911

unique_ptr<CLineError>

le

(

913

bad_res_exc->GetBadResiduePositions().m_SeqId->AsFastaString(),

914

line,

""

,

""

,

""

,

msg

, lines));

915

m_logger->PutError(*

le

);

919  if

(!args[

"r"

] && !(args.

Exist

(

"vdb"

) && args[

"vdb"

]) &&

msg

.find(

"Cannot resolve"

) != string::npos) {

920  msg

+=

" - try running with -r to enable remote retrieval of sequences"

;

928  if

(m_logger->Count() == 0) {

929  #ifdef THIS_IS_TRUNK_BUILD 930

m_context.m_remote_updater->ReportStats(std::cerr);

934  if

(args[

"logxml"

]) {

935  CNcbiOstream

& log_xml = args[

"logxml"

].AsOutputFile();

936

log_xml <<

"<logmessages>"

<< endl;

937

m_logger->DumpAsXML(log_xml);

938

log_xml <<

"</logmessages>"

<< endl;

966  auto

scope =

Ref

(

new CScope

(*m_context.m_ObjMgr));

967

scope->AddDefaults();

972

m_reader->GetSeqEntry(entry, submit, obj);

974  bool

avoid_submit_block =

false

;

978  if

(m_context.m_SetIDFromFile) {

979

m_context.SetSeqId(*entry);

982

m_context.ApplyAccession(*entry);

985

std::function<std::ostream&()>

f

= [

this

]() -> std::ostream& {

return

m_context.GetOstream(

eFiles::fixedproducts

); };

986

m_context.m_suspect_rules->SetupOutput(

f

);

988

m_context.ApplyFileTracks(*entry);

990  const bool

readModsFromTitle =

993

xProcessSecretFiles1Phase(readModsFromTitle, *entry);

995  if

(m_context.m_RemoteTaxonomyLookup) {

996

m_context.m_remote_updater->UpdateOrgFromTaxon(*entry);

1001

m_secret_files->m_feature_table_reader->m_replacement_protein = m_secret_files->m_replacement_proteins;

1003

m_secret_files->m_feature_table_reader->MergeCDSFeatures(*entry, token);

1006

m_secret_files->m_feature_table_reader->MoveProteinSpecificFeats(*entry);

1008

m_context.CorrectCollectionDates(*entry);

1010  if

(m_secret_files->m_possible_proteins.NotEmpty())

1011

m_secret_files->m_feature_table_reader->AddProteins(*m_secret_files->m_possible_proteins, *entry);

1013  if

(m_context.m_HandleAsSet) {

1014

m_secret_files->m_feature_table_reader->ConvertNucSetToSet(entry);

1020

m_context.ApplyCreateUpdateDates(*entry);

1023

m_context.ApplyComments(*entry);

1024

ProcessSecretFiles2Phase(*entry);

1028  if

(avoid_submit_block)

1029  result

= m_context.CreateSeqEntryFromTemplate(entry);

1031  result

= m_context.CreateSubmitFromTemplate(entry, submit);

1033

m_secret_files->m_feature_table_reader->MakeGapsFromFeatures(*entry);

1035  if

(m_context.m_delay_genprodset) {

1044  if

(m_context.m_RemotePubLookup) {

1045

m_context.m_remote_updater->UpdatePubReferences(*obj);

1047  if

(m_context.m_postprocess_pubs) {

1048

edit::CRemoteUpdater::PostProcessPubs(*entry);

1051  if

(m_context.m_cleanup.find(

'-'

) == string::npos) {

1052

m_validator->Cleanup(submit, seh, m_context.m_cleanup);

1058

m_secret_files->m_feature_table_reader->ChangeDeltaProteinToRawProtein(*entry);

1061

m_validator->UpdateECNumbers(*entry);

1063  if

(! m_context.m_validate.empty()) {

1064

m_validator->ValCollect(submit, entry, m_context.m_validate);

1067

m_validator->CollectDiscrepancies(submit, seh);

1069  if

(m_context.m_make_flatfile) {

1070

MakeFlatFile(seh, submit, m_context.GetOstream(

eFiles::gbf

));

1077

m_context.ApplyComments(*entry);

1079  if

(m_global_files.m_descriptors)

1080

m_reader->ApplyDescriptors(*entry, *m_global_files.m_descriptors);

1082  if

(m_secret_files->m_descriptors)

1083

m_reader->ApplyDescriptors(*entry, *m_secret_files->m_descriptors);

1085  if

(need_update_date) {

1086

m_context.ApplyUpdateDate(*entry);

1090  if

(m_context.m_RemotePubLookup) {

1091

m_context.m_remote_updater->UpdatePubReferences(*submit);

1102  "File "

+ m_context.m_current_file +

" contains multiple sequences"

,

1103

*(m_context.m_logger));

1114  if

(submit.

Empty

())

1115

ffgenerator.

Generate

(seh, ostream);

1123

m_context.SetOutputFilename(e, m_context.GenerateOutputFilename(e));

1126  if

(m_context.m_split_discrepancy) {

1129

m_context.OpenDiagnosticOutputs();

1134  if

(m_context.m_output) {

1135

m_context.SetOutputFile(

eFiles::asn

, *m_context.m_output);

1139

m_context.OpenDataOutputs();

1144

m_context.CloseDiagnosticOutputs();

1149

m_context.CloseDataOutputs();

1154  if

(

context

.m_disable_huge_files) {

1157  return

(

context

.m_can_use_huge_files ||

1165  if

(m_context.m_split_log_files)

1166

m_context.m_logger->ClearAll();

1169  if

(! IsDryRun() && m_context.m_split_log_files) {

1170

log_name = m_context.GenerateOutputFilename(

eFiles::log

);

1172

m_logger->SetProgressOstream(error_log);

1177  if

(manageDiagnosticStreams) {

1178

SetupAndOpenDiagnosticStreams();

1180  if

(manageDataStreams) {

1181

SetupAndOpenDataStreams();

1185

std::function<std::ostream&()>

f

= [

this

]() -> std::ostream& {

return

m_context.GetOstream(

eFiles::fixedproducts

); };

1186

m_context.m_suspect_rules->SetupOutput(

f

);

1188

m_context.m_huge_files_mode =

false

;

1190

LoadAdditionalFiles();

1193

ProcessAlignmentFile(

output

);

1195

m_validator->Clear();

1197

edit::CHugeFile hugeFile;

1201  auto

message = e.GetMsg();

1202  if

(message ==

"File format not supported"

) {

1211  if

(! m_context.m_use_threads) {

1212

m_context.m_use_threads = xGetNumThreads();

1215

ProcessHugeFile(hugeFile,

output

);

1217  const string

objectType =

1218

hugeFile.m_content ?

1219

hugeFile.m_content->GetName() :

1229  if

(! m_context.m_validate.empty())

1230

m_validator->ValReportErrors();

1232  if

(m_context.m_split_discrepancy)

1233

m_validator->ReportDiscrepancies();

1235

ReportUnusedSourceQuals();

1239  if

(! log_name.

GetPath

().empty()) {

1240

m_logger->SetProgressOstream(&

NcbiCout

);

1242  if

(manageDiagnosticStreams) {

1243

CloseDiagnosticStreams();

1245  if

(manageDataStreams) {

1249  if

(! log_name.

GetPath

().empty()) {

1250

m_logger->SetProgressOstream(&

NcbiCout

);

1253

m_context.DeleteOutputs();

1254  if

(m_context.m_output) {

1255  GetArgs

()[

"o"

].CloseFile();

1256  _ASSERT

(! m_context.m_output_filename.empty());

1266  const string

& contentType,

1267

unique_ptr<CNcbiIstream>& pIstr,

1272

m_reader->FetchEntry(

format

,

1277

xProcessOneFile(

format

, pInputObject, annots,

output

);

1297  if

(! annotMap.empty()) {

1298  for

(

auto

entry : annotMap) {

1299  auto

it = m_secret_files->m_AnnotMap.find(entry.first);

1300  if

(it == m_secret_files->m_AnnotMap.end()) {

1301

m_secret_files->m_AnnotMap.emplace(entry.first, entry.second);

1303

it->second.splice(it->second.end(), entry.second);

1313  if

(! IsDryRun() &&

result

.NotEmpty()) {

1314  const

CSerialObject* to_write =

result

;

1315  if

(m_context.m_save_bioseq_set) {

1316  if

(

result

->GetThisTypeInfo()->IsType(CSeq_entry::GetTypeInfo())) {

1319

to_write = &se->

GetSet

();

1323

m_reader->WriteObject(*to_write, *

output

);

1325

input_obj = m_reader->ReadNextEntry();

1331  const string

& filename = m_context.m_current_file;

1332

unique_ptr<CNcbiIstream> pIstream(

new CNcbiIfstream

(filename));

1336

m_context.MergeWithTemplate(*pEntry);

1341

ProcessOneEntry(inputFormat, pEntry, pResult);

1343  if

(IsDryRun() || ! pResult) {

1347  if

(m_context.m_save_bioseq_set &&

1352  if

(pTempEntry->

IsSet

()) {

1353

m_reader->WriteObject(pTempEntry->

GetSet

(), *

output

);

1357

m_reader->WriteObject(*pResult, *

output

);

1364

vector<unique_ptr<CDir::CDirEntry>> vec(

entries

->size());

1365  auto

vec_it = vec.begin();

1367

vec_it->reset(it.release());

1371  auto

compareNames = [](

const auto

&

l

,

const auto

&

r

) {

return l

->GetPath() <

r

->GetPath(); };

1372  sort

(vec.begin(), vec.end(), compareNames);

1374  bool

commonOutputStream =

GetArgs

()[

"o"

];

1375  if

(commonOutputStream) {

1376

SetupAndOpenDataStreams();

1378

SetupAndOpenDiagnosticStreams();

1380  for

(

const auto

& it : vec) {

1382  if

(! it->IsDir()) {

1383  auto

pathName = it->GetPath();

1384  if

(

mask

.Match(pathName)) {

1385

m_context.m_current_file = pathName;

1386

ProcessOneFile(

false

, ! commonOutputStream, ! commonOutputStream);

1388

}

else if

(recurse) {

1389

ProcessOneDirectory(*it,

mask

, recurse);

1392  if

(commonOutputStream) {

1395

CloseDiagnosticStreams();

1423  auto

modMergePolicy =

1424

m_context.m_accumulate_mods ?

1429

m_global_files.mp_src_qual_map.get(),

1430

m_secret_files->mp_src_qual_map.get(),

1431

m_context.mCommandLineMods,

1433

m_context.m_verbose,

1438  if

(! m_context.m_huge_files_mode) {

1439  if

(m_global_files.m_descriptors)

1440

m_reader->ApplyDescriptors(

result

, *m_global_files.m_descriptors);

1441  if

(m_secret_files->m_descriptors)

1442

m_reader->ApplyDescriptors(

result

, *m_secret_files->m_descriptors);

1445  if

(m_global_files.m_indexed_annots || m_secret_files->m_indexed_annots)

1453

ProcessCMTFiles(

result

);

1459  if

(!

file

.Exists() ||

file

.GetLength() == 0)

1461

m_reader->LoadDescriptors(pathname, m_secret_files->m_descriptors);

1466  if

(m_global_files.m_struct_comments)

1467

m_global_files.m_struct_comments->ProcessComments(

result

);

1468  if

(m_secret_files && m_secret_files->m_struct_comments)

1469

m_secret_files->m_struct_comments->ProcessComments(

result

);

1475  if

(!

file

.Exists() ||

file

.GetLength() == 0)

1480

m_secret_files->m_replacement_proteins = m_secret_files->m_feature_table_reader->ReadProtein(*reader);

1486  if

(!

file

.Exists() ||

file

.GetLength() == 0)

1493  if

(!

file

.Exists() ||

file

.GetLength() == 0)

1498

m_secret_files->m_possible_proteins = m_secret_files->m_feature_table_reader->ReadProtein(*reader);

1506  if

(!

file

.Exists())

1509  if

(

file

.IsIdentical(m_context.m_current_file)) {

1512  "Ignorning annotation "

+ pathname +

" because it was already used as input source"

,

1517  if

(

file

.GetLength() == 0) {

1530  if

(entry.

IsSeq

()) {

1531

m_reader->AddAnnots(m_global_files.m_indexed_annots.get(), entry.

SetSeq

());

1532  if

(m_secret_files) {

1533

m_reader->AddAnnots(m_secret_files->m_indexed_annots.get(), entry.

SetSeq

());

1547  if

(pSubEntry && pSubEntry->IsSeq() && pSubEntry->GetSeq().IsNa()) {

1548

AddAnnots(*pSubEntry);

1556

AddAnnots(*pSubEntry);

1565  if

(

file

.Exists() &&

file

.GetLength()) {

1578  string

name = dir + base;

1584  const auto

& namedSrcFile = m_context.m_single_source_qual_file;

1585  if

(!

NStr::IsBlank

(namedSrcFile) && ! m_global_files.mp_src_qual_map) {

1587

m_global_files.mp_src_qual_map->MapFile(namedSrcFile, m_context.m_allow_accession);

1590  const string

defaultSrcFile = name +

".src"

;

1591  if

(

CFile

(defaultSrcFile).Exists()) {

1593

m_secret_files->mp_src_qual_map->MapFile(defaultSrcFile, m_context.m_allow_accession);

1596

LoadPEPFile(name +

".pep"

);

1597

LoadRNAFile(name +

".rna"

);

1598

LoadPRTFile(name +

".prt"

);

1599

LoadDSCFile(name +

".dsc"

);

1601

LoadCMTFile(m_context.m_single_structure_cmt, m_global_files.m_struct_comments);

1602

LoadCMTFile(name +

".cmt"

, m_secret_files->m_struct_comments);

1606  if

(! m_context.m_single_annot_file.empty() && ! m_global_files.m_indexed_annots)

1608

LoadAnnotMap(m_context.m_single_annot_file, m_global_files);

1610  for

(

auto

suffix : {

".tbl"

,

".gff"

,

".gff3"

,

".gff2"

,

".gtf"

}) {

1611  if

(LoadAnnotMap(name + suffix, *m_secret_files))

1614 #ifdef THIS_IS_TRUNK_BUILD 1615  for

(

auto

suffix : {

".gbf"

}) {

1616

LoadAnnotMap(name + suffix, *m_secret_files);

1625  if

(m_context.m_verbose && m_secret_files && m_secret_files->mp_src_qual_map)

1626

m_secret_files->mp_src_qual_map->ReportUnusedIds();

1638

list<string> split_args;

1639

vector<const char*> new_argv;

1641  if

(argc==2 && argv && argv[1] && strchr(argv[1],

' '

)) {

1644  auto

it = split_args.begin();

1645  while

(it != split_args.end()) {

1647  if

(

next

!= split_args.end() &&

1648

((it->front() ==

'"'

&& it->back() !=

'"'

) ||

1649

(it->front() ==

'\''

&& it->back() !=

'\''

)))

1651

it->append(

" "

); it->append(*

next

);

1655  for

(

auto

& rec : split_args) {

1656  if

(rec.front() ==

'\''

&& rec.back()==

'\''

)

1657

rec = rec.substr(1, rec.length()-2);

1659

argc = 1 + split_args.size();

1660

new_argv.reserve(argc);

1661

new_argv.push_back(argv[0]);

1662  for

(

const string

& s : split_args) {

1663

new_argv.push_back(s.c_str());

1664

std::cerr << s.c_str() <<

" "

;

1669

argv = new_argv.data();

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.

static const CDataLoadersUtil::TLoaders default_loaders

void g_LogGeneralParsingError(EDiagSev sev, const string &idString, const string &msg, objects::ILineErrorListener &listener)

ncbi::TMaskedQueryRegions mask

const SBadResiduePositions & GetBadResiduePositions(void) const THROWS_NONE

static bool CleanArticle(CCit_art &, bool fix_initials, bool strip_serial)

static bool ConvertPubFeatsToPubDescs(CSeq_entry_Handle seh)

Convert full-length publication features to publication descriptors.

@ eClean_NoNcbiUserObjects

static void SetupObjectManager(const CArgs &args, objects::CObjectManager &obj_mgr, TLoaders loaders=fDefault)

Set up the standard object manager data loaders according to the arguments provided above.

static void AddArgumentDescriptions(CArgDescriptions &arg_desc, TLoaders loaders=fDefault)

Add a standard set of arguments used to configure the object manager.

void Generate(const CSeq_entry_Handle &entry, CFlatItemOStream &item_os, const multiout &={})

EFormat

The formats are checked in the same order as declared here.

@ eBinaryASN

Binary ASN.1.

@ eGff3

GFF3, CGff3Reader.

@ eFasta

FASTA format sequence record, CFastaReader.

@ eAlignment

Text alignment.

static EFormat Format(const string &path, EOnError onerror=eDefault)

Guess file format.

static CLineError * Create(EProblem eProblem, EDiagSev eSeverity, const std::string &strSeqId, unsigned int uLine, const std::string &strFeatureName=string(""), const std::string &strQualifierName=string(""), const std::string &strQualifierValue=string(""), const std::string &strErrorMessage=string(""), const TVecOfLines &vecOfOtherLines=TVecOfLines())

Use this because the constructor is protected.

void PutProgress(const string &sMessage, const Uint8 iNumDone, const Uint8 iNumTotal) override

This is used for processing progress messages.

bool PutMessage(const IObjtoolsMessage &message) override

list< CRef< objects::CSeq_annot > > TAnnots

static const set< TTypeInfo > kSupportedTypes

SeqMap related exceptions.

namespace ncbi::objects::

static void UpdateTaxonFromTable(objects::CBioseq &bioseq)

bool PutMessage(const IObjtoolsMessage &message) override

void Post(const SDiagMessage &mess) override

Post message to handler.

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

void LoadCMTFile(const string &pathname, unique_ptr< CTable2AsnStructuredCommentsReader > &comments)

void LoadDSCFile(const string &pathname)

void ProcessAlignmentFile(CNcbiOstream *output)

void Init() override

Initialize the application.

void ProcessOneEntry(CFormatGuess::EFormat inputFormat, CRef< CSerialObject > obj, CRef< CSerialObject > &result)

void SetupAndOpenDataStreams()

void AddAnnots(CSeq_entry &entry)

void ProcessSecretFiles2Phase(CSeq_entry &result) const

void SetupAndOpenDiagnosticStreams()

int Run() override

Run the application.

void MakeFlatFile(CSeq_entry_Handle seh, CRef< CSeq_submit > submit, std::ostream &ostream)

void xProcessSecretFiles1Phase(bool readModsFromTitle, CSeq_entry &result)

void xProcessOneFile(CFormatGuess::EFormat format, CRef< CSerialObject > pInputObject, TAnnots &annots, CNcbiOstream *output)

void Setup(const CArgs &args)

void ProcessOneFile(bool isAlignment, bool manageDiagnosticStreams=true, bool manageDataStream=true)

void x_SetAlnArgs(CArgDescriptions &arg_desc)

void ReportUnusedSourceQuals()

void ProcessCMTFiles(CSeq_entry &result) const

bool ProcessOneDirectory(const CDir &directory, const CMask &mask, bool recurse)

bool LoadAnnotMap(const string &pathname, TAdditionalFiles &files)

void LoadPEPFile(const string &pathname)

void LoadAdditionalFiles()

void CloseDiagnosticStreams()

void LoadPRTFile(const string &pathname)

CMultiReader::TAnnots TAnnots

size_t xGetNumThreads() const

void LoadRNAFile(const string &pathname)

void ProcessTopEntry(CFormatGuess::EFormat inputFormat, bool need_update_date, CRef< CSeq_submit > &submit, CRef< CSeq_entry > &entry)

bool PutMessage(const IObjtoolsMessage &message) override

@ eProblem_GeneralParsingError

vector< unsigned int > TVecOfLines

const_iterator begin() const

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

std::ofstream out("events_result.xml")

main entry point for tests

static void cleanup(void)

static DLIST_TYPE *DLIST_NAME() next(DLIST_LIST_TYPE *list, DLIST_TYPE *item)

static SQLCHAR output[256]

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

unsigned int TSeqPos

Type for sequence locations and lengths.

int AppMain(int argc, const char *const *argv, const char *const *envp=0, EAppDiagStream diag=eDS_Default, const char *conf=NcbiEmptyCStr, const string &name=NcbiEmptyString)

Main function (entry point) for the NCBI application.

void Reset(void)

Remove all arguments.

void SetConstraint(const string &name, const CArgAllow *constraint, EConstraintNegate negate=eConstraint)

Set additional user defined constraint on argument value.

void SetDependency(const string &arg1, EDependency dep, const string &arg2)

Define a dependency.

bool Exist(const string &name) const

Check existence of argument description.

void AddOptionalKey(const string &name, const string &synopsis, const string &comment, EType type, TFlags flags=0)

Add description for optional key without default value.

void AddDefaultKey(const string &name, const string &synopsis, const string &comment, EType type, const string &default_value, TFlags flags=0, const string &env_var=kEmptyStr, const char *display_value=nullptr)

Add description for optional key with default value.

@ fAllowMultiple

Repeated key arguments are legal (use with AddKey)

@ fHidden

Hide it in Usage.

@ fUsageIfNoArgs

Force printing USAGE (and then exit) if no command line args are present.

@ eExcludes

One argument excludes another.

@ eInputFile

Name of file (must exist and be readable)

@ eString

An arbitrary string.

@ eOutputFile

Name of file (must be writable)

@ eInteger

Convertible into an integer number (int or Int8)

void Write(string &str, TDiagWriteFlags flags=fNone) const

Binary OR of "EDiagWriteFlags".

EDiagSev m_Severity

Severity level.

TDiagPostFlags m_Flags

Bitwise OR of "EDiagPostFlag".

static const char * SeverityName(EDiagSev sev)

Get a common symbolic name for the severity levels.

void SetDiagHandler(CDiagHandler *handler, bool can_delete=true)

Set the diagnostic handler using the specified diagnostic handler class.

EDiagSev

Severity level for the posted diagnostics.

void SetDiagStream(CNcbiOstream *os, bool quick_flush=true, FDiagCleanup cleanup=0, void *cleanup_data=0, const string &stream_name="")

Set diagnostic stream.

@ eDPF_IsNote

Print "Note[X]" severity name.

@ fNoEndl

No end of line.

@ eDS_Default

Try standard log file (app.name + ".log") in /log/, use stderr on failure.

@ eDiag_Info

Informational message.

@ eDiag_Error

Error message.

@ eDiag_Warning

Warning message.

@ eDiag_Fatal

Fatal error – guarantees exit(or abort)

@ eDiag_Critical

Critical error message.

#define NCBI_THROW(exception_class, err_code, message)

Generic macro to throw an exception, given the exception class, error code and message string.

const string & GetMsg(void) const

Get message string.

const CException * GetPredecessor(void) const

Get "previous" exception from the backlog.

static string CreateAbsolutePath(const string &path, ERelativeToWhat rtw=eRelativeToCwd)

Get an absolute path from some, possibly relative, path.

string GetBase(void) const

Get the base entry name without extension.

Int8 GetLength(void) const

Get size of file.

virtual bool Remove(TRemoveFlags flags=eRecursive) const

Remove a directory entry.

static string AddTrailingPathSeparator(const string &path)

Add trailing path separator, if needed.

virtual bool Exists(void) const

Check if directory "dirname" exists.

bool Create(TCreateFlags flags=fCreate_Default) const

Create the directory using "dirname" passed in the constructor.

TEntries * GetEntriesPtr(const string &mask=kEmptyStr, TGetEntriesFlags flags=0) const

Get directory entries based on the specified "mask".

const string & GetPath(void) const

Get entry path.

virtual bool Exists(void) const

Check existence of file.

static void SplitPath(const string &path, string *dir=0, string *base=0, string *ext=0)

Split a path string into its basic components.

@ eRelativeToCwd

Relative to the current working directory.

@ fIgnoreRecursive

Suppress "self recursive" elements (the directories "." and "..").

@ fCreateObjects

Create appropriate subclasses of CDirEntry (CFile,CDir,...), not just CDirEntry objects.

@ fIgnoreMissing

Ignore missed entries.

#define ENUM_METHOD_NAME(EnumName)

virtual const CTypeInfo * GetThisTypeInfo(void) const =0

CTempString GetCurrentLine(void) const

static CRef< ILineReader > New(const string &filename)

Return a new ILineReader object corresponding to the given filename, taking "-" (but not "....

virtual bool AtEOF(void) const =0

Indicates (negatively) whether there is any more input.

static CRef< CObjectManager > GetInstance(void)

Return the existing object manager or create one.

CScope & GetScope(void) const

Get scope this handle belongs to.

CRef< C > Ref(C *object)

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

TObjectType * GetPointer(void) THROWS_NONE

Get pointer,.

bool NotEmpty(void) const THROWS_NONE

Check if CRef is not empty – pointing to an object and has a non-null value.

bool Empty(void) const THROWS_NONE

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

uint64_t Uint8

8-byte (64-bit) unsigned integer

#define END_NCBI_SCOPE

End previously defined NCBI scope.

#define BEGIN_NCBI_SCOPE

Define ncbi namespace.

IO_PREFIX::ofstream CNcbiOfstream

Portable alias for ofstream.

IO_PREFIX::ostream CNcbiOstream

Portable alias for ostream.

IO_PREFIX::ifstream CNcbiIfstream

Portable alias for ifstream.

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

Convert string to int.

static list< string > & Split(const CTempString str, const CTempString delim, list< string > &arr, TSplitFlags flags=0, vector< SIZE_TYPE > *token_pos=NULL)

Split a string using specified delimiters.

static 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 XmlEncode(const CTempString str, TXmlEncode flags=eXmlEnc_Contents)

Encode a string for XML.

static enable_if< is_arithmetic< TNumeric >::value||is_convertible< TNumeric, Int8 >::value, string >::type NumericToString(TNumeric value, TNumToStringFlags flags=0, int base=10)

Convert numeric value to string.

@ fWithCommas

Use commas as thousands separator.

@ eCurrent

Use current time. See also CCurrentTime.

virtual bool IsType(TTypeInfo type) const

void CONNECT_Init(const IRWRegistry *reg=0, CRWLock *lock=0, TConnectInitFlags flag=eConnectInit_OwnNothing, FSSLSetup ssl=0)

Init [X]CONNECT library with the specified "reg" and "lock" (ownership for either or both can be deta...

void Add(const string &mask)

Add an inclusion mask.

bool IsArticle(void) const

Check if variant Article is selected.

TArticle & SetArticle(void)

Select the variant.

bool IsSetClass(void) const

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

TSet & SetSet(void)

Select the variant.

TClass GetClass(void) const

Get the Class member data.

const TSet & GetSet(void) const

Get the variant data.

bool IsSeq(void) const

Check if variant Seq is selected.

bool IsSetSeq_set(void) const

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

bool IsSet(void) const

Check if variant Set is selected.

TSeq & SetSeq(void)

Select the variant.

TSeq_set & SetSeq_set(void)

Assign a value to Seq_set data member.

@ eClass_pop_set

population study

@ eClass_phy_set

phylogenetic study

@ eClass_mut_set

set of mutations

@ eClass_eco_set

ecological sample study

@ eClass_nuc_prot

nuc acid and coded proteins

@ eClass_small_genome_set

viral segments or mitochondrial minicircles

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

if(yy_accept[yy_current_state])

Lightweight interface for getting lines of data with minimal memory copying.

constexpr auto sort(_Init &&init)

const struct ncbi::grid::netcache::search::fields::EXPIRES expires

Magic spell ;-) needed for some weird compilers... very empiric.

void VisitAllFeatures(objects::CSeq_entry_EditHandle &entry_h, _M m)

void VisitAllBioseqs(objects::CSeq_entry &entry, _M &&m)

const GenericPointer< typename T::ValueType > T2 value

#define NCBI_SC_VERSION_PROXY

#define NCBI_TEAMCITY_BUILD_NUMBER_PROXY

Classes to match a string against a set of masks.

Defines the CNcbiApplication and CAppException classes for creating NCBI applications.

#define GetArgs

Avoid preprocessor name clash with the NCBI C Toolkit.

Defines command line argument related classes.

Defines unified interface to application:

NCBI C++ stream class wrappers for triggering between "new" and "old" C++ stream libraries.

bool le(T x_, T y_, T round_)

std::istream & in(std::istream &in_, double &x_)

double r(size_t dimension_, const Int4 *score_, const double *prob_, double theta_)

void SortSeqDescr(CSeq_entry &entry)

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

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

void g_ApplyMods(CMemorySrcFileMap *pNamedSrcFileMap, CMemorySrcFileMap *pDefaultSrcFileMap, const string &commandLineStr, bool readModsFromTitle, bool isVerbose, CModHandler::EHandleExisting mergePolicy, ILineErrorListener *pEC, CSeq_entry &entry)

TBadIndexMap m_BadIndexMap

unique_ptr< IIndexedFeatureReader > m_indexed_annots

static void s_PubCleanup(CRef< CPub > &pub)

static bool s_UseHugeFileMode(const CTable2AsnContext &context, CFormatGuess::EFormat format)

#define table2asn_app_main

void g_LogDiagMessage(ILineErrorListener *logger, EDiagSev sev, const string &msg)

static void s_FailOnBadInput(const string &specifics, IObjtoolsListener &listener)

void g_LoadLinkageEvidence(const string &linkageEvidenceFilename, CGapsEditor::TCountToEvidenceMap &gapsizeToEvidence, ILineErrorListener *pEC)

static CS_CONTEXT * context

static wxAcceleratorEntry entries[3]


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