70 virtual void Init(
void);
71 virtual int Run(
void);
72 virtual void Exit(
void);
127 arg_desc->SetUsageContext
129 "C++ speed test program");
136 arg_desc->AddDefaultKey
141 arg_desc->AddDefaultKey
145 arg_desc->SetConstraint
148 arg_desc->AddDefaultKey
153 arg_desc->AddOptionalKey
155 "b Basic, s Serious",
157 arg_desc->SetConstraint
160 arg_desc->AddOptionalKey
162 "f Feature Indexing",
164 arg_desc->SetConstraint
167 arg_desc->AddOptionalKey
169 "s FASTA, S FASTA(no_scope mode), r No Defline, d Defline only, D Defline only(no_scope mode), "
170 "f By Feature, t Translation, v Visit, o Ostream",
172 arg_desc->SetConstraint
173 (
"S", &(*
new CArgAllow_Strings,
"S",
"s",
"r",
"D",
"d",
"f",
"t",
"v",
"o"));
175 arg_desc->AddOptionalKey
177 "v Visit, g Gene Overlap Print, h Gene Overlap Speed, x Xref, o Operon s Suggest",
179 arg_desc->SetConstraint
310 switch (se->
Which()) {
440 list< CConstRef<CSeq_id> > proteins;
444 for ( ; seq_iter; ++seq_iter ) {
452 else if (bs.
IsAa()) {
453 proteins.push_back( bs.
GetSeqId() );
458 list< CConstRef<CSeq_id> >::iterator it = proteins.begin();
459 for ( ; it != proteins.end(); ++it ) {
476 string asntype =
GetArgs()[
"a"].AsString();
478 is->SetStreamPos( 0 );
480 if ( asntype ==
"a" || asntype ==
"m" ) {
488 is->SetStreamPos( 0 );
491 if ( asntype ==
"a" || asntype ==
"e" ) {
497 is->SetStreamPos( 0 );
500 if ( asntype ==
"a" || asntype ==
"b" ) {
508 is->SetStreamPos( 0 );
511 if ( asntype ==
"a" || asntype ==
"s" ) {
534 string tp = args[
"a"].AsString();
536 int mx = args[
"X"].AsInteger();
563 string km = args[
"K"].AsString();
573 string im = args[
"I"].AsString();
580 string sm = args[
"S"].AsString();
615 string fm = args[
"F"].AsString();
639 double lastInterval( 0 );
646 if (!
str.empty ()) {
651 lastInterval =
sw.
Elapsed() - lastInterval;
652 NcbiCout <<
"Read by line time is " << lastInterval <<
" seconds" << endl;
675 lastInterval =
sw.
Elapsed() - lastInterval;
676 NcbiCout <<
"Internal processing time is " << lastInterval <<
" seconds" << endl;
682 lastInterval =
sw.
Elapsed() - lastInterval;
683 NcbiCout <<
"ASN reading time is " << lastInterval <<
" seconds" << endl;
685 for (
ct = 0;
ct < mx;
ct++) {
689 lastInterval =
sw.
Elapsed() - lastInterval;
690 NcbiCout <<
"Internal processing time is " << lastInterval <<
" seconds" << endl;
720 int main(
int argc,
const char* argv[])
User-defined methods of the data storage class.
TChanges BasicCleanup(CSeq_entry &se, Uint4 options=0)
FASTA-format output; see also ReadFasta in <objtools/readers/fasta.hpp>
void GetSeqEntry(CNcbiIstream &, CRef< CSeq_entry > &se)
int DoProcessFeatureSuggest(CNcbiIstream &, CNcbiOstream &, CScope &, CRef< CSeq_entry > &, bool do_format)
virtual void Init(void)
Initialize the application.
virtual int Run(void)
Run the application.
int TestFeatureGeneOverlap(CNcbiIstream &, CNcbiOstream &, CScope &, CBioseq &, bool do_format)
int PlayAroundWithSuggestIntervals(CNcbiIstream &, CNcbiOstream &, CScope &, CRef< CSeq_entry > &)
void DoProcessStreamDefline(CNcbiIstream &ip, CNcbiOstream &op, CRef< CSeq_entry > &se, CScope &i)
void DoProcessStreamFasta(CNcbiIstream &ip, CNcbiOstream &op, CRef< CSeq_entry > &se)
void DumpAlignment(CNcbiOstream &, CRef< CSeq_align > &)
void DoProcess(CNcbiIstream &ip, CNcbiOstream &op, CScope &, CRef< CSeq_entry > &se)
virtual void Exit(void)
Cleanup on application exit.
int DoProcessFeatureGeneOverlap(CNcbiIstream &, CNcbiOstream &, CScope &, CRef< CSeq_entry > &, bool do_format)
spliced protein to genomic alignment
CRef< objects::CSeq_align > FindAlignment(objects::CScope &scope, const objects::CSeq_id &protein, const objects::CSeq_loc &genomic, CProSplignOutputOptions output_options=CProSplignOutputOptions())
Aligns protein to a region on genomic sequence.
namespace ncbi::objects::
Template class for iteration on objects of class C (non-medifiable version)
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.
#define NON_CONST_ITERATE(Type, Var, Cont)
Non constant version of ITERATE macro.
const CNcbiArguments & GetArguments(void) const
Get the application's cached unprocessed command-line arguments.
@ 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 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.
#define MSerial_AsnText
I/O stream manipulators –.
@ eSerial_AsnText
ASN.1 text.
void GetLabel(string *label) const
Appends a label suitable for display (e.g., error messages) label must point to an existing string ob...
static CObjectIStream * Open(ESerialDataFormat format, CNcbiIstream &inStream, bool deleteInStream)
Create serial object reader and attach it to an input stream.
CConstRef< CSeq_feat > GetOverlappingGene(const CSeq_loc &loc, CScope &scope, ETransSplicing eTransSplicing=eTransSplicing_Auto)
virtual void WriteTitle(const CBioseq_Handle &handle, const CSeq_loc *location=0, const string &custom_title=kEmptyStr)
virtual void Write(const CSeq_entry_Handle &handle, const CSeq_loc *location=0)
Unspecified locations designate complete sequences; non-empty custom titles override the usual title ...
static CRef< CObjectManager > GetInstance(void)
Return the existing object manager or create one.
CSeq_entry_Handle AddTopLevelSeqEntry(CSeq_entry &top_entry, TPriority pri=kPriority_Default, EExist action=eExist_Default)
Add seq_entry, default priority is higher than for defaults or loaders Add object to the score with p...
CSeq_entry_Handle GetSeq_entryHandle(CDataLoader *loader, const TBlobId &blob_id, EMissing action=eMissing_Default)
Get Seq-entry handle by its blob-id, with possible loading.
void AddDefaults(TPriority pri=kPriority_Default)
Add default data loaders from object manager.
TClass GetClass(void) const
CConstRef< CSeq_id > GetSeqId(void) const
Get id which can be used to access this bioseq handle Throws an exception if none is available.
TInst_Length GetInst_Length(void) const
CRef< CSeq_loc > GetRangeSeq_loc(TSeqPos start, TSeqPos stop, ENa_strand strand=eNa_strand_unknown) const
Return CSeq_loc referencing the given range and strand on the bioseq If start == 0,...
@ eLevel_Mains
Main bioseq only.
void Reset(void)
Reset reference object.
TObjectType & GetObject(void)
Get object.
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 SIZE_TYPE Find(const CTempString str, const CTempString pattern, ECase use_case=eCase, EDirection direction=eForwardSearch, SIZE_TYPE occurrence=0)
Find the pattern in the string.
static bool Equal(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2, ECase use_case=eCase)
Test for equality of a substring with another string.
double Elapsed(void) const
Return time elapsed since first Start() or last Restart() call (in seconds).
void Start(void)
Start the timer.
const TLocation & GetLocation(void) const
Get the Location member data.
TSet & SetSet(void)
Select the variant.
TAnnot & SetAnnot(void)
Assign a value to Annot data member.
bool IsSetAnnot(void) const
Check if a value has been assigned to Annot data member.
bool IsSetSeq_set(void) const
Check if a value has been assigned to Seq_set data member.
E_Choice Which(void) const
Which variant is currently selected.
list< CRef< CSeq_entry > > TSeq_set
TSeq & SetSeq(void)
Select the variant.
TSeq_set & SetSeq_set(void)
Assign a value to Seq_set data member.
@ eClass_nuc_prot
nuc acid and coded proteins
@ e_not_set
No variant selected.
void SetData(TData &value)
Assign a value to Data data member.
bool IsSetAnnot(void) const
Check if a value has been assigned to Annot data member.
TAnnot & SetAnnot(void)
Assign a value to Annot data member.
bool IsSetData(void) const
Check if a value has been assigned to Data data member.
EMol
molecule class in living organism
list< CRef< CSeq_feat > > TFtable
bool IsFtable(void) const
Check if variant Ftable is selected.
const TData & GetData(void) const
Get the Data member data.
list< CRef< CSeq_annot > > TAnnot
@ eMol_not_set
> cdna = rna
void SetData(TData &value)
Assign a value to Data data member.
Defines the CNcbiApplication and CAppException classes for creating NCBI applications.
Defines command line argument related classes.
Defines unified interface to application:
The NCBI C++/STL use hints.
Defines: CTimeFormat - storage class for time format.
double f(double x_, const double &y_)
int main(int argc, const char *argv[])
string SeqLocString(const CSeq_loc &loc)
static const char * str(char *buf, int n)