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}[intel/2018a] RAxML-NG v0.5.1b #6411

Closed
wants to merge 6 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
35 changes: 35 additions & 0 deletions easybuild/easyconfigs/r/RAxML-NG/RAxML-NG-0.5.1b-intel-2018a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
easyblock = 'CMakeMake'

name = 'RAxML-NG'
version = '0.5.1b'

homepage = 'https://github.com/amkozlov/raxml-ng'
description = """RAxML-NG is a phylogenetic tree inference tool which uses maximum-likelihood (ML) optimality
criterion. Its search heuristic is based on iteratively performing a series of Subtree Pruning and
Regrafting (SPR) moves, which allows to quickly navigate to the best-known ML tree."""

toolchain = {'name': 'intel', 'version': '2018a'}
toolchainopts = {'usempi': True}

source_urls = ['https://github.com/amkozlov/raxml-ng/releases/download/v%(version)s']
Copy link
Member

Choose a reason for hiding this comment

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

@ajaust Download URL isn't correct now, the trailing b in the version is not included in the download URL...

Proposal:

source_urls = ['https://github.com/amkozlov/raxml-ng/releases/download/v%s' % version[:-1]]

Copy link
Contributor Author

Choose a reason for hiding this comment

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

You are right. The path might change depending on what source we want to pull (with prebuilt binaries or without).

sources = ['%(namelower)s_v%(version)s_linux_x86_64_MPI.zip']
Copy link
Member

Choose a reason for hiding this comment

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

This is a tarball with pre-built binaries, shouldn't we download the %(version)s.tar.gz tarball instead?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

You are right. I think I should rename the package at least. I'm not sure if it would make sense to have an easyconfig file for the version with prebuilt binaries and one that builds the software completely from source with additional dependencies. For the latter case I have to look into libpll and create a easyconfig file for that first.

What would you prefer?

Copy link
Member

Choose a reason for hiding this comment

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

We generally strongly prefer building from source, since then we can target the underlying architecture, which usually significantly benefits performance.

Copy link
Member

Choose a reason for hiding this comment

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

@ajaust Any updates on this?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@boegel Hi. Sorry for the late reply.
The last time I checked it, I had problem fulfilling the dependencies properly. Some library part was rewritten and some required module did not have any release. I will see if this has changed when I find the time.

checksums = ['3ef75cc3f4e7b771e8817749ce10aa57868f7412114c79901b3a9cd5aa7cb368']

builddependencies = [('CMake', '3.10.2')]

# Enable MPI and vectorization
configopts = "-DUSE_MPI=ON"
configopts += "-DENABLE_RAXML_SIMD=ON"
configopts += "-DENABLE_PLLMOD_SIMD=ON"

buildopts = " && cp -r bin/ %(installdir)s/"

# Program has no "install" target
skipsteps = ['install']

sanity_check_paths = {
'files': ["bin/raxml-ng-mpi"],
'dirs': [],
}

moduleclass = 'bio'