Skip to content
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
easyblock = 'MakeCp'

name = 'MetaGeneMark-2'
version = '1.06'

homepage = 'https://github.com/gatech-genemark/MetaGeneMark-2'
description = """MetaGeneMark-2 is an unsupervised metagenomic gene finder.
It improves on MetaGeneMark by adding models for better gene start prediction,
as well as automatic selection of genetic code (4 or 11). The models for gene
start prediction are based in part on the work done for GeneMarkS-2; they include
Shine-Dalgarno RBS, non-Shine-Dalgarno (or non-canonical) RBS, and bacterial and
archaeal promoter models (for use in cases of leaderless transcription).
"""

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

sources = [{
'filename': '%(name)s-%(version)s.tar.xz',
'git_config': {
'url': 'https://github.com/gatech-genemark',
'repo_name': '%(name)s',
'commit': 'a455a8b48ebc6f681b81202c0760d7830f015fe5',
}
}]
patches = ['MetaGeneMark-2-fix_Makefile.patch']
checksums = [
{'MetaGeneMark-2-1.06.tar.xz': '0098b905c1b96b2916abdfeb05702e3f7db35c45a4f92d623da295c9cbae3be8'},
{'MetaGeneMark-2-fix_Makefile.patch': '6f0fe0fefc053833f394e6ce47fe17596fda552a34e21901fd24d1f60a2d10d0'},
]

dependencies = [
('Perl', '5.38.0'),
('Boost', '1.83.0'),
]

build_cmd = ' && '.join([
'cd src',
'make -f Makefile.ubuntu'
])

fix_perl_shebang_for = ['bin/run_mgm.pl']

files_to_copy = [
(['src/gmhmmp2', 'src/run_mgm.pl'], 'bin'),
(['src/*.h', 'src/*.hpp'], 'include'),
(['src/mgm2_11.mod', 'src/mgm2_4.mod'], 'lib'),
]

postinstallcmds = [
'chmod a+rx %(installdir)s/bin/run_mgm.pl',
]

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

sanity_check_commands = [
'run_mgm.pl | grep seq',
'gmhmmp2 --help 2>&1 | grep seq',
]

moduleclass = 'bio'
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Author: Ehsan Moravveji (VSC, KU Leuven)
# Purpose: Fix caveats of Makefile.ubuntu

diff -ruN MetaGeneMark-2-orig/src/Makefile.ubuntu MetaGeneMark-2/src/Makefile.ubuntu
--- MetaGeneMark-2-orig/src/Makefile.ubuntu 2025-03-11 13:34:45.480535000 +0100
+++ MetaGeneMark-2/src/Makefile.ubuntu 2025-03-11 14:44:41.794798000 +0100
@@ -12,24 +12,25 @@
VER=1.06

CXX = g++
-CXXFLAGS = -O2 -Wall -I. -I/usr/include/boost/
-LIBS = -L/usr/lib/ -lboost_program_options -lboost_iostreams
+CXXFLAGS = -O2 -Wall -I. -I$(EBROOTBOOST)/include/
+LIBS = -L$(EBROOTBOOST)/lib/ -lboost_program_options -lboost_iostreams
LDFLAGS = -lm -lstdc++ -static

SRCS = main.cpp \
data_2.cpp model_2.cpp parameter_parser_2.cpp parameters_2.cpp \
pset_2.cpp sequence_file_2.cpp sequence_map_2.cpp settings_2.cpp \
- evidence_2.cpp site_2.cpp output_2.cpp
+ evidence_2.cpp site_2.cpp multi_shift_site.cpp output_2.cpp

OBJS = main.o \
data_2.o model_2.o parameter_parser_2.o parameters_2.o \
pset_2.o sequence_file_2.o sequence_map_2.o settings_2.o \
- evidence_2.o site_2.o output_2.o
+ evidence_2.o site_2.o multi_shift_site.o output_2.o

HDRS = common_2.h \
data_2.h index_2.h logfile_2.h memory_mapped_file_2.h model_2.h \
- parameter_parser_2.h parameters_2.h pset_2.h exit.h\
- sequence_file_2.h sequence_map_2.h settings_2.h evidence_2.h site_2.h output_2.h
+ parameter_parser_2.h parameters_2.h pset_2.h exit.h \
+ sequence_file_2.h sequence_map_2.h settings_2.h evidence_2.h site_2.h \
+ multi_shift_site.hpp output_2.h

.cpp.o:
$(CXX) -c -o $@ $(CXXFLAGS) $<