LOOS on Helix
LOOS (Lightweight Object-Oriented Structure library) is a code library for developing new analysis applications, designed to simplify the common tasks (reading structure and trajectory files, selecting atoms, computing geometric quantities) found in almost every application. Moreover, it is distributed with a number of useful standalone tools, ranging from simple things like radial distribution functions and radii of gyration to principal component analysis to sophisticated methods for analyzing statistical errors.
LOOS has several major features:
- It transparently reads the native file formats for most major biomolecular simulation pacakges, including CHARMM, NAMD, gromacs, AMBER, and Tinker.
- It uses an expressive syntax to allow selection of atoms using all available metadata (e.g. atom number, residue name, etc). For more information see Selection Language.
- It allows novel analysis applications to be developed rapidly, with minimal programming skill required. For example, atoms are referred to using reference-counted shared pointers, which retain the benefits of using pointers (e.g. rapid, lightweight copying) without requiring the developer to do manual memory management.
Here is a list of the current stand-alone tools available:
aligner decorr_time hoccupancies.pl rmsd2ref anm density-dist interdist rmsds area_per_lipid density-dist-windowed kurskew rmsf assign_frames drifter mat2loos.pl rmsfit atomic-rdf dumpmol merge-traj rotamer averager effsize.pl model-select rsv-coscon avgconv eigenflucc model2matlab simple_model_calc bcom enmovie model_calc simple_model_transform big-svd expfit molshape sortfids blob_contact exposure native_contacts subsetter blob_stats fidpick near_blobs svd blobid frame2pdb neff svdcolmap block_average gmxdump2pdb.pl order_params torsion block_avgconv gnm paxes traj2dcd blurrogram.pl grid2ascii peakify traj2matlab boot_bcom grid2xplor periodic_box traj2pdb bootstrap_overlap.pl gridautoscale perturb-structure traj_calc bounding griddiff phase-pdb traj_transform center-model gridgauss pick_blob trajinfo center-molecule gridinfo porcupine ufidpick clipper gridmask potential_profile.py vsa concat-selection gridscale psf-masses water-count contact-time gridslice qcoscon water-extract contacts gridstat ramachandran water-hist contained hbonds rdf water-inside convert2pdb hcontacts rebond water-sides coscon hcorrelation recenter-trj xy_rdf coverlap heavy-ca reimage-by-molecule xy_rdf_timeseries cross-dist helix_kink renum-pdb crossing-waters hierarchy residue-contact-map dcdinfo hmatrix rgyr
To used LOOS, first set the environment using modules. To see the modules available, type
module avail LOOS
To select a module, type
module load LOOS/[ver]
where [ver] is the version of choice.
There are a large number of tools available within LOOS. At the prompt, type the command to see a brief help message. For example,
rmsfit Usage- rmsfit [options] source-filename target-filename Allowed Options: --config arg Options config file --fullhelp More detailed help -h [ --help ] Produce this message -v [ --verbosity ] arg (=0) Verbosity of output (if available) -A [ --apply ] arg (=all) Subset of source model to apply transformation to -S [ --source ] arg (=name == 'CA') Subset of the source model to align with -T [ --target ] arg (=name == 'CA') Subset of the target model to align with
A comprehensive listing and descriptions of all the tools are available here: LOOS Tools Summary
In addition to pre-built tools, the LOOS library allows for building your own tools using C++. Here is a general commandline for compiling:
g++ -o mytool mytool.cpp -I$LOOSHOME/include -L$LOOSHOME/lib -lloos -lboost_regex -llapack -latlas