com.github.javadev

MAYGEN is an open source chemical structure generator based on the orderly graph generation method.

https://github.com/mehmetazizyirik/maygen

Science Score: 67.0%

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

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.5%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

MAYGEN is an open source chemical structure generator based on the orderly graph generation method.

Basic Info
  • Host: GitHub
  • Owner: MehmetAzizYirik
  • License: mit
  • Language: Java
  • Default Branch: main
  • Homepage:
  • Size: 15.9 MB
Statistics
  • Stars: 52
  • Watchers: 3
  • Forks: 17
  • Open Issues: 4
  • Releases: 9
Created about 5 years ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation Security

README.md

drawing DOI Build

MAYGEN - A chemical structure generator for constitutional isomers based on the orderly generation principle

Copyright 2021 Mehmet Aziz Yirik

Introduction

MAYGEN is an open source chemical structure generator based on the orderly graph generation method. The principles of this method were outlined in the MAYGEN article[1]. MAYGEN takes a molecular formula (such as C10H16O) as input and generates all constitutional isomers of this formula, i. e. all non-isomorphic molecules that can be constructed with the set of atoms in the input formula. For the case of C10H16O, for example, there are 452,458 non-identical molecules. Here are 12 out of those.

As can be seen from these examples, MAYGEN makes no assumptions on chemical stability. In particular in small ring systems, this may lead to unlikely structures, such as C=1C=C1.

We benchmarked MAYGEN V.1.4 against the current state-of-the-art, but closed-source structure generator MOLGEN 5.0 from the University of Bayreuth as well as against the Parallel Molecule Generator (PMG)[2], the fastest available open source structure generator. Since PMG can be run in multi-threaded mode, the benchmark was performed in single-threaded mode for algorithmic comparability. For randomly selected 50 formulae, MAYGEN was in average 3 times slower than MOLGEN but 47 times faster than PMG. For some formulae, PMG could not generate isomers. These are shown by gaps on the its plot.

Download jar File

Executable JAR files can be downloaded from the release page

Download Source Code

You can download the source code as a ZIP file from the landing page of this repository. Alternatively, you can clone the repository using GIT. For more information set-up-git

To download MAYGEN source code:

$ git clone https://github.com/MehmetAzizYirik/MAYGEN.git

Compiling

To compile MAYGEN, Apache Maven and Java 1.8 (or later) are required. MAYGEN/$ mvn package This command will create jar file named as "MAYGEN-1.8" under the target folder.

Usage

MAYGEN-1.8.jar can be run from command line with the specified arguments. An example command is given below.

The definitions of the arguments are given below:

``` usage: java -jar MAYGEN-1.8.jar [-f ] [-fuzzy ] [-setElements] [-v] [-t] [-o ] [-b] [-m] [-smi] [-sdf] [-sdfCoord] [-h]

Generates molecular structures for a given molecular formula. The input is a molecular formula string.

For example 'C2OH4'.

If user wants to store output file in a specific directory, that is needed to be specified. It is also possible to generate SMILES instead of an SDF file, but it slows down the generation time. For this, use the '-smi' option.

-f,--formula formula

-fuzzy,--fuzzyFormula fuzzy formula

-setElements,--settingElements User defined valences

-v,--verbose print message

-t,--tsvoutput Output formula, number of structures and execution time in CSV format. In multithread, the 4th column in the output is the number of threads.

-o,--outputFile Store output file

-b,--boundaryConditions Setting the boundary conditions option

-m,--multithread Use multi thread

-smi,--SMILES Output in SMILES format

-sdf,--SDF Output in SDF format

-sdfCoord,--coordinates Output in SDF format with atom coordinates

-h,--help Displays help message

Please report issues at https://github.com/MehmetAzizYirik/MAYGEN ```

``` java -jar MAYGEN-1.8.jar -f C2OH4 -v -t -o C:\Users\UserName\Desktop\

java -jar MAYGEN-1.8.jar -fuzzy C[2-5]O2H[4-8] -v -t -o C:\Users\UserName\Desktop\

java -jar MAYGEN-1.8.jar -f N(val=4)6H6 -setElements -v -t -o C:\Users\UserName\Desktop\ ```

Webservice

A webservice is also developed for MAYGEN software for easy usage and educational purposes. The documentation for the webservice is given here.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Authors

