Skip to content

Tool for generating optimized nucleic acid biosensor sequences

License

Notifications You must be signed in to change notification settings

Paradoxdruid/fealden

Repository files navigation

fealden

gpl3.0 CodeFactor Codacy Badge Codacy Badge CodeQL CI Code style: black mypy

PyPI

Introduction

Fealden is a command line tool to generate optimized structure switching DNA biosensors for fluorescent or electrochemical detection of trace amounts of a large number of biomolecule targets. An abbreviated bibliography of works utilizing such nucleic acid-based biosensors is available below.


Quick use with docker

Fealden, with all binary dependencies enabled, can conveniently be run as a docker container:

docker run --rm -it ghcr.io/paradoxdruid/fealden:latest

Dependencies

Fealden is written for Python 3.9+, and depends upon external secondary structure prediction routines.

It can use either the excellent RNAstructure package from the Mathews Lab, or UNAfold v3.8 and mfold v3.6 by Markham and Zuker.

Dependency Installation Tips

RNAstructure

  • available from the Mathews lab at https://rna.urmc.rochester.edu/RNAstructure.html
  • fealden requires the "text" interface version, for your operating system
  • has a python_interface available, but requires C++ compilation step
  • RNAstructure version 6.4 needs corrections in rna_sources.h in the python_interface folder:
    • all references to TurboFold directory need to be replaced with src directory
    • can use command sed -i 's/TurboFold\/src\//g' rna_sources.h to correct
  • requires installation of swig
    • such as pip install swig or conda install swig
  • once swig installed and rna_sources.h corrected, enter the python_interface directory and run:
    • make swig
    • make interface-from-distutils
    • update .env file (see below) with path to RNAstructure

UNAfold and mfold

  • version 3.8 of UNAfold is available from sourceforge: https://rnaspace.sourceforge.net/software/unafold-3.8.tar.gz
  • once unzipped, enter the unafold-3.8 directory and run:
    • ./configure --prefix=/A/GOOD/PATH/FOR/USER (for instance, /home/user/unafold-final)
    • make
    • make install
    • update .env file (see below) with path to HYBRID_SS_MIN in Unafold
  • You will also need the program sir_graph included in version 3.6 of mfold, available at http://www.unafold.org/download/mfold-3.6.tar.gz
  • once unzipped, enter the mfold-3.6 directory and run:
    • ./configure --prefix=/A/GOOD/PATH/FOR/USER (for instance, /home/user/mfold-final)
    • make
    • make install
    • update .env file (see below) with path to SIR_GRAPH in Unafold

Before use, you will need to create a .env file following the format in structure.py.

Example .env file
FEALDEN_BACKEND=mfold   # either 'mfold' or 'rnastructure'
HYBRID_SS_MIN=/home/username/unafold-new/bin/hybrid-ss-min
SIR_GRAPH=/home/username/mfold/bin/sir_graph
RNASTRUCTURE=/home/username/RNAstructure

Usage

To use Fealden: python -m fealden "TATATAA" 1

(Where "TATATAA" is the input binding/recognition element (such as an aptamer), and 1 indicates whether the binding element is predominantly double-stranded (0) or single-stranded (1) in the binding-active state.)

Fealden generates a .csv file of optimized biosensor sequences along with scoring metrics.


Contributors

Fealden is developed as academic software by the Bonham Lab and Dr. Andrew J. Bonham at the Metropolitan State University of Denver. It is licensed under the GPL v3.0.

Contributors include: Dr. Andrew J. Bonham / @Paradoxdruid (initial and ongoing development), Jody Stephens / @23jodys (early implementation), Becky Addison (early implementation), Aviva Bulow / @aviva-bulow (code rewrite and development of current approach), and Austin Haider / @WallFacerGibbs (further development).


Bibliography

About

Tool for generating optimized nucleic acid biosensor sequences

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published