Graph-Theoretic Querying

BioPAX graph-theoretic querying - for finding paths between molecules, or identifying molecules that are reachable through specific paths, using the BioPAX pathway data model.

License

License

GroupId

GroupId

org.biopax.paxtools
ArtifactId

ArtifactId

paxtools-query
Last Version

Last Version

5.1.0
Release Date

Release Date

Type

Type

jar
Description

Description

Graph-Theoretic Querying
BioPAX graph-theoretic querying - for finding paths between molecules, or identifying molecules that are reachable through specific paths, using the BioPAX pathway data model.
Project URL

Project URL

https://biopax.github.io/Paxtools
Project Organization

Project Organization

BioPAX
Source Code Management

Source Code Management

https://github.com/BioPAX/Paxtools

Download paxtools-query

How to add to project

<!-- https://jarcasting.com/artifacts/org.biopax.paxtools/paxtools-query/ -->
<dependency>
    <groupId>org.biopax.paxtools</groupId>
    <artifactId>paxtools-query</artifactId>
    <version>5.1.0</version>
</dependency>
// https://jarcasting.com/artifacts/org.biopax.paxtools/paxtools-query/
implementation 'org.biopax.paxtools:paxtools-query:5.1.0'
// https://jarcasting.com/artifacts/org.biopax.paxtools/paxtools-query/
implementation ("org.biopax.paxtools:paxtools-query:5.1.0")
'org.biopax.paxtools:paxtools-query:jar:5.1.0'
<dependency org="org.biopax.paxtools" name="paxtools-query" rev="5.1.0">
  <artifact name="paxtools-query" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.biopax.paxtools', module='paxtools-query', version='5.1.0')
)
libraryDependencies += "org.biopax.paxtools" % "paxtools-query" % "5.1.0"
[org.biopax.paxtools/paxtools-query "5.1.0"]

Dependencies

compile (2)

Group / Artifact Type Version
org.biopax.paxtools : paxtools-core jar 5.1.0
org.slf4j : slf4j-api jar 1.7.25

runtime (2)

Group / Artifact Type Version
org.slf4j : jcl-over-slf4j jar 1.7.25
org.slf4j : jul-to-slf4j jar 1.7.25

test (3)

Group / Artifact Type Version
org.biopax.paxtools : pattern jar 5.1.0
ch.qos.logback : logback-classic jar 1.1.2
junit : junit jar 4.10

Project Modules

There are no modules declared in this project.

Paxtools

Build Status

Codacy Badge

The BioPAX Object Model, API and utilities implemented in Java. Paxtools is developed at Computational Biology Centre at MSKCC and Bader Lab, Donnelly Centre, University of Toronto.

Features

###A complete and consistent implementation of BioPAX specification BioPAX elements in Paxtools are plain Java beans which provide methods to access the properties described in BioPAX, and a model, acting as a container for all BioPAX elements, provides querying facilities for them. Users can either read a BioPAX model from a file or create an empty one from the scratch. Methods to add new elements to a model and to remove elements from a model are also provided.

###Support for OWL properties and additional inverse links Owl properties can be symmetric, transient or subtyped into other properties. These semantics can not be represented directly in an object oriented programming language. Paxtools implements these additional semantics and automatically update the fields of objects. For example, since property standardName is a subproperty of_name_, updating the standardName of a protein will also update its list of names. Similarly since component is a transient property, a query for the components of a complex will not only list its immediate components but also the components of the subcomplexes inside this complex. In the BioPAX specification, properties are unidirectional for brevity. For example, participant property links interactions to physical entities. Paxtools provides additional "inverse" links that allows efficient navigation from a physical entity to the all interactions that it participates (e.g., xrefOf, entityReferenceOf).

Syntactic validation

Each operation that modifies the model is internally validated by Paxtools to comply with BioPAX syntax, including RDF well-formedness, domain and range restrictions, bidirectional links, and redundancies. (BioPAX Validator project provides a much more detailed validation and also checks for best practices.)

Seamless handling of different BioPAX levels

BioPAX Level 3 introduced significant improvements to the naming and structure of the BioPAX at some cost of backwards compatibility. Paxtools supports all three BioPAX levels and provides facilities for upgrading older BioPAX models to Level 3, reducing the burden of working with different BioPAX levels for developers. (Note: BioPAX Level1 is not supported starting from Paxtools version 5.0.0-SNAPSHOT.)

Converting to and from different formats

Paxtools can convert PSI-MI models to BioPAX Level 3. In addition, BioPAX models can be exported back to OWL and several other useful formats, including SIF (Simple Interaction Format), SBGN-ML, and GSEA (GMT) gene sets.

Efficient traversal and editing via reflection

Paxtools implements the Property Editor design pattern to allow tools to manipulate BioPAX models without actually hard coding property and class names. This pattern considerably simplifies development of BioPAX exporters and other tools and makes it easier to extend and update them to support future changes in the BioPAX specification.

Modular and lightweight structure

Paxtools is currently distributed as a Maven project in a modular structure which allows developers to easily select just the parts of Paxtools they need in their application.

A platform for development of BioPAX software infrastructure

Several projects are built on top of Core Paxtools: a persistence system using Java Persistence API integrated with the querying facilities, an advanced validator that allows checking complex rules and the best practices using an extensible framework, an integrator that detects and merges interactions that are equivalent based on their participants, and a graph theoretic query engine and pattern search for finding biologically relevant connections and sub-networks. These software tools are available as a part of Pathway Commons project. Software that uses Paxtools can natively interact with these tools.

Use

Paxtools provides, beyond the core and converters API, a console application that can execute several useful commands. If you have downloaded the "fat" JAR (with built-in dependencies), then you can access to the console interface description with the following command:

java -jar paxtools.jar (add -Xmx option when processing large data files).

If you have homebrew installed on your system (Mac OS X), you can install the latest release of Paxtools via the following brew command (there might be old version):

$ brew install homebrew/science/paxtools
$ paxtools help

Availability

More information about Paxtools can be found in the publication, wiki archive, and BioPAX forum.

(TODO: move the Paxtools description here and deprecate that wiki soon.)

org.biopax.paxtools

BioPAX

BioPAX is a standard language that aims to enable integration, exchange, visualization and analysis of biological pathway data.

Versions

Version
5.1.0
5.0.1
5.0.0
5.0.0-beta1
4.3.1