Skip to content

SCREAM++ is an enhanced software package for automated protein side-chain placement. It predicts accurate side-chain conformations using rotamer libraries and a flat-bottom potential strategy, now re-engineered for improved modularity and modern Rust practices, replacing the previous C++ implementation.

License

Notifications You must be signed in to change notification settings

caltechmsc/screampp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SCREAM++

SCREAM++ is an enhanced, high-performance software package for automated protein side-chain placement. It builds upon the scientific foundation of the original SCREAM (Side-Chain Rotamer Excitation Analysis Method), which predicts accurate side-chain conformations using rotamer libraries and a unique flat-bottom potential strategy. This new generation of SCREAM has been completely re-engineered from the ground up in Rust for superior memory safety, performance, and modern development practices, replacing the original C++ 98/Python 2 implementation.

The core mission of SCREAM++ is to provide a robust, reliable, and easy-to-use tool for researchers in computational biology, structural biology, and drug design.

Features

  • High-Accuracy Side-Chain Prediction: Implements the core Flat-Bottom Strategy to accurately model side-chain conformations, compensating for the discrete nature of rotamer libraries.
  • Memory Safety & Performance: Written in Rust to eliminate entire classes of memory-related bugs and deliver performance comparable to, or exceeding, traditional C++ implementations.
  • Multi-Scheme Support: Natively handles various charge schemes (CHARMM, AMBER, QEq) and force field parameters, using pre-optimized rotamer libraries for maximum self-consistency.
  • Flexible Optimization Modes: Supports both global side-chain optimization and focused refinement within a defined binding site or region of interest.
  • Modern Tooling: Managed by Cargo for simple, reproducible builds and dependency management.
  • Multiple Interfaces:
    • Standalone CLI: An easy-to-use command-line interface for standard prediction tasks.
    • Python Package: A user-friendly Python API (via PyO3) for scripting, integration, and advanced workflows.
    • C-Compatible Library: A C FFI layer for integration with C, C++, and other programming languages.
    • Native Rust Crate: A core Rust library (screampp) available on crates.io for direct use in other Rust-based scientific computing projects.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

SCREAM++ is an enhanced software package for automated protein side-chain placement. It predicts accurate side-chain conformations using rotamer libraries and a flat-bottom potential strategy, now re-engineered for improved modularity and modern Rust practices, replacing the previous C++ implementation.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published