Package: barnaba
IntroductionBarnaba is a tool for analyzing RNA three-dimensional structures and simulations. Barnaba uses MDtraj to read/write topology and trajectory files, as such it supports several formats including pdb, xtc, trr, dcd, binpos, netcdf, mdcrd, prmtop, and more.
Barnaba has been developed by Sandro Bottaro with the crucial help of Giovanni Bussi, Giovanni Pinamonti, Sabine Rei{ss}er and Wouter Boomsma.This is what you can do with Barnaba:Calculate eRMSD [1]Calculate RMSD after optimal alignmentSearch for single/double stranded RNA motifs in the PDB database or in simulations [1]Annotate PDB structures and trajectories with the Leontis-Westhof classificationProduce dynamic secondary structure figures in SVG formatCluster nucleic acids structures using the eRMSD as a metric distanceCalculate elastic network models for nucleic acids and nucleic acids/protein complexes [2]Calculate backbone and pucker torsion angles in a PDB structure or trajectoryBack-calculate 3J scalar couplings from PDB structure or trajectoryScore three-dimensional structures using eSCORE [1]For bugs, questions or comments contact Sandro at sandro dot bottaro (guesswhat) gmail dot comIf you use Barnaba in your work,  please cite the following paper:@article{bottaro2019barnaba,
        title={Barnaba: software for analysis of nucleic acid structures and trajectories},
        author={Bottaro, Sandro and Bussi, Giovanni and Pinamonti, Giovanni and Rei{\ss}er, Sabine and Boomsma, Wouter and Lindorff-Larsen, Kresten},
        journal={RNA},
        volume={25},
        number={2},
        pages={219--231},
        year={2019},
        publisher={Cold Spring Harbor Lab}
}The manuscript is also available on biorXiv here:https://www.biorxiv.org/content/10.1101/345678v3RequirementsBarnaba requires:Python >= 3.6NumpyScipyMdtraj 1.9futureBarnaba requires mdtraj (http://mdtraj.org/) for manipulating structures and trajectories.
To perform cluster analysis, scikit-learn is required too.Required packages can be installed usingpip, e.g.:pip install mdtrajInstallationYou can obtain the latest tagged version of barnaba using pip:pip install barnabaIf you prefer to manage your dependencies with conda you can use:conda -c conda-forge install barnabaOn MacOS, you can install the same tagged version using the python distributed with MacPorts:sudo port install py36-barnabaJust replace 36 with the python version that you prefer to use.Alternatively, you can find the most recent version of barnaba on Github:git clone git://github.com/srnas/barnaba.gitthen move to the barnaba directory and run the commandpip install -e .UsageBarnaba can be either used as a Python library or as a commandline tool.
A number of Notebook examples can be found in theexamplesdirectory.
The notebooks for conducting the analyses and producing the figures in the manuscript can be found in the foldermanuscript_figures.Alternatively, the command-line interface can be found in the bin directory. Here’s a minimal how-tominimal help:
barnaba –helpCalculate the ERMSD between structuresbarnaba ERMSD –ref ../test/data/sample1.pdb –pdb ../test/data/sample2.pdbtrajectories can be provided as well, by specifying a topology filebarnaba ERMSD –ref ../test/data/sample1.pdb –top ../test/data/sample1.pdb –trj ../test/data/samples.xtcother accepted options are shown in a function-specific helpbarnaba ERMSD –helpCalculate the RMSD between structuresbarnaba RMSD –ref ../test/data/sample1.pdb –pdb ../test/data/sample2.pdb –dumpFind single stranded motifbarnaba SS_MOTIF –query ../test/data/GNRA.pdb –pdb ../test/data/1S72.pdbFind double stranded motif. l1 and l2 are the lengths of the two strandsbarnaba DS_MOTIF –query ../test/data/SARCIN.pdb –pdb ../test/data/1S72.pdb –l1 8 –l2 7Annotate structures/trajectories according to the Leontis/Westhof classification.barnaba ANNOTATE –pdb ../test/data/SARCIN.pdbProduce dynamic secondary-structure figures. It requires as input the files .pairing and .stacking produced with the ANNOTATE command.barnaba SEC_STRUCTURE –ann outfile.ANNOTATE.stacking.out outfile.ANNOTATE.pairing.outCalculate backbone/sugar/pseudorotation anglesbarnaba TORSION –pdb ../test/data/GNRA.pdb –backbone –sugar –puckerCalculate J-couplingsbarnaba JCOUPLING –pdb ../test/data/sample1.pdbCalculate elastic network models for RNA and predict SHAPE reactivity. NB: only works with PDB.barnaba ENM –pdb ../test/data/GNRA.pdb –shapeCalculate relative positions between bases R_ij  ang G vectors for pairs within ellipsoidal cutoffbarnaba DUMP –pdb ../test/data/GNRA.pdb –dumpG –dumpRExtract fragments from structures with a given sequence. NB: only works with PDB.barnaba SNIPPET –pdb ../test/data/1S72.pdb  –seq NNGNRANNCalculate ESCOREbarnaba ESCORE –ff ../test/data/1S72.pdb –pdb ../test/data/sample1.pdbReferences[1] Bottaro, Sandro, Francesco Di Palma, and Giovanni Bussi.“The role of nucleobase interactions in RNA structure and dynamics.”
Nucleic acids research 42.21 (2014): 13306-13314.[2] Pinamonti, Giovanni, et al.“Elastic network models for RNA: a comparative assessment with molecular dynamics and SHAPE experiments.”
Nucleic acids research 43.15 (2015): 7260-7269.