=
"N/A";
138 bool x_GetOids(
const string& acc, vector<int> & oids);
155 if((
id.find(
'|') !=
NPOS) || (
id.find(
'_') !=
NPOS)) {
168 else if(seqid->
IsPdb()) {
170rv =
tmp.substr(0,4);
171rv +=
tmp.substr(4);
198oids.push_back(gi_oid);
215 unsigned interr_found = 0;
223}
else if(args[
"entry"].
HasValue()) {
224 static const stringkDelim(
",");
225 const string& entry = args[
"entry"].AsString();
227vector<string> queries;
228 if(entry.find(kDelim[0]) != string::npos) {
234 for(
unsigned int i=0;
i< queries.size();
i++) {
235vector<CSeqDB::TOID> oids;
237 for(
unsigned intj=0; j < oids.size(); j++) {
250 if(err_found == queries.size()) {
252 "Entry or entries not found in BLAST database");
255 return(err_found) ? 1:0;
261vector<int> algo_id(1,
id);
263 if( !invalid_algo_ids.empty()) {
282 for(
unsigned int i=0;
i<
tmp.size();
i++) {
283 if(
tmp[
i].find(
'-')!= string::npos) {
306vector<blastdb::TOid> oids;
308 if(oids.size() == 0) {
309 ERR_POST(
Error<<
"No seq found in db for taxonomy list");
312 for(
unsigned i=0;
i< oids.size();
i++) {
333 if( !line.empty() ) {
339unique_ptr<ITaxonomy4Blast> tb;
345 LOG_POST(
Warning<<
"The -taxids command line option requires additional data files. Please see the section 'Taxonomic filtering for BLAST databases' in https://www.ncbi.nlm.nih.gov/books/NBK569839/ for details.");
349 for(
auto id: ids) {
353vector<int> descendants;
354tb->GetLeafNodeTaxids(taxid, descendants);
355 for(
autod: descendants)
380vector<string> ids, formats;
381vector<CSeqDB::TOID> oids;
385 if( !line.empty() ) {
388 if(
id.
empty()) {
392formats.push_back(
format);
397 for(
unsigned int i=0;
i< ids.size();
i++) {
405 if(e.
GetMsg().find(
"DB contains no accession info") ==
NPOS){
409 for(
unsigned i=0;
i< ids.size();
i++) {
437 return(err_found) ? 1 : 0;
450 if( !line.empty() ) {
453 if(
id.
empty()) {
469 for(
unsigned intj=0; j < oids.size(); j++) {
483 return(err_found) ? 1 : 0;
497 if( !line.empty() ) {
500 if(
id.
empty()) {
520 return(err_found) ? 1 : 0;
538 const stringkLetters =
m_DbIsProtein?
"residues":
"bases";
548 if(args[
"exact_length"])
552 out<<
" total "<< kLetters << endl << endl
554<<
"\tLongest sequence: " 556<< kLetters << endl << endl;
560 #if ((!defined(NCBI_COMPILER_WORKSHOP) || (NCBI_COMPILER_VERSION > 550)) && \ 561 (!defined(NCBI_COMPILER_MIPSPRO)) ) 567vector<string> volumes;
569 out<< endl <<
"Volumes:"<< endl;
594vector<string> fields;
596 for(
unsigned int i= 0;
i< fmt.size();
i++) {
597 if(fmt[
i] ==
'%') {
598 if(fmt[
i+1] ==
'%') {
653 "Invalid format options for tax_info.");
658 for(
unsigned int i=0;
i<
m_Fields.size();
i++) {
665 m_Out<<
t.scientific_name;
681 "Invalid format options for tax_info.");
700 const string& kFmt = args[
"outfmt"].AsString();
706 out<<
"# of Tax IDs in Database: "<< tax_ids.
size() << endl;
714 info.scientific_name =
NA;
725vector<blastdb::TOid> rv;
729num_seqs = rv.size();
744 if(args[
"outfmt"].
HasValue()) {
745outfmt = args[
"outfmt"].AsString();
749 if((outfmt.find(
"%f") != string::npos &&
750(outfmt.find(
"%b") != string::npos || outfmt.find(
"%d") != string::npos)) ||
751(outfmt.find(
"%b") != string::npos && outfmt.find(
"%d") != string::npos)) {
753 "The %f, %b, %d output format options cannot be specified together.");
756 if(outfmt.find(
"%b") != string::npos) {
762 if(outfmt.find(
"%f") != string::npos) {
767 if(outfmt.find(
"%d") != string::npos) {
771 if(outfmt.find(
"%m") != string::npos) {
773 size_t i= outfmt.find(
"%m") + 2;
775 while(
i< outfmt.size() && outfmt[
i] >=
'0'&& outfmt[
i] <=
'9') {
776algo_id = algo_id * 10 + (outfmt[
i] -
'0');
777outfmt.erase(
i, 1);
782 "The option '-outfmt %m' is not followed by a masking algo ID.");
787 "Invalid filtering algorithm ID for outfmt %m.");
793 if(args[
"strand"].AsString() ==
"plus") {
795}
else if(args[
"strand"].AsString() ==
"minus") {
799 "Both strands is not supported");
803 if(args[
"mask_sequence_with"].
HasValue()) {
811 "Invalid filtering algorithm ID for mask_sequence_with.");
824 if(args[
"entry"].
HasValue() && args[
"entry"].AsString() ==
"all") {
827 else if(args[
"entry_batch"].
HasValue()) {
838 else if(args[
"ipg_batch"].
HasValue()) {
847 "Must specify query type: one of 'entry', 'entry_batch', or 'pig'");
855 if(args[
"long_seqids"].AsBoolean()) {
861 if(
registry.
Get(
"BLAST",
"LONG_SEQID") ==
"1") {
908arg_desc->SetUsageContext(
GetArguments().GetProgramBasename(),
911arg_desc->SetCurrentGroup(
"BLAST database options");
912arg_desc->AddDefaultKey(
kArgDb,
"dbname",
"BLAST database name",
915arg_desc->AddDefaultKey(
kArgDbType,
"molecule_type",
916 "Molecule type stored in BLAST database",
919 "nucl",
"prot",
"guess"));
921arg_desc->SetCurrentGroup(
"Retrieval options");
922arg_desc->AddOptionalKey(
"entry",
"sequence_identifier",
923 "Comma-delimited search string(s) of sequence identifiers" 924 ":\n\te.g.: 555, AC147927, 'gnl|dbname|tag', or 'all' " 925 "to select all\n\tsequences in the database",
928arg_desc->AddOptionalKey(
"entry_batch",
"input_file",
929 "Input file for batch processing (Format: one entry per line, seq id \n" 930 "followed by optional space-delimited specifier(s) [range|strand|mask_algo_id]",
937arg_desc->AddOptionalKey(
"ipg",
"IPG",
"IPG to retrieve",
945arg_desc->AddOptionalKey(
"ipg_batch",
"input_file",
946 "Input file for batch processing (Format: one entry per line, IPG \n" 947 "followed by optional space-delimited specifier(s) [range|strand|mask_algo_id]",
955arg_desc->AddFlag(
"info",
"Print BLAST database information",
true);
957 const char* exclusions[] = {
"entry",
"entry_batch",
"outfmt",
"strand",
958 "target_only",
"ctrl_a",
"get_dups",
"pig",
"range",
959 "mask_sequence",
"list",
"remove_redundant_dbs",
"recursive",
962 for(
size_t i= 0;
i<
sizeof(exclusions)/
sizeof(*exclusions);
i++) {
964 string(exclusions[
i]));
967arg_desc->AddFlag(
"metadata",
"Generate BLAST database metadata",
true);
969 const char* exclusions_m[] = {
"entry",
"entry_batch",
"outfmt",
"strand",
970 "target_only",
"ctrl_a",
"get_dups",
"pig",
"range",
971 "mask_sequence",
"list",
"remove_redundant_dbs",
"recursive",
974 for(
size_t i= 0;
i<
sizeof(exclusions_m)/
sizeof(*exclusions_m);
i++) {
976 string(exclusions_m[
i]));
979arg_desc->AddOptionalKey(
"metadata_output_prefix",
"",
983arg_desc->AddFlag(
"tax_info",
984 "Print taxonomic information contained in this BLAST database.\n" 985 "Use -outfmt to customize output. Format specifiers supported are:\n" 986 "\t\t%T means taxid\n" 987 "\t\t%L means common taxonomic name\n" 988 "\t\t%S means scientific name\n" 989 "\t\t%K means taxonomic super kingdom\n" 990 "\t\t%B means BLAST name\n" 991 "\t\t%n means num of seqs\n" 992 "By default it prints: '%T %S %L %K %B'\n",
true);
994 const char* tax_info_exclusions[] = {
"info",
"entry",
"entry_batch",
"strand",
995 "target_only",
"ctrl_a",
"get_dups",
"pig",
"range",
996 "mask_sequence",
"list",
"remove_redundant_dbs",
"recursive",
999 for(
size_t i= 0;
i<
sizeof(tax_info_exclusions)/
sizeof(*tax_info_exclusions);
i++) {
1001 string(tax_info_exclusions[
i]));
1004arg_desc->SetCurrentGroup(
"Sequence retrieval configuration options");
1005arg_desc->AddOptionalKey(
"range",
"numbers",
1006 "Range of sequence to extract in 1-based offsets " 1007 "(Format: start-stop, for start to end of sequence use start - )",
1010arg_desc->AddDefaultKey(
"strand",
"strand",
1011 "Strand of nucleotide sequence to extract",
1016arg_desc->AddOptionalKey(
"mask_sequence_with",
"mask_algo_id",
1017 "Produce lower-case masked FASTA using the " 1018 "algorithm ID specified",
1022arg_desc->SetCurrentGroup(
"Taxonomic filtering options");
1037arg_desc->AddFlag(
kArgNoTaxIdExpansion,
"Do not expand the taxonomy IDs provided to their descendant taxonomy IDs ",
true);
1041arg_desc->SetCurrentGroup(
"Output configuration options");
1042arg_desc->AddDefaultKey(
kArgOutput,
"output_file",
"Output file name",
1047arg_desc->AddDefaultKey(
"outfmt",
"format",
1048 "Output format, where the available format specifiers are:\n" 1049 "\t\t%f means sequence in FASTA format\n" 1050 "\t\t%s means sequence data (without defline)\n" 1051 "\t\t%a means accession\n" 1053 "\t\t%o means ordinal id (OID)\n" 1054 "\t\t%i means sequence id\n" 1055 "\t\t%t means sequence title\n" 1056 "\t\t%l means sequence length\n" 1057 "\t\t%h means sequence hash value\n" 1058 "\t\t%T means taxid\n" 1059 "\t\t%X means leaf-node taxids\n" 1060 "\t\t%e means membership integer\n" 1061 "\t\t%L means common taxonomic name\n" 1062 "\t\t%C means common taxonomic names for leaf-node taxids\n" 1063 "\t\t%S means scientific name\n" 1064 "\t\t%N means scientific names for leaf-node taxids\n" 1065 "\t\t%B means BLAST name\n" 1067 "\t\t%n means a list of links integers separated by ';'\n" 1069 "\t\t%K means taxonomic super kingdom\n" 1070 "\t\t%P means PIG\n" 1072 "\t\t%d means defline in text ASN.1 format\n" 1073 "\t\t%b means Bioseq in text ASN.1 format\n" 1075 "\t\t%m means sequence masking data.\n" 1076 "\t\t Masking data will be displayed as a series of 'N-M' values\n" 1077 "\t\t separated by ';' or the word 'none' if none are available.\n" 1079 "\tIf '%f' or '%d' are specified, all other format specifiers are ignored.\n" 1080 "\tFor every format except '%f' and '%d', each line of output will " 1082 "\tIf '%f' is specified, all other format specifiers are ignored.\n" 1083 "\tFor every format except '%f', each line of output will " 1085 "correspond\n\tto a sequence.\n",
1091arg_desc->AddFlag(
"target_only",
1092 "Definition line should contain target entry only",
true);
1097arg_desc->AddFlag(
"get_dups",
"Retrieve duplicate accessions",
true);
1101arg_desc->SetCurrentGroup(
"Output configuration options for FASTA format");
1102arg_desc->AddDefaultKey(
"line_length",
"number",
"Line length for output",
1105arg_desc->SetConstraint(
"line_length",
1108arg_desc->AddFlag(
"ctrl_a",
1109 "Use Ctrl-A as the non-redundant defline separator",
true);
1111 const char* exclusions_discovery[] = {
"entry",
"entry_batch",
"outfmt",
1112 "strand",
"target_only",
"ctrl_a",
"get_dups",
"pig",
"range",
kArgDb.c_str(),
1113 "info",
"mask_sequence",
"line_length"};
1114arg_desc->SetCurrentGroup(
"BLAST database configuration and discovery options");
1115arg_desc->AddFlag(
"show_blastdb_search_path",
1116 "Displays the default BLAST database search paths",
true);
1117arg_desc->AddOptionalKey(
"list",
"directory",
1118 "List BLAST databases in the specified directory",
1120arg_desc->AddFlag(
"remove_redundant_dbs",
1121 "Remove the databases that are referenced by another " 1122 "alias file in the directory in question",
true);
1123arg_desc->AddFlag(
"recursive",
1124 "Recursively traverse the directory structure to list " 1125 "available BLAST databases",
true);
1126arg_desc->AddDefaultKey(
"list_outfmt",
"format",
1127 "Output format for the list option, where the available format specifiers are:\n" 1128 "\t\t%f means the BLAST database absolute file name path\n" 1129 "\t\t%p means the BLAST database molecule type\n" 1130 "\t\t%t means the BLAST database title\n" 1131 "\t\t%d means the date of last update of the BLAST database\n" 1132 "\t\t%l means the number of bases/residues in the BLAST database\n" 1133 "\t\t%n means the number of sequences in the BLAST database\n" 1134 "\t\t%U means the number of bytes used by the BLAST database\n" 1135 "\t\t%v means the BLAST database format version\n" 1136 "\tFor every format each line of output will " 1137 "correspond to a BLAST database.\n",
1139 for(
size_t i= 0;
i<
1140 sizeof(exclusions_discovery)/
sizeof(*exclusions_discovery);
i++) {
1142 string(exclusions_discovery[
i]));
1144 string(exclusions_discovery[
i]));
1146 string(exclusions_discovery[
i]));
1148 string(exclusions_discovery[
i]));
1150 string(exclusions_discovery[
i]));
1159 "remove_redundant_dbs");
1161arg_desc->AddFlag(
"exact_length",
"Get exact length for db info",
true);
1164arg_desc->AddFlag(
"long_seqids",
"Use long seq id for fasta deflines",
true);
1181 if(args[
"show_blastdb_search_path"]) {
1184}
else if(args[
"list"]) {
1185 const string& blastdb_dir = args[
"list"].AsString();
1186 const boolrecurse = args[
"recursive"];
1187 const boolremove_redundant_dbs = args[
"remove_redundant_dbs"];
1191 const string& kOutFmt = args[
"list_outfmt"].AsString();
1192 constvector<SSeqDBInitInfo> dbs =
1194remove_redundant_dbs);
1196 ITERATE(vector<SSeqDBInitInfo>, db, dbs) {
1202 if(args[
"info"]) {
1206 else if(args[
"metadata"]) {
1208 stringoutput_prefix = args[
"metadata_output_prefix"]
1209? args[
"metadata_output_prefix"].AsString()
1216json_out->PreserveKeyNames();
1218json_out->WriteObject(obj_info);
1223 else if(args[
"tax_info"]) {
1247 if(args[
"info"]) {
1250 else if(args[
"tax_info"]) {
1259 else if(args[
"entry"].
HasValue() || args[
"entry_batch"].
HasValue()) {
1261 if(args[
"entry"].
HasValue() && args[
"entry"].AsString() ==
"all") {
1268 if(args[
"outfmt"].
HasValue()) {
1272vector<string> db_list;
1277(*itr).erase(0, off+1);
1284db_name.erase(0, off+1);
1294 #ifndef SKIP_DOXYGEN_PROCESSING 1295 int main(
intargc,
const char* argv[]
)
Declares singleton objects to store the version and reference for the BLAST engine.
#define CATCH_ALL(exit_code)
Standard catch statement for all BLAST command line programs.
Declares the BLAST exception class.
Interface for converting sources of sequence data into blast sequence input.
Auxiliary classes/functions for BLAST input library.
TSeqRange ParseSequenceRangeOpenEnd(const string &range_str, const char *error_prefix=NULL)
Parse and extract a sequence range from argument provided to this function.
static const NStr::TNumToStringFlags kFlags
Definition of an identifier for a sequence in a BLAST database.
Definition of a customizable BLAST DB information formatter interface.
string s_PreProcessAccessionsForDBv5(const string &id)
int main(int argc, const char *argv[])
bool s_IsMaskAlgoIdValid(CSeqDB &blastdb, int id)
Class to constrain the values of an argument to those greater than or equal to the value specified in...
void x_PrintBlastDatabaseInformation()
Prints the BLAST database information (e.g.
void x_InitBlastDB()
Initializes Blast DB.
int x_ProcessBatchEntry(CBlastDB_Formatter &seq_fmt)
Process batch entry with range, strand and filter id.
virtual void Init()
@inheritDoc
void x_PrintBlastDatabaseTaxInformation()
bool m_Asn1Bioseq
output is ASN.1 defline
int x_ProcessBatchEntry_NoDup(CBlastDB_Formatter &fmt)
bool x_GetOids(const string &acc, vector< int > &oids)
bool m_TargetOnly
should we output target sequence only?
virtual int Run()
@inheritDoc
string x_InitSearchRequest()
CBlastDBCmdApp()
@inheritDoc
virtual void Init()
@inheritDoc
bool m_DbIsProtein
Is the database protein.
CRef< CSeqDBExpert > m_BlastDb
Handle to BLAST database.
int x_ProcessSearchRequest()
Processes all requests except printing the BLAST database information.
bool m_FASTA
output is FASTA
int x_ProcessTaxIdList(CBlastDB_Formatter &fmt)
bool m_GetDuplicates
should we find duplicate entries?
int x_ProcessBatchPig(CBlastDB_Formatter &fmt)
int x_ProcessEntry(CBlastDB_Formatter &fmt)
Process entry with range, strand and filter id.
int x_ModifyConfigForBatchEntry(const string &config)
CBlastDB_FormatterConfig m_Config
CBlastUsageReport m_UsageReport
set< TTaxId > m_TaxIdList
void x_InitBlastDB_TaxIdList()
int x_ProcessSearchType(CBlastDB_Formatter &fmt)
virtual int Run()
@inheritDoc
Fasta formatter interface.
virtual int Write(CSeqDB::TOID oid, const CBlastDB_FormatterConfig &config, string target_id=kEmptyStr)=0
virtual void DumpAll(const CBlastDB_FormatterConfig &config)=0
Customizable sequence formatter interface.
Customizable BLAST DB information formatter interface.
void AddParam(EUsageParams p, int val)
Keeps track of the version of the BLAST engine in the NCBI C++ toolkit.
Defines user input exceptions.
Defines invalid user input exceptions.
static CNcbiApplication * Instance(void)
Singleton method.
void PrintEntry(const SSeqDBTaxInfo &t, int num_seqs)
CPrintTaxFields(CNcbiOstream &out, const string &fmt)
vector< string > m_Seperators
void AddTaxIds(const set< TTaxId > &tax_ids)
static bool GetTaxNames(TTaxId tax_id, SSeqDBTaxInfo &info)
Get the taxonomy names for a given tax id.
int TOID
Sequence type accepted and returned for OID indices.
void GetDBTaxIds(set< TTaxId > &tax_ids) const
Get all unique tax ids from db.
static void FindVolumePaths(const string &dbname, ESeqType seqtype, vector< string > &paths, vector< string > *alias_paths=NULL, bool recursive=true, bool expand_links=true)
Find volume paths.
void TaxIdsToOids(set< TTaxId > &tax_ids, vector< blastdb::TOid > &rv) const
Get Oid list for input tax ids.
bool GiToOidwFilterCheck(TGi gi, int &oid) const
Translate a GI To an OID with filter check.
Uint8 GetTotalLength() const
Returns the sum of the lengths of all available sequences.
bool PigToOid(int pig, int &oid) const
Translate a PIG to an OID.
static string GenerateSearchPath()
Returns the default BLAST database search path configured for this local installation of BLAST.
vector< int > ValidateMaskAlgorithms(const vector< int > &algorithm_ids)
Validates the algorithm IDs passed to this function, returning a vector of those algorithm IDs not pr...
const string & GetDBNameList() const
Get list of database names.
string GetAvailableMaskAlgorithmDescriptions()
Returns a formatted string with the list of available masking algorithms in this database for display...
int GetMaxLength() const
Returns the length of the largest sequence in the database.
ESeqType GetSequenceType() const
Returns the type of database opened - protein or nucleotide.
ESeqType
Sequence types (eUnknown tries protein, then nucleotide).
string GetTitle() const
Returns the database title.
int GetNumSeqs() const
Returns the number of sequences available.
CRef< CBlast_db_metadata > GetDBMetaData(string user_path=kEmptyStr)
void AccessionToOids(const string &acc, vector< int > &oids) const
Translate an Accession to a list of OIDs.
string GetDate() const
Returns the construction date of the database.
int GetMaskAlgorithmId(const string &algo_name) const
Get the numeric algorithm ID for a string.
EBlastDbVersion GetBlastDbVersion() const
Return blast db version.
Uint8 GetExactTotalLength()
Returns the exact sum of the lengths of all available sequences.
void AccessionsToOids(const vector< string > &accs, vector< blastdb::TOid > &oids) const
Clas to retrieve taxonomic information for filtering BLASTDBs.
iterator_bool insert(const value_type &val)
const string kArgOutput
Output file name.
const string kArgDbType
BLAST database molecule type.
const string kArgTaxIdListFile
Argument to specify file with taxonomy ids for filtering.
const string kArgNoTaxIdExpansion
Argument to not to resolve TaxId to descendant.
const string kArgDb
BLAST database name.
const string kArgTaxIdList
Argument to specify taxonomy ids for filtering.
void Print(const CCompactSAMApplication::AlignInfo &ai)
std::ofstream out("events_result.xml")
main entry point for tests
void SetFullVersion(CRef< CVersionAPI > version)
Set version data for the program.
void HideStdArgs(THideStdArgs hide_mask)
Set the hide mask for the Hide Std Flags.
const CNcbiRegistry & GetConfig(void) const
Get the application's cached configuration parameters (read-only).
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.
CVersionInfo GetVersion(void) const
Get the program version information.
virtual void SetupArgDescriptions(CArgDescriptions *arg_desc)
Setup the command line argument descriptions.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define NON_CONST_ITERATE(Type, Var, Cont)
Non constant version of ITERATE macro.
SStrictId_Tax::TId TTaxId
Taxon id type.
const CNcbiArguments & GetArguments(void) const
Get the application's cached unprocessed command-line arguments.
@ fHideXmlHelp
Hide XML help description.
@ fHideFullVersion
Hide full version description.
@ fHideDryRun
Hide dryrun description.
@ fHideConffile
Hide configuration file description.
@ eNoOwnership
No ownership is assumed.
@ eRequires
One argument requires another.
@ 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 SetDiagFilter(EDiagFilter what, const char *filter_str)
Set diagnostic filter.
void SetDiagPostPrefix(const char *prefix)
Specify a string to prefix all subsequent error postings with.
EDiagSev SetDiagPostLevel(EDiagSev post_sev=eDiag_Error)
Set the threshold severity for posting the messages.
#define ERR_POST(message)
Error posting with file, line number information but without error codes.
#define LOG_POST(message)
This macro is deprecated and it's strongly recomended to move in all projects (except tests) to macro...
@ eDiag_Warning
Warning message.
@ eDiagFilter_Post
for all non-TRACE, non-FATAL
void Error(CExceptionArgs_Base &args)
#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.
#define NCBI_RETHROW_SAME(prev_exception, message)
Generic macro to re-throw the same exception.
void Warning(CExceptionArgs_Base &args)
static char GetPathSeparator(void)
Get path separator symbol specific for the current platform.
const string AsFastaString(void) const
string GetSeqIdString(bool with_version=false) const
Return seqid string with optional version for text seqid type.
@ fParse_RawText
Try to ID raw non-numeric accessions.
@ 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...
TObjectType * GetPointer(void) THROWS_NONE
Get pointer,.
void Reset(void)
Reset reference object.
bool NotEmpty(void) const THROWS_NONE
Check if CRef is not empty â pointing to an object and has a non-null value.
int64_t Int8
8-byte (64-bit) signed integer
static TThisType GetEmpty(void)
virtual const string & Get(const string §ion, const string &name, TFlags flags=0) const
Get the parameter value.
bool IsEnabled(void)
Indicates whether application usage statistics collection is enabled for a current reporter instance.
CNcbiIstream & NcbiGetlineEOL(CNcbiIstream &is, string &str, string::size_type *count=NULL)
Read from "is" to "str" the next line (taking into account platform specifics of End-of-Line)
IO_PREFIX::ostream CNcbiOstream
Portable alias for ostream.
IO_PREFIX::istream CNcbiIstream
Portable alias for istream.
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.
int TNumToStringFlags
Bitwise OR of "ENumToStringFlags".
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 string IntToString(int value, TNumToStringFlags flags=0, int base=10)
Convert int to string.
static string Join(const TContainer &arr, const CTempString &delim)
Join strings using the specified delimiter.
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 bool EqualNocase(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2)
Case-insensitive equality of a substring with another string.
static string & ToUpper(string &str)
Convert string to upper case â string& version.
static string UInt8ToString(Uint8 value, TNumToStringFlags flags=0, int base=10)
Convert UInt8 to string.
@ fAllowTrailingSpaces
Ignore trailing whitespace characters.
@ fConvErr_NoThrow
Do not throw an exception on error.
@ fAllowLeadingSpaces
Ignore leading whitespace characters in converted string.
@ fSplit_Tokenize
All delimiters are merged and trimmed, to get non-empty tokens only.
@ fSplit_MergeDelimiters
Merge adjacent delimiters.
@ fWithCommas
Use commas as thousands separator.
double Elapsed(void) const
Return time elapsed since first Start() or last Restart() call (in seconds).
void Start(void)
Start the timer.
bool IsPrf(void) const
Check if variant Prf is selected.
bool IsPdb(void) const
Check if variant Pdb is selected.
bool IsPir(void) const
Check if variant Pir is selected.
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
constexpr bool empty(list< Ts... >) noexcept
const string version
version string
Defines the CNcbiApplication and CAppException classes for creating NCBI applications.
Definition of a blastdb formatter interfaces.
CSeqDB::ESeqType ParseMoleculeTypeString(const string &str)
Convert a string to a CSeqDB ESeqType object.
vector< SSeqDBInitInfo > FindBlastDBs(const string &path, const string &dbtype, bool recurse, bool include_alias_files=false, bool remove_redundant_dbs=false)
Find BLAST DBs in the directory specified.
Defines exception class and several constants for SeqDB.
const blastdb::TOid kSeqDBEntryNotFound
Defines `expert' version of CSeqDB interfaces.
Defines database volume access classes.
Configuration object for CBlastDB_Formatter classes.
int m_FmtAlgoId
Filtering algorithm ID for outfmt m.
bool m_UseCtrlA
Determines whether Ctrl-A characters should be used as defline separators.
int m_FiltAlgoId
Filtering algorithm ID to mask the FASTA.
TSeqRange m_SeqRange
The range of the sequence to retrieve, if empty, the entire sequence will be retrived.
objects::ENa_strand m_Strand
All SeqLoc types will have this strand assigned; If set to 'other', the strand will be set to 'unknow...
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