Giter Site home page Giter Site logo

jian-zhan / rna-briq Goto Github PK

View Code? Open in Web Editor NEW
14.0 2.0 5.0 191 KB

Robust RNA structure refinement by a nucleobase-centric sampling algorithm coupled with a backbone rotameric and quantum-mechanical-energy-scaled base-base knowledge-based potential

CMake 0.46% C++ 99.51% C 0.03%

rna-briq's Introduction

RNA-BRiQ

This repository contains codes for the following work: Peng Xiong, Ruibo Wu, Jian Zhan and Yaoqi Zhou, Robust RNA structure refinement by a nucleobase-centric sampling algorithm coupled with a backbone rotameric and quantum-mechanical-energy-scaled base-base knowledge-based potential.

DOI

This is free software for non-commercial users. If you have any questions, please contact Peng Xiong via email [email protected]

Installation

Prerequisites

Make sure these following prerequisites have been installed:

  • C++ compiler: Needs to be C++11 compatible. Gcc 9.3.0 and Clang 9.1.0 tested.
  • GNU Make
  • Git
  • CMake
  • Wget and Tar - Optional: to download and extract the preprocessed data.

Compilation

  1. Clone from the repository:
git clone https://github.com/Jian-Zhan/RNA-BRiQ RNA-BRiQ
  1. Change directory to RNA-BRiQ/build/ and compile the codes:
mkdir RNA-BRiQ/build/
cd RNA-BRiQ/build/
cmake ../
make

Data

Preprocessed data for the RNA-BRiQ can be downloaded from http://servers.sparks-lab.org/downloads/RNA-BRiQ-data.tar.gz. The data should be downloaded, and extracted to $BRiQ_DATAPATH before continuing.

wget http://servers.sparks-lab.org/downloads/RNA-BRiQ-data.tar.gz

export BRiQ_DATAPATH=FILEPATH/BRiQ_data     ## Change "FILEPATH" to the real path to contain the preprocessed data
tar -xvz RNA-BRiQ-data.tar.gz --one-top-level=$BRiQ_DATAPATH

Running the program

Environment variables

The path containing BRiQ executables should be appended to $PATH. And $BRiQ_DATAPATH should be correctly set.

export BRiQ_DATAPATH=FILEPATH/BRiQ_data    ## Change "FILEPATH" to the real path containing the preprocessed data
export PATH=$PATH:FILEPATH/BRiQ/build/bin  ## Change "FILEPATH" to the real path containing the compiled codes

Input files

Before running the program, you need to prepare the input file. An example files can be found at demo/gcaa/input

pdb gcaa.pdb    ## Initial structure in PDB format
seq GCGCAAGC    ## RNA nucleotide sequence
sec ((....))    ## Watson-Crick pairs
nwc ..(..)..    ## Non-Watson-Crick pairs
fixed 0 1 6 7   ## Index of the fixed nucleotides during structure sampling, starting from 0

If there is only RNA sequence but no reference PDB structure, BRiQ_InitPDB can generate an initial PDB structure from sequence. For example, the following command generates an initial PDB structure for RNA sequence GCGCAAGC.

BRiQ_InitPDB GCGCAAGC init.pdb

And the base pairing information can be extracted by BRiQ_AssignSS from the input PDB structure $INPUTPDB and stored to $OUTFILE:

BRiQ_AssignSS $INPUTPDB $OUTFILE

RNA structure refinement

BRiQ_Refinement is the program to refine the initial structure of a RNA.

BRiQ_Refinement $INPUT $OUTPDB $RANDOMSEED

Where $INPUT is the input file, $OUTPDB is the output structure, and $RANDOMSEED is the random seed.

RNA structure prediction

BRiQ_Predict is the program to predict the structure of a RNA.

BRiQ_Predict $INPUT $OUTPDB $RANDOMSEED

Where $INPUT is the input file, $OUTPDB is the output structure, and $RANDOMSEED is the random seed.

Demonstrations

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.