-
Notifications
You must be signed in to change notification settings - Fork 791
Expand file tree
/
Copy pathModPipe-2.3.1-foss-2025b-Linux_x86_64.eb
More file actions
97 lines (82 loc) · 3.97 KB
/
Copy pathModPipe-2.3.1-foss-2025b-Linux_x86_64.eb
File metadata and controls
97 lines (82 loc) · 3.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
easyblock = 'PythonPackage'
name = 'ModPipe'
version = '2.3.1'
versionsuffix = '-Linux_x86_64'
_modeller_version = '10.7'
homepage = 'https://salilab.org/modpipe'
description = """
ModPipe is a completely automated software pipeline that can calculate protein structure models for a large number
of sequences with almost no manual intervention. In the simplest case, it takes as input a sequence identifier and
a configuration file and produces one or more comparative models for that sequence.
"""
toolchain = {'name': 'foss', 'version': '2025b'}
source_urls = ['https://salilab.org/modpipe/']
sources = [
SOURCELOWER_TAR_GZ,
{
'source_urls': [f'https://salilab.org/modeller/{_modeller_version}/'],
'filename': f'modeller-{_modeller_version}.tar.gz',
},
]
checksums = [
{'modpipe-2.3.1.tar.gz': 'a006f436305d5f582f9ce461c73f8f02e1eb6fd416705276373697715209a4a6'},
{'modeller-10.7.tar.gz': 'b81ffee26841ef96470341889fa4af560f968cf35ef990d95480c7eb7a5b5c8f'},
]
dependencies = [
('Perl', '5.40.2'),
('Python', '3.13.5'),
('GLib', '2.85.3'),
('BLAST', '2.2.26', versionsuffix, SYSTEM),
('HH-suite', '3.3.0-2025-08-12'),
('PyYAML', '6.0.2'),
]
# Install Modeller-10.7 into the builddir of ModPipe - replace interactive install script
# export MODELLER_LICENSE_KEY=your license key or this will fail
_modeller_exe_version = '10v7'
_modeller_installdir = '%(builddir)s/%(namelower)s-%(version)s/ext/mod'
_modeller_builddir = f'%(builddir)s/modeller-{_modeller_version}'
_cfg = f'{_modeller_installdir}/modlib/modeller/config.py'
_modeller_install_cmds = (
f"mkdir -p {_modeller_installdir}/bin {_modeller_installdir}/lib && "
f"cd {_modeller_builddir} && cp -a README INSTALLATION doc examples modlib src {_modeller_installdir} && "
f"cd {_modeller_builddir}/bin && "
f"cp -a *.top lib mod{_modeller_version}_%(arch)s-intel8 {_modeller_installdir }/bin && "
f"cd {_modeller_builddir}/lib && cp -a %(arch)s-intel8 {_modeller_installdir}/lib && "
f"sed -e 's/EXECUTABLE_TYPE{_modeller_exe_version}=xxx/EXECUTABLE_TYPE{_modeller_exe_version}=%(arch)s-intel8/' "
rf"-e 's|MODINSTALL{_modeller_exe_version}=xxx|MODINSTALL{_modeller_exe_version}=\"{_modeller_installdir}\"|' "
f'{_modeller_builddir}/bin/modscript > {_modeller_installdir}/bin/mod{_modeller_version} && '
rf"sed -e 's|@TOPDIR@|\"{_modeller_installdir}\"|' -e 's/@EXETYPE@/%(arch)s-intel8/' "
f'{_modeller_builddir}/bin/modpy.sh.in > {_modeller_installdir}/bin/modpy.sh && '
f'chmod a+x {_modeller_installdir}/bin/mod{_modeller_version} {_modeller_installdir}/bin/modpy.sh && '
f'printf "%s\\n" "install_dir = \'{_modeller_installdir}\'" >> "{_cfg}" && '
"""printf "%s\\n" "license = __import__('os').getenv('MODELLER_LICENSE_KEY', """
f"""'set MODELLER_LICENSE_KEY with your license key.')" > "{_cfg}" && """
f'cp %(builddir)s/%(namelower)s-%(version)s/ext/guess-arch.sh {_modeller_installdir}/bin/guess-arch.sh && '
"cd %(start_dir)s && "
)
# install by 'python setup.py'
use_pip = False
# the paths in scripts are changed during the python setup.py based on cwd
buildininstalldir = True
skipsteps = ['install']
prebuildopts = _modeller_install_cmds
# fix path of HHPaths.pm from HH-suite
prebuildopts += (
"sed -i 's|lib/hh/scripts/HHPaths.pm|scripts/HHPaths.pm|' %(builddir)s/%(namelower)s-%(version)s/setup.py && "
)
buildcmd = '--with-blast=$EBROOTBLAST/bin --with-hhsuite=$EBROOTHHMINSUITE'
# clean installdir
postinstallcmds = [f"rm -r %(builddir)s/modeller-{_modeller_version}"]
fix_perl_shebang_for = ['*.pl']
fix_python_shebang_for = ['*.py']
sanity_check_paths = {
'files': ['%(namelower)s-%(version)s/bin/%(namelower)s'],
'dirs': ['%(namelower)s-%(version)s/bin', '%(namelower)s-%(version)s/lib'],
}
sanity_check_commands = ['%(namelower)s help']
modextrapaths = {
'PATH': '%(namelower)s-%(version)s/bin',
'PERL5LIB': '%(namelower)s-%(version)s/lib/perl',
'PYTHONPATH': '%(namelower)s-%(version)s/lib/python'
}
moduleclass = 'tools'