Coder Social home page Coder Social logo

mblakey / wiswesser Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 1.0 141.77 MB

Wiswesser Line Notation Project

License: MIT License

CMake 0.41% C++ 93.90% Shell 1.49% ANTLR 1.03% C 3.17%
cheminformatics notation cheminformatics-and-compchem chemistry smiles smiles-strings

wiswesser's Introduction

The Wiswesser Line Notation (WLN) Project

  • WLN Parser - read and write WLN to/from smiles, inchi, mol files and other chemical line notations.
  • WLN FSM - extract chemical terms from documents, this machine uses greedy matching to return matched WLN sequences from documents.
  • WLN Compresser - compress WLN strings using markov decision processes.

This is Linux and MacOS software only.

Note: This project is solely created by Michael as part of his PhD work, if you are interested using the project, or find any bugs or issues, reporting them would be extremely helpful.

Requirements

git, cmake, make and a c++ compiler are all essential.
graphviz is an optional install to view wln graphs (not needed for build).

OpenBabel see repo, will be installed as an external dependency.

Build

Run ./bootstrap.sh from the project directory, this will clone and build openbabel as well as linking the library to the parser in cmake. Babel files will be installed to external. Building the projects places all executables into build/.

Project Structure

This repository contains a broad range of functionality using WLN notation for various operations. As such, please read the individual README.txt files for the required area.

Unit Testing

All unit tests are contained in the /test directory.
These include:

  1. compare.sh
  2. reading.sh
  3. writing.sh
  4. file.sh

Unit tests 1-3 operate on the data files in \data. For comparsions agaisnt the old parser in OpenBabel select 1, for reading count tests run 2, writing round trip tests 3. To parse a file of WLN strings, file.sh will attempt conversions on every line.

wiswesser's People

Contributors

mblakey avatar

Watchers

 avatar

Forkers

jcheminform

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.