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.1.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.1-py3-none-any.whl (142.1 kB view details)

Uploaded Python 3

File details

Details for the file surfacia-3.0.1.tar.gz.

File metadata

  • Download URL: surfacia-3.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 d8753a18806de73b7871fe5c60d78442b48515df7cdb744ddfd790336bdef44c
MD5 f909b259bd51680acd2d04278f7ca4ff
BLAKE2b-256 a6fd19014ed02281c16d9911e5d64e5492b9432ebff13e047da042e84db1edf6

See more details on using hashes here.

File details

Details for the file surfacia-3.0.1-py3-none-any.whl.

File metadata

  • Download URL: surfacia-3.0.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1ad7063e49867718e2e24effdd274a7c72ed2c7c74bc605c70c05cc79fd5dde8
MD5 cb557b9eb36797af7a32b64caa9e10bc
BLAKE2b-256 1fb3c4d4de1b168ca2d001a7ecf9b4f180622a2572014acac217742dc309a83f

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