A comprehensive Python package for molecular structure-activity relationship (QSAR/QSPR) studies with interactive SHAP visualization and AI-powered analysis
Project description
Surfacia - Surface Atomic Chemical Interaction Analyzer
Version: 3.0.0
Project Overview
Surfacia is a surface atomic chemical interaction analyzer based on quantum chemical calculations, designed for molecular property prediction and machine learning analysis. This tool integrates a complete workflow from SMILES strings to final property predictions.
Key Features
- SMILES Conversion: Convert SMILES strings to 3D molecular structures
- Geometry Optimization: Fast geometry optimization using XTB
- Quantum Chemical Calculations: Generate and run Gaussian calculations
- Property Analysis: Molecular property analysis using Multiwfn
- Feature Extraction: Extract atomic-level and functional group-level molecular descriptors
- Machine Learning: Integrated machine learning analysis tools
- Visualization: Interactive SHAP analysis and molecular visualization
Installation
System Requirements
- Python >= 3.7
- Linux/Windows/macOS
Installation Steps
# 1. Clone the repository
git clone https://github.com/yourusername/surfacia.git
cd surfacia
# 2. Create virtual environment (recommended)
python3 -m venv venv
source venv/bin/activate # Linux/Mac
# or venv\Scripts\activate # Windows
# 3. Install dependencies
pip install -r requirements.txt
# 4. Install surfacia package
pip install -e . # Development mode
## Usage
### Command Line Interface
# View help
surfacia --help
# Complete workflow example:
surfacia smi2xyz -i molecules.csv
surfacia xtb-opt
surfacia xyz2gaussian
surfacia run-gaussian
surfacia multiwfn
surfacia extract-features -i FullOption2.csv -m 3
surfacia ml-analysis -i FinalFull.csv --test-samples 1,2,3
surfacia shap-viz -i Training_Set_Detailed.csv -x ./xyz_files/
Workflow Steps
SMILES to XYZ: Read SMILES from CSV file and generate 3D structures
Geometry Optimization: Optimize molecular geometry using XTB (optional)
Gaussian Calculations: Generate input files and run quantum chemical calculations
Multiwfn Analysis: Calculate molecular surface properties and descriptors
Feature Extraction: Extract atomic and functional group features
Machine Learning Analysis: Perform feature selection and model training
Result Visualization: Interactive analysis using SHAP
Input File Format
CSV files should contain the following columns:
smiles: SMILES strings
target: Target property values
Other experimental feature columns (optional)
## Required External Software
XTB Installation
Official Documentation: https://xtb-docs.readthedocs.io/en/latest/setup.html
Gaussian Installation
Detailed Installation Guide: http://sobereva.com/439
Multiwfn Installation
Official Website: http://sobereva.com/multiwfn/
Configuration
Environment Variables
Add these to your ~/.bashrc (Linux)
## 许可证
MIT License
## 作者
Yuming Su (823808458@qq.com)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file surfacia-3.0.2.tar.gz.
File metadata
- Download URL: surfacia-3.0.2.tar.gz
- Upload date:
- Size: 426.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b124820c9f3a92c6d4878521a05d935c428220680e30d348579b51bdfcc14488
|
|
| MD5 |
0e7e2efd73b176856c02eb67784c2512
|
|
| BLAKE2b-256 |
989f756deb6daa34dd715ee5df6515ce51ae158c8742b7065c4884a22fa468a2
|
File details
Details for the file surfacia-3.0.2-py3-none-any.whl.
File metadata
- Download URL: surfacia-3.0.2-py3-none-any.whl
- Upload date:
- Size: 142.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5be50d0073f5d592780e565b7034c519b57e68b53ab297334aee57cda15ff781
|
|
| MD5 |
39a1a28fa1480c4dc6d5c3332146dd75
|
|
| BLAKE2b-256 |
a6e18204415d4fb3e516ff2eee44d207a84763ae63a17e5ace67de10b088ff5f
|