A Python refactor of the emDNA C++ software with GPU acceleration for energy minimization of DNA and DNA-protein complexes.
- 🚀 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
- ⚡ Multiple Optimizers: Adam, SGD, L-BFGS, and more
- 📁 File I/O: HDF5, PDB, and custom format support
- 🎨 Visualization: 3D structure visualization tools
pip install emdnaconda env create -f environment.yml
conda activate emdnagit clone https://github.com/yourusername/emdna-gpu.git
cd emdna
pip install -e .- 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.
Full documentation available at https://emdna-gpu.readthedocs.io
- Original emDNA C++ implementation by Nicholas Clauvelin and the Olson Lab at Rutgers University
- PyTorch team for GPU acceleration framework
- NVIDIA for CUDA toolkit