Skip to content

Commit

Permalink
Merge pull request #21705 from laraPPr/20241018160816_new_pr_CodingQu…
Browse files Browse the repository at this point in the history
…arry20

{bio}[foss/2023a] funannotate v1.8.17 + required dependencies
  • Loading branch information
boegel authored Nov 7, 2024
2 parents eac3b9f + a39ea40 commit 3562861
Show file tree
Hide file tree
Showing 16 changed files with 755 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
easyblock = 'MakeCp'

name = 'CodingQuarry'
version = '2.0'

homepage = 'https://sourceforge.net/p/codingquarry'
description = "Highly accurate hidden Markov model gene prediction in fungal genomes using RNA-seq transcripts"

toolchain = {'name': 'foss', 'version': '2023a'}
toolchainopts = {'openmp': True}

source_urls = [SOURCEFORGE_SOURCE]
sources = ['CodingQuarry_v%(version)s.tar.gz']
patches = ['CodingQuarry-2.0_python3.patch']
checksums = [
{'CodingQuarry_v2.0.tar.gz': '1198afbf7cebcf0975c5b20d92b7a2dd6d956072fcde6e86fdce6aeae4842504'},
{'CodingQuarry-2.0_python3.patch': '8e1b117431d8b104f2114875d8f751aa91c1c3c1b0ddd5a4f85251605c2ab9df'},
]

dependencies = [
('Python', '3.11.3'),
('Biopython', '1.83'),
]

buildopts = 'CFLAGS="$CFLAGS"'

files_to_copy = [
(['CodingQuarry', 'CufflinksGTF_to_CodingQuarryGFF3.py'], 'bin'),
'QuarryFiles',
'TESTING',
]

fix_python_shebang_for = [
'bin/CufflinksGTF_to_CodingQuarryGFF3.py',
'QuarryFiles/scripts/*.py',
]

sanity_check_paths = {
'files': ['bin/CodingQuarry', 'bin/CufflinksGTF_to_CodingQuarryGFF3.py'],
'dirs': ['QuarryFiles/scripts', 'QuarryFiles/self_train', 'QuarryFiles/species', 'TESTING'],
}

sanity_check_commands = [
"CodingQuarry --help | grep '^CodingQuarry v. %(version)s'",
"mkdir -p %(builddir)s && cp -a %(installdir)s/TESTING %(builddir)s/TESTING",
"cd %(builddir)s/TESTING && CufflinksGTF_to_CodingQuarryGFF3.py Sp_transcripts.gtf > test.gff3",
]

modextravars = {'QUARRY_PATH': '%(installdir)s/QuarryFiles'}

moduleclass = 'bio'
30 changes: 30 additions & 0 deletions easybuild/easyconfigs/d/DBD-mysql/DBD-mysql-4.050-GCC-12.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
easyblock = 'PerlModule'

name = 'DBD-mysql'
version = '4.050'

homepage = 'https://metacpan.org/pod/distribution/DBD-mysql/lib/DBD/mysql.pm'
description = "Perl binding for MySQL"

toolchain = {'name': 'GCC', 'version': '12.3.0'}

source_urls = ['https://cpan.metacpan.org/authors/id/D/DV/DVEEDEN']
sources = [SOURCE_TAR_GZ]
checksums = ['4f48541ff15a0a7405f76adc10f81627c33996fbf56c95c26c094444c0928d78']

dependencies = [
('Perl', '5.36.1'),
('Perl-bundle-CPAN', '5.36.1'),
('MariaDB', '11.6.0'),
('zlib', '1.2.13'),
('OpenSSL', '1.1', '', SYSTEM),
]

options = {'modulename': 'DBD::mysql'}

sanity_check_paths = {
'files': ['lib/perl5/site_perl/%%(perlver)s/%s-linux-thread-multi/DBD/mysql.pm' % ARCH],
'dirs': ['lib/perl5/site_perl/%%(perlver)s/%s-linux-thread-multi/DBD/mysql' % ARCH],
}

moduleclass = 'data'
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# Eggnog DB installation instructions:
# 1. 'export EGGNOG_DATA_DIR=/<storage-location>/eggnog-mapper-data'
# 2. run 'download_eggnog_data.py'
# 3. Check the expected DB version with 'emapper.py --version'

easyblock = 'PythonPackage'

name = 'eggnog-mapper'
version = '2.1.12'

homepage = 'https://github.com/eggnogdb/eggnog-mapper'
description = """EggNOG-mapper is a tool for fast functional annotation of novel
sequences. It uses precomputed orthologous groups and phylogenies from the
eggNOG database (http://eggnog5.embl.de) to transfer functional information from
fine-grained orthologs only. Common uses of eggNOG-mapper include the annotation
of novel genomes, transcriptomes or even metagenomic gene catalogs."""

