fragmentfingerprints

A library to generate fingerprints for molecular structures based on a set of fragments

https://github.com/jonasschaub/fragmentfingerprints

Science Score: 49.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
    Found 9 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 (11.0%) to scientific vocabulary
Last synced: 6 months ago · JSON representation

Repository

A library to generate fingerprints for molecular structures based on a set of fragments

Basic Info
  • Host: GitHub
  • Owner: JonasSchaub
  • License: mit
  • Language: Java
  • Default Branch: main
  • Size: 79.4 MB
Statistics
  • Stars: 2
  • Watchers: 1
  • Forks: 1
  • Open Issues: 3
  • Releases: 2
Created over 3 years ago · Last pushed 9 months ago
Metadata Files
Readme License Citation

README.md

DOI Javadoc License: MIT Maintenance build GitHub issues GitHub contributors GitHub release Maven Central Quality Gate Status

FragmentFingerprints

A library to generate fingerprints for molecular structures based on a set of fragments

Description

The library generates fragment fingerprints based on pre-defined fragments, which can be set by the user, and can generate both bit and count fingerprints. Fragment fingerprints are created by matching fragments or substructures of a molecule with pre-defined fragments. If a match is found, the corresponding positions in the fingerprint are filled. The special feature of the fragment fingerprinter is that fingerprints are generated exclusively by comparing unique SMILES (Strings). This means that both the pre-defined fragments and the substructures or fragments of the molecule for which the fingerprint is being generated must be represented as unique SMILES strings. The implementation of the fragment fingerprinter is based on the Chemistry Development Kit (CDK).

Contents of this repository

Sources

The "src" subfolder contains all source code packages including JUnit tests.

Tests

The test class FragmentFingerprinterTest tests the functionalities of fragment fingerprinter. Among other things, it tests whether the bit and count fingerprint of a molecule has been generated correctly. Furthermore, various methods of the CountFingerprint and BitSetFingerprint classes are tested.

Test resources

The test "resources" subfolder contains two text files. The text file named "FragmentList.txt" contains all key fragments. And the file named "MoleculeList.txt" contains fragments/substructures of molecules. In total, 10 molecules with their corresponding fragments are stored in the file.

Performance Test CMD Application

The folder "PerformanceTestCMDApplication" contains the executable JAVA archive FragmentFingerprints-fat.jar. It can be executed from the command-line (command: java -jar) to do a performance snapshot of fragment fingerprinter's scaling behaviour for a growing number of input molecules. For more details see the file "Performancetestinstruction.txt"

Example initialization and usage of the FragmentFingerprinter

see in "wiki"

Installation

FragmentFingerprints is hosted as a package/artifact on the sonatype maven central repository. See the artifact page for installation guidelines using build tools like maven or gradle.
To install FragmentFingerprints via its JAR archive, you can get it from the releases. Note that other dependencies will need to be installed via JAR archives as well this way.
In order to open the project locally, e.g. to extend it, download or clone the repository and open it in a Gradle-supporting IDE (e.g. IntelliJ) as a Gradle project and execute the build.gradle file. Gradle will then take care of installing all dependencies. A Java Development Kit (JDK) of version 17 or higher must also be pre-installed.

Dependencies

Needs to be pre-installed: * Java Development Kit (JDK) version 17 * Adoptium OpenJDK (as one possible source of the JDK) * Gradle version 7.3 * Gradle Build Tool

Managed by Gradle: * Chemistry Development Kit (CDK) version 2.9 * Chemistry Development Kit on GitHub * License: GNU Lesser General Public License 2.1 * JUnit Jupiter version 5.9.1 * JUnit * License: Eclipse Public License - v 2.0

References and useful links

Chemistry Development Kit (CDK) * Chemistry Development Kit on GitHub * Steinbeck C, Han Y, Kuhn S, Horlacher O, Luttmann E, Willighagen EL. The Chemistry Development Kit (CDK): An Open-Source Java Library for Chemo- and Bioinformatics. J Chem Inform Comput Sci. 2003;43(2):493-500. * Steinbeck C, Hoppe C, Kuhn S, Floris M, Guha R, Willighagen EL. Recent Developments of the Chemistry Development Kit (CDK) - An Open-Source Java Library for Chemo- and Bioinformatics. Curr Pharm Des. 2006; 12(17):2111-2120. * May JW and Steinbeck C. Efficient ring perception for the Chemistry Development Kit. J. Cheminform. 2014; 6:3. * Willighagen EL, Mayfield JW, Alvarsson J, Berg A, Carlsson L, Jeliazkova N, Kuhn S, Pluska T, Rojas-Chert M, Spjuth O, Torrance G, Evelo CT, Guha R, Steinbeck C, The Chemistry Development Kit (CDK) v2.0: atom typing, depiction, molecular formulas, and substructure searching. J Cheminform. 2017; 9:33. * Groovy Cheminformatics with the Chemistry Development Kit

Owner

  • Name: Jonas Schaub
  • Login: JonasSchaub
  • Kind: user
  • Location: Jena, Germany
  • Company: Friedrich-Schiller-University

Doctoral candidate of Steinbeck research group for cheminformatics and computational metabolomics. ORCID: 0000-0003-1554-6666

GitHub Events

Total
  • Issues event: 1
  • Issue comment event: 1
  • Member event: 1
  • Push event: 2
  • Pull request event: 1
  • Create event: 2
Last Year
  • Issues event: 1
  • Issue comment event: 1
  • Member event: 1
  • Push event: 2
  • Pull request event: 1
  • Create event: 2

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 6
  • Total pull requests: 3
  • Average time to close issues: 5 months
  • Average time to close pull requests: about 2 months
  • Total issue authors: 1
  • Total pull request authors: 2
  • Average comments per issue: 0.0
  • Average comments per pull request: 1.67
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • JonasSchaub (6)
Pull Request Authors
  • B-s123 (1)
  • JonasSchaub (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/workflows/SonarCloud.yml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/setup-java v3 composite
.github/workflows/gradle.yml actions
  • actions/checkout v3 composite
  • actions/setup-java v3 composite
  • gradle/gradle-build-action 67421db6bd0bf253fb4bd25b31ebb98943c375e1 composite
.github/workflows/publish-javadoc.yml actions
  • MathieuSoysal/Javadoc-publisher.yml v2.4.0 composite
.github/workflows/publish-to-maven-central.yml actions
  • actions/checkout v3 composite
  • actions/setup-java v3 composite
  • gradle/wrapper-validation-action ccb4328a959376b642e027874838f60f8e596de3 composite
build.gradle maven
  • org.junit.jupiter:junit-jupiter * testImplementation