/mmtf-java

The java implementation of the MMTF API, decoder and encoder.

Primary LanguageJavaApache License 2.0Apache-2.0

Build Status Coverage Status Dependency Status Version ![License](http://img.shields.io/badge/license-Apache 2.0-blue.svg?style=flat) Changelog

The macromolecular transmission format (MMTF) is a binary encoding of biological structures.

This repository holds the Java API, encoding and decoding libraries. Along with a description of the data in the MMTF using Java data types.

The alpha release is available on Maven central.

		<dependency>
			<groupId>org.rcsb</groupId>
			<artifactId>mmtf-codec</artifactId>
			<version>1.0.3</version>
		</dependency>
        <dependency>
            <groupId>org.rcsb</groupId>
            <artifactId>mmtf-api</artifactId>
            <version>1.0.3</version>
        </dependency>

Quick getting started.

  1. Get the data for a PDB structure and print the number of chains:
StructureDataInterface dataInterface = new GenericDecoder(ReaderUtils.getDataFromUrl("4cup"));
System.out.println("PDB Code: "+dataInterface.getStructureId()+" has "+dataInterface.getNumChains()+" chains");
  1. Show the charge information for the first group:
System.out.println("Group name: "+dataInterface.getGroupName(0)+" has the following atomic charges: "+dataInterface.getGroupAtomCharges(0));
  1. Show how many bioassemblies it has:
System.out.println("PDB Code: "+dataInterface.getStructureId()+" has "+dataInterface.getNumBioassemblies()+" bioassemblies");