academic/ViennaRNA: Added (C Library).

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
Rob van Nues 2019-04-12 23:06:28 +07:00 committed by Willy Sudiarto Raharjo
parent 59eaa0314b
commit e0472971fa
4 changed files with 237 additions and 0 deletions

28
academic/ViennaRNA/README Normal file
View File

@ -0,0 +1,28 @@
# ViennaRNA Package
A C code library and several stand-alone programs for the prediction and comparison of RNA secondary structures.
Amongst other things, our implementations allow you to:
- predict minimum free energy secondary structures
- calculate the partition function for the ensemble of structures
- compute various equilibrium probabilities
- calculate suboptimal structures in a given energy range
- compute local structures in long sequences
- predict consensus secondary structures from a multiple sequence alignment
- predict melting curves
- search for sequences folding into a given structure
- compare two secondary structures
- predict hybridization structures of two RNA molecules
The package includes `Perl 5`, `Python 2`, and `Python 3` modules that give
access to almost all functions of the C library from within the respective
scripting languages.
There is also a set of programs for analyzing sequence and distance
data using split decomposition, statistical geometry, and cluster methods.
They are not maintained any more and not built by default.
The code very rarely uses static arrays, and all programs should work for
sequences up to a length of 32,700 (if you have huge amounts of memory that
is).

View File

@ -0,0 +1,180 @@
#!/bin/sh
# Slackware build script for ViennaRNA
# Copyright 2018 Rob van Nues
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=ViennaRNA
VERSION=${VERSION:-2.4.11}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
# You can configure some ViennaRNA features that are (not) compiled by default.
# See the README.md for details. You can enable/disable a these features by
# passing variables to the script (VAR=yes/no ./ViennaRNA.SlackBuild).
# indicated parts can be included/omitted
# not-included by default
# - CLuster Analysis (AnalyseSeqs, AnalyseDists)
# - Kinwalker (co-transcriptional folding)
# included but can be omitted:
# - Kinfold
# - RNAforester
# - RNAlocmin
# - Swig (all scripting interfaces)
# - Perl interface
# - Python interface
# - Python 3 interface
# - Streaming SIMD Extension support
# in the case of run time/ make/ or configure problems try turning off:
# - Link Time Optimization (LTO)
# for concurrent computation:
# - OpenMP support (disabling makes RNAlib not entirely threadsafe)
# - POSIX threads (pthread) support
# in case the following cause problems with your own third-party program that links against RNAlib
# for Z-score filtering via statically linked libsvm:
# - SVM Z-score filter in RNALfold
# - GNU Scientific Library for RNApvmin
cluster="" ; [ "${CLUS:-no}" != "no" ] && cluster="--with-cluster"
kinwalker="" ; [ "${KINW:-no}" != "no" ] && kinwalker="--with-kinwalker"
forester="" ; [ "${FORE:-yes}" != "yes" ] && forester="--without-forester"
kinfold="" ; [ "${KINF:-yes}" != "yes" ] && kinwalk="--without-kinfold"
rnalocmin="" ; [ "${RLOC:-yes}" != "yes" ] && rnalocmin="--without-rnalocmin"
perl="" ; [ "${PERL:-yes}" != "yes" ] && perl="--without-perl"
python="" ; [ "${PYTH:-yes}" != "yes" ] && python="--without-python"
python3="" ; [ "${PYT3:-yes}" != "yes" ] && python3="--without-python3"
swig="" ; [ "${SWIG:-yes}" != "yes" ] && swig="--without-swig"
simd="" ; [ "${SIMD:-yes}" != "yes" ] && simd="--disable-simd"
lto="" ; [ "${LTO:-yes}" != "yes" ] && lto="--disable-lto"
openmp="" ; [ "${OMP:-yes}" != "yes" ] && openmp="--disable-openmp"
pthreads="" ; [ "${PTHR:-yes}" != "yes" ] && pthreads="--disable-pthreads"
svm="" ; [ "${SVM:-yes}" != "yes" ] && svm="--without-svm"
gsl="" ; [ "${GSL:-yes}" != "yes" ] && gsl="--without-gsl"
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib$LIBDIRSUFFIX \
--mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--build=$ARCH-slackware-linux \
$cluster \
$kinwalker \
$forester \
$kinfold \
$rnalocmin \
$perl \
$python \
$python3 \
$swig \
$simd \
$lto \
$openmp \
$pthreads \
$svm \
$gsl || exit 1
make
make install DESTDIR=$PKG
##from https://www.tbi.univie.ac.at/RNA/packages/arch/PKGBUILD
cd misc
make install DESTDIR=$PKG
cd ..
# cleanup after dirty install ...
# install -dm755 $PKG/usr/bin/vendor_perl
for perlscript in $PKG/usr/share/ViennaRNA/bin/*.pl ; do
# mv "$perlscript" "$PKG/usr/bin/vendor_perl/"
mv "$perlscript" "$PKG/usr/bin/"
done
# no need for that file it is outdated anyway
rm $PKG/usr/share/info/dir
#gzip info file
gzip -9 $PKG/usr/share/info/*.info
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
find $PKG -name perllocal.pod \
-o -name ".packlist" \
-o -name "*.bs" \
| xargs rm -f
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
NEWS README.md AUTHORS COPYING THANKS INSTALL CHANGELOG.md license.txt \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View File

@ -0,0 +1,10 @@
PRGNAM="ViennaRNA"
VERSION="2.4.11"
HOMEPAGE="https://www.tbi.univie.ac.at/RNA"
DOWNLOAD="https://www.tbi.univie.ac.at/RNA/download/sourcecode/2_4_x/ViennaRNA-2.4.11.tar.gz"
MD5SUM="114ea7450ef994404754abdc6cb45353"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="grace gri"
MAINTAINER="Rob van Nues"
EMAIL="sborg63@disroot.org"

View File

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.
# Line up the first '|' above the ':' following the base package name, and
# the '|' on the right side marks the last column you can put a character in.
# You must make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
ViennaRNA: VienaRNA (C Library)
ViennaRNA:
ViennaRNA: The ViennaRNA Package consists of a C code library and several
ViennaRNA: stand-alone programs for the prediction and comparison of RNA
ViennaRNA: secondary structures.
ViennaRNA:
ViennaRNA: Reference: Lorenz R, Bernhart SH, Höner Zu Siederdissen C, Tafe
ViennaRNA: H, Flamm C, Stadler PF, Hofacker IL. ViennaRNA Package 2.0
ViennaRNA: Algorithms Mol. Biol., 6:1 26, 2011, doi:10.1186/1748-7188-6-26
ViennaRNA: Home: https://www.tbi.univie.ac.at/RNA
ViennaRNA: