Getting hands-on with ExTASY
Posted: 19 Nov 2015 | 11:11
One of the projects I'm currently leading at EPCC is ExTASY, which is building an 'Extensible Toolkit for Advanced Sampling and analYsis'. I've blogged in the past about the goals of the project, and the painful process leading up to our first public release. As the project is now well into its final year, we are turning our attention to community outreach - showing off what we have built to the biomolecular simulation community and getting their feedback.
With partners from the ExTASY project and beyond, I was on the organising committee for the CECAM Macromolecular Simulation Software workshop held in Jülich between Oct 12th and 25th. The two-week(!) programme covered a range of tools and software relevant for macromolecular simulation, with a very practical focus including a two-day Software Carpentry workshop, and lots of practical sessions and a HackDay on tools for analysing simulation data.
In total 93 researchers took part, although not everyone stayed for the full two weeks. I was only involved in the final two mini-workshops, which introduced RADICAL-Pilot and related tools for managing workflow-type simulations, and then followed with tools for 'Advanced Sampling' including the LSDMap and COCO workflow tools that we have developed in the ExTASY project.
One of the lessons learned from beta-testing in the run-up to the ExTASY 0.1 release was that installation was often an issue, and while we have improved this a lot, we decided for the workshop to provide access to a shared machine from which participants could launch their workflows onto either the Stampede cluster or ARCHER. This worked really well and we had very few problems getting people quickly up to speed and running ExTASY workflows. This meant we could quickly move on to show participants how to extend and customise the ExTASY tools, and how to analyse the results that were generated. An example output generated by one of the workshop participants is shown on the left.
In comparison to ExTASY 0.1, where we demostrated our approach to sampling via a monolithic executable, our code is now a set of example scripts based on the EnsembleMD Toolkit, a library which provides a clean API for users to develop their own workflow tools. As a result, in addition to the standard LSDMap/Gromacs and COCO/Amber coupled workflows, we were able to demostrate how to couple COCO with Gromacs, for example, using the EnsembleMD API.
Feedback from the attendees was generally positive. Most were impressed by how relatively easy it was to handle large 'swarm' molecular dynamics simulations using RADICAL-Pilot and ExTASY, although they would also have liked to have had more time to experiment with the individual components such as LSDMap without having to immediately dive in and build workflows from them.
Over the 3 days working with RADICAL-Pilot and ExTASY we also uncovered and then fixed a series of bugs. This process was helped by offering a real 'bug bounty' - a chocolate for every bug reported, and 3 for a fix! As usual there is no substitute for getting your code in the hands of real users to improve it.
We are continuing to improve the our tools, particularly in terms of usability rather than adding much more functionality, and we aim to run a three-day workshop specifically on ExTASY in April, hosted here at EPCC. Look out for an announcement soon once the dates are finalised!