#rna #bioinformatics #structural-alignment #programming-language

bin+lib consalign

RNA Structural Aligner Based on Transfer-learning and Thermodynamic Ensemble Model

10 releases

Uses old Rust 2015

0.1.9 Feb 24, 2023
0.1.7 Jan 24, 2023
0.1.6 Dec 27, 2022
0.1.5 Nov 24, 2022
0.1.2 Jul 26, 2022

#165 in Biology

MIT license

63KB
1.5K SLoC

RNA Structural Aligner Based on Transfer-learning and Thermodynamic Ensemble Model

Installation

This project is written mainly in Rust, a systems programming language. You need to install Rust components, i.e., rustc (the Rust compiler), cargo (the Rust package manager), and the Rust standard library. Visit the Rust website to see more about Rust. You can install Rust components with the following one line:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

The above installation is done by Rustup, and Rustup enables to easily switch a compiler in use. You can install ConsAlign as follows:

# AVX, SSE, and MMX enabled for rustc
# Another example: RUSTFLAGS='--emit asm -C target-feature=+avx2 -C target-feature=+ssse3 -C target-feature=+mmx -C target-feature=+fma'
RUSTFLAGS='--emit asm -C target-feature=+avx -C target-feature=+ssse3 -C target-feature=+mmx' \
  cargo install consalign

Check if you have installed ConsAlign properly as follows:

# Its available command options will be displayed.
consalign

Train ConsAlign Using Your Training Data

To train ConsAlign, you first need to install ConsTrain, a training tool for ConsProb (ConsAlign's back engine). Then, you pass ConsTrain your training data and install ConsAlign with your trained parameters. You can do the above training recipe as follows:

git clone https://github.com/heartsh/consalign \
  --recurse-submodule=consprob-trained
cd consalign/consprob-trained/scripts
./constrain_using_your_data.sh \
  train_data_dir_path train_log_file_path

Docker Playground

I offer my Docker-based playground for RNA software and its instruction to replay my computational experiments easily.

Method Digest

ConsProb-Turner and ConsProb-trained infer sparse posterior matching/base-pairing probabilities on RNA pairwise structural alignment using Turner's model and the CONTRAfold models, respectively. This repository offers ConsAlign, a transfer-learned RNA structural aligner combining ConsProb-Turner and ConsProb-trained. When you run ConsAlign, it automatically determines its alignment prediction hyper-parameters by maximizing expected sum-of-pairs scores.

Author

Heartsh

License

Copyright (c) 2018 Heartsh
Licensed under the MIT license.

Dependencies

~81MB
~1.5M SLoC