NCBI C++ ToolKit
Private Types | Private Member Functions | Static Private Member Functions | List of all members
CAdapterSearchApplication Class Reference

Search Toolkit Book for CAdapterSearchApplication

+ Inheritance diagram for CAdapterSearchApplication:
+ Collaboration diagram for CAdapterSearchApplication:

Private Types

typedef NAdapterSearch::CSimpleUngappedAligner TAligner
 

Private Member Functions

virtual void Init (void)
 Initialize the application. More...
 
virtual int Run (void)
 Run the application. More...
 
virtual void Exit (void)
 Cleanup on application exit. More...
 
void x_DetectAdapter (const CArgs &args)
 
void x_MaskAdaptersSingle (const CArgs &args)
 
void x_MaskAdaptersPaired (const CArgs &args)
 

Static Private Member Functions

static double s_GetCoverage (const TAligner &aligner, const TAligner::SMatch &match, size_t query_len)
 To boost specificity (avoid false positives), will accept only high-coverage matches, where coverage is computed relative to min(adapter length, distance to query's end), i.e. More...
 
static double s_GetIdentity (const TAligner::SMatch &match, const char *query, size_t query_len, const char *subject, size_t subject_len)
 
static bool s_MaskQuery (const TAligner &aligner, char *query_seq, size_t query_len, double min_coverage, double min_identity)
 

Additional Inherited Members

- Public Types inherited from CNcbiApplicationAPI
enum  EAppNameType { eBaseName , eFullName , eRealName }
 
- Public Member Functions inherited from CNcbiApplication
virtual ~CNcbiApplication (void)
 Destructor. More...
 
 CNcbiApplication (const SBuildInfo &build_info=NCBI_SBUILDINFO_DEFAULT())
 Constructor. More...
 
- Public Member Functions inherited from CNcbiApplicationAPI
 CNcbiApplicationAPI (const SBuildInfo &build_info)
 Constructor. More...
 
virtual ~CNcbiApplicationAPI (void)
 Destructor. More...
 
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. More...
 
virtual int DryRun (void)
 Test run the application. More...
 
const CNcbiArgumentsGetArguments (void) const
 Get the application's cached unprocessed command-line arguments. More...
 
virtual const CArgsGetArgs (void) const
 Get parsed command line arguments. More...
 
const CNcbiEnvironmentGetEnvironment (void) const
 Get the application's cached environment. More...
 
CNcbiEnvironmentSetEnvironment (void)
 Get a non-const copy of the application's cached environment. More...
 
void SetEnvironment (const string &name, const string &value)
 Set a specified environment variable by name. More...
 
bool HasLoadedConfig (void) const
 Check if the config file has been loaded. More...
 
bool FinishedLoadingConfig (void) const
 Check if the application has finished loading config file (successfully or not). More...
 
const CNcbiRegistryGetConfig (void) const
 Get the application's cached configuration parameters (read-only). More...
 
CNcbiRegistryGetConfig (void)
 
const stringGetConfigPath (void) const
 Get the full path to the configuration file (if any) we ended up using. More...
 
bool ReloadConfig (CMetaRegistry::TFlags flags=CMetaRegistry::fReloadIfChanged, IRegistry::TFlags reg_flags=IRegistry::fWithNcbirc)
 Reload the configuration file. More...
 
SIZE_TYPE FlushDiag (CNcbiOstream *os, bool close_diag=false)
 Flush the in-memory diagnostic stream (for "eDS_ToMemory" case only). More...
 
const stringGetProgramDisplayName (void) const
 Get the application's "display" name. More...
 
const stringGetProgramExecutablePath (EFollowLinks follow_links=eIgnoreLinks) const
 Get the application's executable path. More...
 
CVersionInfo GetVersion (void) const
 Get the program version information. More...
 
const CVersionAPIGetFullVersion (void) const
 Get the program version information. More...
 
bool IsDryRun (void) const
 Check if it is a test run. More...
 
virtual bool SetupDiag_AppSpecific (void)
 Setup application specific diagnostic stream. More...
 
template<class TFunc >
void AddOnExitAction (TFunc func)
 Add callback to be executed from CNcbiApplicationAPI destructor. More...
 
- Static Public Member Functions inherited from CNcbiApplication
static CNcbiApplicationInstance (void)
 Singleton method. More...
 
- Static Public Member Functions inherited from CNcbiApplicationAPI
static CNcbiApplicationAPIInstance (void)
 Singleton method. More...
 
static CNcbiApplicationGuard InstanceGuard (void)
 Singleton method. More...
 
static SSystemMutex & GetInstanceMutex (void)
 Mutex for application singleton object. More...
 
static string GetAppName (EAppNameType name_type=eBaseName, int argc=0, const char *const *argv=NULL)
 
- Protected Types inherited from CNcbiApplicationAPI
enum  EPreparseArgs { ePreparse_Continue , ePreparse_Exit }
 Result of PreparseArgs() More...
 
enum  EDisableArgDesc { fDisableStdArgs = 0x01 }
 Disable argument descriptions. More...
 
enum  EHideStdArgs {
  fHideLogfile = CArgDescriptions::fHideLogfile , fHideConffile = CArgDescriptions::fHideConffile , fHideVersion = CArgDescriptions::fHideVersion , fHideFullVersion = CArgDescriptions::fHideFullVersion ,
  fHideDryRun = CArgDescriptions::fHideDryRun , fHideHelp = CArgDescriptions::fHideHelp , fHideFullHelp = CArgDescriptions::fHideFullHelp , fHideXmlHelp = CArgDescriptions::fHideXmlHelp ,
  fHideAll = CArgDescriptions::fHideAll
}
 Which standard flag's descriptions should not be displayed in the usage message. More...
 
enum  EStdioSetup {
  fNoSyncWithStdio = 0x01 , fDefault_CinBufferSize = 0x02 , fBinaryCin = 0x04 , fBinaryCout = 0x08 ,
  fDefault_SyncWithStdio = 0x00
}
 Flags to adjust standard I/O streams' behaviour. More...
 
enum  EExitMode { eNoExits , eExceptionalExits , eAllExits }
 When to return a user-set exit code. More...
 
enum  EAppFlags { fSkipSafeStaticDestroy = 1 << 0 }
 
typedef int TDisableArgDesc
 Binary OR of "EDisableArgDesc". More...
 
typedef int THideStdArgs
 Binary OR of "EHideStdArgs". More...
 
typedef int TStdioSetupFlags
 Binary OR of "EStdioSetup". More...
 
typedef int TAppFlags
 
- Protected Member Functions inherited from CNcbiApplicationAPI
virtual EPreparseArgs PreparseArgs (int argc, const char *const *argv)
 Check the command line arguments before parsing them. More...
 
void DisableArgDescriptions (TDisableArgDesc disable=fDisableStdArgs)
 
void HideStdArgs (THideStdArgs hide_mask)
 Set the hide mask for the Hide Std Flags. More...
 
void SetStdioFlags (TStdioSetupFlags stdio_flags)
 Adjust the behavior of standard I/O streams. More...
 
void SetVersion (const CVersionInfo &version)
 Set the version number for the program. More...
 
void SetVersion (const CVersionInfo &version, const SBuildInfo &build_info)
 
void SetVersionByBuild (int major)
 
void SetFullVersion (CRef< CVersionAPI > version)
 Set version data for the program. More...
 
virtual void SetupArgDescriptions (CArgDescriptions *arg_desc)
 Setup the command line argument descriptions. More...
 
const CArgDescriptionsGetArgDescriptions (void) const
 Get argument descriptions (set by SetupArgDescriptions) More...
 
bool SetupDiag (EAppDiagStream diag)
 Setup the application diagnostic stream. More...
 
virtual bool LoadConfig (CNcbiRegistry &reg, const string *conf, CNcbiRegistry::TFlags reg_flags)
 Load settings from the configuration file to the registry. More...
 
virtual bool LoadConfig (CNcbiRegistry &reg, const string *conf)
 Load settings from the configuration file to the registry. More...
 
CNcbiRegistryGetRWConfig (void)
 Get the application's cached configuration parameters, accessible for read-write for an application's internal use only. More...
 
void SetProgramDisplayName (const string &app_name)
 Set program's display name. More...
 
virtual void AppStart (void)
 Method to be called before application start. More...
 
virtual void AppStop (int exit_code)
 Method to be called before application exit. More...
 
void SetExitCode (int exit_code, EExitMode when=eExceptionalExits)
 Force the program to return a specific exit code later, either when it exits due to an exception or unconditionally. More...
 
void SetAppFlags (TAppFlags flags)
 
void ExecuteOnExitActions ()
 Should only be called from the destructors of classes derived from CNcbiApplicationAPI - if it is necessary to access their data members and virtual methods; or to dynamic_cast<> from the base app class. More...
 
- Static Protected Member Functions inherited from CNcbiApplicationAPI
static CRWLockGetInstanceLock (void)
 
static string FindProgramExecutablePath (int argc, const char *const *argv, string *real_path=0)
 Find the application's executable file. More...
 

Detailed Description

Definition at line 39 of file adapter_search.cpp.

Member Typedef Documentation

◆ TAligner

Definition at line 46 of file adapter_search.cpp.

Member Function Documentation

◆ Exit()

void CAdapterSearchApplication::Exit ( void  )
privatevirtual

Cleanup on application exit.

Perform cleanup before exiting. The default behavior of this is "do nothing". If you have special cleanup logic that needs to be performed, then you must override this method with your own logic.

Reimplemented from CNcbiApplicationAPI.

Definition at line 349 of file adapter_search.cpp.

◆ Init()

void CAdapterSearchApplication::Init ( void  )
privatevirtual

Initialize the application.

The default behavior of this is "do nothing". If you have special initialization logic that needs to be peformed, then you must override this method with your own logic.

Reimplemented from CNcbiApplicationAPI.

Definition at line 79 of file adapter_search.cpp.

References CArgDescriptions::eDouble, CArgDescriptions::eInputFile, CArgDescriptions::eOutputFile, CArgDescriptions::fPreOpen, CNcbiApplicationAPI::GetArguments(), and CNcbiApplicationAPI::SetupArgDescriptions().

◆ Run()

int CAdapterSearchApplication::Run ( void  )
privatevirtual

Run the application.

It is defined as a pure virtual method – so you must(!) supply the Run() method to implement the application-specific logic.

Returns
Exit code.

Implements CNcbiApplicationAPI.

Definition at line 332 of file adapter_search.cpp.

References CNcbiApplicationAPI::GetArgs(), x_DetectAdapter(), x_MaskAdaptersPaired(), and x_MaskAdaptersSingle().

◆ s_GetCoverage()

double CAdapterSearchApplication::s_GetCoverage ( const TAligner aligner,
const TAligner::SMatch match,
size_t  query_len 
)
staticprivate

To boost specificity (avoid false positives), will accept only high-coverage matches, where coverage is computed relative to min(adapter length, distance to query's end), i.e.

3'-partialness is expected and not considered low-coverage

Definition at line 138 of file adapter_search.cpp.

References NAdapterSearch::CSimpleUngappedAligner::GetSeqRange(), match(), min(), and r().

Referenced by s_MaskQuery().

◆ s_GetIdentity()

double CAdapterSearchApplication::s_GetIdentity ( const TAligner::SMatch match,
const char *  query,
size_t  query_len,
const char *  subject,
size_t  subject_len 
)
staticprivate

Definition at line 151 of file adapter_search.cpp.

References i, int, match(), and query.

Referenced by s_MaskQuery().

◆ s_MaskQuery()

bool CAdapterSearchApplication::s_MaskQuery ( const TAligner aligner,
char *  query_seq,
size_t  query_len,
double  min_coverage,
double  min_identity 
)
staticprivate

◆ x_DetectAdapter()

void CAdapterSearchApplication::x_DetectAdapter ( const CArgs args)
private

Definition at line 305 of file adapter_search.cpp.

References CBufferedLineReader::AtEOF().

Referenced by Run().

◆ x_MaskAdaptersPaired()

void CAdapterSearchApplication::x_MaskAdaptersPaired ( const CArgs args)
private

◆ x_MaskAdaptersSingle()

void CAdapterSearchApplication::x_MaskAdaptersSingle ( const CArgs args)
private

The documentation for this class was generated from the following file:
Modified on Thu Mar 28 17:04:21 2024 by modify_doxy.py rev. 669887