DScribe

**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…

9. FRAMEWORKS 9.1 General Purpose Libraries VERIFIED
Back to Directory Official Website

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.

Reference Papers

Reference papers are not yet linked for this code.

Full Documentation

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:

  1. GitHub: https://github.com/SINGROUP/dscribe
  2. 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

Related Tools in 9.1 General Purpose Libraries