;
102 voidOpenInputFile(
const string& filename,
boolbinary);
103 voidOpenOutputFile(
const string& filename,
boolbinary);
104 voidProcessAsnInput(
void);
105 voidProcessSeqSubmit(
void);
106 voidProcessSeqEntry(
void);
107 voidProcessSet(
void);
118unique_ptr<CObjectIStream>
m_In;
162 stringheader = m_In->ReadFileHeader();
164 boolunhandled =
false;
165 if(header ==
"Seq-submit") {
167}
else if(header ==
"Seq-entry") {
169}
else if(header ==
"Bioseq-set") {
204ProcessSeqEntry(*se);
218ProcessSeqEntry(*se);
263 void SetConsensus(
const string& consensus) { m_Consensus = consensus; m_CalculateConsensus =
false; }
274 if(m_CalculateConsensus) {
297 void SetConsensus(
const string& consensus) { m_Consensus = consensus; }
316 virtual void Init(
void);
317 virtual int Run(
void);
321 voidSetup(
const CArgs& args);
340arg_desc->AddKey(
"master",
"MasterRecord",
"File with master record",
342arg_desc->AddOptionalKey(
"contigsindir",
"ContigDirectory",
343 "Directory that contains contig files, defaults to current directory",
345arg_desc->AddOptionalKey(
"contigsinsuffix",
"ContigFileSuffix",
"Suffix for contig flags",
347arg_desc->AddOptionalKey(
"contigsoutdir",
"ContigsOutputDirectory",
348 "Contigs Output Directory, defaults to -p value",
350arg_desc->AddOptionalKey(
"contigsoutsuffix",
"ContigsOutputSuffix",
351 "Suffix for contig output files, defaults to .tls",
355arg_desc->AddOptionalKey(
"masterout",
"MasterRecordOutputFile",
356 "Master Record Output File (defaults to [master].tls)",
358arg_desc->AddFlag(
"b",
"Input is in binary format");
360arg_desc->AddOptionalKey(
"targetedlocusname",
"TargetedLocusName",
361 "Optional value to use for Targeted Locus Name for master and all contigs instead of calculated value",
365 stringprog_description =
"Targeted Locus Name Generator\n";
366arg_desc->SetUsageContext(GetArguments().GetProgramBasename(),
367prog_description,
false);
370SetupArgDescriptions(arg_desc.release());
380 if(args[
"targetedlocusname"]) {
381m_ContigHandler.SetConsensus(args[
"targetedlocusname"].AsString());
386 stringdir_name =
".";
387 if(args[
"contigsindir"]) {
388dir_name = args[
"contigsindir"].AsString();
391 stringsuffix =
".bss";
392 if(args[
"contigsinsuffix"]) {
393suffix = args[
"contigsinsuffix"].AsString();
395suffix = suffix.substr(1, suffix.length() - 2);
398suffix = suffix.substr(1);
402 stringoutdir = dir_name;
403 if(args[
"contigsoutdir"]) {
404outdir = args[
"contigsoutdir"].AsString();
407 stringoutsuffix =
".tls";
408 if(args[
"contigsoutsuffix"]) {
409outsuffix = args[
"contigsoutsuffix"].AsString();
413 string mask=
"*"+ suffix;
419m_ContigHandler.OpenInputFile(fname, args[
"b"]);
420m_ContigHandler.OpenOutputFile(oname, args[
"b"]);
421m_ContigHandler.ProcessAsnInput();
424 const string& consensus = m_ContigHandler.GetConsensus();
427m_MasterHandler.SetConsensus(consensus);
428 const string& master_file = args[
"master"].AsString();
429m_MasterHandler.OpenInputFile(master_file, args[
"b"]);
430m_MasterHandler.OpenOutputFile(args[
"masterout"] ? args[
"masterout"].AsString() : master_file +
".tls", args[
"b"]);
431m_MasterHandler.ProcessAsnInput();
454 int main(
intargc,
const char* argv[])
User-defined methods of the data storage class.
ncbi::TMaskedQueryRegions mask
CTLSMasterHandler m_MasterHandler
CTLSContigHandler m_ContigHandler
void Setup(const CArgs &args)
void SetConsensus(const string &consensus)
virtual ~CTLSContigHandler()
const string & GetConsensus()
bool m_CalculateConsensus
virtual void ProcessBioseq(CBioseq_Handle bh)
virtual void ProcessBioseq(CBioseq_Handle bh)
CRef< CBioseq_set > ReadBioseqSet(void)
unique_ptr< CObjectIStream > m_In
void StreamFile(const string &infile, const string &outfile, bool binary)
void ProcessSeqSubmit(void)
void OpenOutputFile(const string &filename, bool binary)
CRef< CSeq_entry > ReadSeqEntry(void)
void ProcessSeqEntry(void)
unique_ptr< CObjectOStream > m_Out
void ProcessAsnInput(void)
void OpenInputFile(const string &filename, bool binary)
CRef< CObjectManager > m_ObjMgr
CRef< CScope > BuildScope(void)
virtual void ProcessBioseq(CBioseq_Handle bh)
virtual ~CTLSMasterHandler()
void SetConsensus(const string &consensus)
Include a standard set of the NCBI C++ Toolkit most basic headers.
static DLIST_TYPE *DLIST_NAME() first(DLIST_LIST_TYPE *list)
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
@ eInputFile
Name of file (must exist and be readable)
@ eString
An arbitrary string.
@ eOutputFile
Name of file (must be writable)
@ eDirectory
Name of file directory.
@ eDS_Default
Try standard log file (app.name + ".log") in /log/, use stderr on failure.
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
TEntries GetEntries(const string &mask=kEmptyStr, TGetEntriesFlags flags=0) const
Get directory entries based on the specified "mask".
static string MakePath(const string &dir=kEmptyStr, const string &base=kEmptyStr, const string &ext=kEmptyStr)
Assemble a path from basic components.
ESerialDataFormat
Data file format.
@ eSerial_AsnText
ASN.1 text.
@ eSerial_AsnBinary
ASN.1 binary.
pair< TObjectPtr, TTypeInfo > ObjectInfo(C &obj)
static CObjectOStream * Open(ESerialDataFormat format, CNcbiOstream &outStream, bool deleteOutStream)
Create serial object writer and attach it to an output stream.
static CObjectIStream * Open(ESerialDataFormat format, CNcbiIstream &inStream, bool deleteInStream)
Create serial object reader and attach it to an input stream.
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...
void AddDefaults(TPriority pri=kPriority_Default)
Add default data loaders from object manager.
void RemoveTopLevelSeqEntry(const CTSE_Handle &entry)
Revoke TSE previously added using AddTopLevelSeqEntry() or AddBioseq().
static bool EndsWith(const CTempString str, const CTempString end, ECase use_case=eCase)
Check if a string ends with a specified suffix value.
static bool IsBlank(const CTempString str, SIZE_TYPE pos=0)
Check if a string is blank (has no text).
static bool StartsWith(const CTempString str, const CTempString start, ECase use_case=eCase)
Check if a string starts with a specified prefix value.
void Run(void)
Enter the main loop.
LOG LOG_cxx2c(void)
Create LOG on top of C++ Toolkit CNcbiDiag.
void CORE_SetREG(REG rg)
Set the registry (no registry if "rg" is passed zero) â to be used by the core internals.
REG REG_cxx2c(IRWRegistry *reg, bool pass_ownership=false)
Convert a C++ Toolkit registry object to a REG registry.
void CORE_SetLOG(LOG lg)
Set the log handle (no logging if "lg" is passed zero) â to be used by the core internals (CORE LOG).
bool IsSetSeq_set(void) const
Check if a value has been assigned to Seq_set data member.
const TSeq_set & GetSeq_set(void) const
Get the Seq_set member data.
list< CRef< CSeq_entry > > TSeq_set
@ eMol_na
just a nucleic acid
list< CRef< CSeq_entry > > TEntrys
const TEntrys & GetEntrys(void) const
Get the variant data.
const TData & GetData(void) const
Get the Data member data.
bool IsEntrys(void) const
Check if variant Entrys 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
Lightweight interface for getting lines of data with minimal memory copying.
Magic spell ;-) needed for some weird compilers... very empiric.
Defines the CNcbiApplication and CAppException classes for creating NCBI applications.
#define GetArgs
Avoid preprocessor name clash with the NCBI C Toolkit.
Defines command line argument related classes.
Defines unified interface to application:
NCBI C++ stream class wrappers for triggering between "new" and "old" C++ stream libraries.
Useful/utility classes and methods.
void SetTargetedLocusName(CBioseq_Handle seq, const string &tls)
string GetTargetedLocusNameConsensus(const string &tls1, const string &tls2)
string GenerateTargetedLocusName(CBioseq_Handle seq)
int main(int argc, const char *argv[])
CRef< CScope > BuildScope(void)
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