Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

{bio}[foss/2020b] PPanGGOLiN v1.1.136 + dependencies #14399

Closed
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions easybuild/easyconfigs/a/ARAGORN/ARAGORN-1.2.41-foss-2020b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# This file is an EasyBuild reciPY as per https://easybuilders.github.io/easybuild/
# Author: Pablo Escobar Lopez
# sciCORE - University of Basel
# SIB Swiss Institute of Bioinformatics
# Updated: Denis Kristak

easyblock = 'CmdCp'

name = 'ARAGORN'
version = '1.2.41'

homepage = 'http://mbio-serv2.mbioekol.lu.se/ARAGORN/'
description = "http://www.ansikte.se/ARAGORN/"

toolchain = {'name': 'foss', 'version': '2020b'}

source_urls = ['http://www.ansikte.se/ARAGORN/Downloads/']
sources = [
{'filename': '%(namelower)s%(version)s.c', 'extract_cmd': 'cp %s aragorn.c'},
{'filename': 'aragorn.1', 'extract_cmd': 'cp %s aragorn.1'} # man page
]
checksums = [
'92a31cc5c0b0ad16d4d7b01991989b775f07d2815df135fe6e3eab88f5e97f4a', # aragorn1.2.41.c
'6e30f6d9da644197064744f033176969e77855964ed8d50ea00c38a3aea2c92e', # aragorn.1
]

cmds_map = [
(".*", "$CC $CFLAGS -o aragorn aragorn.c"), # TODO since there are 2 sources, install command repeats twice
]

files_to_copy = [
(['aragorn'], 'bin'),
(['aragorn.1'], 'share/man/man1'),
]
deniskristak marked this conversation as resolved.
Show resolved Hide resolved

sanity_check_paths = {
'files': ['bin/aragorn'],
'dirs': ['share/man'],
}

sanity_check_commands = ['aragorn --help']

moduleclass = 'bio'
28 changes: 28 additions & 0 deletions easybuild/easyconfigs/g/genoPlotR/genoPlotR-0.8.11-foss-2020b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild
# Author: Denis Kristak
easyblock = 'RPackage'

name = 'genoPlotR'
version = '0.8.11'

homepage = 'https://cran.r-project.org/web/packages/genoPlotR/index.html'
description = """Draws gene or genome maps and comparisons between these, in a publication-grade manner.
Starting from simple, common files, it will draw postscript or PDF files that can be sent as such to journals.
"""

toolchain = {'name': 'foss', 'version': '2020b'}

source_urls = ['https://cran.r-project.org/src/contrib/']
sources = ['%s_%s.tar.gz' % (name, version)]
checksums = ['f127f7fe8b19c899ecfdf98bf69d2e18926afb593a72fc40097acca66d401607']

dependencies = [
('R', '4.0.3'),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since this only depends on R, we should probably just add this as an extension to R itself?

I would prefer doing that only for the latest R version we have though (4.1.2 with foss/2021b)...

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@deniskristak I've added genoPlotR to R 4.1.2 in #14433

]

sanity_check_paths = {
'files': [],
'dirs': ['genoPlotR'],
}

moduleclass = 'vis'
36 changes: 36 additions & 0 deletions easybuild/easyconfigs/i/Infernal/Infernal-1.1.4-foss-2020b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
##
# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild
#
# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA
# Authors:: Cedric Laczny <cedric.laczny@uni.lu>, Fotis Georgatos <fotis@cern.ch>
# License:: MIT/GPL
# Updated:: Denis Kristak (INUITS)
# $Id$
#
# This work implements a part of the HPCBIOS project and is a component of the policy:
# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html
##

easyblock = 'ConfigureMake'

name = 'Infernal'
version = "1.1.4"

homepage = 'http://eddylab.org/infernal/'
description = """Infernal ("INFERence of RNA ALignment") is for searching DNA sequence databases
for RNA structure and sequence similarities."""

