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 system process. More...
#include <system_blast_tool.hpp>
Public Member Functions | |
SystemBlastTool (BlastServiceJob *service_job_p, const char *name_s, const char *factory_s, const BlastServiceData *data_p, const char *blast_program_name_s) | |
Create a SystemBlastTool for a given ServiceJob. More... | |
SystemBlastTool (BlastServiceJob *job_p, const BlastServiceData *data_p, const json_t *json_p) | |
Create a SystemBlastTool for a given ServiceJob using the configuration details from a serialised JSON fragment. More... | |
virtual | ~SystemBlastTool () |
The SystemBlastTool destructor. More... | |
virtual bool | ParseParameters (ParameterSet *params_p, BlastAppParameters *app_params_p) |
Parse a ParameterSet to configure a BlastTool prior to it being ran. More... | |
virtual OperationStatus | Run () |
Run this BlastTool. More... | |
virtual OperationStatus | GetStatus (bool update_flag=true) |
Get the status of a BlastTool. 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 | SetInputFilename (const char *const filename_s) |
Set the input filename for the BlastTool to use. More... | |
virtual bool | SetUpOutputFile () |
Set the output file parameter. 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... | |
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... | |
bool | Init (const char *prog_s) |
Initialise the SystemBlastTool prior to it being run. More... | |
bool | SaveCommandLine (const char *command_line_s) |
Protected Member Functions inherited from ExternalBlastTool | |
virtual bool | AddBlastArg (const char *const arg_s, const bool hyphen_flag) |
Add the argument to the command line arguments that this BlastTool will run with. More... | |
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... | |
virtual bool | AddToJSON (json_t *root_p) |
This method is used to serialise this ExternalBlastTool so that it can be recreated from another calling process when required. More... | |
Protected Attributes | |
ByteBufferArgsProcessor * | sbt_args_processor_p |
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 system process.
SystemBlastTool | ( | BlastServiceJob * | service_job_p, |
const char * | name_s, | ||
const char * | factory_s, | ||
const BlastServiceData * | data_p, | ||
const char * | blast_program_name_s | ||
) |
Create a SystemBlastTool for a given ServiceJob.
service_job_p | The ServiceJob to associate with this SystemBlastTool. |
name_s | The name to give to this SystemBlastTool. |
factory_s | The name of the DrmaaBlastFactory that is creating this DrmaaBlastTool. |
data_p | The BlastServiceData for the Service that will run this SystemBlastTool. |
blast_program_name_s | The name of blast command line executable that this SystemBlastTool will call to run its blast job. |
SystemBlastTool | ( | BlastServiceJob * | job_p, |
const BlastServiceData * | data_p, | ||
const json_t * | json_p | ||
) |
Create a SystemBlastTool for a given ServiceJob using the configuration details from a serialised JSON fragment.
job_p | The ServiceJob to associate with this SystemBlastTool. |
data_p | The BlastServiceData for the Service that will run this SystemBlastTool. |
json_p | The JSON fragment to fill in the serialised values such as job name, etc. |
|
virtual |
The SystemBlastTool destructor.
|
virtual |
Parse a ParameterSet to configure a BlastTool prior to it being ran.
params_p | The ParameterSet to parse. |
app_params_p | The BlastAppParameters to use process the values from the given ParameterSet. |
true
if the BlastTool was configured successfully and is ready to be ran, false
otherwise. Reimplemented from ExternalBlastTool.
|
virtual |
Run this BlastTool.
Implements BlastTool.
Reimplemented in AsyncSystemBlastTool, and ThreadedBlastTool.
|
virtual |
Get the status of a BlastTool.
update_flag | if this is true then the BlastTool will check the status of its running jobs if necessary, if this is false it will return the last cached value. |
Reimplemented from BlastTool.
Reimplemented in AsyncSystemBlastTool, and ThreadedBlastTool.
|
protectedvirtual |
Get the ArgsProcessor that this BlastTool will use to parse the input ParameterSet prior to running its job.
0
upon error. Implements ExternalBlastTool.
|
protected |
Initialise the SystemBlastTool prior to it being run.
prog_s | The name of the BLAST program that this SystemBlastTool will run. |
true
if the SystemBlastTool was initialised successfully, false
otherwise.
|
protected |
|
protected |