toolchain = {'name': 'foss', 'version': '2023a'}

github_account = 'eggnogdb'
source_urls = [GITHUB_SOURCE]
sources = ['%(version)s.tar.gz']
checksums = ['b3c53fb0e606a5cfec75cbc84f7c215f57f43ce00d8e50f449513acdad76da73']

dependencies = [
('Python', '3.11.3'),
('Biopython', '1.83'),
('HMMER', '3.4'),
('DIAMOND', '2.1.8'),
('prodigal', '2.6.3'),
('wget', '1.24.5'),
('MMseqs2', '14-7e284'),
('XlsxWriter', '3.1.3'),
]

# strip out (too) strict version requirements for dependencies
preinstallopts = "sed -i 's/==[0-9.]*//g' setup.cfg && "

use_pip = True
sanity_pip_check = True
download_dep_fail = True

sanity_check_paths = {
'files': ['bin/create_dbs.py', 'bin/download_eggnog_data.py', 'bin/emapper.py'],
'dirs': ['lib/python%(pyshortver)s/site-packages'],
}

sanity_check_commands = [
'download_eggnog_data.py --help',
'create_dbs.py --help',
'emapper.py --version | grep %(version)s',
]

options = {'modulename': 'eggnogmapper'}

moduleclass = 'bio'
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
easyblock = 'PythonBundle'

name = 'funannotate'
version = '1.8.17'

homepage = 'https://funannotate.readthedocs.io'
description = """funannotate is a pipeline for genome annotation (built specifically for fungi, but will also work
with higher eukaryotes)"""

toolchain = {'name': 'foss', 'version': '2023a'}

# see also https://github.com/nextgenusfs/funannotate/blob/master/docs/dependencies.rst
dependencies = [
('Python', '3.11.3'),
('SciPy-bundle', '2023.07'),
('Biopython', '1.83'),
('GOATOOLS', '1.4.5'),
('matplotlib', '3.7.2'),
('scikit-learn', '1.3.1'),
('Seaborn', '0.13.2'),
('tbl2asn', '20230713'),
('DBD-mysql', '4.050'),
('CodingQuarry', '2.0'),
('Trinity', '2.15.2'),
('AUGUSTUS', '3.5.0'),
('BamTools', '2.5.2'),
('BEDTools', '2.31.0'),
('BLAST+', '2.14.1'), # provides makeblastdb, tblastn
('BLAT', '3.7'),
('DIAMOND', '2.1.8'),
('eggnog-mapper', '2.1.12'),
('ETE', '3.1.3'),
('Exonerate', '2.4.0'),
('FASTA', '36.3.8i'),
('GlimmerHMM', '3.0.4c'),
('GMAP-GSNAP', '2023-04-20'), # provides gmap
('GeneMark-ET', '4.72'), # provides gmes_petap.pl
('HISAT2', '2.2.1'),
('HMMER', '3.4'), # provides hmmscan, hmmsearch
('kallisto', '0.51.1'),
('MAFFT', '7.520', '-with-extensions'),
('minimap2', '2.26'),
('pigz', '2.8'),
('Proteinortho', '6.3.2'),
('Kent_tools', '468'), # provides pslCDnaFilter
('Salmon', '1.10.3'),
('SAMtools', '1.18'),
('SignalP', '6.0h', '-fast'),
('SNAP-HMM', '20221022'),
('StringTie', '2.2.3'),
('tRNAscan-SE', '2.0.12'),
('tantan', '50'),
('trimAl', '1.4.1'),
('Trimmomatic', '0.39', '-Java-11', SYSTEM),
('BioPerl', '1.7.8'),
('EVidenceModeler', '2.1.0'),
]

use_pip = True

exts_list = [
('distro', '1.9.0', {
'checksums': ['2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed'],
}),
('natsort', '8.4.0', {
'checksums': ['45312c4a0e5507593da193dedd04abb1469253b601ecaf63445ad80f0a1ea581'],
}),
(name, version, {
'checksums': ['bdadfd7a5636383c1c40c26dab37c5908a77e8c4064adced84f1ba9e86187a04'],
'preinstallopts': (
"""sed -i 's|REQUIRES_PYTHON = ">=3.6.0, <3.10"|REQUIRES_PYTHON = ">=3.6.0"|' setup.py && """
"""sed -i 's|"biopython<1.80",|"biopython",|' setup.py && """
)
}),
]

sanity_check_paths = {
'files': ['bin/funannotate'],
'dirs': [],
}

modextrapaths = {
'GENEMARK_PATH': '$EBROOTGENEMARKMINET',
}

sanity_check_commands = [
"funannotate --help 2>&1 | grep 'Usage:[ ]*funannotate'",
"funannotate check --show-versions",
]