toolchain = {'name': 'foss', 'version': '2020b'}
toolchainopts = {'optarch': True, 'pic': True}
deniskristak marked this conversation as resolved.
Show resolved Hide resolved

source_urls = ['http://eddylab.org/%(namelower)s']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['f9493c7dee9fbf25f6405706818883d24b9f5e455121a0662c96c8f0307f95fc']

sanity_check_paths = {
'files': ['bin/cm%s' % x for x in ['align', 'build', 'calibrate', 'convert', 'emit',
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do any of these support --help or --version, or similar?
If so, please add a sanity check command for some (or all) of them.

If you do all, introduce a local variable local_bins = ['bin/cm%s' % x for x in ['align', ...]]

'fetch', 'press', 'scan', 'search', 'stat']],
'dirs': []
}

moduleclass = 'bio'
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild
# Author: Denis Kristak
easyblock = 'PythonPackage'

name = 'PPanGGOLiN'
version = '1.1.136'

homepage = 'https://github.com/labgem/PPanGGOLiN'
description = """
PPanGGOLiN is a software suite used to create and manipulate prokaryotic
pangenomes from a set of either genomic DNA sequences or provided genome annotations. It is designed
to scale up to tens of thousands of genomes. It has the specificity to partition the pangenome using
a statistical approach rather than using fixed thresholds which gives it the ability to work with low-quality
data such as Metagenomic Assembled Genomes (MAGs) or Single-cell Amplified Genomes (SAGs) thus taking advantage
of large scale environmental studies and letting users study the pangenome of uncultivable species.
"""

toolchain = {'name': 'foss', 'version': '2020b'}

source_urls = ['https://github.com/labgem/%(name)s/archive/refs/tags/']
sources = ['%(version)s.tar.gz']
patches = ['PPanGGOLiN-1.1.136_new_compiler_compatibility.patch']
deniskristak marked this conversation as resolved.
Show resolved Hide resolved
checksums = [
'41f814f0b9331a8f0e04f09c698cef6200429990ce726339b5bb320bb7943a70', # 1.1.136.tar.gz
# PPanGGOLiN-1.1.136_new_compiler_compatibility.patch
'ae4dadf2f7469e4c3d56b10236aa7812bfe6f5ed231676364f7c3f0d42e8facf',
]

dependencies = [
('Python', '3.8.6'),
('tqdm', '4.56.2'),
('PyTables', '3.6.1'),
('prodigal', '2.6.3'),
('ARAGORN', '1.2.41'),
('Infernal', '1.1.4'),
('MMseqs2', '13-45111'),
('networkx', '2.5'),
('SciPy-bundle', '2020.11'),
('plotly.py', '4.14.3'),
('gmpy2', '2.1.0b5'),
('genoPlotR', '0.8.11'),
('MAFFT', '7.475', '-with-extensions'),
('rpy2', '3.4.5'),
]

configopts = '-DBLAS_LIBRARIES=$EBROOTOPENBLAS/lib/libopenblas.%s ' % SHLIB_EXT
configopts += '-DLAPACK_LIBRARIES=$EBROOTOPENBLAS/lib/libopenblas.%s ' % SHLIB_EXT

use_pip = True
sanity_pip_check = True
download_dep_fail = True

exts_default_options = {
'source_urls': [PYPI_SOURCE],
'use_pip': True,
'download_dep_fail': True,

}
exts_defaultclass = 'PythonPackage'
deniskristak marked this conversation as resolved.
Show resolved Hide resolved

exts_list = [
('colorlover', '0.3.0', {
'checksums': ['b8fb7246ab46e1f5e6715649453c1762e245a515de5ff2d2b4aab7a6e67fa4e2'],
}),
]

sanity_check_paths = {
'files': ['bin/ppanggolin'],
'dirs': ['lib/python%(pyshortver)s/site-packages'],
}

sanity_check_commands = ['ppanggolin --help']

