From cf017baa8d9a7121731f13dd900a4929f32534c6 Mon Sep 17 00:00:00 2001 From: snehring Date: Sat, 5 Aug 2017 12:39:44 -0500 Subject: [PATCH] chlorop: new package (#4865) * chlorop: new package * chlorop: moving main script to bin and moving runtime tmp location. * chlorop: fixing flake8 error. * chlorop: cleaning up, removing CHLOROTMP, advising user to set it. * chlorop: removing unused import --- .../builtin/packages/chlorop/chlorop.patch | 36 +++++++++++++ .../repos/builtin/packages/chlorop/package.py | 53 +++++++++++++++++++ 2 files changed, 89 insertions(+) create mode 100644 var/spack/repos/builtin/packages/chlorop/chlorop.patch create mode 100644 var/spack/repos/builtin/packages/chlorop/package.py diff --git a/var/spack/repos/builtin/packages/chlorop/chlorop.patch b/var/spack/repos/builtin/packages/chlorop/chlorop.patch new file mode 100644 index 0000000000..6d49dc53d0 --- /dev/null +++ b/var/spack/repos/builtin/packages/chlorop/chlorop.patch @@ -0,0 +1,36 @@ +--- a/chlorop 2006-03-20 06:24:22.000000000 -0600 ++++ b/chlorop 2017-07-24 10:51:27.000366706 -0500 +@@ -9,8 +9,6 @@ + STARTDIR=`pwd` + + ### GENERAL SETTINGS, CUSTOMIZE +++++++++++++++++++++++++++++++++++++++++++++++ +-# Substitute your chosen location for ChloroP software: +-CHLOROP=/usr/cbs/packages/chlorop/currdist/chlorop-1.1 + + # Substitute paste: + PASTE=paste +@@ -43,7 +41,7 @@ + # other settings: + #CHLOROTMPNAME=res`date '+%y%m%d%H%M%S'`.$$ + CHLOROTMPNAME=res.$$ +-CHLOROTMP=tmp/$CHLOROTMPNAME ++CHLOROTMP=$CHLOROTMP/$CHLOROTMPNAME + SCRIPTS=bin + SYN=syn + ETC=etc +@@ -80,12 +78,12 @@ + ### get the infile ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + INFILE=$* + +-mkdir $CHLOROP/$CHLOROTMP || { echo Cannot create temporary directory; exit 1; } ++mkdir -p $CHLOROTMP || { echo Cannot create temporary directory; exit 1; } + + ### prepare input file in HOW and fasta format ++++++++++++++++++++++++++++++++ + $AWK -f $CHLOROP/$SCRIPTS/in2how+fasta.awk -v informat=$INFORMAT \ +- -v howout=$CHLOROP/$CHLOROTMP/infile.how \ +- -v fastaout=$CHLOROP/$CHLOROTMP/infile.fasta $INFILE ++ -v howout=$CHLOROTMP/infile.how \ ++ -v fastaout=$CHLOROTMP/infile.fasta $INFILE + INFILE=$CHLOROTMP/infile.how + + ### change to working directory +++++++++++++++++++++++++++++++++++++++++++++++ diff --git a/var/spack/repos/builtin/packages/chlorop/package.py b/var/spack/repos/builtin/packages/chlorop/package.py new file mode 100644 index 0000000000..bd5ceda4f7 --- /dev/null +++ b/var/spack/repos/builtin/packages/chlorop/package.py @@ -0,0 +1,53 @@ +############################################################################## +# 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 NOTICE and LICENSE files 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 * +import distutils.dir_util +import os + + +class Chlorop(Package): + """Chlorop predicts the presence of chloroplast transit peptides + in protein sequences and the location of potential cTP cleavage + sites. You will need to obtain the tarball by visiting the + URL and completing the form. You can then either run spack + install with the tarball in the directory, or add it to a + mirror. You will need to set the CHLOROTMP environment variable + to the full path of the directory you want chlorop to use as + a temporary directory.""" + + homepage = "http://www.cbs.dtu.dk/services/ChloroP/" + url = "file://{0}/chlorop-1.1.Linux.tar.gz".format(os.getcwd()) + + version('1.1', 'eb0ba6b28dfa735163ad5fc70e30139e46e33f6ae27f87666a7167a4ac5f71d9') + + depends_on('awk', type='run') + patch('chlorop.patch') + + def install(self, spec, prefix): + os.rename('chlorop', 'bin/chlorop') + distutils.dir_util.copy_tree(".", prefix) + + def setup_environment(self, spack_env, run_env): + run_env.set('CHLOROP', self.prefix)