debichem - packaging free software chemistry programs in ...mbanck/talks/debichem-debconf13.pdf ·...

26
Debichem Packaging Free Software Chemistry Programs in Debian GNU/Linux: Past, Present and Future Michael Banck [email protected] August 12th, 2013 Michael Banck ([email protected]) Debichem August 12th, 2013 1 / 26

Upload: others

Post on 03-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Debichem - Packaging Free Software Chemistry Programs in ...mbanck/talks/debichem-debconf13.pdf · Original Mission The Mission: Package all chemistry-related Free Software projects

DebichemPackaging Free Software Chemistry Programs in Debian

GNU/Linux: Past, Present and Future

Michael Banck

[email protected]

August 12th, 2013

Michael Banck ([email protected]) Debichem August 12th, 2013 1 / 26

Page 2: Debichem - Packaging Free Software Chemistry Programs in ...mbanck/talks/debichem-debconf13.pdf · Original Mission The Mission: Package all chemistry-related Free Software projects

Introduction

Chemistry is...I Between Atoms (physics team) and Solids

(nanoscale-physics team)I Blends into Biology (debian-med team)I On the TEX/Word DivideI Slow Uptake of FLOSS

Michael Banck ([email protected]) Debichem August 12th, 2013 2 / 26

Page 3: Debichem - Packaging Free Software Chemistry Programs in ...mbanck/talks/debichem-debconf13.pdf · Original Mission The Mission: Package all chemistry-related Free Software projects

Debichem

Started in 2004 by Michael BanckMostly a two-man show (Michael Banck and Daniel Leidert)Handful people upload specific packages20 project membersOver 50 packages

Michael Banck ([email protected]) Debichem August 12th, 2013 3 / 26

Page 4: Debichem - Packaging Free Software Chemistry Programs in ...mbanck/talks/debichem-debconf13.pdf · Original Mission The Mission: Package all chemistry-related Free Software projects

Mailing List Statistics

http://blends.debian.net/liststats/authorstat_debichem-devel.png

Michael Banck ([email protected]) Debichem August 12th, 2013 4 / 26

Page 5: Debichem - Packaging Free Software Chemistry Programs in ...mbanck/talks/debichem-debconf13.pdf · Original Mission The Mission: Package all chemistry-related Free Software projects

Commit Statistics

http://blends.debian.net/liststats/authorstat_debichem-devel.png

Michael Banck ([email protected]) Debichem August 12th, 2013 5 / 26

Page 6: Debichem - Packaging Free Software Chemistry Programs in ...mbanck/talks/debichem-debconf13.pdf · Original Mission The Mission: Package all chemistry-related Free Software projects

Original Mission

The Mission: Package all chemistry-related Free Software projects

In 2000, there was Chemtool, MPQC and PSI3, basicallyToday, it seems like every Ph.D. student is putting their code onSourceForge or GithubOr unmaintainable Code gets dumped onto the FLOSS communityPROSPECTIVE PACKAGES:

MOLDY, XtalOpt, MOIL-opt, DL POLY CLASSIC, AmberTools, OSRA, Coot, MDAnalysis,

OpenMM, PaDEL-Descriptor, MATCH, DynamO, DockoMatic, Pteros, Aten, CCP1GUI,

Zeobuilder, Molsketch, SCHAKAL, ccp4-suite, ezDICOM, InChI, mychem, PDB Validation Suite,

KryoMol, MayaChemTools, Frowns, OpenMCTDHB, MrPropa, MoViPAC, CMSapi, CMPTool,

BerkeleyGW, Socorro, Spglib, EPW, wannier90, Exciting, ccwatcher, MSL, Towhee, ORAC,

MESMER, MultiWell, ELPA, TAO, ERKALE, QMCPACK, QWalk, QMcBeaver

Michael Banck ([email protected]) Debichem August 12th, 2013 6 / 26

