Skip to content

enhance GROMACS easyblock to build with PLUMED support#1121

Merged
boegel merged 5 commits intoeasybuilders:developfrom
akesandgren:make-gromacs-plumed-capable
May 11, 2017
Merged

enhance GROMACS easyblock to build with PLUMED support#1121
boegel merged 5 commits intoeasybuilders:developfrom
akesandgren:make-gromacs-plumed-capable

Conversation

@akesandgren
Copy link
Copy Markdown
Contributor

This enables a simplistic approach to patch Gromacs with PLUMED if PLUMED is a dependency.

@akesandgren
Copy link
Copy Markdown
Contributor Author

akesandgren commented Mar 3, 2017

An easyconfig that uses this is pending, waiting for a merge of PLUMED 2.3.0 with foss/2017a (easybuilders/easybuild-easyconfigs#4251)

Comment thread easybuild/easyblocks/g/gromacs.py Outdated
self.pre_env = ''

# check whether PLUMED is listed as a dependency
self.with_plumed = 'PLUMED' in [dep['name'] for dep in self.cfg['dependencies']]
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

why not just check this in prepare_step, since self.with_plumed isn't used anywhere else?

also, we usually check this via get_software_root('PLUMED') (even though that's not perfect, see easybuilders/easybuild-framework#1269)

Copy link
Copy Markdown
Contributor Author

@akesandgren akesandgren Mar 3, 2017

Choose a reason for hiding this comment

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

I mimiced the code from dl_poly_classic.py which was the only one i could find that used plumed. But I can move it to the prepare step.

And use get_software_root...

After looking at 1269 i feel get_software_root is the wrong way to do this. But feel free to overrule me.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Well, we can certainly do better than get_software_root, yes, but it's not implemented in framework yet...

Comment thread easybuild/easyblocks/g/gromacs.py Outdated
# Should use shared, static, or runtime patch depending on
# setting of self.toolchain.options.get('dynamic')
# and adapt cmake flags accordingly as per instructions
# from plumed patch
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

reference for those instructions?

both this comment and the one above are TODO's, so maybe mark this PR as (WIP)?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Mark it how? The reference is "plumed patch -h" :-)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

mark it (WIP) in the PR title?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Like that?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

yep

@boegel boegel added this to the 3.2.0 milestone Mar 3, 2017
@akesandgren akesandgren changed the title Add code to make a PLUMED patched Gromacs Add code to make a PLUMED patched Gromacs (WIP) Mar 14, 2017
@boegel boegel modified the milestones: 3.2.0, 3.3.0 May 2, 2017
Depending on which version of gromacs is being PLUMED patched, it needs
to happen at different stages.

Also make sure that there IS a plumed patch engine for this version of
gromacs.

And handle static/dynamic building with plumed patching.
@akesandgren akesandgren changed the title Add code to make a PLUMED patched Gromacs (WIP) Add code to make a PLUMED patched Gromacs May 8, 2017
@boegel
Copy link
Copy Markdown
Member

boegel commented May 9, 2017

@akesandgren Do you have an example GROMACS easyconfig that uses PLUMED that can be used as a testcase for these changes?

@akesandgren
Copy link
Copy Markdown
Contributor Author

easyconfig PR #4561 Gromacs 2016.1 with plumed

minor style fixes in GROMACS w/ PLUMED support
@boegel boegel modified the milestones: 3.2.1, 3.3.0 May 11, 2017
@boegel boegel changed the title Add code to make a PLUMED patched Gromacs enhance GROMACS easyblock to build with PLUMED support May 11, 2017
@boegel
Copy link
Copy Markdown
Member

boegel commented May 11, 2017

Tested with easybuilders/easybuild-easyconfigs#4561 and existing GROMACS easyconfigs, good to go.

Thanks @akesandgren!

@boegel boegel merged commit 5728f75 into easybuilders:develop May 11, 2017
@akesandgren akesandgren deleted the make-gromacs-plumed-capable branch May 12, 2017 18:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants