Skip to main content

RIsearch1 (tauso fork)

RIsearch1: RNA–RNA, RNA-DNA and DNA-DNA interaction prediction using a simplified nearest-neighbor energy model.

This fork carries RIsearch1 only. RIsearch2 and the siRNA off-target pipeline live upstream at RTH-tools/risearch; they were removed here because nothing downstream of this fork uses them. Their history is still in this repository if you need it.

Main changes of this fork

The fork is actively maintained, and focusing on the RISearch1 executable, especially the standard linSpace path. The main goals of the fork are:

  • Improve correctness and bugfixes (SIGSEGV, memory leaks, hangs etc)
  • Improve readability (DRY, functions, classes, naming etc)
  • Convert to lightweight C++
  • Add tests, both logical and regression
  • MAIN GOAL: improve speed with known available techniques.

As a former C++ dev that does not have experience with SIMD, I focused on testing, and having readable code so I understand it. After that, we cumulatively improved about ~2.6x the performance from upstream fork while being bit identical. All code except SIMD was reviewed, and SIMD will be reviewed and tested in the following days.

Python package

A precompiled binary from this fork is published to PyPI as risearch-tauso, so RIsearch is a normal Python dependency for tauso and any other downstream tool:

pip install risearch-tauso
import risearch_tauso, subprocess
subprocess.run([risearch_tauso.executable_path(), "-q", "query.fa", "-t", "target.fa"])

Or as a CLI shim, which forwards all arguments straight to the bundled binary:

risearch-tauso -q query.fa -t target.fa
python -m risearch_tauso -q query.fa -t target.fa

The PyPI package is not canonical upstream RIsearch — it is the tauso-team fork. Use upstream if you want the unmodified tool.

Differences from upstream

Bugs fixed relative to upstream are recorded in BUGFIXES.md.

Building from source

Requires a C++17 compiler and CMake 3.20 or newer.

cmake -S RIsearch1 -B RIsearch1/build -DCMAKE_BUILD_TYPE=Release
cmake --build RIsearch1/build -j

That produces RIsearch1/bin/RIsearch and RIsearch1/bin/RIsearch.dbg, the second with the debug tracing compiled in. The wheel build runs the same CMake via setup.py.

Tests

./RIsearch1/build/tests/risearch1_tests

Unit tests for the nucleotide coding, the min/max helpers, the alignment symbols, the energy matrix and the FASTA reader, including death tests for the inputs that are refused; end-to-end tests that run main() in process with a constructed argv and assert on its output; and throughput benchmarks under Performance.*. Pass -DRISEARCH_BUILD_TESTS=OFF to skip googletest entirely, as the wheel build does.

Running

RIsearch -q query.fa -t target.fa

Both files may hold several sequences; RIsearch scans all against all. Single sequences can be given directly with -Q acgu -T acgu. See RIsearch1/Manual.pdf for the full option list.

Copyright

Copyright 2021 by the contributors; see RIsearch1/README.

RIsearch1 is released under the GNU General Public License version 3. This is free software: you can redistribute it and/or modify it under the terms of that licence, either version 3 or (at your option) any later version. You should have received a copy of the GNU General Public License along with RIsearch — see the file COPYING. If not, see http://www.gnu.org/licenses/.

This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Citation

If you use RIsearch in a publication, please cite:

RIsearch: fast RNA-RNA interaction search using a simplified nearest-neighbor energy model. Wenzel A, Akbasli E, Gorodkin J. Bioinformatics. 2012 Nov 1;28(21):2738-46.

Contact

For problems with this fork, open an issue here. For upstream RIsearch: software+crispron@rth.dk

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

risearch_tauso-1.4.3.tar.gz (313.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

risearch_tauso-1.4.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (45.5 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

File details

Details for the file risearch_tauso-1.4.3.tar.gz.

File metadata

  • Download URL: risearch_tauso-1.4.3.tar.gz
  • Upload date:
  • Size: 313.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for risearch_tauso-1.4.3.tar.gz
Algorithm Hash digest
SHA256 5c483f0252a1d92baa60d92296d15ba4b43f2474a52b52df1e1ffc80035afb7d
MD5 4e3d74c871292c915ce91e639038ac07
BLAKE2b-256 3cb4892cfe30d22a86f0db21077d93a9d2a7bef89ca02c7051ca7fddbe869bfc

See more details on using hashes here.

Provenance

The following attestation bundles were made for risearch_tauso-1.4.3.tar.gz:

Publisher: wheels.yml on RedPenguin100/risearch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file risearch_tauso-1.4.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for risearch_tauso-1.4.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1d876c4075279fa9a0cb0af2cf84d3c78a913de20707ca65c534a07fb41c6c91
MD5 389e84b1913620c6ffb60fbe7a8e2d5f
BLAKE2b-256 fec0061059d0ef06632fe63e964c695b25801d1a7f6819a0ec33ec79c684e8ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for risearch_tauso-1.4.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: wheels.yml on RedPenguin100/risearch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page