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.

MMTF Workshop 2018

The second workshop: Scalable and Reproducible Structural Bioinformatics: Workshop & Hackathon was held May 7-9, 2018 at UCSD. Check out Slides, hands-on tutorials (Jupyter Notebooks) and Hackathon code.

Benefits of using MMTF?


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.


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.


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, JavaScript, C, and C++.

									// 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
										    // 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?

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. PLOS Computational Biology 13(6): e1005575. doi: 10.1371/journal.pcbi.1005575
  • 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 (2018) NGL viewer: web-based molecular graphics for large complexes, Bioinformatics, bty419. doi: 10.1093/bioinformatics/bty419
  • 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


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