Skip to main content

Introduction

RNAmotiFold is an RNA secondary structure prediction algorithm that parallely recognizes RNA 3D Motifs through sequence matching. It comes pre-set with a number of motifs build into the algorithm, which are taken from the RNA 3D Motif Atlas. Also provided is a manually extracted set of RNA 3D Motifs from the Rfam database available as well. You can add your own custom motifs as csv files, the required formatting for hairpin, internal and bulge loops is shown in the respective commandline arguments when calling -h. This repository contains the code for same named Python Package, which I wrote to make the algorithm more accessible and to implement it into python scripts. The underlying algorithms for RNAmotiFold, RNAmotiCes and RNAmotiAlign are written in Bellman's GAP, translated into C++, and then compiled. The prediction is thus separate from python, keeping it as efficient as possible. You can either clone this repo, or directly install it from PyPI. This package comes with a python wrapper (RNAmotiFold.py) for the underlying algorithms implemented in Bellman's GAP. If you want to directly work with the compiled algorithm binaries, I recommend taking a look at the RNALoops repo. These lack several features though, including the single motif mode, which is implemented as part of this python package. If you have any questions please reach out to me through my public email address: marius.sebeke@ibmg.uni-stuttgart.de


Dependencies

Tested on the following dependencies:

  • Modified Bellman's GAP compiler gapcM == 2026.09.26
  • perl interpreter == perl v5.38.2
  • Python interpreter == Python 3.12.3
  • ubuntu == 24.04

Setup

The RNAmotiFold python wrapper requires the modified Bellman's GAP compiler gapcM, along with it's dependencies and a perl interpreter, to be installed. If the modified Bellman's GAP compiler or perl interpreter is not installed system wide it's location can be supplied using the --gapc_path/--perl_path option. Also if your GNU make is not installed system wide it can also be supplied with --make_path. If any of these are not supplied, the script will look try to find them on its own. RNAmotiFold is compatible with most UNIX systems, but it is not windows compatible. Unfortunately it is currently not available for Mac Systems, though a port might come in the future. No admin right are required for either the modified Bellman's GAP compiler or RNAmotiFold. These dependencies are only required on first use, they are no longer required after the installation of the algorithm binaries. Installation Guide:

  1. Either directly install RNAmotiFold from PyPI or clone this repository with git clone https://github.com/RNABioInfo/RNAmotiFold.git --recurse-submodules and install it into your virtual environment with pip install . from the base RNAmotiFold directory.
  2. The python wrapper will now be installed, but the compiled RNA secondary structure prediction algorithms are still missing. To set them up, run the RNAmotiFold_installer script and supply the dependencies through their associated commandline arguments (e.g. path to your modified GAPC to --gapc_path ). All three install dependencies are also searched for on your system if they are not supplied, using shutil.which and command -v {dependency}. Installation might take a minute, as all the available binaries are installed. This process has to be done once whenever installing RNAmotiFold into a new environment, as everything is installed and kept locally.
  3. RNAmotiFold is now ready to use in the virtual environment it was installed in, either through the command line by directly calling RNAmotiFold, RNAmotices, RNAmoSh, or RNAmotiAlign or in your scripts. Simply import RNAmotiFold and you will be able to call RNAmotiFold.rnamotifold, RNAmotiFold.rnamotices, RNAmotiFold.rnamotices_pfc and all the other algorithms directly from your script.

Notes

  • Be sure to check out all the available commandline parameters with RNAmotiFold -h!
  • Calling RNAmotiFold.py without an input will start an interactive session with your set commandline arguments, letting you do individual calculations. Calling it with an input calls your chosen algorithm, does the predictions and returns the output. Interactive sessions are not available through the python API.
  • On the topic of inputs, RNAmotiFold accepts all kinds of inputs, from an RNA sequences as a simple string, to Biopython SeqRecords, to Paths to files or even entire folders. It is also compatible with most of the common file types like .txt, .fa, .sto, and many more.
  • When using RNAmotiFold in a Python script, the return type of the algorithm will be of type AlgorithmOutput which features a method (to_df) to convert your results directly into pandas dataframes! This will always return a list of DataFrames, though it will usually only contain one. The only case where there are multiple DataFrames here is when using any partition function algorithm with the Single Motif Mode. To read more on this refer to our publication: [INSERT RELEASE PUBLICATION HERE]
  • By default, results are piped to stdout and log messages to stderr. You can either pipe them manually with > and 2> or with the RNAmotiFold.py commandline parameters -o [path to result destination file] and --logfile [path to log destination file]
  • Beware RNAmotiAlign has not yet been peer reviewed or published and it is still WIP!

Metadata

Release files for RNAmotiFold 1.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for RNAmotiFold 1.0.4
File Size Uploaded Provenance
rnamotifold-1.0.4.tar.gz 382.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for RNAmotiFold 1.0.4
File Interpreter ABI Platform
rnamotifold-1.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 928.7 kB

Release files / rnamotifold-1.0.4.tar.gz

Download URL rnamotifold-1.0.4.tar.gz
Size 382.9 kB
Tags Source
SHA-256 checksum
How to use checksums
019844f740b543fe5ac5c9d508e89cd3db71b4d75d15e840a34140112b33cae3
BLAKE2b-256 checksum
How to use checksums
8859859705edb1ff756c10172c8f0793a2aa935a1b6ae7d403b0f2f08dba6542
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / rnamotifold-1.0.4-py3-none-any.whl

Download URL rnamotifold-1.0.4-py3-none-any.whl
Size 545.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4c266edcf81ff26df9f0e6624943394e3c8a8d16d7575af06ba5a07544df8c65
BLAKE2b-256 checksum
How to use checksums
abd955e9a03ed354edd5046798f89150fdd9f4b82879fa07dd10027514c87d4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Security for RNAmotiFold 1.0.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page