Skip to content

Commit

Permalink
add busco_download_datasets component (#19)
Browse files Browse the repository at this point in the history
* add script, test, config for downalod busco datasets

* add changelog entry

* fix typos

* update changelog

* rename busco to busco run

* update changelog

* fix names and namespaces

---------

Co-authored-by: Robrecht Cannoodt <[email protected]>
  • Loading branch information
dorien-er and rcannood authored Feb 11, 2024
1 parent 4c50ac9 commit f621655
Show file tree
Hide file tree
Showing 6 changed files with 82 additions and 3 deletions.
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@

* `busco`:
- `busco/busco_run`: Assess genome assembly and annotation completeness with single copy orthologs (PR #6).
- `busco/busco_list_datasets`: Lists available busco datasets (PR #18)
- `busco/busco_list_datasets`: Lists available busco datasets (PR #18).
- `busco/busco_download_datasets`: Download busco datasets (PR #19).

* `featurecounts`: Assign sequence reads to genomic features (PR #11).

Expand Down
45 changes: 45 additions & 0 deletions src/busco/busco_download_datasets/config.vsh.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
functionality:
name: busco_download_datasets
namespace: busco
description: Downloads available busco datasets
info:
keywords: [lineage datasets]
homepage: https://busco.ezlab.org/
documentation: https://busco.ezlab.org/busco_userguide.html
repository: https://gitlab.com/ezlab/busco
reference: "10.1007/978-1-4939-9173-0_14"
licence: MIT
argument_groups:
- name: Inputs
arguments:
- name: --download
type: string
description: |
Download dataset. Possible values are a specific dataset name, "all", "prokaryota", "eukaryota", or "virus".
The full list of available datasets can be viewed [here](https://busco-data.ezlab.org/v5/data/lineages/) or by running the busco/busco_list_datasets component.
required: true
example: stramenopiles_odb10
- name: Outputs
arguments:
- name: --download_path
direction: output
type: file
description: |
Local filepath for storing BUSCO dataset downloads
required: false
default: busco_downloads
example: busco_downloads
resources:
- type: bash_script
path: script.sh
test_resources:
- type: bash_script
path: test.sh
platforms:
- type: docker
image: quay.io/biocontainers/busco:5.6.1--pyhdfd78af_0
setup:
- type: docker
run: |
busco --version | sed 's/BUSCO\s\(.*\)/busco: "\1"/' > /var/software_versions.txt
- type: nextflow
14 changes: 14 additions & 0 deletions src/busco/busco_download_datasets/script.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/bin/bash

## VIASH START
## VIASH END


if [ ! -d "$par_download_path" ]; then
mkdir -p "$par_download_path"
fi

busco \
--download_path "$par_download_path" \
--download "$par_download"

15 changes: 15 additions & 0 deletions src/busco/busco_download_datasets/test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
echo "> Downloading busco stramenopiles_odb10 dataset"

"$meta_executable" \
--download stramenopiles_odb10 \
--download_path downloads

echo ">> Checking output"
[ ! -f "downloads/file_versions.tsv" ] && echo "file_versions.tsv does not exist" && exit 1
[ ! -f "downloads/lineages/stramenopiles_odb10/dataset.cfg" ] && echo "dataset.cfg does not exist" && exit 1

echo ">> Checking if output is empty"
[ ! -s "downloads/file_versions.tsv" ] && echo "file_versions.tsv is empty" && exit 1
[ ! -s "downloads/lineages/stramenopiles_odb10/dataset.cfg" ] && echo "dataset.cfg is empty" && exit 1

rm -r downloads
3 changes: 2 additions & 1 deletion src/busco/busco_list_datasets/config.vsh.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
functionality:
name: busco
name: busco_list_datasets
namespace: busco
description: Lists the available busco datasets
info:
keywords: [lineage datasets]
Expand Down
5 changes: 4 additions & 1 deletion src/busco/busco_run/config.vsh.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
functionality:
name: busco_run
namespace: busco
description: Assessment of genome assembly and annotation completeness with single copy orthologs
info:
keywords: [Genome assembly, quality control]
Expand Down Expand Up @@ -37,7 +38,9 @@ functionality:
Specify a BUSCO lineage dataset that is most closely related to the assembly or gene set being assessed.
The full list of available datasets can be viewed [here](https://busco-data.ezlab.org/v5/data/lineages/) or by running the busco/busco_list_datasets component.
When unsure, the "--auto_lineage" flag can be set to automatically find the optimal lineage path.
Requested datasets will automatically be downloaded if not already present in the download folder.
BUSCO will automatically download the requested dataset if it is not already present in the download folder.
You can optionally provide a path to a local dataset instead of a name, e.g. path/to/dataset.
Datasets can be downloaded using the busco/busco_download_dataset component.
example: stramenopiles_odb10

- name: Outputs
Expand Down

0 comments on commit f621655

Please sign in to comment.