Page 7: Debichem - Packaging Free Software Chemistry Programs in ...mbanck/talks/debichem-debconf13.pdf · Original Mission The Mission: Package all chemistry-related Free Software projects

Current Mission

The Mission: Package the most appropriate chemistry-related FreeSoftware projects

Identify the best packages for a particular taskRemove no longer maintained or superseded packagesTarget: Workstation-based or small compute cluster

Michael Banck ([email protected]) Debichem August 12th, 2013 7 / 26

Page 8: Debichem - Packaging Free Software Chemistry Programs in ...mbanck/talks/debichem-debconf13.pdf · Original Mission The Mission: Package all chemistry-related Free Software projects

Fields of Interest

And corresponding tasks

Visualization of Molecular/Electronic Structure:debichem-visualization

Chemical Structure Drawing: debichem-view-edit-2dCheminformatics: debichem-cheminformaticsMolecular Modelling: debichem-modellingComputational Chemistry: debichem-abinitio,debichem-semiempirical, debichem-molmech

Mass Spectrometry: debichem-polymer

Michael Banck ([email protected]) Debichem August 12th, 2013 8 / 26

Page 9: Debichem - Packaging Free Software Chemistry Programs in ...mbanck/talks/debichem-debconf13.pdf · Original Mission The Mission: Package all chemistry-related Free Software projects

Computational ChemistryElectronic Structure (Gas Phase / Condensed Phase)

I NWCHEM (PNNL)I CP2K (ETH Zurich, University Zurich)I MPQC (Virginia Tech)I PSI (Georgia Tech, Virginia Tech)I ACES (University Florida)I QUANTUM ESPRESSO (Italy)

Semi-EmpiricalI CP2K (ETH Zurich, University Zurich)I MOPAC7 (Unmaintained)I MOLDS (Japan)

Molecular Dynamics (Classical / Ab Initio)I GROMACS (EU)I CP2KI NWCHEMI MOLDS (Japan)

Michael Banck ([email protected]) Debichem August 12th, 2013 9 / 26

Page 10: Debichem - Packaging Free Software Chemistry Programs in ...mbanck/talks/debichem-debconf13.pdf · Original Mission The Mission: Package all chemistry-related Free Software projects

Molecular Modelling

Avogadro

Michael Banck ([email protected]) Debichem August 12th, 2013 10 / 26

Page 11: Debichem - Packaging Free Software Chemistry Programs in ...mbanck/talks/debichem-debconf13.pdf · Original Mission The Mission: Package all chemistry-related Free Software projects

Molecular ModellingPyMOL

Michael Banck ([email protected]) Debichem August 12th, 2013 11 / 26

Page 12: Debichem - Packaging Free Software Chemistry Programs in ...mbanck/talks/debichem-debconf13.pdf · Original Mission The Mission: Package all chemistry-related Free Software projects

Cheminformatics

OpenBabelRDKitCDKIndigoCinfonyChemFP

Michael Banck ([email protected]) Debichem August 12th, 2013 12 / 26

Page 13: Debichem - Packaging Free Software Chemistry Programs in ...mbanck/talks/debichem-debconf13.pdf · Original Mission The Mission: Package all chemistry-related Free Software projects

Success Stories: CP2K

J. VandeVondele, U. Borstnik and J. Hutter, J. Chem. Theo. Comput., 8, 3565 (2012)

Michael Banck ([email protected]) Debichem August 12th, 2013 13 / 26

Page 14: Debichem - Packaging Free Software Chemistry Programs in ...mbanck/talks/debichem-debconf13.pdf · Original Mission The Mission: Package all chemistry-related Free Software projects

Success Stories: PSI4

E. Hohenstein, R. Parrish, D. Sherrill, J. Turney and H. F. Schaefer III, J. Chem. Phys., 135,

174107 (2011)Michael Banck ([email protected]) Debichem August 12th, 2013 14 / 26

