{"id":19021316,"url":"https://github.com/plumed/tuto-trieste-instructions","last_synced_at":"2026-04-28T14:30:21.176Z","repository":{"id":69884908,"uuid":"89161375","full_name":"plumed/tuto-trieste-instructions","owner":"plumed","description":null,"archived":false,"fork":false,"pushed_at":"2017-05-22T14:58:09.000Z","size":21,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-01-02T00:42:03.105Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/plumed.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-04-23T17:57:06.000Z","updated_at":"2024-07-18T19:30:28.000Z","dependencies_parsed_at":"2023-03-02T18:45:58.125Z","dependency_job_id":null,"html_url":"https://github.com/plumed/tuto-trieste-instructions","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plumed%2Ftuto-trieste-instructions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plumed%2Ftuto-trieste-instructions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plumed%2Ftuto-trieste-instructions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plumed%2Ftuto-trieste-instructions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/plumed","download_url":"https://codeload.github.com/plumed/tuto-trieste-instructions/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240065539,"owners_count":19742518,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T20:21:12.824Z","updated_at":"2026-04-28T14:30:21.111Z","avatar_url":"https://github.com/plumed.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"WARNING: these instructions are still being updated\n===================================================\n\n\nInstructions\n============\n\nIf you have a smart phone please install Socrative Student from the App/Play store prior to the meeting.  You can find this app by searching\nfor Socrative in the App/Play store.  Make sure that you install the student app and not the teacher app.\n\nUsing SISSA workstations\n========================\nIf you want to perform the tutorials using SISSA workstations you should just use this command\n\n    module load plumed-tutorial-2017\n    \nThis command will load the proper version of plumed and gromacs, plus python/gnuplot/etc.\nYou can verify which modules were loaded by typing `module list`, that should result in something like this:\n\n    Currently Loaded Modulefiles:\n    1) intel/15.0                 4) python/3.3.2               7) vmd/1.9.2\n    2) openmpi/1.8.5/intel/15.0   5) numpy/1.11.1/python/3.3    8) Gawk/4.1.4\n    3) gnuplot/5.0.4              6) scipy/0.17.1/python/3.3    9) plumed-tutorial-2017/1.0\n\n\nUsing your laptop\n=================\nIf you want to perform the tutorials using your own laptop please follow closely these instructions.\n\nYou will have internet access, so if you prefer you can run the tutorial on a remote machine at your university. Make sure that you are able to connect to this machine from outside your university network. Also consider that visualization of trajectories using VMD might be very slow across as `ssh` connection. Finally, notice that installing some of the libraries below requires `sudo` (root access on your machine). If necessary, ask your system administrator to install the libraries for you.\n\nIf you have any question or feedback, please write to the plumed mailing list `plumed-users@googlegroups.com` so that everyone can benefit of questions and answers. In addition, if you are familiar with github and you want to improve this document, feel free to [open a pull request](https://github.com/plumed/tuto-trieste-instructions/pulls).\n\nRequirements\n------------\n\nFor the tutorial you will beed the following software to be installed:\n\n- C++ compiler (gcc, clang, or intel).\n- Git.\n- Cmake.\n- Gawk.\n- Libmatheval.\n- MPI library (either openmpi or mpich).\n- Gnuplot to plot data files.\n- VMD to visualize the trajectories.\n- PLUMED from master branch of github repository, updated when the tutorial starts\n- GROMACS 5.1 patched with PLUMED using `patch -p --runtime`, so that PLUMED can be updated easily.\n\nIn addition, if you have a smartphone or a tablet, please install [Socrative student](https://www.socrative.com/apps.html)\nin advance.\n\nIf you already have all this stuff ready you can stop here. Otherwise follow the steps below.\n\nNotice that if you have an older version of PLUMED installed (e.g. 2.3.x) it will not be sufficient for some of the exercizes.\n\nSupported operating systems\n---------------------------\n\nInstructions below are for Linux and OSX. With OSX we will assume you have Developer Tools as well as either [MacPorts](http://www.macports.org) or [HomeBrew](http://brew.sh/) installed. In case you don't, choose one among them and install it. Windows is not supported. In addition we are trying to setup a [Docker](http://www.docker.com) image that should work across multiple operating systems, more at the end of this page.\n\nGNU AWK\n-------\n\nWe will use GNU AWK in some exercize. Be sure your locale is set correctly. Please try\n\n     gawk 'BEGIN{print 3/2}'\n     \nIf you see `1.5` that's ok. If you see `1,5` (notice the comma!) then you have to change your locale settings. Usually adding `export LANG=C` to your bash configuration file is enough.\n\nInstall libraries \u0026 other stuff (Linux)\n---------------------------------------\n\nInstall git, cmake, gawk, libmatheval, MPI, and gnuplot:\n    \n    sudo apt-get install git cmake gawk\n    sudo apt-get install libmatheval-dev\n    sudo apt-get install libopenmpi-dev openmpi-bin\n    sudo apt-get install gnuplot\n    sudo apt-get install python3 python3-numpy python3-scipy\n\nYou can download VMD binaries [here](http://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=VMD).\n\nInstall libraries \u0026 other stuff (OSX with MacPorts)\n---------------------------------------------------\n\nInstall git, cmake, gawk, libmatheval, MPI, and gnuplot:\n\n    sudo port install git cmake gawk\n    sudo port install libmatheval\n    sudo port install openmpi\n    sudo port install gnuplot\n    sudo port install python36 py36-numpy py36-scipy\n\nYou can download VMD binaries [here](http://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=VMD).\n\nMake sure that your compiler is able to see the libraries you installed. Add to your `.bashrc` file the following lines\n\n    export PATH=\"/opt/local/bin:$PATH\"\n    export CPATH=\"/opt/local/include:$CPATH\"\n    export INCLUDE=\"/opt/local/include:$INCLUDE\"\n    export LIBRARY_PATH=\"/opt/local/lib:$LIBRARY_PATH\"\n    export LD_LIBRARY_PATH=\"/opt/local/lib:$LD_LIBRARY_PATH\"\n\nInstall libraries \u0026 other stuff (OSX with HomeBrew)\n---------------------------------------------------\n\n__TODO: add instructions for libmatheval__\n\nInstall git, cmake, gawk, libmatheval, MPI, and gnuplot:\n\n    sudo brew install git cmake gawk\n    sudo brew install openmpi\n    sudo brew install gnuplot\n    sudo brew install python3\n    sudo brew install numpy --with-python3\n    sudo brew install scipy --with-python3\n\nYou can download VMD binaries [here](http://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=VMD).\n\nInstall PLUMED\n--------------\n\nExtensive installation instructions for PLUMED can be found [here](https://plumed.github.io/doc-master/user-doc/html/_installation.html).\n\nConfigure PLUMED:\n\n    git clone https://github.com/plumed/plumed2.git\n    cd plumed2\n    ./configure\n    \nAfter command `./configure` please check carefully the reported warnings. If either `matheval` or `MPI` were not found you should check the previous steps. If you are using MacPorts and `MPI` was not detected, it might be that you have to do\n\n    ./configure CXX=mpicxx-openmpi-mp\n\nAfter you succeeded in configuring, you should compile PLUMED:\n\n    make -j 4\n    source sourceme.sh\n\nWhile compiling PLUMED you might receive an error like this one:\n\n    relocation R_X86_64_32 against `MPIR_ThreadInfo' can not be used when making a shared object; recompile with -fPIC\n\nThis means that you should reinstall your MPI library as a shared library.\n\nNow you should be able to run `plumed` from the command line. Try\n\n    plumed --help\n\nYou should see something like this\n\n    Usage: plumed [options] [command] [command options]\n      plumed [command] -h|--help: to print help for a specific command\n    Options:\n      [help|-h|--help]          : to print this help\n      [--is-installed]          : fails if plumed is not installed\n    # etcetera #\n\nAs a double check try to execute the following commands\n\n    plumed --has-mpi \u0026\u0026 echo ok\n    plumed --has-matheval \u0026\u0026 echo ok\n\nIn both cases the result should be `ok`.\n\nEverytime you want to use PLUMED you should first run the command\n\n    source /path/to/plumed2/sourceme.sh\n\nHere `/path/to/plumed2` is the directory where you compiled PLUMED.\n\nInstall GROMACS\n---------------\n\nMake sure that PLUMED is installed and functional before continuing with this step. Download GROMACS and patch it with PLUMED\n    \n    wget ftp://ftp.gromacs.org/pub/gromacs/gromacs-5.1.4.tar.gz\n    tar xzf gromacs-5.1.4.tar.gz\n    cd gromacs-5.1.4\n    plumed patch -p --runtime -e gromacs-5.1.4\n    mkdir build\n    cd build\n\nFor the last command you need `plumed` executable to be in your path. Be sure that you do not get any warning.\n\nConfigure GROMACS:\n\n    cmake \\\n     -DCMAKE_C_COMPILER=mpicc \\\n     -DCMAKE_CXX_COMPILER=mpicxx \\\n     -DCMAKE_INSTALL_PREFIX=$HOME/opt/ \\\n     -DGMX_THREAD_MPI:BOOL=OFF \\\n     -DGMX_MPI:BOOL=ON  ../\n\nNote on OSX with MacPorts: in case the name of the MPI compiler is `mpicxx-openmpi-mp`, in the above commands you should replace `mpicc` with `mpicc-openmpi-mp` and `mpicxx` with `mpicxx-openmpi-mp`.\n\nCompile GROMACS:\n\n    make -j 4\n    make install\n    \nThen add `$HOME/opt/bin` to your path. For instance, you can add this command to your `.bashrc` file: `PATH=\"$HOME/opt/bin:$PATH`. Now you should be able to run GROMACS using the following command\n\n    gmx_mpi mdrun\n\nVerify if GROMACS was correctly patched by PLUMED. Type\n\n    gmx_mpi mdrun -h | grep plumed\n\nYou should see something like this:\n\n          [-plumed [\u003c.dat\u003e]] [-membed [\u003c.dat\u003e]] [-mp [\u003c.top\u003e]] [-mn [\u003c.ndx\u003e]]\n     -plumed [\u003c.dat\u003e]           (plumed.dat)     (Opt.)\n\n\nDocker image\n------------\n\nMake sure Docker is installed and running on your computer. You can run an image containing PLUMED, GROMACS, and the other required tools using this command\n\n    docker run -it rinnocente/gromed-ts-tutorial-2017 /bin/bash\n\nIn case you want to share files between your machine and the Docker container, you can use the following command instead\n\n    docker run -v \"$(pwd)\":/home/gromed/data -it rinnocente/gromed-ts-tutorial-2017 /bin/bash\n\nThe working directory in your laptop will be then accessible as `$HOME/data` inside the Docker container.\n\nMore detailed instructions can be found at [this link](https://github.com/rinnocente/gromed-ts-tutorial-2017).\n\nMany thanks to Roberto Innocente (SISSA) for setting this up!\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplumed%2Ftuto-trieste-instructions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fplumed%2Ftuto-trieste-instructions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplumed%2Ftuto-trieste-instructions/lists"}