Skip to content

ryanDing26/emDNA-GPU

Repository files navigation

emDNA GPU

Python Version Documentation

A Python refactor of the emDNA C++ software with GPU acceleration for energy minimization of DNA and DNA-protein complexes.

Features

  • 🚀 GPU Acceleration: Up to 100x speedup using CUDA/PyTorch
  • 🧬 DNA Modeling: Base-pair level DNA structure modeling
  • 🔬 Protein Binding: Support for protein-DNA complex modeling
  • 📊 Sequence-Dependent: Incorporates sequence-dependent parameteric optimizaiton
  • 🔄 Circular DNA: Support for closed DNA loops and minicircles

Under Development

  • Multiple Optimizers: Adam, SGD, L-BFGS, and more
  • 📁 File I/O: HDF5, PDB, and custom format support
  • 🎨 Visualization: 3D structure visualization tools

Installation

Using pip

pip install emdna

Using conda

conda env create -f environment.yml
conda activate emdna

From source

git clone https://github.com/yourusername/emdna-gpu.git
cd emdna
pip install -e .

GPU Requirements

  • CUDA 11.0+ (for NVIDIA GPUs)
  • PyTorch 2.0+
  • CuPy (optional, for additional GPU operations)

The software automatically detects and uses available GPUs. Falls back to CPU if no GPU is available.

Documentation

Full documentation available at https://emdna-gpu.readthedocs.io

Acknowledgments

  • Original emDNA C++ implementation by Nicholas Clauvelin and the Olson Lab at Rutgers University
  • PyTorch team for GPU acceleration framework
  • NVIDIA for CUDA toolkit

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages