DeBasher
DeBasher
DeBasher is a software package implementing a flow-based programming extension for Bash. In the flow-based programming paradigm, networks of black box processes with well defined data exchange connections are executed. DeBasher is characterized by a strong orientation towards the definition of software components or modules.
DeBasher can be used to execute general programs. However, DeBasher is particularly appropriate for the execution of pipelines, also called workflows. Workflow execution is important in different fields. One particular example would be the field of Bioinformatics.
The DeBasher software package was created and is currently maintained by Daniel Ortiz-Martínez. Daniel is an experienced machine learning researcher and also holds an MSc degree in Bioinformatics.
The package incorporates the following features:
DeBasher has been coded using Bash shell-scripting and Python. DeBasher is known to compile on Unix-like and Windows (using Cygwin) systems. See the "Documentation and Support" section of these instructions if you experience problems during compilation.
It is released under the GNU Lesser General Public License (LGPL).
To install DeBasher, first you need to install the autotools (autoconf, autoconf-archive, automake and libtool packages in Ubuntu). DeBasher requires Bash 4.0 or above as well as Python 3.x to work. If you are planning to use DeBasher on a Windows platform, you also need to install the Cygwin environment. Alternatively, the tool can also be installed on Mac OS X systems using MacPorts. Finally, the Graphviz package is also required so as to generate graphic information about programs.
Assuming Ubuntu is being used, the required packages can be installed as follows:
$ sudo apt install autoconf autoconf-archive automake libtool graphviz
On the other hand, some of the functionality incorporated by DeBasher requires the previous installation of third-party software (see below).
Once the autotools are available (as well as other required software such as Cygwin or MacPorts), you can proceed with the installation of the tool by following the next sequence of steps:
Obtain the package using git:
$ git clone https://github.com/daormar/debasher.git
cd
to the directory containing the package's source code and type
./reconf
.
Type ./configure
to configure the package.
Type make
to compile the package.
Type make install
to install the programs and any data files and
documentation.
You can remove the program binaries and object files from the source
code directory by typing make clean
.
By default the files are installed under the /usr/local
directory (or similar, depending on the OS you use); however, since Step
5 requires root privileges, another directory can be specified during
Step 3 by typing:
$ configure --prefix=<absolute-installation-path>
For example, if user1
wants to install the DeBasher
package in the directory /home/user1/debasher
, the sequence
of commands to execute should be the following:
$ ./reconf
$ configure --prefix=/home/user1/debasher
$ make
$ make install
The installation directory can be the same directory where the DeBasher package was decompressed.
DeBasher can be configured to use Slurm as a workload scheduler. Slurm is particularly indicated to execute large pipelines or to execute pipelines in high performance computing environments.
DeBasher provides support for automated installation of Conda packages. Such packages are organized in environments and (optionally) used within DeBasher software modules.
DeBasher also provides support for Docker containers.
The DeBasher package is under development. Below there is a list of features that will be incorporated in a near future:
Geno-DeBasher: Geno-DeBasher is a bioinformatics software project implementing DeBasher modules related to genome variant calling.
Project documentation is being developed. Such documentation includes:
If you need additional help, you can: