argDescr->
AddKey(
"type",
"type",
"one of: 'text' (unformatted), 'HTML', or 'FASTA'", argDescr->
eString);
58argDescr->
AddFlag(
"fasta_lc",
"whether to show unaligned residues in lowercase in FASTA output");
65argDescr->
AddDefaultKey(
"cons",
"bits",
"conservation threshhold (bit score)", argDescr->
eDouble,
"2.0");
66argDescr->
AddFlag(
"identity",
"show identity, ignoring bit score");
69argDescr->
AddFlag(
"lefttails",
"whether to show left tails");
70argDescr->
AddFlag(
"righttails",
"whether to show right tails");
73argDescr->
AddFlag(
"condensed",
"condensed incompletely aligned columns (text/HTML only)");
76argDescr->
AddFlag(
"no_color_bg",
"don't use colored backgrounds for alignment paragraphs (HTML only)");
79argDescr->
AddFlag(
"ignore_bad_aln",
"ignore invalid pairwise alignments in input data");
95 ERR_POST(
Error<<
"Can't open input file "<< args[
"in"].AsString());
101 static const intbufSize = 65536;
103asnString.resize(bufSize);
104 intnBytes = 0,
n,
i;
105 while(!(asnIfstream->eof() || asnIfstream->fail() || asnIfstream->bad())) {
106asnIfstream->read(
buf, bufSize);
107 n= asnIfstream->gcount();
108 if(nBytes+
n> (
int)asnString.size())
109asnString.resize(asnString.size() + bufSize*4);
110 for(
i=0;
i<
n;
i++) asnString[nBytes +
i] =
buf[
i];
118 if(args[
"type"].AsString() ==
"text")
120 else if(args[
"type"].AsString() ==
"HTML")
122 else if(args[
"type"].AsString() ==
"FASTA")
140 for(
i=5;
i<=90;
i+=5) feats[0].locations[
i/5 - 1] =
i- 1;
142feats[0].
description=
"Long description of Feature 1";
147 for(
i=3;
i<=90;
i+=3) feats[1].locations[
i/3 - 1] =
i- 1;
149feats[1].
description=
"Long description of Feature 2";
162 static_cast<const void*
>(asnString.data()),
165args[
"width"].AsInteger(),
166args[
"cons"].AsDouble(),
167 "Alignment - created from command line",
177 int main(
intargc,
const char* argv[])
int main(int argc, const char *argv[])
C interface header for cddalignview as function call.
#define CAV_NO_PARAG_COLOR
#define CAV_IGNORE_BAD_ALN
int CAV_DisplayMultiple(const void *asnDataBlock, int asnSize, unsigned int options, unsigned int paragraphWidth, double conservationThreshhold, const char *title, int nFeatures, const AlignmentFeature *features)
#define CAV_SHOW_IDENTITY
#define CAV_FASTA_LOWERCASE
void Init(void)
Initialize the application.
int Run(void)
Run the application.
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 CNcbiArguments & GetArguments(void) const
Get the application's cached unprocessed command-line arguments.
void AddFlag(const string &name, const string &comment, CBoolEnum< EFlagValue > set_value=eFlagHasValueIfSet, TFlags flags=0)
Add description for flag argument.
void SetConstraint(const string &name, const CArgAllow *constraint, EConstraintNegate negate=eConstraint)
Set additional user defined constraint on argument value.
void AddKey(const string &name, const string &synopsis, const string &comment, EType type, TFlags flags=0)
Add description for mandatory key.
void SetUsageContext(const string &usage_name, const string &usage_description, bool usage_sort_args=false, SIZE_TYPE usage_width=78)
Set extra info to be used by PrintUsage().
void AddPositional(const string &name, const string &comment, EType type, TFlags flags=0)
Add description for mandatory positional argument.
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.
@ eDouble
Convertible into a floating point number (double)
@ eString
An arbitrary string.
@ eInteger
Convertible into an integer number (int or Int8)
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.
void SetDiagStream(CNcbiOstream *os, bool quick_flush=true, FDiagCleanup cleanup=0, void *cleanup_data=0, const string &stream_name="")
Set diagnostic stream.
@ eDS_Default
Try standard log file (app.name + ".log") in /log/, use stderr on failure.
@ eDiag_Info
Informational message.
void Error(CExceptionArgs_Base &args)
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
IO_PREFIX::ifstream CNcbiIfstream
Portable alias for ifstream.
Defines command line argument related classes.
Defines unified interface to application:
#define GetProgramName
Avoid name clash with the NCBI C Toolkit.
std::istream & in(std::istream &in_, double &x_)
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