Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

surfacia-3.0.2.tar.gz (426.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

surfacia-3.0.2-py3-none-any.whl (142.1 kB view details)

Uploaded Python 3

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

Hashes for surfacia-3.0.2.tar.gz
Algorithm Hash digest
SHA256 b124820c9f3a92c6d4878521a05d935c428220680e30d348579b51bdfcc14488
MD5 0e7e2efd73b176856c02eb67784c2512
BLAKE2b-256 989f756deb6daa34dd715ee5df6515ce51ae158c8742b7065c4884a22fa468a2

See more details on using hashes here.

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

Hashes for surfacia-3.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5be50d0073f5d592780e565b7034c519b57e68b53ab297334aee57cda15ff781
MD5 39a1a28fa1480c4dc6d5c3332146dd75
BLAKE2b-256 a6e18204415d4fb3e516ff2eee44d207a84763ae63a17e5ace67de10b088ff5f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page