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 ParallelExecutor that 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 BasePlugin API.
  • Structural Alignment: Implements Kabsch fit with iterative outlier rejection for RMSD reporting.

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目