What is MMTF?

The Macromolecular Transmission Format (MMTF) is a new compact binary format to transmit and store biomolecular structures for fast 3D visualization and analysis.

Benefits of using MMTF?

Small

The MMTF format reduces your bandwidth needs and allows in memory management of large structure. This enables you to overcome the I/O bottlenecks in structural bioinformatics analysis.

The entire PDB archive (~121,000 structures) can be stored in less than 7GB. Meaning it can fit into RAM on a Desktop machine.

Fast

MMTF uses a compressed binary format. This allows efficient parsing of and access to structural data. You concentrate your efforts on analysis.

The viral capsid (PDB code: 3J3Q) can be loaded and parsed in seconds in a web-browser.

Useful

Simple, well documented APIs to the data are provided. Further, the format is extensible and contains the information required to understand the structure (e.g., secondary structure and bonding information).

Get started in Java, Python and JavaScript. The C and C++ implementations of the MMTF API are under development.

									// Get the message pack byte array from the web by PDB code
									MmtfStructure mmtfData = ReaderUtils.getDataFromUrl("4CUP");

									// Decode message pack byte array as flat arrays holding the structural data
									StructureDataInterface dataInterface = new GenericDecoder(mmtfData);
								
									from mmtf import fetch

							 	 # Get the data for 4CUP
							 	 decoded_data = fetch("4CUP")

							 	 # Print the number of chains
							 	 print("This structure has "+str(decoded_data.num_chains)+" chains")
								
									// Fetch PDB ID 4CUP in MMTF format and print the decoded MMTF data
									MMTF.fetch(
										    "4CUP",
										    // onLoad callback
										    function( mmtfData ){ console.log( mmtfData ) },
										    // onError callback
										    function( error ){ console.error( error ) }
									);
								

How can I use MMTF?

For visualization and interactive analysis of large PDB structures

View 3Dsig slides

For large-scale structural calculations such as geometric queries or structural comparisons over the entire PDB archive

View presentation

Who uses MMTF?

Quick start with:

Try it


Load any PDB ID as an MMTF file.

How do I start?

Can I get a demo?

How can I contribute?

  • Implement an MMTF decoder library in your favorite language
  • Interface MMTF to your application
  • Found a bug? Create an issue on GitHub:
  • Contact us: mmtf@rcsb.org
  • Join the mailing list: MMTF-Users

How should I cite MMTF?

  • Bradley AR, Rose AS, Pavelka A, Valasatava Y, Duarte JM, Prlić A, Rose PW (2017) MMTF - an efficient file format for the transmission, visualization, and analysis of macromolecular structures. bioRxiv 122689. doi: 10.1101/122689
  • Valasatava Y, Bradley AR, Rose AS, Duarte JM, Prlić A, Rose PW (2017) Towards an efficient compression of 3D coordinates of macromolecular structures. PLOS ONE 12(3): e0174846. doi: 10.1371/journal.pone.01748464
  • Rose AS, Bradley AR, Valasatava Y, Duarte JM, Prlić A, Rose PW (2016) Web-based molecular graphics for large complexes. In Proceedings of the 21st International Conference on Web3D Technology (Web3D '16). ACM, New York, NY, USA, 185-186. doi: 10.1145/2945292.2945324

Funding

This project is supported by NCI/NIH BD2K Award U01 CA198942