High-Performance Computing at the NIH
GitHub YouTube @nih_hpc RSS Feed


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:

Here is a list of the current stand-alone tools available:

aligner               coverlap               gridinfo          order_params          simple_model_calc
anm                   cross-dist             gridmask          packing_score         simple_model_transform
area_per_lipid        crossing-waters        gridscale         paxes                 smooth-traj
assign_frames         dcdinfo                gridslice         peakify               sortfids
atomic-rdf            decorr_time            gridstat          periodic_box          subsetter
averager              density-dist           hbonds            perturb-structure     svd
avgconv               density-dist-windowed  hcontacts         phase-pdb             svdcolmap
bcom                  dibmops                hcorrelation      pick_blob             torsion
big-svd               drifter                heavy-ca          porcupine             traj2dcd
blob_contact          dumpmol                helix_kink        potential_profile.py  traj2matlab
blobid                effsize.pl             hierarchy         psf-masses            traj2pdb
blob_stats            eigenflucc             hmatrix           qcoscon               traj_calc
block_average         enmovie                hoccupancies.pl   ramachandran          trajinfo
block_avgconv         expfit                 interdist         rdf                   traj_transform
blurrogram.pl         exposure               kurskew           rebond                transition_contacts
boot_bcom             fcontacts              mat2loos.pl       recenter-trj          ufidpick
bootstrap_overlap.pl  fidpick                membrane_map      reimage-by-molecule   vsa
bounding              fixdcd                 merge-traj        renum-pdb             water-autocorrel
center-molecule       frame2pdb              model2matlab      residue-contact-map   water-count
chist                 gmxdump2pdb.pl         model_calc        rgyr                  water-extract
clipper               gnm                    model-meta-stats  rmsd2ref              water-hist
concat-selection      grid2ascii             model-select      rmsds                 water-inside
contacts              grid2xplor             molshape          rmsf                  water-sides
contact-time          gridautoscale          mops              rmsfit                water-survival
contained             gridavg                native_contacts   rotamer               xtcinfo
convert2pdb           griddiff               near_blobs        rsv-coscon            xy_rdf
coscon                gridgauss              neff              serialize-selection   xy_rdf_timeseries

To use 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.

How to Use

There are a large number of tools available within LOOS. At the prompt, type the command to see a brief help message. For example,

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

LOOS Website