Crystal Structure Analysis (CSA) Documentation
Welcome to the Crystal Structure Analysis (CSA) documentation. CSA is a comprehensive Python framework for extracting, processing, and analyzing molecular crystal structures from the Cambridge Structural Database (CSD).
🚀 Key Features
High-Performance Pipeline: GPU-accelerated batch processing with PyTorch
CSD Integration: Direct interface to Cambridge Structural Database
Advanced Analytics: Fragment analysis, intermolecular contacts, and geometric descriptors
Efficient Storage: HDF5-based data management with variable-length datasets
Scalable Architecture: Parallel processing for large datasets
🔬 What CSA Does
CSA transforms raw crystallographic data into rich, analysis-ready datasets through a five-stage pipeline:
Family Extraction - Query and organize CSD structures by chemical families
Similarity Clustering - Group structures by 3D packing similarity
Representative Selection - Choose optimal structures using statistical metrics
Data Extraction - Extract atomic coordinates, bonds, and intermolecular contacts
Feature Engineering - Compute advanced geometric and topological descriptors
Note
CSA requires a valid Cambridge Crystallographic Data Centre (CCDC) license for full functionality.
📋 Table of Contents
Getting Started
User Guide
Tutorials
Examples
API Reference
- API Reference
- crystal_analyzer module
- csa_config module
- csa_main module
- csd_operations module
- structure_data_extractor module
- structure_post_extraction_processor module
- geometry_utils module
- fragment_utils module
- contact_utils module
- cell_utils module
- symmetry_utils module
- data_reader module
- data_writer module
- hdf5_utils module
- dimension_scanner module
- Module Overview
- Quick Reference
- Usage Patterns
- Module Dependencies
- Import Patterns
- Common Workflows
- Advanced Usage Examples
- Troubleshooting
- See Also
🤝 Community & Support
Issues: Report bugs and request features on GitHub
Discussions: Join the community forum for questions and ideas
Contributing: Read our contribution guidelines to get involved
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.