Wales Group
This page is intended to be an index of useful info concerning group practice and use of software including tutorials. Please feel free to add any notes you have on software use and especially on common problems you encounter. Any links in red have not been written yet so if you get time, please fill in some of the gaps.
Comprehensive Contents Page
Please click here for a comprehensive, organised list of all of the pages comprising this wiki + some other useful links.
If you add a new page to this wiki, please provide a link to it in the Comprehensive Contents Page under the section you think most appropriate. If this is intended as a private group-only page, please add the page to the group-wiki contents page instead wales:Group-Only Contents Page.
Getting started with the group software
If you're new to the group, or are using one of our codes for the first time, this is the place to start. The links below will guide you through the process of acquiring the group source code, compiling our software, running your first jobs and give you some ideas of where to look for solutions when things go wrong.
If you haven't already, ask to be added to the group calendars and Google Drive folder - both contain a lot of useful information!
Acquiring a copy of the source code using svn
Our software is managed under Subversion (SVN) version control. For information on how to set up your SVN details and access the code, see the SVN setup page. Tips on good practice when using SVN can be found on the group version control page. It is highly recommended that you read this once you have set up your details. Once you're up and running, you should definitely take a look at the Theory Sector SVN Page which is chock full of useful info on the commands you'll be using on a regular basis.
Compiling our software using cmake
Once you have a copy of the source code, each of our major group codes can be easily compiled using cmake. You can find simple instructions on how to do so on the group cmake page.
Running through the curated examples
There are a set of curated examples with detailed tutorials we use to teach at workshops that you can run through to get a feel for each of the group's codes. You can find them Github here - this is also the best place to view the instructions for each example.
To make things even easier, you can install VirtualBox and use the prepared teaching virtual machine we use for workshops. This contains the code and examples and is (almost!) guaranteed to work. You can download the VM image here. Note that you might need to enable virtualisation in your BIOS settings for this to run.
Alternatively if you would like to run the examples on your own machine, you can get hold of the files themselves to run yourself as follows:
git clone https://github.com/wales-group/examples.git
Running your first jobs
If you're using one of the group compute clusters, you can find some very useful information about submitting jobs here. There is also a short presentation on how IT support works for the group here.
The official documentation for our codes can be found here. It is highly recommended that before you start any jobs, you check the documentation to make sure you understand what each keyword you have specified does and if it's necessary! There is also example input for each program on there so take a look.
The links below provide a few extra working examples for each program the group uses, from initial setup to job submission. A list of the references to be cited for the algorithms in the group software can be found here.
The below links provide more information on each piece of code, including worked tutorials (these may be out of date!) and general help.
- GMIN: A program for finding global minima and calculating thermodynamic properties from basin-sampling.
- OPTIM: A program for optimizing geometries and calculating reaction pathways
- PATHSAMPLE: A driver for OPTIM to create stationary point databases using discrete path sampling and perform kinetic analysis
- pele : Python energy landscape explorer. A pythonic rewrite of some core functionality of GMIN, OPTIM, and PATHSAMPLE. Can be very useful for visualizing your system and for rapidly implementing and testing new ideas.
If you're ever unsure what's going on, or if the output you are getting is sensible - please just ask someone - we're always happy to take a look :) If you work on biomolecules, you might want to have a look at Biomolecules in the energy landscape framework.
Checking on the health of the code
The group software is compiled each night for all the compilers and all the targets. The results can be viewed here, or see the Jenkins CI page for more details.
Collaborators without access to the SVN repository
The source for GMIN, OPTIM and PATHSAMPLE can be downloaded from the Wales Group website here. This public tarball is compiled from the current release version of the repository (not the trunk) and does not include any of the AMBER(9/12/14) or CHARMM code and associated interfaces. This is simply because we do not have permission to distribute this code for licensing reasons.
If a collaborator has a CHARMM or AMBER licence, we do maintain separate tarballs which include the CHARMM, AMBER and CHARMM+AMBER source and interfaces. These are not linked anywhere on the website and require a username (wales) and password (group) to download:
Please think carefully before giving these details out and never post them to a public forum/message board/email list!
Useful non-group software
- CHARMM
- AMBER
- MMTSB-toolset
- gnuplot
- VMD
- Pymol
- xmgrace
- latex2html
- aux2bib - to generate a bib file containing only the entries cited in a given .tex file from a larger bib or multiple bib files.
- xfig
- disconnectionDPS
- Xmakemol
- GAMESS
- Installing GROMACS on Clust
- Computing CHARMM FF energy using GMIN, MMTSB and CHARMM
- pgprof: profiler for portland-compiled codes
Useful scripts
- perm-prmtop.py: A python program that converts an AMBER9 topology file into one with a symmetrised potential with respect to exchange (updated for AMBER12 and ff14SB).
- perm-pdb.py: A python program that creates a perm.allow file for use with OPTIM and PATHSAMPLE.
- path2pdb.py: A python program to convert path.info to path_all.pdb - you can easy visualize your path in VMD :)
- path2xyz.py: A python program to convert path.info to path_all.xyz
- dijkstra_test.py: A python script to test whether the information in pairlist and ts.data connects the A and B set. (If not, PATHSAMPLE will not work without actually exiting.)
- extractedmin2pdb.py: A python program to convert exctractedmin to PDB format
- colourdiscon.py: A python program for sorting input for disconnectivity graphs
- pdb_to_movie.py: A python program to create an AMH movieseg file from a PDB file
- makerestart: A bash script to automatically set up a GMIN restart run
- progress A bash script to tell you the % completion of a GMIN job and give an estimated time remaining
- recommended bash aliases
- David's .inputrc file
- Useful .vmdrc file
- Density of states and thermodynamics from energy distributions at different temperatures
- GenCoords: A fortran program to generate coarse grain building blocks and initial coords using a set of geometric models.
- plotGMINms.tcl: a tcl script for plotting ellipsoids in VMD.
See also the SCRIPTS/ directory in the SVN repository!
Useful links
- The Theory Compute Clusters support page. Contains useful cluster specific information, including example job submission scripts.
- A useful website which contains AMBER (GAFF) and OPLS parameters for small molecules. http://virtualchemistry.org/gmld.php . This could save us lot of time while trying to derive parameters on our own. If you are lucky, the molecule of your interest may already be there in the existing database. The topology files are in GROMACS format but possibly can be converted into AMBER parameter files. (script anyone ?)
- The moving-domain QM/MM method developed by Victor Batista's group http://gascon.chem.uconn.edu/software. This approach can be used in the derivation of charges for large proteins and nucleic acids, where a full-fledged ONIOM based calculation is comptutationally prohibitive. It has been applied to systems like the Gramicidin ion channel and Photosystem II.
Useful linux stuff
Basics
- basic linux commands everyone should know!
- piping and redirecting output from one command or file to another - how to save yourself hours!
- bash loop tricks
- bash history searching
Remote access
- setting up aliases to quickly log you in to a different machine
- transfering files to and from your workstation -using scp or rsync
- using 'ssh-keygen' to automatically log you into clusters from your workstation (no more typing in your password!)
- mounting sharedscratch locally
Find and replace
File manipulation
- sorting a file by multiple columns
- using tar and bzip2 to compress/uncompress files
- conversion between different data file formats -'almost one-line' scripts
- conversion between different image file formats - the convert command
- removing an excessive number of files from a directory - when 'rm' just isn't enough
Cluster queues
- submitting jobs, interactively or to a cluster queue system
- identifying job on a node - if you need to kill only one of few running jobs
- a guide to using SLURM to run PATHSAMPLE
- a guide to using SLURM to run GPU jobs on pat
Miscellaneous/uncategorised
- installing packages on your managed CUC3 workstation
- running programs in the background - so you can use your shell for other things at the same time
- finding bugs in latex documents that will not compile
- printing files from the command line using 'lpr'
- uploading non image files to the wiki
- group Mendeley account