Skip to content

Releases: lszeremeta/SDFEater

Development Build

17 Apr 08:13
f9b3d8c
Compare
Choose a tag to compare
Development Build Pre-release
Pre-release

Commits

  • f2268cb: Bump org.apache.commons:commons-text from 1.11.0 to 1.12.0 (dependabot[bot]) #83

SDFEater 2.0.0: A journey into deep waters ⛵

21 Apr 23:04
Compare
Choose a tag to compare

The new and better SDFEater 2.0.0 is now available! Below you will find an overview of the most important changes since the last release.

🚀 New features

In the new version of SDFEater, you will find the following new features. You must try them out!

Subject type selector

Now you can select the preferred subject type for all formats excluding cypher, cvme, smiles, and inchi. You can use the -s,--subject option for this. Supported subject types are iri, uuid, and bnode. If you don't know what to choose, you can leave the default subject type (iri) and not use -s,--subject at all.

Base subject selector

You can also set your own IRI base for the iri subject type. You can override the default one ('https://example.com/molecule#entity') with the -b, --base option if you want. For each base IRI with #, an additional id attribute is added to the HTML output formats.

Dataset type support

Dataset type support has been added for JSON-LD HTML, JSON-LD, RDFa, and Microdata formats. Thanks to this, the generated datasets can be even more visible to search engines, e.g. in the Google Dataset Search. Read more at Google Developers page.

📈 Improvements

The new version brings some improvements. Below you will find the most important of them.

Java 8+ JARs

The base Java version of the project has been downgraded. Previously shared JAR files were built using Java 11 and required Java 11 or later. Now all you need is Java 8 or later to run SDFEater from JAR files.

New supported SDF keys

The new supported SDF keys are ChEBI ID, DATABASE_ID, DRUGBANK_ID, and ChEBI Name. On a special Wiki page, you will find a list of currently supported SDF keys.

Better error handling

You can expect better error handling in this release. For example, when you select an unsupported format, you will get a clear message, and help is displayed. SDFEater also sends appropriate exit codes so that the operating system can interpret errors when it occurs.

Output format improvements

The output of JSON-LD and JSON-LD from HTML has been completely rewritten. For these formats (as it was for RDFa and Microdata), when SDFEater encounters a molecule to which no keys have been matched, it does not include it in the output. This release also introduces improved removal of special characters from HTML.

Better documentation

In this release, README has been enhanced with a Quick start section, which should make it easier for you to start with SDFEater. Additionally, some of the README stuff was moved to the project Wiki. You can find useful information there as well.

💔 Breaking changes

These changes are not backward compatible.

Simplified set of options

Options -p,--periodic and -u,--urls were primarily used in the cypher output format. To keep things simple, these options are no longer available in SDFEater. Instead of switches, you now have 4 separate output formats (cypher, cypheru, cypherp, and cypherup):

  • cypher - Cypher molecule, atoms, bonds and relation ready to import to the Neo4j graph database,
  • cypheru - the same as cypher option, but try to generate full database URLs instead of IDs,
  • cypherp - the same as cypher option, but add additional atoms data from periodic table,
  • cypherup - the same as cypher option, but added URLs and additional atoms data from periodic table.

🕶️ Changes under the hood

The changes under the hood don't affect you directly, but you might find them interesting.

Rewritten GitHub Actions workflows

Workflows in GitHub Actions have been rewritten for better clarity and understanding.

Below are just some of the additional changes:

  • SDFEater is now being built and tested on 3 current versions of Java (8, 11, and 16) instead of one of them,
  • GitHub Actions builds and sends containers to Docker Hub instead of building it on Docker Hub,
  • Automated building and testing SDFEater now takes place not only in the master branch but also for pull requests and other branches,
  • The cache is used to build the project with Maven and Docker,
  • Waiting for concurrent jobs if needed.

If you are interested, you can see the workflows for the SDFEater project.

Code simplification

SDFEater was originally intended to support only one output format. Over time, SDFEater has expanded to support more of them. Currently, SDFEater is a powerful tool to convert SDF to various formats. A rewrite of the current code has long been planned to make it easier to add new formats and make the code more readable. This release is a small step forward in that direction.

This changelog contains only the most significant changes. Below you will find a list of all commits since the last release.

