vijaymasand/PyChem-Pro
PyChem-Pro: 100% Python API, fast, flexible & programmable molecular viewer - 2D and 3D, molecular docking pose viewer, cheminformatics library, molecular descriptor calculator, molecular editor, chemical drawing editor, QSAR model developer, and many more...
What it solves
PyChem-Pro is a pure-Python desktop application and library designed for chemistry and cheminformatics. It provides a comprehensive suite of tools for molecular visualization, SMILES parsing, and molecular optimization without relying on heavy external C++ dependencies like RDKit or OpenBabel, making it highly portable and educational.
How it works
Built with NumPy and PySide6, the project implements chemistry primitives from scratch. It uses a service-oriented architecture with typing.Protocol interfaces to decouple core logic from the GUI. Key technical components include:
- Cheminformatics Engine: A custom SMILES parser, PDB/SDF file readers, and a molecular descriptor calculator.
- Force Field: A full implementation of the MMFF94 force field for geometry optimization using L-BFGS and steepest descent optimizers.
- Visualization Pipeline: A software-based 3D renderer (using QPainter) that supports ball-and-stick, space-fill, and PyMOL-style protein cartoons.
- Parallel Processing: A
ParallelExecutorthat utilizes 50% of available CPU cores for heavy tasks like rendering, descriptor calculation, and conformer searches.
Who it’s for
- Graduate Students: Those who want to study the internal workings of force fields and renderers.
- Researchers: Scientists needing a portable, extensible tool for molecular analysis and QSAR data splitting.
- Developers: Users who want a Python-native library for cheminformatics that can be integrated into Jupyter notebooks.
Highlights
- Zero External Chemistry Dependencies: Everything from aromaticity perception to SASA calculation is implemented in pure Python/NumPy.
- Advanced QSAR Tools: Includes seven different dataset partitioning algorithms (e.g., Scaffold, CADEX) with PCA visualization.
- Protein Visualization: Supports alpha-helix and beta-sheet detection for cartoon rendering.
- Extensible Plugin System: Allows users to add custom analysis and I/O tools via a
BasePluginAPI. - Structural Alignment: Implements Kabsch fit with iterative outlier rejection for RMSD reporting.
相關
- 專案
- 專案
- 專案
- 專案
- 專案