astrochem-ml

Cheminformatics tools for astrochemistry

https://github.com/laserkelvin/astrochem_ml

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.3%) to scientific vocabulary
Last synced: 11 months ago · JSON representation

Repository

Cheminformatics tools for astrochemistry

Basic Info
  • Host: GitHub
  • Owner: laserkelvin
  • License: mit
  • Language: Python
  • Default Branch: main
  • Size: 126 KB
Statistics
  • Stars: 2
  • Watchers: 1
  • Forks: 1
  • Open Issues: 1
  • Releases: 1
Created over 4 years ago · Last pushed over 4 years ago
Metadata Files
Readme Changelog Contributing License Citation Authors

README.rst

============
Astrochem ML
============


.. image:: https://img.shields.io/pypi/v/astrochem_ml.svg
        :target: https://pypi.python.org/pypi/astrochem_ml

.. image:: https://img.shields.io/travis/laserkelvin/astrochem_ml.svg
        :target: https://travis-ci.com/laserkelvin/astrochem_ml

.. image:: https://readthedocs.org/projects/astrochem-ml/badge/?version=latest
        :target: https://astrochem-ml.readthedocs.io/en/latest/?version=latest
        :alt: Documentation Status




Doing astrochemistry with robots.

The `astrochem_ml` package is designed for bringing accessible cheminformatics to
astrochemical discovery. The main features, some of which are currently active
development, are interfaces to common operations using RDKit that are relevant
to astrochemistry, and pre-trained embedding models ready for machine learning
projects that combine molecules and astrophysics.

The plan is to deliver a general purpose library, in addition to providing a
command line interface to several common tasks.


* Free software: MIT license
* Documentation: https://astrochem-ml.readthedocs.io.

Installation
------------

Not yet on PyPI, and so for now you can install `astrochem_ml` via:

```pip install git+https://github.com/laserkelvin/astrochem_ml```

Features
--------

Molecule generation
===================

A significant amount of functionality wraps the `rdkit` package, the main library
for doing cheminformatics in Python. For all molecule interactions, we go back
and forth between the native `rdkit` objects and SMILES/SMARTS strings.

* Exhaustive isotopologue generation in SMILES

.. code-block:: python

        >>> from astrochem_ml.smiles import isotopes
        # exhaustively enumerate all possible combinations isotopologues
        # user can set the threshold for natural abundance and whether
        # to include hydrogens
        >>> isotopes.generate_all_isos("c1ccccc1", explicit_h=False)
        ['c1[13cH]c[13cH][13cH][13cH]1', ... 'c1ccccc1', '[13cH]1[13cH][13cH][13cH][13cH][13cH]1','c1c[13cH][13cH][13cH]c1']

* Functional group substitutions

Replace substructures with other ones in a tree data structure!

.. code-block:: python

        >>> from astrochem_ml.smiles import MoleculeGenerator
        # randomly grow out possible structures starting from benzene,
        # and iteratively replace structures with other functional groups
        >>> benzene = MoleculeGenerator("c1ccccc1", substructs=["c", "cC#N", "cC=O", "cN"])
        >>> benzene.grow_tree(50)
        100%|██████████████████████████████████████████████████████████████████| 50/50 [00:00<00:00, 237.44it/s]
        >>> print(benzene)
        c1ccccc1
        ├── Nc1ccccc1
        ├── N#Cc1ccccc1
        └── O=Cc1ccccc1
        ├── Nc1ccccc1C=O
        │   └── N#Cc1ccccc1C=O
        ├── Nc1cccc(C=O)c1
        │   ├── Nc1cccc(C=O)c1N
        │   │   ├── Nc1c(C=O)ccc(C=O)c1N
        │   │   ├── Nc1cc(C=O)cc(C=O)c1N
        ...

This provides a high level interface to view every structure generated,
and from which parent.

Credits
-------

This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.

.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage

Owner

  • Name: Kelvin Lee
  • Login: laserkelvin
  • Kind: user
  • Location: Hillsboro, OR
  • Company: Intel Corporation

HPC AI/ML engineer at Intel AXG. Previously postdoc at MIT, CfA/SAO. Interests in astrochemistry and physical chemistry.

Citation (CITATION.cff)


      

GitHub Events

Total
Last Year

Committers

Last synced: over 3 years ago

All Time
  • Total Commits: 74
  • Total Committers: 1
  • Avg Commits per committer: 74.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Kelvin Lee k****e@g****m 74

Issues and Pull Requests

Last synced: over 1 year ago

All Time
  • Total issues: 2
  • Total pull requests: 1
  • Average time to close issues: 2 minutes
  • Average time to close pull requests: 1 minute
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 0.5
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • laserkelvin (2)
Pull Request Authors
  • laserkelvin (1)
Top Labels
Issue Labels
enhancement (1) bug (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 22 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 2
  • Total maintainers: 1
pypi.org: astrochem-ml

Cheminformatics tools for astrochemistry

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 22 Last month
Rankings
Dependent packages count: 10.1%
Forks count: 22.7%
Stargazers count: 31.9%
Average: 35.3%
Downloads: 44.5%
Dependent repos count: 67.3%
Maintainers (1)
Last synced: 11 months ago

Dependencies

poetry.lock pypi
  • atomicwrites 1.4.0 develop
  • attrs 21.2.0 develop
  • backports.entry-points-selectable 1.1.1 develop
  • black 21.11b0 develop
  • cfgv 3.3.1 develop
  • click 8.0.3 develop
  • distlib 0.3.3 develop
  • filelock 3.4.0 develop
  • flake8 4.0.1 develop
  • identify 2.3.6 develop
  • iniconfig 1.1.1 develop
  • mccabe 0.6.1 develop
  • mypy-extensions 0.4.3 develop
  • nodeenv 1.6.0 develop
  • packaging 21.0 develop
  • pathspec 0.9.0 develop
  • platformdirs 2.4.0 develop
  • pluggy 1.0.0 develop
  • pre-commit 2.15.0 develop
  • py 1.11.0 develop
  • pycodestyle 2.8.0 develop
  • pyflakes 2.4.0 develop
  • pytest 6.2.5 develop
  • pyyaml 6.0 develop
  • regex 2021.11.10 develop
  • toml 0.10.2 develop
  • tomli 1.2.2 develop
  • typing-extensions 4.0.0 develop
  • virtualenv 20.10.0 develop
  • anytree 2.8.0
  • colorama 0.4.4
  • joblib 1.1.0
  • numpy 1.21.1
  • periodictable 1.6.0
  • pyparsing 3.0.6
  • rdkit-pypi 2021.9.2.1
  • scikit-learn 1.0.1
  • scipy 1.6.1
  • selfies 2.0.0
  • six 1.16.0
  • threadpoolctl 3.0.0
  • tqdm 4.62.3
pyproject.toml pypi
  • black ^21.11b0 develop
  • flake8 * develop
  • pre-commit ^2.15.0 develop
  • pytest ^6.2.4 develop
  • anytree ^2.8.0
  • periodictable ^1.6.0
  • python ^3.8
  • rdkit-pypi ^2021.9.2
  • scikit-learn ^1.0.1
  • selfies ^2.0.0
  • tqdm ^4.62.3