.ign_toks = args[
"c"].AsBoolean();
70 config.ign_prot_src = args[
"j"].AsBoolean();
72 if(args[
"m"].AsInteger() == 1) {
75 else if(args[
"m"].AsInteger() == 2) {
78 else if(args[
"m"].AsInteger() == 3) {
87 config.date = args[
"L"].AsBoolean();
89 config.allow_uwsec = args[
"w"].AsBoolean();
91 config.no_date = args[
"N"].AsBoolean();
92 config.diff_lt = args[
"Y"].AsBoolean();
93 config.xml_comp = args[
"X"].AsBoolean();
94 config.sp_dt_seq_ver = args[
"e"].AsBoolean();
95 config.simple_genes = args[
"G"].AsBoolean();
99 config.sort = !args[
"S"].AsBoolean();
101 config.debug = args[
"D"].AsBoolean();
102 config.accver = args[
"V"].AsBoolean();
103 config.histacc = !args[
"F"].AsBoolean();
105 config.transl = args[
"t"].AsBoolean();
106 config.entrez_fetch = args[
"z"].AsBoolean() ? 1 : 0;
107 config.taxserver = args[
"O"].AsBoolean() ? 0 : 1;
108 config.medserver = args[
"u"].AsBoolean() ? 0 : 1;
109 config.normalize = args[
"normalize"].AsBoolean();
110 config.ign_bad_qs =
false;
111 config.cleanup = args[
"C"].AsInteger();
112 config.allow_crossdb_featloc = args[
"d"].AsBoolean();
113 config.genenull = args[
"U"].AsBoolean();
114 config.qsfile = args[
"q"].AsString().c_str();
116 config.qsfile =
nullptr;
118 config.qamode = args[
"Q"].AsBoolean();
120 if(args[
"y"].AsString() ==
"Bioseq-set")
122 else if(args[
"y"].AsString() ==
"Seq-submit")
125 config.fpo.always_look =
config.fpo.replace_cit = !args[
"h"].AsBoolean();
128 source= args[
"s"].AsString();
130 config.all = args[
"a"].AsBoolean();
143 void Init()
override;
144 int Run()
override;
171 while(fgets(
str, 999, stdin))
172fprintf(fd,
"%s",
str);
180 if(!
config.ffbuf.start) {
194 config.ffbuf.start =
nullptr;
204unique_ptr<Parser> pConfig(
new TConfig());
225std::unique_ptr<ncbi::CArgDescriptions> arg_descrs(
newncbi::CArgDescriptions);
226arg_descrs->Delete(
"h");
232arg_descrs->AddDefaultKey(
"a",
"ParseRegardlessAccessionPrefix",
"Parse all flatfile entries, regardless of accession prefix letter", ncbi::CArgDescriptions::eBoolean,
"F");
233arg_descrs->AddDefaultKey(
"D",
"DebugMode",
"Debug mode, output everything possible", ncbi::CArgDescriptions::eBoolean,
"F");
236arg_descrs->AddAlias(
"format",
"f");
237arg_descrs->SetConstraint(
"f",
240arg_descrs->AddAlias(
"source",
"s");
241arg_descrs->SetConstraint(
"s",
242&(*
new CArgAllow_Strings,
"embl",
"ddbj",
"lanl",
"ncbi",
"sprot",
"flybase",
"refseq",
"uspto"));
244arg_descrs->AddDefaultKey(
"u",
"AvoidMuidLookup",
"Avoid MUID lookup", ncbi::CArgDescriptions::eBoolean,
"F");
247arg_descrs->AddDefaultKey(
"h",
"AvoidReferencesLookup",
"Avoid lookup of references which already have muids", ncbi::CArgDescriptions::eBoolean,
"F");
248arg_descrs->AddDefaultKey(
"r",
"AvoidReferencesReplacement",
"Avoid replacement of references with MedArch server versions", ncbi::CArgDescriptions::eBoolean,
"F");
249arg_descrs->AddDefaultKey(
"t",
"TranslationReplacement",
"Replace original translation with parser generated version", ncbi::CArgDescriptions::eBoolean,
"F");
250arg_descrs->AddDefaultKey(
"O",
"AvoidOrganismLookup",
"Avoid ORGANISM lookup", ncbi::CArgDescriptions::eBoolean,
"F");
251arg_descrs->AddDefaultKey(
"z",
"UsePubseq",
"Connect to PUBSEQ OS to fetch missing bioseqs", ncbi::CArgDescriptions::eBoolean,
"T");
252arg_descrs->AddDefaultKey(
"b",
"BinaryOutput",
"ASN.1 output in binary format", ncbi::CArgDescriptions::eBoolean,
"F");
253arg_descrs->AddDefaultKey(
"v",
"Verbose",
"Display verbose error message on console", ncbi::CArgDescriptions::eBoolean,
"F");
256arg_descrs->AddDefaultKey(
"N",
"NoDates",
"No update date or current date", ncbi::CArgDescriptions::eBoolean,
"F");
257arg_descrs->AddDefaultKey(
"S",
"NoSort",
"Don't sort the entries in flatfile", ncbi::CArgDescriptions::eBoolean,
"F");
258arg_descrs->AddDefaultKey(
"L",
"ReplaceUpdateDate",
"Replace update date from LOCUS line with current date", ncbi::CArgDescriptions::eBoolean,
"F");
259arg_descrs->AddDefaultKey(
"V",
"ParseAccessionVersion",
"Parse with ACCESSION.VERSION identifiers", ncbi::CArgDescriptions::eBoolean,
"T");
260arg_descrs->AddDefaultKey(
"F",
"NoPopulate",
"Do not populate Seq-inst.hist.replaces with secondary accessions", ncbi::CArgDescriptions::eBoolean,
"F");
261arg_descrs->AddDefaultKey(
"c",
"IgnoreMultipleTokens",
"Ignore multiple tokens in DDBJ's VERSION line", ncbi::CArgDescriptions::eBoolean,
"F");
262arg_descrs->AddDefaultKey(
"j",
"NoReject",
"Do not reject records if protein Seq-ids are from sources that differ from that of the \"-s\" argument",
263ncbi::CArgDescriptions::eBoolean,
"F");
266arg_descrs->AddDefaultKey(
"m",
"ParsingMode",
"Parsing mode. Values: 0 - RELEASE, 1 - HTGS, 2 - HTGSCON, 3 - Relaxed (only applies to NCBI source)", ncbi::CArgDescriptions::eInteger,
"0");
267arg_descrs->AddAlias(
"mode",
"m");
269arg_descrs->AddDefaultKey(
"Y",
"AllowsInconsistentPair",
"Allows inconsistent pairs of /gene+/locus_tag quals, when same genes go along with different locus_tags", ncbi::CArgDescriptions::eBoolean,
"F");
270arg_descrs->AddDefaultKey(
"w",
"AllowsUnusualWgsAccessions",
"Allows unusual secondary WGS accessions with prefixes not matching the primary one", ncbi::CArgDescriptions::eBoolean,
"F");
271arg_descrs->AddDefaultKey(
"X",
"CompatibleMode",
"INSDSeq/GenBank/EMBL compatible mode. Please don't use it", ncbi::CArgDescriptions::eBoolean,
"F");
272arg_descrs->AddDefaultKey(
"e",
"SwissprotVersion",
"For SwissProt \"Reviewed\" records only: parse the sequence version number from \"sequence version\" DT line into Seq-id.version slot", ncbi::CArgDescriptions::eBoolean,
"T");
273arg_descrs->AddDefaultKey(
"g",
"AllowsSingleBaseGap",
"For ALL sources: allows single-base \"gap\" features (obsolete)", ncbi::CArgDescriptions::eBoolean,
"T");
274arg_descrs->AddDefaultKey(
"G",
"SimpleGeneLocations",
"Always generate simple gene locations, no joined ones", ncbi::CArgDescriptions::eBoolean,
"F");
277arg_descrs->AddDefaultKey(
"C",
"CleanupMode",
"Cleanup function to use:\n 0,1 - Toolkit's SeriousSeqEntryCleanup;\n 2 - none.\n ", ncbi::CArgDescriptions::eInteger,
"1");
279arg_descrs->AddDefaultKey(
"d",
"AllowsXDb",
"Allow cross-database join locations", ncbi::CArgDescriptions::eBoolean,
"F");
280arg_descrs->AddDefaultKey(
"U",
"UseNull",
"Use NULLs for Gene Features that are not single-interval", ncbi::CArgDescriptions::eBoolean,
"T");
283arg_descrs->AddDefaultKey(
"Q",
"QAMode",
"QA mode: does not populate top level create-date and\n NcbiCleanup user-object", ncbi::CArgDescriptions::eBoolean,
"F");
284arg_descrs->AddDefaultKey(
"y",
"OutputFormat",
"Output format. Possible values: \"Bioseq-set\" and \"Seq-submit\"",
ncbi::CArgDescriptions::eString,
"Bioseq-set");
285arg_descrs->SetConstraint(
"y",
287 "Bioseq-set",
"Seq-submit"));
289SetupArgDescriptions(arg_descrs.release());
314pMessage->Dump(ostr);
322 if(pMessage->GetSeverity() >= minSev) {
323ostr << prefix <<
" ";
324pMessage->Dump(ostr);
337 const auto& args =
GetArgs();
338 const boolhaveLogFile = args[
"logfile"];
341&args[
"logfile"].AsOutputFile() :
347 autopConfig =
x_ParseArgs(args, messageListener);
356args[
"o"].AsOutputFile() :
NcbiCout;
358 auto format= args[
"b"].AsBoolean() ?
366ffparser.
Parse(*pConfig, *pObjOstr);
380 if(messageListener.
Count() > 0) {
381messageListener.
Dump(*pLogStream);
390&args[
"o"].AsOutputFile() :
392 if(args[
"b"].AsBoolean()) {
405 int main(
intargc,
const char* argv[])
unique_ptr< CMemoryFileMap > m_pFileMap
unique_ptr< TConfig > x_ParseArgs(const CArgs &args, IObjtoolsListener &listener)
bool x_OpenFiles(const CArgs &args, TConfig &config, IObjtoolsListener &listener)
bool PutMessage(const IObjtoolsMessage &msg) override
void Dump(CNcbiOstream &ostr) const override
CFlat2AsnListener(const string &prefix, EDiagSev minSev=eDiagSevMin)
~CFlat2AsnListener() override
void Dump(CNcbiOstream &ostr, const string &prefix, EDiagSev minSev) const
CRef< CSerialObject > Parse(Parser &parseInfo)
static bool InitConfig(const CArgs &args, Parser &config)
int main(int argc, const char *argv[])
bool fta_set_format_source(Parser &pp, const std::string &format, const std::string &source)
static const char * str(char *buf, int n)
static string GetAppName(EAppNameType name_type=eBaseName, int argc=0, const char *const *argv=NULL)
@ fHidden
Hide it in Usage.
@ eString
An arbitrary string.
EDiagSev
Severity level for the posted diagnostics.
@ eDiag_Warning
Warning message.
@ eDiag_Fatal
Fatal error â guarantees exit(or abort)
@ eDiagSevMin
Verbosity level for min. severity.
virtual bool Remove(TRemoveFlags flags=eRecursive) const
Remove a directory entry.
static string GetTmpName(ETmpFileCreationMode mode=eTmpFileGetName)
Get temporary file name.
@ eTmpFileCreate
Create empty file for each GetTmpName* call.
#define MSerial_AsnBinary
#define MSerial_AsnText
I/O stream manipulators â.
@ eSerial_AsnText
ASN.1 text.
@ eSerial_AsnBinary
ASN.1 binary.
static CObjectOStream * Open(ESerialDataFormat format, CNcbiOstream &outStream, bool deleteOutStream)
Create serial object writer and attach it to an output stream.
char Char
Alias for char.
IO_PREFIX::ostream CNcbiOstream
Portable alias for ostream.
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
const CharType(& source)[N]
#define NCBI_SC_VERSION_PROXY
#define NCBI_TEAMCITY_BUILD_NUMBER_PROXY
Defines the CNcbiApplication and CAppException classes for creating NCBI applications.
#define GetArgs
Avoid preprocessor name clash with the NCBI C Toolkit.
Defines classes: CDirEntry, CFile, CDir, CSymLink, CMemoryFile, CFileUtil, CFileLock,...
static SLJIT_INLINE sljit_ins msg(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)
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