;
79 const string& header,
80 constlist<string>& body);
97arg_desc->AddKey(
"i",
"InputFile",
98 "GFF input filename",
101arg_desc->AddOptionalKey(
"dir",
103 "Output Directory. Defaults to CWD",
137 autodirname = args[
"dir"].AsString();
143 CDiroutput_dir(dirname);
144 if(!output_dir.
Exists()) {
145 stringerr_msg = dirname
146+
" does not exist";
167 stringoutput_dir =
".";
172 for(
const auto& key_val : id_map) {
173 stringfilename = output_dir +
"/" 177unique_ptr<CNcbiOfstream> ostr(
new CNcbiOfstream(filename.c_str()));
190id_map[
columns[0]].push_back(line);
200 while( !
lr.AtEOF() ) {
204 if(line.size() > 2 &&
218 const string& header,
219 constlist<string>& body)
222ostr << header <<
"\n";
225 for(
const string& line : body) {
226ostr << line <<
"\n";
237 int main(
intargc,
const char* argv[])
void xProcessFile(CNcbiIstream &istr)
void xProcessLine(const string &line, TIdmap &id_map)
void xReadFile(CNcbiIstream &istr, string &header, TIdmap &id_map)
int Run(void)
Run the application.
void xWriteFile(CNcbiOfstream &ostr, const string &header, const list< string > &body)
void xSetExtension(const string &input_filename)
void Init(void)
Initialize the application.
NCBI_EXCEPTION_DEFAULT(CGffDeconcatException, CException)
virtual const char * GetErrCodeString() const override
Get error code interpreted as text.
Simple implementation of ILineReader for i(o)streams.
Include a standard set of the NCBI C++ Toolkit most basic headers.
static const column_t columns[]
int main(int argc, const char *argv[])
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.
void SetVersion(const CVersionInfo &version)
Set the version number for the program.
@ eInputFile
Name of file (must exist and be readable)
@ eOutputFile
Name of file (must be writable)
@ eDS_ToStderr
To standard error stream.
TErrCode GetErrCode(void) const
Get error code.
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
EErrCode
Error types that an application can generate.
virtual const char * GetErrCodeString(void) const
Get error code interpreted as text.
static string CreateAbsolutePath(const string &path, ERelativeToWhat rtw=eRelativeToCwd)
Get an absolute path from some, possibly relative, path.
static bool IsAbsolutePath(const string &path)
Check if a "path" is absolute for the current OS.
virtual bool Exists(void) const
Check if directory "dirname" exists.
#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::istream CNcbiIstream
Portable alias for istream.
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 double StringToDouble(const CTempStringEx str, TStringToNumFlags flags=0)
Convert string to double.
@ fSplit_MergeDelimiters
Merge adjacent delimiters.
Lightweight interface for getting lines of data with minimal memory copying.
#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.
Defines NCBI C++ exception handling.
Defines classes: CDirEntry, CFile, CDir, CSymLink, CMemoryFile, CFileUtil, CFileLock,...
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