consalifold

Crates.ioconsalifold
lib.rsconsalifold
version0.1.17
sourcesrc
created_at2020-07-13 06:52:14.646253
updated_at2023-02-26 11:50:29.84218
descriptionConsensus Secondary Structure Predictor Engaging Structural Alignment-based Error Correction
homepage
repositoryhttps://github.com/heartsh/consalifold
max_upload_size
id264626
size24,286,806
Heartsh (heartsh)

documentation

README

Consensus Secondary Structure Predictor Engaging Structural Alignment-based Error Correction

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. As ConsAlifold's dependencies, you need to install ViennaRNA and LocARNA-P (if you wish to use instead of ConsProb). You can install ConsAlifold 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 consalifold

Check if you have installed ConsAlifold properly as follows:

# Its available command options will be displayed.
consalifold

You can run ConsAlifold with a prepared test RNA alignment:

git clone https://github.com/heartsh/consalifold \
  && cd consalifold
cargo test --release
# The below command requires Gnuplot (http://www.gnuplot.info)
# Benchmark results will be found at "./target/criterion/report/index.html"
cargo bench

By the following Python script, you can reproduce the figures shown in the paper describing ConsAlifold's principle:

cd scripts
# Please install python packages required to this reproduction.
# Saved figures will appear at the "../assets/images" directory.
./run_all.sh

Docker Playground

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

Method Digest

RNAalifold folds each RNA sequence alignment, minimizing the average free energy of a predicted consensus secondary structure. Based on posterior column base-pairing probabilities on RNA consensus secondary structures, PETfold and CentroidAlifold fold each RNA sequence alignment. PETfold and CentroidAlifold correct potential errors in each input sequence alignment utilizing posterior nucleotide base-pairing probabilities on RNA secondary structures. To achieve better alignment error correction than PETfold and CentroidAlifold, I developed ConsAlifold implemented in this repository. ConsAlifold folds each RNA sequence alignment correcting its potential errors with average probabilistic consistency.

Author

Heartsh

License

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

Commit count: 139

cargo fmt