Skip to main content

GTsR

GTsR is a graph neural network based tool for solvent identification, solvent removal, and activation-stability prediction in metal-organic frameworks (MOFs).

GTsR logo

GitHub repo sizePyPIRequires Python 3.10GitHub license

Pretrained Models

Checkpoint File Purpose
free ckpt/free_best.pth Remove free solvent
all ckpt/all_best.pth Remove all solvent
stability ckpt/stability_best.pkl Predict activation stability

Installation

git clone https://github.com/coollkr/GTsR.git
cd GTsR
conda env create -f environment.yml
conda activate gtsr
pip install -e .

or

conda install -c conda-forge zeopp-lsmo
pip install gtsr

Usage

  • Remove solvent
from gtsr import GTsRunner

runner = GTsRunner(checkpoint="free")
result = runner.clean(
    cif="input.cif",
    output="prediction",
    threshold=0.5,
)

You can also use:

runner = GTsRunner(checkpoint="all")
runner = GTsRunner(checkpoint="path/to/ckpt.pth", device="cpu")

runner.clean() returns a dictionary with the following fields:

Field Description
input Absolute path to the input CIF
output Output directory
framework Path to the cleaned framework CIF
solvent Path to the solvent CIF, or None if not generated
checkpoint Path to the checkpoint used for prediction
task Task name stored in the checkpoint
threshold Atom classification threshold
num_atoms Total number of atoms
num_framework_atoms Number of framework atoms
num_solvent_atoms Number of solvent atoms
probabilities Solvent probability for each atom
labels Predicted class label for each atom
solvent_smiles SMILES strings of identified solvents
  • Predict activation stability
from gtsr import GTsRunner

runner = GTsRunner(checkpoint="stability")
score = runner.stability(cif="cleaned_framework.cif")

if score == 1:
    print("The cleaned structure is stable.")
else:
    print("The cleaned structure is not stable.")

Web Interface

Streamlit demo

Citation

Update the following entry when the associated publication becomes available:

@article{gtsr-xyl-group,
  title   = {GTSR: A GNN Based Tool for Solvent Removal from MOF with Stability Check},
  author  = {Liang, Kairui and Zhao, Guobin and Li, Xiao-Yan},
  year    = {2026}
}

License

This project is released under the MIT License. See LICENSE for details.

Metadata

Release files for gtsr 0.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gtsr 0.0.5
File Size Uploaded Provenance Actions
gtsr-0.0.5.tar.gz 24.9 MB Without provenance Details for gtsr-0.0.5.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for gtsr 0.0.5
File Interpreter ABI Platform Actions
gtsr-0.0.5-py3-none-any.whl Python 3 none any Details for gtsr-0.0.5-py3-none-any.whl

Total release size: 49.9 MB

Release files / gtsr-0.0.5.tar.gz

Download URL gtsr-0.0.5.tar.gz
Size 24.9 MB
Tags Source
SHA-256 checksum
How to use checksums
d3349040755683e298d1329c49ca8e09d9e6f2bbb66a543e07c4d021d70da3d7
BLAKE2b-256 checksum
How to use checksums
a7f309ea1878aa3aea2a34ad4fc21a2b0b804c46966236728e3a71b1edc410ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / gtsr-0.0.5-py3-none-any.whl

Download URL gtsr-0.0.5-py3-none-any.whl
Size 25.0 MB
Tags Python 3
SHA-256 checksum
How to use checksums
3cc362c151c9d153713baee62d0411ac2fb6dae110d63fa87257604e3142ae7c
BLAKE2b-256 checksum
How to use checksums
e347fd688f8d374722cc3aa2057591567250b8b1898e75caee8a656c3308e2ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Security for gtsr 0.0.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page