Commits

  • [36ff794]: Downgrade project to Java 8 for better Java compatibility (Łukasz Szeremeta)
  • [2912686]: Add build and test on multiple Java version on Ubuntu/MacOS/Windows (Łukasz Szeremeta)
  • [1019c6a]: Java 15 -> Java 16 in maven.yml (Łukasz Szeremeta)
  • [d201839]: Exit with status 2 on parse error (Łukasz Szeremeta)
  • [559edc4]: Add note about supported Java versions (Łukasz Szeremeta)
  • [d8f2a04]: Update dependencies (Łukasz Szeremeta)
  • [23e2612]: Simplify Cypher options set (Łukasz Szeremeta)
  • [3b33dad]: Change subject base URI for RDFa and Microdata formats (Łukasz Szeremeta)
  • [34c4f39]: Add id for molecule div tag (Łukasz Szeremeta)
  • [9e76ac9]: baseURI for all formats, Format enum (Łukasz Szeremeta)
  • [3887081]: Simplify File.parse method (Łukasz Szeremeta)
  • [33ab519]: Update README (Łukasz Szeremeta)
  • [00ed6fb]: Add subject type option (Łukasz Szeremeta)
  • [d249ad8]: Simplify options set and options parse (Łukasz Szeremeta)
  • [1d45446]: Load periodic table data only for cypherp or cypherup formats (Łukasz Szeremeta)
  • [5a0253b]: Use equals instead of == (Łukasz Szeremeta)
  • [505d424]: Add Dataset schema, JSON-LD rewrite, code cleanup (Łukasz Szeremeta)
  • [bd879ea]: http -> https (Łukasz Szeremeta)
  • [82b498a]: jsonldhtml output improvements (Łukasz Szeremeta)
  • [184af4c]: JSON-LD output fix (Łukasz Szeremeta)
  • [f8b9498]: Improve JSON-LD outputs for empty files (Łukasz Szeremeta)
  • [d0ad287]: Add new line after jsonld/jsonldhtml output (Łukasz Szeremeta)
  • [13ac9f0]: https -> http for Google Rich Results Test (Łukasz Szeremeta)
  • [2d3dbf0]: MolecularEntitly type -> profile with version (Łukasz Szeremeta)
  • [bcb69d5]: MolecularEntity typo fix in README (Łukasz Szeremeta)
  • [f62b083]: Add --base option (Łukasz Szeremeta)
  • [12de21d]: Use own htmlEscape, escape subjectBase for html (Łukasz Szeremeta)
  • [80573f1]: Disable HTML escaping for JSON-LD, rewrite htmlEscape (Łukasz Sz...
Read more

SDFEater 1.6.0: Tested, documented and... 🐋Docker

20 Oct 16:30
Compare
Choose a tag to compare

Do you love️ Docker? SDFEater is now also available as a lightweight Docker image. You must check it out! You also get polished documentation that will make getting started with SDFEater even more comfortable. What else? Unit tests have been added to check SDFEater more accurately. You will also no longer see the warning that appeared for some output formats. This all sounds pretty good, doesn't it?

Commits

  • [eb3f8f1]: Make logo a header in README (Łukasz Szeremeta)
  • [f003b2b]: Move "Publications and resources" below in README (Łukasz Szeremeta)
  • [b517acc]: Update bug_report.md (Łukasz Szeremeta)
  • [1983351]: Update feature_request.md (Łukasz Szeremeta)
  • [8066d10]: Add missing slf4j (Łukasz Szeremeta)
  • [aa9be07]: Update Codacy badge (Łukasz Szeremeta)
  • [8754ae3]: Update MEgen repo link (Łukasz Szeremeta)
  • [c927395]: Fix some README.md issues (Łukasz Szeremeta)
  • [01b25b9]: Update Codacy badge (Łukasz Szeremeta)
  • [057d498]: Docker image and improved README.md (Łukasz Szeremeta)
  • [8ef4b17]: Merge branch 'master' of github.com:lszeremeta/SDFEater (Łukasz Szeremeta)
  • [632cfe1]: Small README improvements (Łukasz Szeremeta)
  • [55c436a]: Move Examples section in README (Łukasz Szeremeta)
  • [6ec0af8]: Add example with mount of current working directory (Łukasz Szeremeta)
  • [3e23dbc]: Use nonroot baseImage (Łukasz Szeremeta)
  • [407aa12]: Rewrite sentence about Docker (Łukasz Szeremeta)
  • [81b9d99]: Remove unnecessary sentence (Łukasz Szeremeta)
  • [f9dafcf]: Split long sentence into two (Łukasz Szeremeta)
  • [5dfe581]: Add Docker image size badge, remove DOI badge (Łukasz Szeremeta)
  • [a63f44b]: Merge branch 'master' of github.com:lszeremeta/SDFEater (Łukasz Szeremeta)
  • [62844f9]: mvn package -> mvn -B package (Łukasz Szeremeta)
  • [0315966]: LICENSE.txt -> LICENSE (Łukasz Szeremeta)
  • [2c6d1be]: Improve tag match pattern for tagged-release.yml (Łukasz Szeremeta)
  • [10313b8]: Update .gitignore (Łukasz Szeremeta)
  • [6110272]: Add additional IDE to .gitignore (Łukasz Szeremeta)
  • [74dcfdb]: Add structured data output tests (Łukasz Szeremeta)
  • [50f5c70]: Add missing "build" in README (Łukasz Szeremeta)
  • [7be45aa]: Mention about example file in test directory (Łukasz Szeremeta)
  • [2118e47]: Improve SDFEater description (Łukasz Szeremeta)
  • [6b98b4c]: Add Docker Hub container link in main description (Łukasz Szeremeta)
  • [2cdf678]: Test all outputs (Łukasz Szeremeta)
  • [cf0e8f8]: OutputTest code cleanup (Łukasz Szeremeta)
  • [d8d0772]: Always enabled in cvme (Łukasz Szeremeta)
  • [bea590b]: Add missing groupId to maven-surefire-plugin and maven-assembly-plugin (Łukasz Szeremeta)
  • [3d6f101]: Simplify examples sentence in README (Łukasz Szeremeta)

SDFEater 1.5.0: SDFEater ❤️ MolecularEntitly!

26 Aug 22:43
Compare
Choose a tag to compare

Now SDFEater supports structured data formats in JSON-LD, RDFa and Microdata. Not only that, the MolecularEntitly type support has also been added to other formats.

What are structured data?

Structured data are additional data placed on websites. They are not visible to ordinary internet users, but can be easily processed by machines. There are 3 formats that we can use to save structured data - JSON-LD, RDFa and Microdata. SDFEater supports them all and use MolecularEntitly type.

Currently supported output formats

Commits

  • [e2ea6e5]: Add Zenodo DOI badge to README (Łukasz Szeremeta)
  • [c471948]: Add example CVME parser output to README (Łukasz Szeremeta)
  • [d8b4231]: Update issue templates (Łukasz Szeremeta)
  • [9897930]: add support for (bio)schema.org (domel)
  • [4a7208e]: Idea project configurations & updated .gitignore (Łukasz Szeremeta)
  • [8ac2000]: Add new formats (Łukasz Szeremeta)
  • [0bcc805]: Update README (Łukasz Szeremeta)
  • [c07304e]: Improve parser performance & better code (Łukasz Szeremeta)
  • [eca2b3e]: Jena formats fully base on BioSchemas (Łukasz Szeremeta)
  • [e964ddb]: Better DrugBank support for Jena formats (Łukasz Szeremeta)
  • [22a9780]: Add more DrugBank keys support for Jena formats (Łukasz Szeremeta)
  • [5d54cb2]: Add rdf:type for Jena formats (Łukasz Szeremeta)
  • [f5c4c6d]: Replace mention about Bioschemas by MolecularEntitly in README (Łukasz Szeremeta)
  • [9fde9c4]: Add RDFa output (Łukasz Szeremeta)
  • [dacfe18]: Add Microdata output format (Łukasz Szeremeta)
  • [0a76c9c]: Compound -> Molecule (Łukasz Szeremeta)
  • [40a2a0f]: Add (Łukasz Szeremeta)
  • [f1fa13c]: Add missing license mention in README (Łukasz Szeremeta)
  • [ca83a68]: Add JSON-LD with HTML output (Łukasz Szeremeta)
  • [d63addd]: Update maven.yml (Łukasz Szeremeta)
  • [80ee596]: Change JDK version from 1.8 to 11 (Łukasz Szeremeta)
  • [0e340fa]: Add .travis.yml (Łukasz Szeremeta)
  • [1068b3d]: Update dependencies and plugins (Łukasz Szeremeta)
  • [7567e71]: actions/checkout@v1 -> actions/checkout@v2 (Łukasz Szeremeta)
  • [3caf66c]: Add new workflows for releases (Łukasz Szeremeta)
  • [0d1001e]: Bump version to 1.5 in pom.xml (Łukasz Szeremeta)
  • [810cf4d]: Mark tagged releases draft (Łukasz Szeremeta)
  • [b349919]: Change Maven project version to 1.5.0 (Łukasz Szeremeta)
  • [a967160]: Update output format list in SDFEater help (Łukasz Szeremeta)
  • [028dd7f]: Remove duplicated jsonld mention in SDFEater help (Łukasz Szeremeta)
  • [d48de76]: GitHub Actions improvements (Łukasz Szeremeta)
  • [27819e1]: Improve README (Łukasz Szeremeta)
  • [f02e4d1]: Add See also to README (Łukasz Szeremeta)
  • [762e704]: Add dist to .travis.yml (Łukasz Szeremeta)
  • [4c3f9e1]: oraclejskd11 -> openjdk11 in .travis.yml (Łukasz Szeremeta)
  • [657b07e]: Remove ? from heading in README (Łukasz Szeremeta)
  • [735afa6]: latest -> beta in pre-release.yml (Łukasz Szeremeta)
  • [9df2f9f]: Remove unnecessary LICENSE in releases assets (Łukasz Szeremeta)

SDFEater 1.0.0: Time to feed the SDFEater!

21 Oct 13:29
Compare
Choose a tag to compare

Hello SDFEater!
This is the first public release of new SDF parser written in Java. SDFEater not only eats parse your SDF files, but also can add additional data to the output. See README for more information.