Acknowledgements

YourKit

The developer uses YourKit to profile and optimise code.

YourKit supports open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of YourKit Java Profiler and YourKit .NET Profiler, innovative and intelligent tools for profiling Java and .NET applications.

cdk

This project relies on the Chemistry Development Project (CDK), hosted under CDK GitHub. Please refer to these pages for updated information and the latest version of the CDK. CDK's API documentation is available though our Github site.

References

1- Yirik, M.A., Sorokina, M. & Steinbeck, C. MAYGEN: an open-source chemical structure generator for constitutional isomers based on the orderly generation principle. J Cheminform 13, 48 (2021). https://doi.org/10.1186/s13321-021-00529-9

2- Jaghoori MM, Jongmans SS, De Boer F, Peironcely J, Faulon JL, Reijmers T, Hankemeier T. PMG: multi-core metabolite identification. Electronic Notes in Theoretical Computer Science. 2013 Dec 25;299:53-60.

Owner

  • Name: Mehmet Aziz Yirik
  • Login: MehmetAzizYirik
  • Kind: user
  • Location: Odense/Denmark
  • Company: The University of Southern Denmark

Postdoctoral researcher at IMADA, SDU

Citation (citation.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Yirik"
  given-names: "Mehmet Aziz"
  orcid: "https://orcid.org/0000-0001-7520-7215"
- family-names: "Sorokina"
  given-names: "Maria"
  orcid: "https://orcid.org/0000-0001-9359-7149"
- family-names: "Steinbeck"
  given-names: "Christoph"
  orcid: "https://orcid.org/0000-0001-6966-0814"
title: "MAYGEN"
version: 1.8
doi: 10.5281/zenodo.5243905
date-released: 2021-09-12
url: "https://github.com/MehmetAzizYirik/MAYGEN"
license: MIT

GitHub Events

Total
  • Watch event: 5
  • Issue comment event: 2
  • Push event: 2
  • Pull request event: 6
  • Fork event: 3
Last Year
  • Watch event: 5
  • Issue comment event: 2
  • Push event: 2
  • Pull request event: 6
  • Fork event: 3

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 19
  • Total pull requests: 81
  • Average time to close issues: 10 days
  • Average time to close pull requests: 3 days
  • Total issue authors: 10
  • Total pull request authors: 3
  • Average comments per issue: 2.26
  • Average comments per pull request: 1.56
  • Merged pull requests: 57
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 2
  • Average time to close issues: 18 days
  • Average time to close pull requests: 21 days
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 2.0
  • Average comments per pull request: 3.5
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • javadev (3)
  • nbehrnd (3)
  • jasondbiggs (2)
  • adelenelai (2)
  • jincho1 (2)
  • MehmetAzizYirik (2)
  • steinbeck (2)
  • Saikat248 (1)
  • chaileon (1)
  • boglet (1)
Pull Request Authors
  • javadev (77)
  • MehmetAzizYirik (5)
  • mSorok (1)
Top Labels
Issue Labels
enhancement (5) bug (4)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 2
repo1.maven.org: com.github.javadev:MAYGEN

A chemical structure generator for constitutional isomers based on the orderly generation principle

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Forks count: 23.4%
Stargazers count: 23.5%
Average: 31.9%
Dependent repos count: 32.0%
Dependent packages count: 48.9%
Last synced: 10 months ago

Dependencies

pom.xml maven
  • commons-cli:commons-cli [1.4,)
  • org.openscience.cdk:cdk-data [2.6,)
  • org.openscience.cdk:cdk-group [2.6,)
  • org.openscience.cdk:cdk-pdb [2.6,)
  • org.openscience.cdk:cdk-sdg [2.6,)
  • org.openscience.cdk:cdk-smiles [2.6,)
  • junit:junit [4.13.2,) test
.github/workflows/codeql-analysis.yml actions
  • actions/checkout v2 composite
  • github/codeql-action/analyze v1 composite
  • github/codeql-action/autobuild v1 composite
  • github/codeql-action/init v1 composite
.github/workflows/maven.yml actions
  • actions/cache v1 composite
  • actions/checkout v2 composite
  • actions/setup-java v1 composite
  • codecov/codecov-action v1 composite