sanity_pip_check = True

moduleclass = 'bio'
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
##
# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild
#
# Copyright:: Copyright 2012-2013 Cyprus Institute / CaSToRC, University of Luxembourg / LCSB
# Authors:: George Tsouloupas <g.tsouloupas@cyi.ac.cy>, Fotis Georgatos <fotis.georgatos@uni.lu>,
# Kenneth Hoste (UGent)
# License:: MIT/GPL
# $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
# Modified by: Adam Huffman, Jonas Demeulemeester
# The Francis Crick Institute
# Modified for version 4.0.5.1 by: Ruben van Dijk, University of Groningen
# Modified for version 4.2.3.0 by: J. Sassmannshausen / GSTT
# Modified for version 4.4.0.0 by: Thomas Eylenbosch / Gluo NV
##

easyblock = 'Tarball'

name = 'GATK'
version = '4.3.0.0'
versionsuffix = '-Java-%(javaver)s'

homepage = 'https://www.broadinstitute.org/gatk/'
description = """The Genome Analysis Toolkit or GATK is a software package developed at the Broad Institute
to analyse next-generation resequencing data. The toolkit offers a wide variety of tools,
with a primary focus on variant discovery and genotyping as well as strong emphasis on
data quality assurance. Its robust architecture, powerful processing engine and
high-performance computing features make it capable of taking on projects of any size."""

toolchain = {'name': 'GCCcore', 'version': '12.3.0'}

source_urls = ['https://github.com/broadinstitute/gatk/releases/download/%(version)s/']
sources = ['gatk-%(version)s.zip']
checksums = ['e2c27229b34c3e22445964adf00639a0909887bbfcc040f6910079177bc6e2dd']

dependencies = [
('Java', '11', '', SYSTEM),
('Python', '3.11.3'),
]

modextrapaths = {'PATH': ''}

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

sanity_check_commands = [
"gatk --help",
"gatk --list",
]

moduleclass = 'bio'
57 changes: 57 additions & 0 deletions easybuild/easyconfigs/g/GlimmerHMM/GlimmerHMM-3.0.4c-GCC-12.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild

easyblock = 'MakeCp'

name = 'GlimmerHMM'
version = '3.0.4c'

homepage = 'https://ccb.jhu.edu/software/glimmerhmm'
description = """GlimmerHMM is a new gene finder based on a Generalized Hidden Markov Model.
Although the gene finder conforms to the overall mathematical framework of a GHMM, additionally
it incorporates splice site models adapted from the GeneSplicer program and a decision tree adapted
from GlimmerM. It also utilizes Interpolated Markov Models for the coding and noncoding models."""

toolchain = {'name': 'GCC', 'version': '12.3.0'}
toolchainopts = {'pic': True}

source_urls = ['https://ccb.jhu.edu/software/%(namelower)s/dl']
sources = [SOURCE_TAR_GZ]
checksums = ['31ee2ceb8f31338205b2de626d83d0f92d2cd55a04d48a6803193a2d0ad1b4a3']

dependencies = [
('Perl', '5.36.1'),
]

start_dir = 'sources'

# make sure -O0 is not used as compiler option
prebuildopts = "ls makefile train/makefile | xargs sed -i 's/-O0 .*//g' && "

# also build in 'train' subdirectory to overwrite pre-compiled binaries
buildopts = "&& cd ../train && make"

local_train_files = ['build1', 'build2', 'build-icm', 'build-icm-noframe', 'erfapp', 'falsecomp',
'findsites', 'karlin', 'score', 'score2', 'scoreATG', 'scoreATG2', 'scoreSTOP',
'scoreSTOP2', 'splicescore', 'trainGlimmerHMM']
files_to_copy = [
(['sources/%(namelower)s'], 'bin'),
(['train/%s' % x for x in local_train_files], 'bin'),
(['train/*.pm'], 'lib/perl%(perlmajver)s'),
'trained_dir', 'README', 'train/readme.train',
]

fix_perl_shebang_for = ['bin/trainGlimmerHMM']

sanity_check_paths = {
'files': ['bin/%(namelower)s'],
'dirs': ['trained_dir'],
}

sanity_check_commands = [
"%(namelower)s -h",
r"trainGlimmerHMM -h 2>&1 | grep '^[ ]*Train GlimmerHMM module'",
]

modextrapaths = {'PERL5LIB': 'lib/perl%(perlmajver)s'}

moduleclass = 'bio'
39 changes: 39 additions & 0 deletions easybuild/easyconfigs/i/Infernal/Infernal-1.1.5-foss-2023a.eb
Original file line number Diff line number Diff line change
@@ -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 <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.5"

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': '2023a'}
toolchainopts = {'pic': True}

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

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'
Loading

0 comments on commit 3562861

Please sign in to comment.