<<
error.GetID() <<
"' " 99 "in category '"<<
static_cast<int>(
error.GetCategory()) <<
"' " 100 "at line "<<
error.GetLineNum() <<
": " 101<<
error.GetMsg() <<
"'");
127pReaderMessage->
Write(cerr);
147ostream & ostr,
const ILineError& line_error_p);
152 void Init()
override;
153 int Run()
override;
239 const Uint8bytesDone,
248 FORMAT(
"Progress: "<< bytesDone <<
" bytes done."));
275 const Uint8bytesDone,
284 FORMAT(
msg<<
" ("<< bytesDone <<
" bytes)"));
307arg_desc->SetUsageContext(
"",
"C++ multi format file reader");
313arg_desc->SetCurrentGroup(
"INPUT / OUTPUT");
315arg_desc->AddDefaultKey(
321arg_desc->AddAlias(
"i",
"input");
323arg_desc->AddDefaultKey(
328arg_desc->AddAlias(
"o",
"output");
330arg_desc->AddDefaultKey(
336arg_desc->AddAlias(
"p",
"indir");
338arg_desc->AddDefaultKey(
344arg_desc->AddAlias(
"r",
"outdir");
346arg_desc->AddDefaultKey(
349 "Input file format",
352arg_desc->SetConstraint(
356 "microarray",
"bed15",
357 "wig",
"wiggle",
"bedgraph",
358 "gtf",
"gff3",
"gff2",
"augustus",
361 "newick",
"tree",
"tre",
372arg_desc->AddDefaultKey(
"out-format",
"FORMAT",
373 "This sets how the output of this program will be formatted. " 374 "Note that for some formats some or all values might have no effect.",
376arg_desc->SetConstraint(
385arg_desc->AddDefaultKey(
388 "Additional flags passed to the reader, as a single flag integer or comma separated flag names",
392arg_desc->AddDefaultKey(
395 "Name for annotation",
398arg_desc->AddDefaultKey(
401 "Title for annotation",
409arg_desc->SetCurrentGroup(
"ID MAPPING");
411arg_desc->AddDefaultKey(
414 "IdMapper config filename",
417arg_desc->AddDefaultKey(
420 "UCSC build number",
428arg_desc->SetCurrentGroup(
"ERROR POLICY");
432 "write record counts to stderr",
437 "where possible, print errors, warnings, etc. as XML",
442 "check for errors only",
447 "suppress error display",
452 "accept all input format errors",
457 "accept no input format errors",
460arg_desc->AddDefaultKey(
463 "Maximum permissible error count",
467arg_desc->AddDefaultKey(
470 "Maximum permissible error level",
474arg_desc->SetConstraint(
477 "info",
"warning",
"error") );
479arg_desc->AddFlag(
"show-progress",
480 "This will show progress messages on stderr, if the underlying " 481 "reader supports that.");
487arg_desc->SetCurrentGroup(
"BED AND GFF READER SPECIFIC");
491 "turn all ids into local ids",
495 "numeric-ids-as-local",
496 "turn integer ids into local ids",
501 "use BED three feature format",
506 "use BED directed feature model",
511 "clean up output for genbank submission",
515 "genbank-no-locus-tags",
516 "clean up output for genbank submission, no locus-ag needed",
521 "clean up output but without genbank specific extensions",
526 "in -genbank mode, generate any missing mRNA features",
531 "generate parent-child xrefs involving genes",
534arg_desc->AddDefaultKey(
537 "Prefix or starting tag for auto generated locus tags",
541arg_desc->AddOptionalKey(
544 "BED autosql definition file",
551arg_desc->SetCurrentGroup(
"WIGGLE READER SPECIFIC");
555 "join abutting intervals",
560 "generate byte compressed data",
565 "generate real value data",
570 "generate graph object",
575 "iteratively return raw track data",
582arg_desc->SetCurrentGroup(
"GFF READER SPECIFIC");
586 "use new gff3 reader implementation",
590 "use old gff3 reader implementation",
597arg_desc->SetCurrentGroup(
"GTF READER SPECIFIC");
601 "generate gene->mrna and gene->cds xrefs",
608arg_desc->SetCurrentGroup(
"ALIGNMENT READER SPECIFIC");
610arg_desc->AddDefaultKey(
613 "Alignment gap character",
617arg_desc->AddDefaultKey(
620 "Alignment missing indicator",
624arg_desc->AddDefaultKey(
627 "Alignment alphabet",
630arg_desc->SetConstraint(
636arg_desc->AddDefaultKey(
639 "Alignment sequence ID validation scheme",
645 "treat all IDs as local IDs",
649 "ignore-nexus-info",
650 "ignore char settings in NEXUS format block",
656arg_desc->SetCurrentGroup(
"FASTA READER SPECIFIC");
660 "Parse FASTA modifiers on deflines.");
664 "Make a delta sequence if gaps found.");
666arg_desc->AddDefaultKey(
669 "Maximum permissible ID length",
672arg_desc->SetCurrentGroup(
"");
685 stringargInFile = args[
"input"].AsString();
686 stringargOutFile = args[
"output"].AsString();
687 stringargInDir = args[
"indir"].AsString();
688 stringargOutDir = args[
"outdir"].AsString();
690 if((argInFile !=
"-") && !argInDir.empty()) {
691cerr <<
"multireader: command line args -input and -indir are incompatible." 695 if((argOutFile !=
"-") && !argOutDir.empty()) {
696cerr <<
"multireader: command line args -output and -outdir are incompatible." 700 if(argInDir.empty() && !argOutDir.empty()) {
701cerr <<
"multireader: command line arg -outdir requires -indir." 705 if(argOutDir.empty() && !argInDir.empty()) {
706cerr <<
"multireader: command line arg -indir requires -outdir." 710 if(args[
"genbank"].AsBoolean() && args[
"genbank-no-locus-tags"].AsBoolean()) {
711cerr <<
"multireader: flags -genbank and -genbank-no-locus-tags are mutually " 716 if(!args[
"locus-tag"].AsString().
empty() && args[
"genbank-no-locus-tags"].AsBoolean()) {
717cerr <<
"multireader: flags -locus-tag and -genbank-no-locus-tags are mutually " 722 if(argInFile ==
"-"&& args[
"format"].AsString() ==
"guess") {
723cerr <<
"multireader: must specify input format (\"-format ...\") if input comes from " 732 if(!argInDir.empty()) {
735 stringinFile, outFile;
738 boolretIn = fileSource.
Next(inFile);
740 if(!fileDestination.
Next(inFile, outFile)) {
741cerr <<
"multireader: unable to create output file " 742<< outFile <<
"."<< endl;
750retIn = fileSource.
Next(inFile);
772 boolretCode =
true;
775 xSetFlags(args, args[
"input"].AsString());
837message.
Dump(cerr);
843 eDiag_Fatal,
"Reading aborted due to fatal error.");
853 if(osEx.tellp() > 0) {
854os <<
" ("<< osEx.str() <<
')';
858 "Reading aborted due to fatal error: "+ os.str());
862 catch(
conststd::exception & std_ex) {
867 "Reading aborted due to fatal error: "<< std_ex.what()));
893 typedeflist<CRef<CSeq_annot> > ANNOTS;
896unique_ptr<CReaderBase> pReader(
904pReader->SetProgressReportInterval(10);
908pReader->ReadSeqAnnots(annots, istr,
m_pErrors.get());
921 typedeflist<CRef<CSeq_annot> > ANNOTS;
974 if(args[
"autosql"]) {
975 if(!reader.
SetAutoSql(args[
"autosql"].AsString())) {
1019 if(args[
"format"].AsString() ==
"gff2") {
1045 if(args[
"format"].AsString() ==
"gff2") {
1057 const auto&
data= it->GetData();
1058 if(
data.IsFtable()) {
1059 const auto& features = it->GetData().GetFtable();
1060 if(features.empty()) {
1117 if(args[
"format"].AsString() ==
"gff2") {
1120 if(args[
"format"].AsString() ==
"gff3") {
1142 while(!istr.eof()) {
1160 const intiErrCode = reader.
ReadStream(istr);
1161 if( iErrCode != 0 ) {
1163 "AGP reader failed with code "+
1184 while(!pLineReader->
AtEOF()) {
1207 if( ! pSeqAnnot || ! pSeqAnnot->
IsFtable() ||
1227 automaxIdLength = args[
"max-id-length"].AsInteger();
1228 if(maxIdLength != 0) {
1244 if( args[
"parse-mods"] ) {
1249 if(args[
"aln-alphabet"].AsString() ==
"nuc") {
1254(args[
"all-ids-as-local"].AsBoolean() ?
1263 catch(std::exception&) {
1274 string format= args[
"format"].AsString();
1287 format==
"microarray") {
1358 const string& filename )
1386 if( args[
"join-same"] ) {
1390 if(!args[
"as-real"]) {
1393 if( args[
"as-graph"] ) {
1397 if( args[
"raw"] ) {
1405 if( args[
"all-ids-as-local"] ) {
1408 if( args[
"numeric-ids-as-local"] ) {
1411 if( args[
"raw"] ) {
1414 if( args[
"3ff"] ) {
1417 if( args[
"dfm"] ) {
1425 if( args[
"all-ids-as-local"] ) {
1428 if( args[
"numeric-ids-as-local"] ) {
1431 if( args[
"child-links"] ) {
1434 if(args[
"genbank-no-locus-tags"]) {
1437 if(args[
"genbank"]) {
1439 if(args[
"locus-tag"]) {
1448 if( args[
"gene-xrefs"] ) {
1451 if(args[
"genbank-no-locus-tags"]) {
1455 if( args[
"genbank"] ) {
1458 if(args[
"locus-tag"]) {
1465 autoflagsStr = args[
"flags"].AsString();
1467 if( args[
"parse-mods"] ) {
1470 if( args[
"parse-gaps"] ) {
1478list<string> stringFlags;
1486 autoflagsStr = args[
"flags"].AsString();
1491list<string> stringFlags;
1512 static unsigned intstartingLocusTagNumber = 1;
1513 static unsigned intstartingFeatureId = 1;
1515 if(!args[
"genbank"].AsBoolean() && !args[
"genbank-no-locus-tags"].AsBoolean()) {
1516 if(args[
"cleanup"]) {
1532startingLocusTagNumber = tail;
1538 "Invalid locus tag: Only one \"_\", and suffix must be numeric", 0);
1543prefix = args[
"locus-tag"].AsString();
1546edit::CFeatTableEdit fte(
1547annot, 0, prefix, startingLocusTagNumber, startingFeatureId,
m_pErrors.get());
1548fte.InferPartials();
1549fte.GenerateMissingParentFeatures(args[
"euk"].AsBoolean(), pLocationMerger);
1550 if(args[
"genbank"].AsBoolean() && !fte.AnnotHasAllLocusTags()) {
1551 if(!prefix.empty()) {
1552fte.GenerateLocusTags();
1557 eDiag_Fatal,
"Need prefix to generate missing locus tags but none was provided");
1562fte.GenerateProteinAndTranscriptIds();
1564fte.ProcessCodonRecognized();
1565fte.EliminateBadQualifiers();
1566fte.SubmitFixProducts();
1568startingLocusTagNumber = fte.PendingLocusTagNumber();
1569startingFeatureId = fte.PendingFeatureId();
1585CLineErrorForMsg(
EDiagSeveDiagSev,
const string&
msg)
1599ostream & ostr,
const ILineError& line_error)
1607line_error.
Dump(ostr);
1625 const stringout_format = args[
"out-format"].AsString();
1626unique_ptr<MSerial_Format> pOutFormat;
1627 if( out_format ==
"asn_text") {
1629}
else if( out_format ==
"asn_binary") {
1631}
else if( out_format ==
"xml") {
1633}
else if( out_format ==
"json") {
1638ostr << *pOutFormat << object;
1648 stringstrBuild = args[
"genome"].AsString();
1649 stringstrMapFile = args[
"mapfile"].AsString();
1651 if(strBuild.empty() && strMapFile.empty()) {
1656 if(!strMapFile.empty()) {
1657 const boollocalOnly=
false;
1670 const CArgs& args )
1680 if( args[
"noerrors"] ) {
1685 if( args[
"strict"] ) {
1687}
else if( args[
"lenient"] ) {
1690 intiMaxErrorCount = args[
"max-error-count"].AsInteger();
1692 stringstrMaxErrorLevel = args[
"max-error-level"].AsString();
1693 if( strMaxErrorLevel ==
"info") {
1696 else if( strMaxErrorLevel ==
"error") {
1700 if( iMaxErrorCount == -1 ) {
1706iMaxErrorCount, iMaxErrorLevel, *
this));
1711 m_pErrors->SetProgressOstream( &cerr );
1730 int main(
intargc,
const char* argv[])
1734list<string> split_args;
1735vector<const char*> new_argv;
1737 if(argc==2 && argv && argv[1] && strchr(argv[1],
' '))
1741argc = 1 + split_args.size();
1742new_argv.reserve(argc);
1743new_argv.push_back(argv[0]);
1744 for(
auto& s : split_args) {
1745new_argv.push_back(s.c_str());
1747std::cerr << s.c_str() <<
" ";
1752argv = new_argv.data();
User-defined methods of the data storage class.
User-defined methods of the data storage class.
virtual int ReadStream(CNcbiIstream &is, EFinalize eFinalize=eFinalize_Yes)
Read an AGP file from the given input stream.
This class is used to turn an AGP file into a vector of Seq-entry's.
vector< CRef< objects::CSeq_entry > > TSeqEntryRefVec
This is the way the results will be returned Each Seq-entry contains just one Bioseq,...
TSeqEntryRefVec & GetResult(void)
This gets the results found, but don't call before finalizing.
class CAlnReader supports importing a large variety of text-based alignment formats into standard dat...
void Read(bool guess, bool generate_local_ids=false, objects::ILineErrorListener *pErrorListener=nullptr)
EReadFlags
Read the file This are the main functions.
void SetAlphabet(const string &value)
CRef< objects::CSeq_entry > GetSeqEntry(TFastaFlags fasta_flags=objects::CFastaReader::fAddMods, objects::ILineErrorListener *pErrorListener=nullptr)
CReaderBase implementation that reads BED data files, either a single object or all objects found.
virtual bool ReadTrackData(ILineReader &, CRawBedTrack &, ILineErrorListener *=nullptr)
virtual bool SetAutoSql(const string &)
CRef< CSeq_annot > ReadSeqAnnot(ILineReader &lr, ILineErrorListener *pErrors=nullptr) override
Read a single object from given line reader containing BED data.
Base class for reading FASTA sequences.
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.
static void AddStringFlags(const list< string > &stringFlags, TFlags &baseFlags)
Class implements different ad-hoc unreliable file format identifications.
EFormat
The formats are checked in the same order as declared here.
@ eFiveColFeatureTable
Five-column feature table.
@ eGff2
GFF2, CGff2Reader, any GFF-like that doesn't fit the others.
@ eBed
UCSC BED file format, CBedReader.
@ eGtf
New GTF, CGtfReader.
@ eHgvs
HGVS, CHgvsParser.
@ eAgp
AGP format assembly, AgpRead.
@ eGff3
GFF3, CGff3Reader.
@ eGtf_POISENED
Old and Dead GFF/GTF style annotations.
@ eFasta
FASTA format sequence record, CFastaReader.
@ eUnknown
unknown format
@ eGffAugustus
GFFish output of Augustus Gene Prediction.
@ eRmo
RepeatMasker Output.
@ eUCSCRegion
USCS Region file format.
@ eAlignment
Text alignment.
@ ePsl
PSL alignment format.
@ eBed15
UCSC BED15 or microarray format.
@ eWiggle
UCSC WIGGLE file format.
static EFormat Format(const string &path, EOnError onerror=eDefault)
Guess file format.
void ReadSeqAnnots(TAnnotList &, CNcbiIstream &, ILineErrorListener *=nullptr) override
Read all objects from given insput stream, returning them as a vector of Seq-annots.
shared_ptr< CGff3LocationMerger > GetLocationMerger()
IdMapper implementation using hardcoded values.
IdMapper implementation using an external configuration file.
size_t Count() const override
void StoreError(const ILineError &err)
void StoreMessage(const IObjtoolsMessage &message)
bool Next(const std::string &, string &)
void xProcessGff2(const CArgs &, CNcbiIstream &, CNcbiOstream &)
void xProcessWiggle(const CArgs &, CNcbiIstream &, CNcbiOstream &)
void xDumpErrors(CNcbiOstream &)
unique_ptr< CMessageListenerBase > m_pErrors
void xSetMessageListener(const CArgs &)
void xSetMapper(const CArgs &)
void xWriteObject(const CArgs &, CSerialObject &, CNcbiOstream &)
void xProcessAgp(const CArgs &, CNcbiIstream &, CNcbiOstream &)
bool xProcessBed(const CArgs &, CNcbiIstream &, CNcbiOstream &)
void WriteMessageImmediately(ostream &ostr, const ILineError &line_error_p)
void xProcessAlignment(const CArgs &, CNcbiIstream &, CNcbiOstream &)
void xProcessRmo(const CArgs &, CNcbiIstream &, CNcbiOstream &)
void xProcessDefault(const CArgs &, CNcbiIstream &, CNcbiOstream &)
void xProcessFasta(const CArgs &, CNcbiIstream &, CNcbiOstream &)
void xProcessBedRaw(const CArgs &, CNcbiIstream &, CNcbiOstream &)
void xProcessGtf(const CArgs &, CNcbiIstream &, CNcbiOstream &)
void xProcessGff3(const CArgs &, CNcbiIstream &, CNcbiOstream &)
unique_ptr< CObjtoolsListener > m_pEditErrors
void xProcessUCSCRegion(const CArgs &, CNcbiIstream &, CNcbiOstream &)
void xPostProcessAnnot(const CArgs &, CSeq_annot &, const CGff3LocationMerger *=nullptr)
CFormatGuess::EFormat m_uFormat
int Run() override
Run the application.
void xSetFormat(const CArgs &, CNcbiIstream &)
void Init() override
Initialize the application.
void xSetFlags(const CArgs &, const string &)
bool ShowingProgress() const
unique_ptr< CIdMapper > m_pMapper
bool xProcessSingleFile(const CArgs &, CNcbiIstream &, CNcbiOstream &)
void xProcessNewick(const CArgs &, CNcbiIstream &, CNcbiOstream &)
void xProcessWiggleRaw(const CArgs &, CNcbiIstream &, CNcbiOstream &)
void xProcessGvf(const CArgs &, CNcbiIstream &, CNcbiOstream &)
void xProcess5ColFeatTable(const CArgs &, CNcbiIstream &, CNcbiOstream &)
static AutoPtr< ILineError > sCreateSimpleMessage(EDiagSev eDiagSev, const string &msg)
bool PutMessage(const IObjtoolsMessage &message)
void PutProgress(const string &msg, const Uint8 bytesDone, const Uint8)
This is used for processing progress messages.
CMultiReaderApp & m_multi_reader_app
CMyMessageListenerCustomLevel(int level, CMultiReaderApp &multi_reader_app)
CMyMessageListenerCustom(int iMaxCount, int iMaxLevel, CMultiReaderApp &multi_reader_app)
bool PutMessage(const IObjtoolsMessage &message)
void PutProgress(const string &, const Uint8 bytesDone, const Uint8)
This is used for processing progress messages.
~CMyMessageListenerCustom()
bool PutError(const ILineError &err)
Store error in the container, and return true if error was stored fine, and return false if the calle...
CMultiReaderApp & m_multi_reader_app
void Dump(CNcbiOstream &ostr) const
void Dump(CNcbiOstream &ostr) const
static CRef< CSeq_id > AsSeqId(const string &rawId, long flags=0, bool localInts=true)
Convert a raw ID string to a Seq-id, based in given customization flags.
@ fNumericIdsAsLocal
numeric identifiers are local IDs
@ fAllIdsAsLocal
all identifiers are local IDs
list< CRef< CSeq_annot > > TAnnotList
void SetProgressReportInterval(unsigned int intv)
virtual void ReadSeqAnnots(TAnnots &annots, CNcbiIstream &istr, ILineErrorListener *pErrors=nullptr)
Read all objects from given insput stream, returning them as a vector of Seq-annots.
static CReaderBase * GetReader(CFormatGuess::EFormat format, TReaderFlags flags=0, CReaderListener *=nullptr)
Allocate a CReaderBase derived reader object based on the given file format.
virtual void Write(CNcbiOstream &out) const override
virtual EDiagSev Severity() const
Implements a concrete class for reading RepeatMasker output from tabular form and rendering it as ASN...
CRef< CSeq_annot > ReadSeqAnnot(ILineReader &lr, ILineErrorListener *pMessageListener=0)
Read an object from a given line reader, render it as a single Seq-annot, if possible.
bool IsFtable(void) const
Base class for all serializable objects.
Simple implementation of ILineReader for i(o)streams.
CRef< CSerialObject > ReadObject(ILineReader &lr, ILineErrorListener *pErrors=nullptr) override
Read an object from a given line reader, render it as the most appropriate Genbank object.
virtual bool ReadTrackData(ILineReader &, CRawWiggleTrack &, ILineErrorListener *=nullptr)
Interface for testing cancellation request in a long lasting operation.
virtual void DumpAsXML(CNcbiOstream &out) const
virtual void Dump(CNcbiOstream &out) const
virtual EDiagSev Severity(void) const
@ eProblem_GeneralParsingError
vector< unsigned int > TVecOfLines
virtual EProblem Problem(void) const =0
CRef< objects::CBioTreeContainer > MakeDistanceSensitiveBioTreeContainer(const TPhyTreeNode *tree)
Conversion from TPhyTreeNode to CBioTreeContainer, potentially without dist feature key.
Operators to edit gaps in sequences.
static void cleanup(void)
static void fatal(const char *msg,...)
virtual const CArgs & GetArgs(void) const
Get parsed command line arguments.
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.
virtual void SetupArgDescriptions(CArgDescriptions *arg_desc)
Setup the command line argument descriptions.
const string & GetProgramDisplayName(void) const
Get the application's "display" name.
#define NON_CONST_ITERATE(Type, Var, Cont)
Non constant version of ITERATE macro.
void SetVersion(const CVersionInfo &version)
Set the version number for the program.
@ 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)
@ eDirectory
Name of file directory.
@ fBinary
Open file in binary mode.
EDiagSev
Severity level for the posted diagnostics.
@ eDiag_Info
Informational message.
@ eDiag_Error
Error message.
@ eDiag_Warning
Warning message.
@ eDiag_Fatal
Fatal error â guarantees exit(or abort)
virtual void ReportExtra(ostream &out) const
Report "non-standard" attributes.
#define NCBI_USER_THROW_FMT(message)
Throw a "user exception" with message processed as output to ostream.
const string & GetMsg(void) const
Get message string.
#define NCBI_THROW2(exception_class, err_code, message, extra)
Throw exception with extra parameter.
#define FORMAT(message)
Format message using iostreams library.
static string MakePath(const string &dir=kEmptyStr, const string &base=kEmptyStr, const string &ext=kEmptyStr)
Assemble a path from basic components.
static CRef< ILineReader > New(const string &filename)
Return a new ILineReader object corresponding to the given filename, taking "-" (but not "....
long TFlags
binary OR of EFlags
virtual CRef< CSeq_entry > ReadSeqEntry(ILineReader &lr, ILineErrorListener *pErrors)
Read an object from a given line reader, render it as a single Seq-entry, if possible.
static void AddStringFlags(const list< string > &stringFlags, TFlags &baseFlags)
virtual bool AtEOF(void) const =0
Indicates (negatively) whether there is any more input.
void SetMaxIDLength(Uint4 max_len)
If this is set, an exception will be thrown if a Sequence ID exceeds the given length.
@ fAddMods
Parse defline mods and add to SeqEntry.
@ fNoSplit
Don't split out ambiguous sequence regions.
@ fParseGaps
Make a delta sequence if gaps found.
@ fDisableParseRange
No ranges in seq-ids. Ranges part of seq-id instead.
void Reset(void)
Reset reference object.
uint64_t Uint8
8-byte (64-bit) unsigned integer
IO_PREFIX::ofstream CNcbiOfstream
Portable alias for ofstream.
IO_PREFIX::ostream CNcbiOstream
Portable alias for ostream.
IO_PREFIX::istream CNcbiIstream
Portable alias for istream.
IO_PREFIX::ifstream CNcbiIfstream
Portable alias for ifstream.
static int StringToNonNegativeInt(const CTempString str, TStringToNumFlags flags=0)
Convert string to non-negative integer value.
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 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.
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.
static string TruncateSpaces(const string &str, ETrunc where=eTrunc_Both)
Truncate whitespace in a string.
@ fConvErr_NoThrow
Do not throw an exception on error.
@ fSplit_CanEscape
Allow \... escaping.
@ fSplit_MergeDelimiters
Merge adjacent delimiters.
const TFtable & GetFtable(void) const
Get the variant data.
bool IsFtable(void) const
Check if variant Ftable is selected.
const TData & GetData(void) const
Get the Data member data.
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
Lightweight interface for getting lines of data with minimal memory copying.
string s_AlnErrorToString(const CAlnError &error)
CMultiReaderMessageListener newStyleMessageListener
int main(int argc, const char *argv[])
constexpr bool empty(list< Ts... >) noexcept
#define NCBI_SC_VERSION_PROXY
#define NCBI_TEAMCITY_BUILD_NUMBER_PROXY
Defines the CNcbiApplication and CAppException classes for creating NCBI applications.
Defines command line argument related classes.
The NCBI C++/STL use hints.
TPhyTreeNode * ReadNewickTree(CNcbiIstream &is)
Newick format input.
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)
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