Page 15: Debichem - Packaging Free Software Chemistry Programs in ...mbanck/talks/debichem-debconf13.pdf · Original Mission The Mission: Package all chemistry-related Free Software projects

Success Stories: PYMOL

http://pymolwiki.org/index.php/Covers

Michael Banck ([email protected]) Debichem August 12th, 2013 15 / 26

Page 16: Debichem - Packaging Free Software Chemistry Programs in ...mbanck/talks/debichem-debconf13.pdf · Original Mission The Mission: Package all chemistry-related Free Software projects

Success Stories: ACESIII

V. Lotrich, J. Ponton, A. Perera, E., R. Bartlett and B. Sanders, Mol. Phys., 108, 3323 (2010)

Michael Banck ([email protected]) Debichem August 12th, 2013 16 / 26

Page 17: Debichem - Packaging Free Software Chemistry Programs in ...mbanck/talks/debichem-debconf13.pdf · Original Mission The Mission: Package all chemistry-related Free Software projects

Package Interdependencies

Quantum-Chemistry Specific LibrariesI LIBINT (MPQC2, PSI3, CP2K)I LIBINT2 (MPQC3)I LIBXC (ELK, CP2K)I LIBPSI (MPQC3)

Wavefunction UsageI QUANTUM ESPRESSO (BERKELYGW, XTALOPT,...)

Input GenerationI Avogadro (NWCHEM, MOPAC7)

Output Parsing/VisualizationI GABEDIT (MPQC)I AVOGADRO (NWCHEM, MPQC, MOPAC7, GROMACS, QUANTUM

ESPRESSO)

Michael Banck ([email protected]) Debichem August 12th, 2013 17 / 26

Page 18: Debichem - Packaging Free Software Chemistry Programs in ...mbanck/talks/debichem-debconf13.pdf · Original Mission The Mission: Package all chemistry-related Free Software projects

Packaging Principles

Subversion or Git RepositorySource Format 3.0 (quilt)Verbose Long Description

I Main FeaturesI Supported file formats (if applicable)I Supported DFT functionals (if applicable)I Parallization

Parallization via Default MPI ImplementationUpstream Metadata via debian/upstream

I CitationI Principal PublicationsI Upstream Registration SiteI Upstream Sourcecode Repository

Michael Banck ([email protected]) Debichem August 12th, 2013 18 / 26

Page 19: Debichem - Packaging Free Software Chemistry Programs in ...mbanck/talks/debichem-debconf13.pdf · Original Mission The Mission: Package all chemistry-related Free Software projects

Quality Assurance

Peer-Review of PackagingUpstream test suites

I Run a representative but limited set of test casesI Support to bypass test suite (DEB BUILD OPTIONS=nocheck)I Optionally run all test cases (DEB BUILD OPTIONS=fullcheck)I Problem: Smart parsing of tolerances - diff is not enough

WatchfilesInstall-time test suites (TODO)

Michael Banck ([email protected]) Debichem August 12th, 2013 19 / 26

Page 20: Debichem - Packaging Free Software Chemistry Programs in ...mbanck/talks/debichem-debconf13.pdf · Original Mission The Mission: Package all chemistry-related Free Software projects

Frequent Changes to Upstream

Hardcoded Datafile Locations FixesBuild-System FixesManpagesCopyright/License Clearup

Michael Banck ([email protected]) Debichem August 12th, 2013 20 / 26

Page 21: Debichem - Packaging Free Software Chemistry Programs in ...mbanck/talks/debichem-debconf13.pdf · Original Mission The Mission: Package all chemistry-related Free Software projects

Upstream Horror Stories

Downloads of GPL’d tarballs behind registration form... And registratino form forwarding to SF Download pageUsers have to register at Website to loginGit-Repositories behind semi-public password logins

Michael Banck ([email protected]) Debichem August 12th, 2013 21 / 26

