Grassroots Infrastructure
The Grassroots Infrastructure is a suite of computing tools to help users and developers use scientific data infrastructure that can easily be interconnected.
|
A class that will run Blast as a drmaa process. More...
#include <drmaa_blast_tool.hpp>
Public Member Functions | |
DrmaaBlastTool (BlastServiceJob *job_p, const char *name_s, const char *factory_s, const BlastServiceData *data_p, const char *blast_program_name_s, const char *queue_name_s, const char *const output_path_s, bool async_flag) | |
Create a DrmaaBlastTool for a given ServiceJob. More... | |
DrmaaBlastTool (BlastServiceJob *job_p, const BlastServiceData *data_p, const json_t *json_p) | |
Create a DrmaaBlastTool for a given ServiceJob using the configuration details from a serialised JSON fragment. More... | |
void | SetDrmaaOptions (DrmaaTool *drmaa_p, bool async_flag) |
Set the Drmaa settings for this DrmaaBlastTool. More... | |
virtual | ~DrmaaBlastTool () |
The DrmaaBlastTool destructor. More... | |
virtual OperationStatus | Run () |
Run this DrmaaBlastTool. More... | |
virtual OperationStatus | GetStatus (bool update_flag=true) |
Get the status of a DrmaaBlastTool. More... | |
void | SetCoresPerSearch (uint32 cores) |
Set the number of cores that this DrmaaBlastTool that will try to use when it runs. More... | |
bool | SetEmailNotifications (const char **email_addresses_ss) |
This sets up notification emails for each Blast job via DRMAA. More... | |
virtual bool | SetUpOutputFile () |
Set the output file parameter. More... | |
Public Member Functions inherited from ExternalBlastTool | |
ExternalBlastTool (BlastServiceJob *job_p, const char *name_s, const char *factory_s, const BlastServiceData *data_p, const char *blast_program_name_s, const bool async_flag) | |
Create a ExternalBlastTool for a given ServiceJob. More... | |
ExternalBlastTool (BlastServiceJob *job_p, const BlastServiceData *data_p, const json_t *json_p) | |
Create a ExternalBlastTool for a given ServiceJob using the configuration details from a serialised JSON fragment. More... | |
virtual | ~ExternalBlastTool () |
The ExternalBlastTool destructor. More... | |
virtual bool | ParseParameters (ParameterSet *param_set_p, BlastAppParameters *app_params_p) |
Parse a ParameterSet to configure a ExternalBlastTool prior to it being ran. More... | |
virtual bool | SetInputFilename (const char *const filename_s) |
Set the input filename for the BlastTool to use. More... | |
virtual char * | GetResults (BlastFormatter *formatter_p) |
Get the results after the ExternalBlastTool has finished running. More... | |
virtual char * | GetLog () |
Get a copy of the log data from the run of this ExternalBlastTool's run. More... | |
Public Member Functions inherited from BlastTool | |
BlastTool (BlastServiceJob *job_p, const char *name_s, const char *factory_s, const BlastServiceData *data_p, const uint32 output_format, const char *custom_output_s) | |
Create a BlastTool for a given ServiceJob. More... | |
BlastTool (BlastServiceJob *job_p, const BlastServiceData *data_p, const json_t *json_p) | |
Create a BlastTool for a given ServiceJob. More... | |
virtual | ~BlastTool () |
The BlastTool destructor,. More... | |
uint32 | GetOutputFormat () const |
Get the output format code that this BlastTool will produce its results in. More... | |
virtual bool | PreRun () |
Any custom functionality required before running a BlastTool. More... | |
virtual void | PostRun () |
Any custom functionality required after running a BlastTool. More... | |
virtual bool | AddErrorDetails () |
const uuid_t & | GetUUID () const |
Get the uuid for the ServiceJob that this BlastTool is linked with. More... | |
const char * | GetName () const |
Get the name asssociated with this BlastTool. More... | |
json_t * | GetAsJSON () |
Get the JSON-based persistent description of this BlastTool. More... | |
const char * | GetFactoryName () const |
Get the name of the BlastToolFactory that created this BlastTool. More... | |
bool | SetCustomOutputColumns (const char *custom_columns_s) |
void | FreeBlastTool (BlastTool *tool_p) |
Free a BlastTool. More... | |
OperationStatus | RunBlast (BlastTool *tool_p) |
Run Blast using the parameters that have been previously using ConvertArguments. More... | |
OperationStatus | GetBlastStatus (BlastTool *tool_p) |
Get the current OperationStatus of a BlastTool. More... | |
bool | IsBlastToolSynchronous (BlastTool *tool_p) |
Is the BlastTool going to run asynchronously? More... | |
Static Public Member Functions | |
static DrmaaBlastTool * | GetFromJSON (const json_t *json_p, const char *name_s, const char *program_name_s, ServiceJob *job_p, BlastServiceData *service_data_p) |
Create a DrmaaBlastTool for a given ServiceJob using the configuration details from a serialised JSON fragment. More... | |
Protected Member Functions | |
virtual ArgsProcessor * | GetArgsProcessor () |
Get the ArgsProcessor that this BlastTool will use to parse the input ParameterSet prior to running its job. More... | |
virtual bool | AddBlastArg (const char *const arg_s, const bool hyphen_flag) |
Add the argument to the command line arguments that this DrmaaBlastTool will run with. More... | |
virtual bool | AddToJSON (json_t *root_p) |
This method is used to serialise this DrmaaBlastTool so that it can be recreated from another calling process when required. More... | |
Protected Member Functions inherited from ExternalBlastTool | |
virtual bool | AddBlastArgsPair (const char *key_s, const char *value_s) |
Add a pair of arguments to the command line arguments that this BlastTool will run with. More... | |
char * | GetJobFilename (const char *const prefix_s, const char *const suffix_s) |
Create the filename to use for a ServiceJob. More... | |
Protected Attributes | |
DrmaaToolArgsProcessor * | dbt_args_processor_p |
The DrmaaToolArgsProcessor that this DrmaaBlastTool will use. More... | |
Protected Attributes inherited from ExternalBlastTool | |
char * | ebt_results_filename_s |
The filename which the Blast results will be written to if the job runs successfully. More... | |
char * | ebt_working_directory_s |
The working directory where all of the input, output and log files will be created. More... | |
char * | ebt_blast_s |
The name of the blast command line executable to use. More... | |
bool | ebt_async_flag |
If this is true , then the ExternalBlastTool will run asynchronously. More... | |
Protected Attributes inherited from BlastTool | |
uint32 | bt_output_format |
The output format code to use. More... | |
char * | bt_custom_output_columns_s |
Any custom columns for tabular output formats. More... | |
Additional Inherited Members | |
Static Public Attributes inherited from ExternalBlastTool | |
static const char *const | EBT_INPUT_SUFFIX_S |
This is the string that will get appended to each input file used by the ExternalBlastTool. More... | |
static const char *const | EBT_ASYNC_S |
This is the string that will get appended to each log file created when an ExternalBlastTool is ran. More... | |
A class that will run Blast as a drmaa process.
DrmaaBlastTool | ( | BlastServiceJob * | job_p, |
const char * | name_s, | ||
const char * | factory_s, | ||
const BlastServiceData * | data_p, | ||
const char * | blast_program_name_s, | ||
const char * | queue_name_s, | ||
const char *const | output_path_s, | ||
bool | async_flag | ||
) |
Create a DrmaaBlastTool for a given ServiceJob.
job_p | The ServiceJob to associate with this DrmaaBlastTool. |
name_s | The name to give to this DrmaaBlastTool. |
factory_s | The name of the DrmaaBlastFactory that is creating this DrmaaBlastTool. |
data_p | The BlastServiceData for the Service that will run this DrmaaBlastTool. |
blast_program_name_s | The name of blast command line executable that this DrmaaBlastTool. will call to run its blast job. |
queue_name_s | The name of the queue that this DrmaaBlastTool will use. |
output_path_s | The folder where all of the Blast output and log files will be written to. |
async_flag | Should the DrmaaBlastTool run in asynchronous mode. |
DrmaaBlastTool | ( | BlastServiceJob * | job_p, |
const BlastServiceData * | data_p, | ||
const json_t * | json_p | ||
) |
Create a DrmaaBlastTool for a given ServiceJob using the configuration details from a serialised JSON fragment.
job_p | The ServiceJob to associate with this DrmaaBlastTool. |
data_p | The BlastServiceData for the Service that will run this DrmaaBlastTool. |
json_p | The JSON fragment to fill in the serialised values such as factory, queue_name, etc. with. |
|
virtual |
The DrmaaBlastTool destructor.
|
static |
Create a DrmaaBlastTool for a given ServiceJob using the configuration details from a serialised JSON fragment.
json_p | The JSON fragment to fill in the serialised values such as factory, queue_name, etc. with. |
name_s | The name to give to the DrmaaBlastTool. |
program_name_s | The path of the BLAST program to run. |
job_p | The ServiceJob to attach to the DrmaaBlastTool. |
service_data_p | The BlastServiceData for the Service that will run this DrmaaBlastTool. |
0
upon error. void SetDrmaaOptions | ( | DrmaaTool * | drmaa_p, |
bool | async_flag | ||
) |
Set the Drmaa settings for this DrmaaBlastTool.
drmaa_p | The DrmaaTool that will be used to rub the Blast job. |
async_flag | If this is true then the call to run the Blast job will return immediately and can be polled for results as required. If this is false then the call to Run will not return until the Blast job has finished running. |
|
virtual |
Run this DrmaaBlastTool.
If this is set to run asynchronously, then the call to run the Blast job will return immediately and can be polled for results as required. If not, then this will not return until the Blast job has finished running.
Implements BlastTool.
|
virtual |
Get the status of a DrmaaBlastTool.
update_flag | if this is true then the DrmaaBlastTool will check the status of its running jobs if necessary, if this is false it will return the last cached value. |
Reimplemented from BlastTool.
void SetCoresPerSearch | ( | uint32 | cores | ) |
Set the number of cores that this DrmaaBlastTool that will try to use when it runs.
cores | The number of cores. |
bool SetEmailNotifications | ( | const char ** | email_addresses_ss | ) |
This sets up notification emails for each Blast job via DRMAA.
email_addresses_ss | A NULL-terminated array of email addresses to send notification emails to |
true
if the notifications were set successfully, false
otherwise.
|
virtual |
Set the output file parameter.
true
if the input filename was set successfully, false
otherwise. Reimplemented from ExternalBlastTool.
|
protectedvirtual |
Get the ArgsProcessor that this BlastTool will use to parse the input ParameterSet prior to running its job.
0
upon error. Implements ExternalBlastTool.
|
protectedvirtual |
Add the argument to the command line arguments that this DrmaaBlastTool will run with.
arg_s | The argument to add. |
hyphen_flag | If this is true then a hyphen will be prefixed the given value e.g. turning "foo" into "-foo" before being added, if this is false then the argument is added unaltered. |
true
if the argument was added successfully, false
otherwise. Reimplemented from ExternalBlastTool.
|
protectedvirtual |
This method is used to serialise this DrmaaBlastTool so that it can be recreated from another calling process when required.
This is used to store the DrmaaBlastTool in the JobsManager.
root_p | The json object to add the serialisation of this DrmaaBlastTool to. |
true
if the DrmaaBlastTool was serialised successfully, false
otherwise. Reimplemented from ExternalBlastTool.
|
protected |
The DrmaaToolArgsProcessor that this DrmaaBlastTool will use.