summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorGeorge Hartzell <hartzell@alerce.com>2017-06-01 00:22:24 -0700
committerMassimiliano Culpo <massimiliano.culpo@googlemail.com>2017-06-01 09:22:24 +0200
commit61f640238b10bf6f93af45229718d99f77549c96 (patch)
treebb2721217a8ec5c99f79772c761dd283cf152760 /var
parent2310e9dac0659236beaaf5de70301665df148ac7 (diff)
downloadspack-61f640238b10bf6f93af45229718d99f77549c96.tar.gz
spack-61f640238b10bf6f93af45229718d99f77549c96.tar.bz2
spack-61f640238b10bf6f93af45229718d99f77549c96.tar.xz
spack-61f640238b10bf6f93af45229718d99f77549c96.zip
Add a package for Trimmomatic (#4399)
* Add a package for Trimmomatic See the discussion about installing jar files in #4386. Also installs a wrapper script that has explicit references to the prerequisite java exe and to the jar file in it's final resting place. * Fix bad format statement Apparently something like this "blah{}".format(...) works (it's missing something inside the curly braces) but fails the travis test.
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/trimmomatic/package.py65
-rw-r--r--var/spack/repos/builtin/packages/trimmomatic/trimmomatic.sh3
2 files changed, 68 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/trimmomatic/package.py b/var/spack/repos/builtin/packages/trimmomatic/package.py
new file mode 100644
index 0000000000..1694dbad70
--- /dev/null
+++ b/var/spack/repos/builtin/packages/trimmomatic/package.py
@@ -0,0 +1,65 @@
+##############################################################################
+# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
+# Produced at the Lawrence Livermore National Laboratory.
+#
+# This file is part of Spack.
+# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
+# LLNL-CODE-647188
+#
+# For details, see https://github.com/llnl/spack
+# Please also see the LICENSE file for our notice and the LGPL.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License (as
+# published by the Free Software Foundation) version 2.1, February 1999.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
+# conditions of the GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##############################################################################
+from spack import *
+from distutils.dir_util import copy_tree
+from shutil import copyfile
+import os.path
+
+
+class Trimmomatic(Package):
+ """A flexible read trimming tool for Illumina NGS data."""
+
+ homepage = "http://www.usadellab.org/cms/?page=trimmomatic"
+ url = "http://www.usadellab.org/cms/uploads/supplementary/Trimmomatic/Trimmomatic-0.36.zip"
+
+ # Older version aren't explicitly made available, but the URL
+ # works as we'd like it to, so...
+ version('0.36', '8549130d86b6f0382b1a71a2eb45de39')
+ version('0.33', '924fc8eb38fdff71740a0e05d32d6a2b')
+
+ depends_on('jdk@8:', type='run')
+
+ def install(self, spec, prefix):
+ mkdirp(prefix.bin)
+ jar_file = 'trimmomatic-{v}.jar'.format(v=self.version.dotted)
+ install(jar_file, prefix.bin)
+
+ # Put the adapter files someplace sensible
+ copy_tree('adapters', join_path(self.prefix.share, 'adapters'))
+
+ # Set up a helper script to call java on the jar file,
+ # explicitly codes the path for java and the jar file.
+ script_sh = join_path(os.path.dirname(__file__), "trimmomatic.sh")
+ script = join_path(prefix.bin, "trimmomatic")
+ copyfile(script_sh, script)
+ set_executable(script)
+
+ # Munge the helper script to explicitly point to java and the
+ # jar file.
+ java = join_path(self.spec['jdk'].prefix, 'bin', 'java')
+ kwargs = {'ignore_absent': False, 'backup': False, 'string': False}
+ filter_file('^java', java, script, **kwargs)
+ filter_file('trimmomatic.jar', join_path(prefix.bin, jar_file),
+ script, **kwargs)
diff --git a/var/spack/repos/builtin/packages/trimmomatic/trimmomatic.sh b/var/spack/repos/builtin/packages/trimmomatic/trimmomatic.sh
new file mode 100644
index 0000000000..55068f6a07
--- /dev/null
+++ b/var/spack/repos/builtin/packages/trimmomatic/trimmomatic.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+# convenience wrapper for the trimmomatic.jar file
+java -jar trimmomatic.jar "$@"