Page 22: Debichem - Packaging Free Software Chemistry Programs in ...mbanck/talks/debichem-debconf13.pdf · Original Mission The Mission: Package all chemistry-related Free Software projects

Challenges

Fortran77 CodeHand-made MakefilesNever intended to be installedOnly useful on Supercomputers

I ACESIII did not run sequentially

Michael Banck ([email protected]) Debichem August 12th, 2013 22 / 26

Page 23: Debichem - Packaging Free Software Chemistry Programs in ...mbanck/talks/debichem-debconf13.pdf · Original Mission The Mission: Package all chemistry-related Free Software projects

A Look at Upstream: Computational Chemistry

Gromacs MPQC CP2K NWChem PSI QEMain Developers Various GT UZ/ETH PNNL GT/VT VariousLicense GPL2+ (L)GPL GPL2+ ECL2 GPL2+ GPL2Language C C++ F95 F77 C/C++ F77Project Hosting Redmine SF SF - SF/Trac GForgeRelease Tarballs X X X X X XStable Point Releases X - - - X -Sourcecode Repository git hg svn svn/prv git/prv svnSourcecode Hosting Local SF SF - - GForgeSnapshot Tarballs - - - X - -Bug Tracker X X X - X XDeveloper Mailing List X - - - - XUser Mailing List X - X X - XUser Web Forum - - - X - -Contact Mail Address - - - - - -

Michael Banck ([email protected]) Debichem August 12th, 2013 23 / 26

Page 24: Debichem - Packaging Free Software Chemistry Programs in ...mbanck/talks/debichem-debconf13.pdf · Original Mission The Mission: Package all chemistry-related Free Software projects

A Look at Upstream: Cheminformatics Toolkits

OpenBabel RDKit Indigo CDKMain Developers Community Community GGA CommunityLicense GPL2 BSD GPL3 LGPLLanguage C++ C++ C++ JavaProject Hosting SF SF/GC - SFRelease Tarballs X X X XStable Point Releases X - - XSourcecode Repository git git git gitSourcecode Hosting Github Github Github SFSnapshot Tarballs - - - -Bug Tracker X X X XDeveloper Mailing List X X X XUser Mailing List X X X XUser Web Forum - - - -Contact Mail Address - - - -

Michael Banck ([email protected]) Debichem August 12th, 2013 24 / 26

Page 25: Debichem - Packaging Free Software Chemistry Programs in ...mbanck/talks/debichem-debconf13.pdf · Original Mission The Mission: Package all chemistry-related Free Software projects

Future Work

Sort out TasksPackage Projects with New Functionality

I Quantum Monte-Carlo (QMCPack, QWalk, QMcBeaver)I Quantum Dynamics (MrPropa)I Complete Autodocking Suite (DockoMatic)

Package bundled parallization Libraries for wider AvailabilityI Global Arrays (NWChem, but distributed seperatedly by PNNL)I LibSC (MPQC)I LibSIP/SIAL (ACESIII)

Package bundled matrix computation Libraries for widerAvailability

I LibDBCSR (CP2K)I LibSMM (CP2K)I Various PSI4 Libraries

Michael Banck ([email protected]) Debichem August 12th, 2013 25 / 26

Page 26: Debichem - Packaging Free Software Chemistry Programs in ...mbanck/talks/debichem-debconf13.pdf · Original Mission The Mission: Package all chemistry-related Free Software projects

Future Work (Continued)

Hybrid MPI/OpenMPOpenCL Support (Free Implementation?)Support for Machine-Specific/Optimized Recompilation (cf. Atlas)

I autotune grid (CP2K)

Correctness TestingFortran90 Module FilesMultiple Compiler Support (LLVM, Intel?)Support Input Preparation/Output Visualization

I cclib (Currently only supports proprietary packages)I OpenBabelI Avogadro

Build System ImprovementsPseudo-Potential Handling

Michael Banck ([email protected]) Debichem August 12th, 2013 26 / 26