moduleclass = 'bio'
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
adding -fcommon flag since it was removed from defaults in newer compilers
author: Denis Kristak (INUITS)
diff -ruN PPanGGOLiN-1.1.136_orig/setup.py PPanGGOLiN-1.1.136/setup.py
--- PPanGGOLiN-1.1.136_orig/setup.py 2021-11-23 10:32:07.957348000 +0100
+++ PPanGGOLiN-1.1.136/setup.py 2021-11-23 10:43:58.316011000 +0100
@@ -28,7 +28,8 @@
"Programming Language :: Python :: 3",
"Topic :: Scientific/Engineering :: Bio-Informatics"],
entry_points={"console_scripts":["ppanggolin = ppanggolin.main:main"]},
- ext_modules = [Extension(name = "nem_stats",sources =[NEM_DIR_PATH+'nem_stats.pyx',
+ extra_compile_args=['-fcommon'],
+ ext_modules = [Extension(name = "nem_stats", extra_compile_args=['-fcommon'], sources =[NEM_DIR_PATH+'nem_stats.pyx',
NEM_DIR_PATH+'nem_exe.c',
NEM_DIR_PATH+'nem_alg.c',
NEM_DIR_PATH+'nem_nei.c',
60 changes: 60 additions & 0 deletions easybuild/easyconfigs/r/rpy2/rpy2-3.4.5-foss-2020b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Author: Pavel Grochal (INUITS)
# Updated: Denis Kristak (INUITS)
# License: GPLv2

easyblock = 'PythonBundle'

name = 'rpy2'
version = '3.4.5'

homepage = 'https://rpy2.bitbucket.io/'
description = """rpy2 is an interface to R running embedded in a Python process."""

toolchain = {'name': 'foss', 'version': '2020b'}

dependencies = [
('Python', '3.8.6'),
('R', '4.0.3'),
('IPython', '7.18.1'),
]

use_pip = True
sanity_pip_check = True

exts_list = [
('simplegeneric', '0.8.1', {
'source_tmpl': '%(name)s-%(version)s.zip',
'checksums': ['dc972e06094b9af5b855b3df4a646395e43d1c9d0d39ed345b7393560d0b9173'],
}),
('tzlocal', '4.1', {
'checksums': ['0f28015ac68a5c067210400a9197fc5d36ba9bc3f8eaf1da3cbd59acdfed9e09'],
}),
('cffi', '1.15.0', {
'checksums': ['920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954'],
}),
('tzdata', '2021.5', {
'checksums': ['68dbe41afd01b867894bbdfd54fa03f468cfa4f0086bfb4adcd8de8f24f3ee21'],
}),
('backports-zoneinfo', '0.2.1', {
'modulename': 'backports.zoneinfo',
'source_tmpl': 'backports.zoneinfo-%(version)s.tar.gz',
'checksums': ['fadbfe37f74051d024037f223b8e001611eac868b5c5b06144ef4d8b799862f2'],
}),
('pytz-deprecation-shim', '0.1.0.post0', {
'source_tmpl': 'pytz_deprecation_shim-%(version)s.tar.gz',
'checksums': ['af097bae1b616dde5c5744441e2ddc69e74dfdcb0c263129610d85b87445a59d'],
}),
(name, version, {
'checksums': ['5d31a5ea43f5a59f6dec30faca87edb01fc9b8affa0beae96a99be923bd7dab3'],
}),
]

# sanity_check_commands = [
# "pytest --pyargs rpy2 "
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are these commented out?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i had to figure out how to do this properly, because the above didnt prevent tests from running (and failing)...its updated now

# # Disable tests which requires X11 present othewise it crashes with
# # "unable to open connection to X11 display" error
# "--ignore=lib/python3.8/site-packages/rpy2/tests/ipython/test_rmagic.py "
# "--ignore=lib/python3.8/site-packages/rpy2/tests/robjects/lib/test_grdevices.py "
# ]

moduleclass = 'tools'