diff --git a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix new file mode 100644 index 000000000000..c687fd5908c4 --- /dev/null +++ b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix @@ -0,0 +1,46 @@ + +{ stdenv, fetchurl, cmake, + singlePrec ? true, + fftw +}: + + +stdenv.mkDerivation { + name = "gromacs-4.5.5"; + + src = fetchurl { + url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-4.5.5.tar.gz"; + md5 = "6a87e7cdfb25d81afa9fea073eb28468"; + }; + + buildInputs = [cmake fftw]; + + cmakeFlags = '' + ${if singlePrec then "-DGMX_DOUBLE=OFF" else "-DGMX_DOUBLE=ON -DGMX_DEFAULT_SUFFIX=OFF"} + ''; + + meta = { + homepage = "http://www.gromacs.org"; + licence = "GPLv2"; + description = "The GROMACS molecular dynamics software package"; + longDescription = '' + GROMACS is a versatile package to perform molecular dynamics, + i.e. simulate the Newtonian equations of motion for systems + with hundreds to millions of particles. + + It is primarily designed for biochemical molecules like + proteins, lipids and nucleic acids that have a lot of + complicated bonded interactions, but since GROMACS is + extremely fast at calculating the nonbonded interactions (that + usually dominate simulations) many groups are also using it + for research on non-biological systems, e.g. polymers. + + GROMACS supports all the usual algorithms you expect from a + modern molecular dynamics implementation, (check the online + reference or manual for details), but there are also quite a + few features that make it stand out from the competition. + + See: http://www.gromacs.org/About_Gromacs for details. + ''; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index df5b806de85c..472b167247d2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8656,6 +8656,21 @@ let openblas = callPackage ../development/libraries/science/math/openblas { }; + + ### SCIENCE/MOLECULAR-DYNAMICS + + gromacs = callPackage ../applications/science/molecular-dynamics/gromacs { + singlePrec = true; + fftw = fftwSinglePrec; + cmake = cmakeCurses; + }; + + gromacsDouble = lowPrio (callPackage ../applications/science/molecular-dynamics/gromacs { + singlePrec = false; + fftw = fftw; + cmake = cmakeCurses; + }); + ### SCIENCE/LOGIC coq = callPackage ../applications/science/logic/coq {