diff --git a/easybuild/easyconfigs/a/ARAGORN/ARAGORN-1.2.41-foss-2020b.eb b/easybuild/easyconfigs/a/ARAGORN/ARAGORN-1.2.41-foss-2020b.eb new file mode 100644 index 00000000000..d99b5dc8d9c --- /dev/null +++ b/easybuild/easyconfigs/a/ARAGORN/ARAGORN-1.2.41-foss-2020b.eb @@ -0,0 +1,44 @@ +# 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 = [ + (".*.c", "$CC $CFLAGS -o aragorn aragorn.c"), + (".*.1", "mkdir -p share/man/man1 && cp aragorn.1 share/man/man1"), +] + +files_to_copy = [ + (['aragorn'], 'bin'), + 'share', +] + +sanity_check_paths = { + 'files': ['bin/aragorn'], + 'dirs': ['share/man'], +} + +sanity_check_commands = ['aragorn --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/genoPlotR/genoPlotR-0.8.11-foss-2020b.eb b/easybuild/easyconfigs/g/genoPlotR/genoPlotR-0.8.11-foss-2020b.eb new file mode 100644 index 00000000000..56d21bac11a --- /dev/null +++ b/easybuild/easyconfigs/g/genoPlotR/genoPlotR-0.8.11-foss-2020b.eb @@ -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'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['genoPlotR'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/i/Infernal/Infernal-1.1.4-foss-2020b.eb b/easybuild/easyconfigs/i/Infernal/Infernal-1.1.4-foss-2020b.eb new file mode 100644 index 00000000000..968e466b4e5 --- /dev/null +++ b/easybuild/easyconfigs/i/Infernal/Infernal-1.1.4-foss-2020b.eb @@ -0,0 +1,39 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Cedric Laczny , Fotis Georgatos +# 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 = {'pic': True} + +source_urls = ['http://eddylab.org/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f9493c7dee9fbf25f6405706818883d24b9f5e455121a0662c96c8f0307f95fc'] + +local_bins = ['align', 'build', 'calibrate', 'convert', 'emit', 'fetch', 'press', 'scan', 'search', 'stat'] + +sanity_check_paths = { + 'files': ['bin/cm%s' % x for x in local_bins], + 'dirs': [] +} + +sanity_check_commands = ['cm%s -h' % x for x in local_bins] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PPanGGOLiN/PPanGGOLiN-1.1.136-foss-2020b.eb b/easybuild/easyconfigs/p/PPanGGOLiN/PPanGGOLiN-1.1.136-foss-2020b.eb new file mode 100644 index 00000000000..893c4981556 --- /dev/null +++ b/easybuild/easyconfigs/p/PPanGGOLiN/PPanGGOLiN-1.1.136-foss-2020b.eb @@ -0,0 +1,68 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'PythonBundle' + +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'} + +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'), +] + +local_configopts = '-DBLAS_LIBRARIES=$EBROOTOPENBLAS/lib/libopenblas.%s ' % SHLIB_EXT +local_configopts += '-DLAPACK_LIBRARIES=$EBROOTOPENBLAS/lib/libopenblas.%s ' % SHLIB_EXT + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +exts_list = [ + ('colorlover', '0.3.0', { + 'checksums': ['b8fb7246ab46e1f5e6715649453c1762e245a515de5ff2d2b4aab7a6e67fa4e2'], + }), + (name, version, { + 'configopts': local_configopts, + 'patches': ['PPanGGOLiN-%(version)s_new_compiler_compatibility.patch'], + 'source_urls': ['https://github.com/labgem/%(name)s/archive/refs/tags/'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': [ + '41f814f0b9331a8f0e04f09c698cef6200429990ce726339b5bb320bb7943a70', # 1.1.136.tar.gz + # PPanGGOLiN-1.1.136_new_compiler_compatibility.patch + 'ae4dadf2f7469e4c3d56b10236aa7812bfe6f5ed231676364f7c3f0d42e8facf', + ], + }), +] + +sanity_check_paths = { + 'files': ['bin/ppanggolin'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['ppanggolin --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PPanGGOLiN/PPanGGOLiN-1.1.136_new_compiler_compatibility.patch b/easybuild/easyconfigs/p/PPanGGOLiN/PPanGGOLiN-1.1.136_new_compiler_compatibility.patch new file mode 100644 index 00000000000..0c684dbbfd1 --- /dev/null +++ b/easybuild/easyconfigs/p/PPanGGOLiN/PPanGGOLiN-1.1.136_new_compiler_compatibility.patch @@ -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', diff --git a/easybuild/easyconfigs/r/rpy2/rpy2-3.4.5-foss-2020b.eb b/easybuild/easyconfigs/r/rpy2/rpy2-3.4.5-foss-2020b.eb new file mode 100644 index 00000000000..30c82b7b880 --- /dev/null +++ b/easybuild/easyconfigs/r/rpy2/rpy2-3.4.5-foss-2020b.eb @@ -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, { + 'patches': ['rpy2-%(version)s_disable_gui_tests.patch'], + 'checksums': [ + '5d31a5ea43f5a59f6dec30faca87edb01fc9b8affa0beae96a99be923bd7dab3', # rpy2-3.4.5.tar.gz + '0dc5001060ce63ecd61f40ce72077f3d2cbb9488672958fc147658582cd81459', # rpy2-3.4.5_disable_gui_tests.patch + ], + }), +] + +sanity_check_commands = [ + "pytest --pyargs rpy2 " +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/rpy2/rpy2-3.4.5_disable_gui_tests.patch b/easybuild/easyconfigs/r/rpy2/rpy2-3.4.5_disable_gui_tests.patch new file mode 100644 index 00000000000..c472c3d367f --- /dev/null +++ b/easybuild/easyconfigs/r/rpy2/rpy2-3.4.5_disable_gui_tests.patch @@ -0,0 +1,74 @@ +Author: Denis Kristak +disabling tests that require display (gui) +diff -ruN rpy2-3.4.5_orig/rpy2/tests/ipython/test_rmagic.py rpy2-3.4.5/rpy2/tests/ipython/test_rmagic.py +--- rpy2-3.4.5_orig/rpy2/tests/ipython/test_rmagic.py 2021-11-25 12:37:30.723114034 +0000 ++++ rpy2-3.4.5/rpy2/tests/ipython/test_rmagic.py 2021-11-25 12:40:54.277153346 +0000 +@@ -119,8 +119,7 @@ + np.testing.assert_equal(result, 12345) + + +-@pytest.mark.skipif(IPython is None, +- reason='The optional package IPython cannot be imported.') ++@pytest.mark.skip(reason="Cannot test with GUI") + def test_run_cell_with_error(ipython_with_magic, clean_globalenv): + """Run an R block with an error.""" + +@@ -239,8 +238,7 @@ + np.testing.assert_almost_equal(ipython_with_magic.user_ns['r'], np.array([-0.2, 0.9, -1. , 0.1, 0.2])) + + +-@pytest.mark.skipif(IPython is None, +- reason='The optional package IPython cannot be imported.') ++@pytest.mark.skip(reason="Cannot test with GUI") + def test_cell_magic_localconverter(ipython_with_magic, clean_globalenv): + x = (1,2,3) + from rpy2.rinterface import IntSexpVector +@@ -283,8 +281,7 @@ + assert isinstance(globalenv['x'], vectors.IntVector) + + +-@pytest.mark.skipif(IPython is None, +- reason='The optional package IPython cannot be imported.') ++@pytest.mark.skip(reason="Cannot test with GUI") + def test_rmagic_localscope(ipython_with_magic, clean_globalenv): + ipython_with_magic.push({'x':0}) + ipython_with_magic.run_line_magic('R', '-i x -o result result <-x+1') +@@ -331,8 +328,7 @@ + ipython_with_magic.run_cell_magic('R', line, cell) + + +-@pytest.mark.skipif(IPython is None, +- reason='The optional package IPython cannot be imported.') ++@pytest.mark.skip(reason="Cannot test with GUI") + def test_display_args(ipython_with_magic, clean_globalenv): + + cell = ''' +diff -ruN rpy2-3.4.5_orig/rpy2/tests/robjects/lib/test_grdevices.py rpy2-3.4.5/rpy2/tests/robjects/lib/test_grdevices.py +--- rpy2-3.4.5_orig/rpy2/tests/robjects/lib/test_grdevices.py 2021-11-25 12:37:30.724114020 +0000 ++++ rpy2-3.4.5/rpy2/tests/robjects/lib/test_grdevices.py 2021-11-25 12:42:11.886984001 +0000 +@@ -20,14 +20,13 @@ + os.unlink(fn) + + +-@pytest.mark.xfail(os.name == 'nt', +- reason='Windows produces non-empty file with no plot') ++@pytest.mark.skip(reason="Cannot test with GUI") + def test_rendertobytes_noplot(): + with grdevices.render_to_bytesio(grdevices.png) as b: + pass + assert len(b.getvalue()) == 0 + +- ++@pytest.mark.skip(reason="Cannot test with GUI") + def test_rendertofile(): + fn = tempfile.mktemp(suffix=".png") + with set_filenames_to_delete() as todelete: +@@ -38,7 +37,7 @@ + r(''' plot(0) ''') + assert os.path.exists(fn) + +- ++@pytest.mark.skip(reason="Cannot test with GUI") + def test_rendertobytes_plot(): + with grdevices.render_to_bytesio(grdevices.png) as b: + r(''' plot(0) ''')