https://github.com/scbirlab/schemist
⬢⬢⬢ Organizing and processing tables of chemical structures.
https://github.com/scbirlab/schemist
cheminformatics chemistry selfies smiles smiles-strings
Last synced: 4 months ago
JSON representation
⬢⬢⬢ Organizing and processing tables of chemical structures.
- Host: GitHub
- URL: https://github.com/scbirlab/schemist
- Owner: scbirlab
- License: mit
- Created: 2024-02-21T10:20:10.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-11-14T13:25:39.000Z (8 months ago)
- Last Synced: 2025-12-15T09:21:25.223Z (7 months ago)
- Topics: cheminformatics, chemistry, selfies, smiles, smiles-strings
- Language: Python
- Homepage: https://schemist.readthedocs.org
- Size: 286 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ⬢⬢⬢ schemist



[](https://huggingface.co/spaces/scbirlab/chem-converter)
Cleaning, collating, and augmenting chemical datasets.
- [Installation](#installation)
- [Command-line usage](#command-line-usage)
- [Python API](#python-api)
- [Documentation](#documentation)
## Installation
### The easy way
Install the pre-compiled version from PyPI:
```bash
pip install schemist
```
### From source
Clone the repository, then `cd` into it. Then run:
```bash
pip install -e .
```
## Command-line usage
**schemist** provides command-line utlities. The list of commands can be checked like so:
```bash
$ schemist --help
usage: schemist [-h] [--version] {clean,convert,featurize,collate,dedup,enumerate,react,split} ...
Tools for cleaning, collating, and augmenting chemical datasets.
options:
-h, --help show this help message and exit
--version, -v show program's version number and exit
Sub-commands:
{clean,convert,featurize,collate,dedup,enumerate,react,split}
Use these commands to specify the tool you want to use.
clean Clean and normalize SMILES column of a table.
convert Convert between string representations of chemical structures.
featurize Convert between string representations of chemical structures.
collate Collect disparate tables or SDF files of libraries into a single table.
dedup Deduplicate chemical structures and retain references.
enumerate Enumerate bio-chemical structures within length and sequence constraints.
react React compounds in silico in indicated columns using a named reaction.
split Split table based on chosen algorithm, optionally taking account of chemical structure during splits.
```
Each command is designed to work on large data files in a streaming fashion, so that the entire file is not held in memory at once. One caveat is that the scaffold-based splits are very slow with tables of millions of rows.
All commands (except `collate`) take from the input table a named column with a SMILES, SELFIES, amino-acid sequence, HELM, or InChI representation of compounds.
The tools complete specific tasks which
can be easily composed into analysis pipelines, because the TSV table output goes to
`stdout` by default so they can be piped from one tool to another.
To get help for a specific command, do
```bash
schemist --help
```
For the Python API, [see below](#python-api).
## Python API
**schemist** can be imported into Python to help make custom analyses.
```python
>>> import schemist as sch
```
## Documentation
Full API documentation is at [ReadTheDocs](https://schemist.readthedocs.org).