--- a +++ b/docs/installation.md @@ -0,0 +1,113 @@ +# Installation + +## Install through docker (recommended) + +exSEEK requires a lot of other tools to run. To save efforts for environment setup, you can use our prepared docker image: +To get more information about docker, you can visit the [official site](https://www.docker.com) of docker. + +After installing docker, you can download the image through the following command: + +```bash +docker pull ltbyshi/exseek +``` + +Then you can invoke the main script `exseek` from docker: + +```bash +docker run --rm -it -v $PWD:/workspace -w /workspace ltbyshi/exseek exseek.py "$@" +``` + +This will mount the current directory to `/workspace` as root directory of input and output files. You can also replace `$PWD` with another directory + +Alternatively, you can use use [singularity](https://singularity.lbl.gov/) or [udocker](https://github.com/indigo-dc/udocker) to run the container for Linux kernel < 3 or if you don't have permission to use docker. + +### Install through singularity + +First install singularity according to (https://singularity.lbl.gov/install-linux). + +Then build a singularity image from docker: + +```bash +mkdir -p singularity +singularity build singularity/exseek.simg docker://ltbyshi/exseek +``` + +Finally you need to change the variable `container.image` to the path of the singularity image in the configuration file. + +To run a pipeline through udocker, you can add `--runner singularity option to the `exseek` command. + +### Install through udocker + +First install udocker according to (https://github.com/indigo-dc/udocker/blob/master/doc/installation_manual.md). + +Then download the docker image using udocker: + +```bash +udocker pull ltbyshi/exseek +udocker create --name=exseek ltbyshi/exseek +``` + +Finally you need to change the variable `container.image` to the path of the name of the udocker image in the configuration file. + +To run a pipeline through udocker, you can add `--runner udocker` option to the `exseek` command. + +## Manual installation + +### Install required software + +Before running exSEEK, you need to install the following software. It is recommended to install most of the software through [conda](https://docs.conda.io/en/latest/) +with the [bioconda](https://bioconda.github.io/) channel and [conda-forge](https://conda-forge.org/) channel appended. + +You can refer to the [Dockerfile](../docker/Dockerfile) for commands to install the dependencies. You should also ensure that the executables are added to the `$PATH` environment variable. + + +| Software | Version | Description | +|-----------|---------|--------------| +| Python | 3.6 | Python interpreter | +| R | 3.5.3 | R interpreter | +| Java | | Java runtime support | +| pandas | | Python package for dataframe operations. | +| matplotlib | | Python package for plotting. | +| seaborn | | Python package for high-level plotting. | +| h5py | | Python package for matrix storage. | +| scikit-learn | | Python package for machine learning | +| mlextend | | Python package for extra machine learning algorithms compatible with scikit-learn | +| skrebate | | Python package for feature selection compatible with scikit-learn | +| flask | | Python package for building lightweight web apps | +| jinja2 | | Python package for template rendering | +| umap | | Python package for dimensional reduction using UMAP | +| snakemake | | Python package for pipeline building | +| tqdm | | Python package for progress monitoring | +| bedtools | | Tools for operation of BED files. | +| samtools | | Tools for operation of SAM/BAM files. | +| STAR | | RNA mapping software. | +| bowtie2 | | RNA mapping software. | +| subread | | Read counting (featureCounts) | +| RSEM | | Gene quantification | +| bamtools | | Tools for operation of BAM files. | +| cutadapt | | Versatile tool for adapter trimming. | +| picard | | Tools for operation of SAM/BAM files. | +| gffread | | Tool for conversion between GTF/GFF and other formats. | +| gffcompare | | Tool for merging GTF/GFF files. | +| bedToGenePred | | Convert BED file to GenePred format | +| genePredToGtf | | Convert genePred file to GTF format | +| bedGraphToBigWig | | Convert bedGraph file to BigWig format | +| bigWigToBedGraph | | Convert BigWig file to BedGraph format | +| HT-seq | | Read counting | +| FastX Toolkit | | Tools for operation of FASTQ/FASTA files | +| BioPython | | Python package for reading/writing various file formats used in bioinformatics | +| MultiQC | | Python package for generating graphical reports for quality control results | +| pigz | | Parallel version of gzip | + +### Install exSEEK + +The next command installs exSEEK as a Python package, with a main script named `exseek` added to PATH: +```bash +python setup.py install +``` + +After installation, you can test by running: + +```bash +exseek --help +```