Code Monkey home page Code Monkey logo

libgpml's Introduction

libGPML

Java CI with Mavencodecov DOI Maven Central

libGPML is an open-source Java library for working with GPML (Graphical Pathway Markup Language).

How to cite

If you use this software, please cite the article in JOSS:

In progress...

Table of contents

Introduction

libGPML is a Java programming library that helps you read, write, validate, manipulate, and convert files and data streams in the GPML (Graphical Pathway Markup Language) format.

Why not simply use a generic XML parsing library? A specialized library such as libGPML offers many advantages over using a generic XML library directly. Here are some:

  • Java object model. libGPML's object model and API are designed around GPML and the operations that are commonly needed when working with GPML.

  • Validation. libGPML implements all the validation rules defined in the GPML specifications.

  • Conversion: libGPML can convert between GPML2013a and GPML2021. Conversions between GPML2013a and older

libGPML works on Linux, Windows, and MacOS X, and other operating systems.

Dependencies

You need the following tools:

  • Computer with Windows, Mac, or Linux
  • JDK 11
  • Maven 3 (Tested with 3.8.1)

Usage

Documentation is available online at libGPML Java Documentation.

Library Architecture

libGPML uses an object oriented Java model. In the libGPML Java model, GPML Pathway Elements are represented by Java Classes. Pathway Element types are represented by Enum Java Classes.


Figure 1: libGPML Java Object Model

libGPML consists of several packages:

  • org.pathvisio.libgpml.debug - Debugging and logging utility classes
  • org.pathvisio.libgpml.io - Import and export classes
  • org.pathvisio.libgpml.model - Classes representing the pathway "model". Also includes classes for reading and writing.
  • org.pathvisio.libgpml.model.connector - Line connectors classes
  • org.pathvisio.libgpml.model.shape - Shape defining classes
  • org.pathvisio.libgpml.model.type - Enum type classes
  • org.pathvisio.libgpml.prop - Properties classes
  • org.pathvisio.libgpml.util - Utility classes

Getting help

You can report issues, suggestions and requests using the GitHub issue tracker.

Contributing

We welcome contributions to libGPML! Please read our contribution guidelines, and also feel free to contact the developers to coordinate your efforts.

License

libGPML is available for free under the terms of the Apache License, Version 2.0.

Authors and history

libGPML's main authors are Finterly Hu, Martina Summer-Kutmon, with contributions from many others. We especially thank the following (in alphabetical order):

  • Alex Pico
  • Anders Riutta
  • Chris Evelo
  • Denise Slenter
  • Egon Willighagen
  • Friederike Ehrhart
  • Kristina Hanspers
  • Luc de Meyer
  • Nhung Pham
  • Susan Coort

Acknowledgments

The development of libGPML was supported in largely by funding from WikiPathways-COVID19 ZonMW project.


                           

libgpml's People

Contributors

finterly avatar egonw avatar mkutmon avatar

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.