Mercurial > repos > genouest > braker3
changeset 9:bec8f57c9d8e draft
planemo upload for repository https://github.com/genouest/galaxy-tools/tree/master/tools/braker commit 1df3cddb1fd83dc0059b5a9cd57dafa9ae4b4f24
author | genouest |
---|---|
date | Tue, 01 Jul 2025 14:01:14 +0000 |
parents | a9b0b926e133 |
children | 0be6820e3268 |
files | README.rst braker3.xml job_conf_braker3.xml macros.xml |
diffstat | 4 files changed, 32 insertions(+), 65 deletions(-) [+] |
line wrap: on
line diff
--- a/README.rst Thu Jan 16 10:40:43 2025 +0000 +++ b/README.rst Tue Jul 01 14:01:14 2025 +0000 @@ -1,41 +1,40 @@ Braker3 ======= -This tool is not in IUC because of the license issues with GeneMark and -ProtHint that makes it impossible to test it using CI. +This wrapper runs BRAKER3 using the official Docker image: ``teambraker/braker3``. -GeneMark and ProtHint ---------------------- +It does not require any longer a custom installation of GeneMark on the host system, as these are bundled inside the container. + +Docker container +---------------- -Braker requires GeneMark to predict gene, but due to licensing issues, we -are not allowed to distribute GeneMark automatically. +BRAKER3 depends on GeneMark for gene prediction from RNA-Seq and protein evidence. +Due to licensing issues, these tools could not be redistributed directly, but the official BRAKER3 Docker image includes the required versions. + +The wrapper uses this image via the Galaxy `<container type="docker">` mechanism: -Braker also requires ProtHint to use protein sequences as hints to predict -genes, but, again, due to licensing issues, we are not allowed to distribute -ProtHint automatically. +.. code-block:: xml -To use Braker3, the Galaxy administrator needs to install -GeneMark, and set the ``GENEMARK_PATH`` variable on the job destination. + <container type="docker">teambraker/braker3:v3.0.7.6</container> + +2025.07.01: The licensing issue seems to be gone (https://github.com/Gaius-Augustus/BRAKER/issues/629), but using Conda packages is broken at the moment, +and not supported by the authors of Braker (https://github.com/Gaius-Augustus/BRAKER/commit/ece9e0f28ea2634b5abbfd0b7cf0a6be5f1bf8db). -The only working version of GeneMark to install needs to be downloaded from -http://topaz.gatech.edu/GeneMark/etp.for_braker.tar.gz -This archive also contains ProtHint and various other tools in specific versions needed by Braker3. +Running +------- -Unzip it, and set the ``GENEMARK_PATH`` variable to point to the extracted ``bin`` -directory. +To run this tool during development, use Planemo with Docker support enabled: -Also set the ``PROTHINT_PATH`` variable on the job destination, pointing to the extracted -``bin/gmes/ProtHint/bin/`` directory +.. code-block:: bash -Running tests -------------- + planemo serve --docker + planemo test --docker -Tests require working GeneMark and ProtHint installations, which means -both GENEMARK_PATH and PROTHINT_PATH are set in job_conf_braker3.xml. +There is no longer any need to manually set ``GENEMARK_PATH`` or ``PROTHINT_PATH`` via the job configuration. -You should then use the ``--job_config_file job_conf_braker3.xml`` -option for planemo commands. +Testing +------- -You should also copy a valid GeneMark license (from -http://topaz.gatech.edu/GeneMark/license_download.cgi) in -test-data/gm_key_64. \ No newline at end of file +Tests no longer rely on custom environment variables. Docker ensures a reproducible and portable environment for development and execution. + +``job_conf_braker3.xml`` is now obsolete for this wrapper version.
--- a/braker3.xml Thu Jan 16 10:40:43 2025 +0000 +++ b/braker3.xml Tue Jul 01 14:01:14 2025 +0000 @@ -7,22 +7,9 @@ <xref type="bio.tools">braker3</xref> </xrefs> <requirements> - <expand macro="requirements" /> + <expand macro="requirements"/> </requirements> - <version_command><![CDATA[braker.pl --version; $GENEMARK_PATH/gmes/gmes_petap.pl | grep version]]></version_command> - <command><![CDATA[ -if [ -z "\$GENEMARK_PATH" ] ; then echo "GeneMark is not installed on this Galaxy server." >&2 ; exit 1 ; fi && -if [ ! -f "\$GENEMARK_PATH/gmes/gmes_petap.pl" ] ; then echo "GeneMark is not installed properly on this Galaxy server." >&2 ; exit 1 ; fi && - -## This specific GeneMark version has some tools bundled with it, forced to use it. -## I feel dirty. Pardon me. - -export PATH="\$GENEMARK_PATH/../tools/:\$PATH" && - -## Copy Augustus config dir to work dir, to make sure it's writable when running with containers -cp -r "\$AUGUSTUS_CONFIG_PATH/" augustus_dir/ && -export AUGUSTUS_CONFIG_PATH=`pwd`/augustus_dir/ && - + <command detect_errors="exit_code"><![CDATA[ braker.pl --genome '${genome}' $softmasking @@ -87,6 +74,7 @@ --threads \${GALAXY_SLOTS:-2} --useexisting ]]></command> + <inputs> <param argument="--genome" type="data" format="fasta" label="Assembly to annotate" help="The assembly should preferably be soft-masked (with RepeatMasker for example)" /> @@ -200,4 +188,4 @@ .. _Braker3: https://github.com/Gaius-Augustus/BRAKER ]]></help> <expand macro="citations" /> -</tool> +</tool> \ No newline at end of file
--- a/job_conf_braker3.xml Thu Jan 16 10:40:43 2025 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -<!-- Adapt the paths to your install of GeneMark and ProtHint, then run planemo with the job_config_file option --> -<job_conf> - <plugins> - <plugin id="planemo_runner" type="runner" load="galaxy.jobs.runners.local:LocalJobRunner" workers="4"/> - </plugins> - <handlers> - </handlers> - <destinations default="planemo_dest"> - <destination id="planemo_dest" runner="planemo_runner"> - <env id="GENEMARK_PATH">/home/abretaud/softs/etp.for_braker/bin/</env> - <env id="PROTHINT_PATH">/home/abretaud/softs/etp.for_braker/bin/gmes/ProtHint/bin/</env> - </destination> - <destination id="upload_dest" runner="planemo_runner"> - <param id="docker_enabled">false</param> - </destination> - </destinations> - <tools> - <tool id="upload1" destination="upload_dest" /> - </tools> -</job_conf>
--- a/macros.xml Thu Jan 16 10:40:43 2025 +0000 +++ b/macros.xml Tue Jul 01 14:01:14 2025 +0000 @@ -1,10 +1,10 @@ <?xml version="1.0"?> <macros> <token name="@TOOL_VERSION@">3.0.8</token> - <token name="@VERSION_SUFFIX@">0</token> + <token name="@VERSION_SUFFIX@">1</token> <xml name="requirements"> - <requirement type="package" version="@TOOL_VERSION@">braker3</requirement> + <container type="docker">teambraker/braker3:v3.0.7.6</container> </xml> <xml name="citations">