s4pred: add new package (#42520)
This commit is contained in:
parent
a28c6caac0
commit
95e828f3d8
45
var/spack/repos/builtin/packages/s4pred/package.py
Normal file
45
var/spack/repos/builtin/packages/s4pred/package.py
Normal file
@ -0,0 +1,45 @@
|
||||
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
import os
|
||||
|
||||
from spack.package import *
|
||||
|
||||
|
||||
class S4pred(Package):
|
||||
"""A tool for accurate prediction of a protein's secondary structure from only its amino
|
||||
acid sequence with no evolutionary information"""
|
||||
|
||||
homepage = "http://bioinf.cs.ucl.ac.uk/psipred/"
|
||||
url = "https://github.com/psipred/s4pred/archive/refs/tags/v1.2.0.tar.gz"
|
||||
|
||||
license("GPL-3.0-only", checked_by="A-N-Other")
|
||||
|
||||
version("1.2.0", sha256="133d4710cef8c58fa603bdedcd41dbd060d9afc029dd181a5bd43f6539783a89")
|
||||
|
||||
depends_on("python", type="run")
|
||||
|
||||
depends_on("py-torch@1.5.1:", type="run")
|
||||
depends_on("py-biopython@1.78:", type="run")
|
||||
|
||||
resource(
|
||||
name="weights",
|
||||
url="http://bioinfadmin.cs.ucl.ac.uk/downloads/s4pred/weights.tar.gz",
|
||||
sha256="6a91e887c01bac41b11249ae098fe0d43bcb9e3e15c746758a24a3299fe20283",
|
||||
)
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# This package has no setup.py, so...
|
||||
mkdirp(prefix.bin)
|
||||
# unpack resources and correct hardcoded location
|
||||
install_tree("weights", prefix.weights)
|
||||
filter_file("/weights/", "/../weights/", "run_model.py")
|
||||
# add shebang and ensure +x for the main script
|
||||
sed = Executable("sed")
|
||||
sed("-i", rf'1 i\#! {self.spec["python"].command.path}\n', "run_model.py")
|
||||
os.chmod("run_model.py", 0o755)
|
||||
# install files and make convenience symlink
|
||||
install("*.py", prefix.bin)
|
||||
os.symlink(join_path(prefix.bin, "run_model.py"), join_path(prefix.bin, "s4pred"))
|
Loading…
Reference in New Issue
Block a user