GA4GH project

This repository implements GA4GH schemas

License

License

GroupId

GroupId

org.opencb.ga4gh
ArtifactId

ArtifactId

ga4gh
Last Version

Last Version

0.6.0a5
Release Date

Release Date

Type

Type

jar
Description

Description

GA4GH project
This repository implements GA4GH schemas
Project URL

Project URL

https://github.com/opencb/ga4gh
Source Code Management

Source Code Management

https://github.com/opencb/ga4gh

Download ga4gh

How to add to project

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

Dependencies

compile (3)

Group / Artifact Type Version
org.apache.avro : avro jar 1.7.7
org.apache.avro : avro-ipc jar 1.7.7
io.grpc : grpc-all jar 0.15.0

Project Modules

There are no modules declared in this project.

OpenCB implementation of GA4GH Schemas

This OpenCB repository implements the Protobuf and Avro data models from GA4GH schemas. These are available at http://ga4gh.org/#/schemas. This Java library will be versioned as the GA4GH schema version used.

Code generation

This version implements GA4GH version 0.6.0a5. GA4GH Schemas are stored in src/main in proto and avro folders. Protocol buffers schemas are taken from GA4GH 0.6.0a5 and Avro schemas from GA4GH 0.6.0a4. At the moment protocol buffers 3.0.0-beta-3 and Avro 1.7.7 are used. We will try to keep them updated and sync.

We have respected the schemas package configuration and therefore the protobuf code has been generated in src/main/java/ga4gh and avro code is available at src/main/java/org/ga4gh.

Currently, Java code for both Proto and Avro are generated using the following Maven plugins:

        <plugin>
            <groupId>org.xolstice.maven.plugins</groupId>
            <artifactId>protobuf-maven-plugin</artifactId>
            <version>0.5.0</version>
            <configuration>
                <!--
                  The version of protoc must match protobuf-java. If you don't depend on
                  protobuf-java directly, you will be transitively depending on the
                  protobuf-java version that grpc depends on.
                -->
                <protocArtifact>com.google.protobuf:protoc:3.0.0-beta-3:exe:${os.detected.classifier}</protocArtifact>
                <pluginId>grpc-java</pluginId>
                <pluginArtifact>io.grpc:protoc-gen-grpc-java:0.15.0:exe:${os.detected.classifier}</pluginArtifact>
                <clearOutputDirectory>false</clearOutputDirectory>
                <outputDirectory>src/main/java</outputDirectory>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>compile</goal>
                        <goal>compile-custom</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        
        <plugin>
            <groupId>org.apache.avro</groupId>
            <artifactId>avro-maven-plugin</artifactId>
            <version>1.7.7</version>
            <executions>
                <execution>
                    <id>schemas</id>
                    <phase>generate-sources</phase>
                    <goals>
                        <goal>schema</goal>
                        <goal>protocol</goal>
                        <goal>idl-protocol</goal>
                    </goals>
                    <configuration>
                        <fieldVisibility>private</fieldVisibility>
                        <stringType>String</stringType>
                        <sourceDirectory>${project.basedir}/src/main/avro/</sourceDirectory>
                        <outputDirectory>${project.basedir}/src/main/java/</outputDirectory>
                    </configuration>
                </execution>
            </executions>
        </plugin>

How to use it

You can use this repository in two different ways. First, all OpenCB libraries are deployed to Maven Central Repository as you can see at http://search.maven.org/#search%7Cga%7C1%7Copencb. So you only need to add this dependency to your pom.xml:

        <dependency>
            <groupId>org.opencb</groupId>
            <artifactId>ga4gh</artifactId>
            <version>0.6.0a5</version>
        </dependency>

Second, you can clone this project using Git and use maven to build and install it in your local repository:

        git clone https://github.com/opencb/ga4gh.git
        mvn clean install

Image
Image

org.opencb.ga4gh

Open source for Computational Biology

Versions

Version
0.6.0a5
0.6.0a1
0.5.1.1
0.5.1