Skip to content

Commit

Permalink
Remove docker from PR
Browse files Browse the repository at this point in the history
  • Loading branch information
fgypas committed Dec 19, 2024
1 parent b67cb2b commit 40fa1cb
Show file tree
Hide file tree
Showing 6 changed files with 4 additions and 193 deletions.
35 changes: 1 addition & 34 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -214,37 +214,4 @@ jobs:
run: bash tests/test_htsinfer_with_conda/test.local.sh

- name: Run SRA downloads workflow
run: bash tests/test_sra_download_with_conda/test.local.sh

integration-docker:
needs:
- snakemake-graphs-format
runs-on: ubuntu-20.04
defaults:
run:
shell: bash -l {0}
steps:

- name: Checkout zarp repository
uses: actions/checkout@v4

- name: Setup miniconda & zarp env
uses: conda-incubator/setup-miniconda@v3
with:
python-version: "3.10"
mamba-version: "1"
channels: conda-forge
channel-priority: true
auto-update-conda: false
activate-environment: zarp
environment-file: install/environment.yml
auto-activate-base: false

- name: Update zarp env with dev. packages
run: mamba env update -p $CONDA_PREFIX -f install/environment.dev.yml

- name: Run test script
run: bash tests/test_integration_workflow_with_docker/test.local.sh

- name: Clean up
run: rm -rf data
run: bash tests/test_sra_download_with_conda/test.local.sh
37 changes: 0 additions & 37 deletions Dockerfile

This file was deleted.

4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,11 +75,11 @@ The workflow was built and tested with `miniconda 4.7.12`.
Other versions are not guaranteed to work as expected.

Given that Miniconda has been installed and is available in the current shell the first
dependency for ZARP is the [Mamba][mamba] package manager, which needs to be installed in
dependency for ZARP is the [Mamba][mamba] package manager (version 1), which needs to be installed in
the `base` conda environment with:

```bash
conda install mamba -n base -c conda-forge
conda install mamba=1 -n base -c conda-forge
```

## 3. Dependencies installation
Expand Down
58 changes: 1 addition & 57 deletions docs/guides/usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -162,60 +162,4 @@ snakemake \
However, this call will exit with an error, as not all parameters can be inferred from the example files. The argument `--keep-incomplete` makes sure the `samples_htsinfer.tsv` file can nevertheless be inspected.
After successful execution - if all parameters could be either inferred or were specified by the user - `[OUTDIR]/[SAMPLES_OUT]` should contain a populated table with parameters `seqmode`, `f1_3p`, `f2_3p`, `organism`, `libtype` and `index_size`.
## Execution with Docker
ZARP is optimised for Linux users as all packages are available via Conda or Apptainer (Singularity). For other systems like Mac OS X, they don't work especially due to the current transition from Intel to ARM processors (M series). Nevertheless we built a Docker container that can be used to run ZARP in such environments.
1. Install Docker following the instructions [here](https://docs.docker.com/desktop/install/mac-install/)
2. Pull the Docker image the contains the necessary dependencies
```sh
docker pull zavolab/zarp:1.0.0-rc.1
```
3. Create a directoty (e.g. `data`) and store all the files required for a run:
- The genome sequence fasta file
- The annotation gtf file
- The fastq files of your experiments
- The `rule_config.yaml` for the parameters
- The `samples.tsv` containing the metadata of your samples
- The `config.yaml` file with parameters. Below you can find an example file where you can see that it points to files in the `data` directory.
```yaml
---
# Required fields
samples: "data/samples_docker.tsv"
output_dir: "data/results"
log_dir: "data/logs"
cluster_log_dir: "data/logs/cluster"
kallisto_indexes: "data/results/kallisto_indexes"
salmon_indexes: "data/results/salmon_indexes"
star_indexes: "data/results/star_indexes"
alfa_indexes: "data/results/alfa_indexes"
# Optional fields
rule_config: "data/rule_config.yaml"
report_description: "No description provided by user"
report_logo: "../../images/logo.128px.png"
report_url: "https://zavolan.biozentrum.unibas.ch/"
author_name: "NA"
author_email: "NA"
...
```
4. Execute ZARP as following:
```sh
docker run \
--platform linux/x86_64 \
--mount type=bind,source=$PWD/data,target=/data \
zavolab/zarp:1.0.0-rc.1 \
snakemake \
-p \
--snakefile /workflow/Snakefile \
--configfile data/config.yaml \
--cores 4 \
--use-conda \
--verbose
```
The command runs the Docker container `zavolab/zarp:1.0.0-rc.1` that we have pulled. It executes it as it would be done on a Linux platform `--platform linux/x86_64`. We use the `--mount` option to bind the local `data` directory that contains the input files with the `data` directory in the container. The pipeline is stored in the container in the path `/workflow/Snakefile`. Once ZARP is complete, the results will be stored in the `data/results` directory.
After successful execution - if all parameters could be either inferred or were specified by the user - `[OUTDIR]/[SAMPLES_OUT]` should contain a populated table with parameters `seqmode`, `f1_3p`, `f2_3p`, `organism`, `libtype` and `index_size`.
18 changes: 0 additions & 18 deletions tests/input_files/config_docker.yaml

This file was deleted.

45 changes: 0 additions & 45 deletions tests/test_integration_workflow_with_docker/test.local.sh

This file was deleted.

0 comments on commit 40fa1cb

Please sign in to comment.