Official Resources
- Source Repository: https://github.com/SINGROUP/dscribe
- Documentation: https://singroup.github.io/dscribe/
- PyPI: https://pypi.org/project/dscribe/
- License: Open source (Apache-2.0)
Overview
DScribe is a Python package for creating machine learning descriptors (fingerprints) for atomistic systems. It provides implementations of various structural descriptors including SOAP, ACSF, MBTR, Coulomb matrix, and more, enabling ML on atomic structures.
Scientific domain: ML descriptors for atomistic systems, structural fingerprints
Target user community: Researchers needing numerical representations of atomic structures for ML
Theoretical Methods
- Smooth Overlap of Atomic Positions (SOAP)
- Atom-centered Symmetry Functions (ACSF)
- Many-Body Tensor Representation (MBTR)
- Coulomb Matrix
- Sine Matrix
- Eigenvalue Coulomb Matrix
- Local Many-Body Tensor Representation (LMBTR)
Capabilities (CRITICAL)
- SOAP descriptors (global and local)
- ACSF descriptors (global and local)
- MBTR descriptors (global and local)
- Coulomb matrix and variants
- Periodic and non-periodic systems
- Sparse feature construction
Sources: GitHub repository, documentation
Key Strengths
Comprehensive Descriptors:
- SOAP: Most popular for ML potentials
- ACSF: Behler-Parrinello style
- MBTR: Body-ordered representations
- Coulomb matrix: Simple baseline
- All support periodic and non-periodic
Efficient:
- Sparse feature construction
- C++ backend for performance
- Batch processing
- Memory-efficient
Flexible:
- Global and local descriptors
- Custom species handling
- Adjustable parameters
- Integration with sklearn
Inputs & Outputs
-
Input formats:
- Atomic structures (ASE Atoms)
- Species lists
-
Output data types:
- NumPy feature arrays
- Sparse matrices
- Descriptor objects
Interfaces & Ecosystem
- ASE: Structure input
- scikit-learn: ML pipeline
- NumPy: Numerical computation
- Python: Core language
Performance Characteristics
- Speed: Fast (C++ backend)
- Accuracy: Descriptor-dependent
- System size: Any (sparse support)
- Memory: Efficient (sparse)
Computational Cost
- Descriptor calculation: Seconds to minutes
- No DFT needed: Structure-only
- Typical: Very efficient
Limitations & Known Constraints
- ASE dependency: Required for structure input
- Parameter selection: Need domain knowledge
- Memory for large systems: Can be significant
- No ML models: Descriptors only
Comparison with Other Codes
- vs matminer: DScribe is structure descriptors, matminer is broader
- vs pymatgen featurizers: DScribe has SOAP/ACSF, pymatgen has composition
- vs XenonPy descriptors: DScribe is structure-focused, XenonPy is composition
- Unique strength: Comprehensive structural ML descriptors (SOAP, ACSF, MBTR) with C++ performance
Application Areas
ML Potentials:
- SOAP-based GAP models
- ACSF-based neural network potentials
- Descriptor generation for training
- Active learning features
Property Prediction:
- Structure-property models
- Classification of structures
- Similarity analysis
- Clustering
Materials Discovery:
- Feature generation for screening
- Structure similarity search
- Phase classification
- Descriptor-based ML
Best Practices
Descriptor Selection:
- SOAP for local environments and potentials
- MBTR for global structure representation
- ACSF for neural network potentials
- Coulomb matrix for quick baselines
Parameters:
- Tune SOAP cutoff and n_max, l_max
- Adjust MBTR weighting functions
- Use sparse for large datasets
- Validate with cross-validation
Community and Support
- Open source (Apache-2.0)
- PyPI installable
- Comprehensive documentation
- Developed by SINGROUP (Aalto University)
- Published in JCP and PRB
Verification & Sources
Primary sources:
- GitHub: https://github.com/SINGROUP/dscribe
- Documentation: https://singroup.github.io/dscribe/
Confidence: VERIFIED
Verification status: ✅ VERIFIED
- Source code: ACCESSIBLE (GitHub)
- Documentation: ACCESSIBLE (website)
- PyPI: AVAILABLE
- Specialized strength: Comprehensive structural ML descriptors (SOAP, ACSF, MBTR) with C++ performance