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">