Tool configuration files
All of the pipelines in gkno are constructed from sets of tools. Each of the tools has to be described using a json configuration file. This file contains all information necessary for gkno to completely understand how the tool operates. This page lists all of the attributes that are used to describe a tool. Some of these attributes are simple key / value pairs, but some are more detailed. Some of the more detailed attributes have individual pages dedicated to describing them.
Required attributes
All of the arguments accepted by the tool need to be described to gkno in this section. The format of the arguments section is described here.
argument order
Some tool require that the arguments are supplied on the command line in a specific order. If this is the case, the argument order is used to define the order. If used, this list has to be exhaustive, i.e. all of the arguments that are described in arguments must be included in this list, otherwise gkno will throw an error when any pipeline using the tool is executed.
  • "argument order" : ["ARG1", "ARG2", ..., "ARGN"]
configuration type
gkno recognises two types of configuration files; tool and pipeline. The contents of these two files are different and are subject to different checks by gkno and so the type needs to be specified as tool for all tool configuration files.
  • "configuration type" : "tool"
The id is a unique string used to describe the tool. This is usually just the name of the tool.
  • "id" : "NAME"
A simple description of the tool. When the tool is incorporated into a pipeline, this description will appear in the pipeline help message when describing the pipeline workflow.
  • "description" : "DESCRIPTION"
This is the name of the executable file to run the tool.
  • "executable" : "EXECUTABLE FILE"
The executable command for some tools includes additional information after the name of the executable file. For example, bamtools has a number of different modes of operation; for example bamtools index or bamtools sort. In these cases, the mode (index or sort) would be specified in the configuration file as a modifier.
  • "modifier" : "MODIFIER"
parameter sets
There are a number of help pages describing the role of parameter sets on the how-to page. In particular, the description of the parameter sets as included in the configuration file is described here.
When gkno runs pipelines, it needs to access all of the tool executables. This attribute provides the path to the executable. This path is relative to the gkno installation directory "tools".
  • "path" : "PATH TO EXECUTABLE"
The precommand provides similar functionality to the modifier command except that its value is included prior to the executable rather than after it. This is often used for tools that use java or python that require inclusion of text (e.g. java -jar or python) before the executable file.
  • "precommand" : "PRECOMMAND"
R packages
Some tools use R scripts to perform analyses or generate plots. Prior to executing a pipeline, gkno will check that all R packages that are required are available in the version of R available to it and provide warnings and installation instructions if the packages don't exist. This attribute specifies a list of the packages required by this tool so that the checks can be performed.
  • "R packages" : ["PACKAGE NAME, e.g. ggplot2"]
When gkno is built, a list of compiled tools is stored by gkno so that it knows what tools are available to it. This attribute defines a list of tools that need to be successfully compiled in order for this tool to be run. This is useful for tools whose execution is dependent on a number of tools having been successfully compiled.
  • "tools" : ["TOOL"]
web page
The software page of this website contains information on different tools that are available in gkno. The details on this page are pulled from a json file that is constructed using information from the tool and pipeline configuration files. The web page attribute is used to define the details that will appear on the web page. The format of the attribute is as follows:
  • "web page" : {
  •   "authors" : ["AUTHOR 1", "AUTHOR2"],
  •   "citations" : ["CITATION 1", "CITATION2"],
  •   "emails" : ["EMAIL1", "EMAIL2"],
  •   "papers" : ["PAPER"],
  •   "tool" : "TOOL NAME",
  •   "web_pages" : ["WEBPAGE URL"]
  • }
The tool attribute is required and is the title used for the tool on the software page. The remaining attributes are all optional lists (enclosed in square brackets) and can contain as many values as desired.