Code Monkey home page Code Monkey logo

rnablueprint's Introduction

RNAblueprint library

Introduction

The RNAblueprint library solves the problem of stochastically sampling RNA/DNA sequences compatible to multiple structural constraints. It only creates sequences that fulfill all base pairs specified in any given input structure. Furthermore, it is possible to specify sequence constraints in IUPAC notation. Solutions are sampled uniformly from the whole solution space, therefore it is guaranteed, that there is no bias towards certain sequences.

The library is written in C++ with SWIG scripting interfaces for Python and Perl. Please cite the software as specified at the bottom of the page!

Dependencies

Required:

  • GNU Automake
  • Boost Graph Library
  • C++ Standard Library

Optional:

  • Boost Programm Options (default: on)
  • SWIG for interfaces (default: on)
  • Python for interface (default: on)
  • Perl for interface (default: on)
  • ExtUtils::Embed module for perl interface (default: on)
  • Doxygen for documentation
  • LaTeX for PDF documentation
  • libGMP for multiprecision integers
  • Boost Unit Test Framework

Installation

Just call these commands:

./autogen.sh
./configure
make
make install

In case of a local installation, please do not forget to adopt your path variables such as PATH, LD_LIBRARY_PATH, CPLUS_INCLUDE_PATH, PYTHONPATH, PERL5LIB

Most important configure options are:

--prefix Specify an installation path prefix
--with-boost Specify the installation directory of the boost library
--disable-program  Disable RNAblueprint program compilation
--disable-swig Disable all SWIG scripting interfaces
--enable-libGMP Enable the calculation of big numbers with multiprecision

TIP: You might want call ./configure --help for all install options!

Documentation

Library documentation is done using Doxygen. Call make doxygen-doc for a offline version in HTML and PDF. There is also a online version available here: http://viennarna.github.io/RNAblueprint/

Documentation of the RNAblueprint program is provided by calling RNAblueprint --help.

Testing

Unit tests are available for many functions of the library. Please call make check to run these tests!

How to cite

Stefan Hammer, Birgit Tschiatschek, Christoph Flamm, Ivo L. Hofacker, and Sven Findeiß. “RNAblueprint: Flexible Multiple Target Nucleic Acid Sequence Design.” Bioinformatics, 2017. doi:10.1093/bioinformatics/btx263.

rnablueprint's People

Contributors

j-4 avatar raumzeit avatar svenderheld avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

rnablueprint's Issues

Installation (lib/lib64)

During installation two lib folders are created: lib and lib64

  1. Installation Guide: Hint: in case of a local installation both must be added to the PYTHONPATH
  2. Code update: merge them to only one lib

Unit tests fail in conda env: undefined reference to clock_gettime()

When running the unit tests via make check inside a conda environment, the linking of testRNAblueprint fails with the following error message:

/home/felix/miniconda3/envs/rnablueprint/bin/../lib/gcc/x86_64-conda_cos6-linux-gnu/7.3.0/../../../../x86_64-conda_cos6-linux-gnu/bin/ld: testRNAblueprint-main.o: in function `boost::unit_test::timer::timer::elapsed() const':
main.cc:(.text._ZNK5boost9unit_test5timer5timer7elapsedEv[_ZNK5boost9unit_test5timer5timer7elapsedEv]+0x45): undefined reference to `clock_gettime'
/home/felix/miniconda3/envs/rnablueprint/bin/../lib/gcc/x86_64-conda_cos6-linux-gnu/7.3.0/../../../../x86_64-conda_cos6-linux-gnu/bin/ld: testRNAblueprint-main.o: in function `boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*)':
main.cc:(.text._ZN5boost9unit_test9framework5state17execute_test_treeEmmPKNS2_23random_generator_helperE[_ZN5boost9unit_test9framework5state17execute_test_treeEmmPKNS2_23random_generator_helperE]+0x5b3): undefined reference to `clock_gettime'
collect2: error: ld returned 1 exit status
Makefile:674: recipe for target 'testRNAblueprint' failed
make[2]: *** [testRNAblueprint] Error 1

My conda env was created using the following command:

conda create -n rnablueprint c-compiler python boost cxx-compiler perl swig automake autoconf libtool m4

The problem seems to be that clock_gettime needs to be linked with -lrt, cf. man clock_gettime. There it sais " Link with -lrt (only for glibc versions before 2.17)." Adding -lrt to testRNAblueprint_LDADD in tests/Makefile.am solves this problem. librt is part of the Linux Standard Base specification, so it should be present everywhere (?).

'configure' error

Hello,
I am trying to install this software and getting the following error:

Screen Shot 2019-10-28 at 11 23 22

I am not well-versed in C++, but perhaps the configure file should be checking for prerequisites to adjacency_list.hpp instead of doing an explicit pre-processor check on it? I'd appreciate your help with this issue. Thanks!

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.