Ribbon diagrams of proteins in #golang.
Switch branches/tags
Nothing to show
Clone or download
Latest commit 768d2f2 Aug 8, 2017
Failed to load latest commit information.
cmd lines Mar 21, 2017
pdb import Mar 16, 2017
ribbon fix Aug 9, 2017
scripts import Mar 16, 2017
.gitignore import Mar 16, 2017
LICENSE.md add LICENSE.md Mar 16, 2017
README.md Update README.md Mar 16, 2017


Protein Ribbon Diagrams

Parse PDB files and render ribbon diagrams of proteins in pure Go.



Go should be installed and your GOPATH should be set (defaults to $HOME/go in Go 1.8+). $GOPATH/bin should be on your $PATH if you want to run the binaries easily.

$ go get -u github.com/fogleman/ribbon/cmd/rcsb

Example Usage

Provide a 4-digit RCSB Structure ID. The PDB file will automatically be downloaded and an image will be rendered. The triangle mesh will also be saved.

$ rcsb 4hhb  # generates 4hhb.png and 4hhb.stl


RCSB Protein Data Bank - Find PDB files of proteins here. Over 100,000 in the database.

PDB File Format - Details on the PDB file format.

Package pdb


The pdb package parses PDB files. The following entities are currently parsed:

ATOM   => *pdb.Atom
HETATM => *pdb.Atom
CONECT => *pdb.Connection
HELIX  => *pdb.Helix
SHEET  => *pdb.Strand
BIOMT  => pdb.Matrix
SMTRY  => pdb.Matrix

Additionally, some higher-level constructs are produced:


Package ribbon


The ribbon package generates 3D meshes given a pdb.Model. It can produce the following types of meshes:

  • Ribbon
  • Ball & stick (for ligands)
  • Space filling
  • Backbone

Package fauxgl

The fauxgl library is used for rendering the 3D meshes in pure Go.


Sample Sample Sample Sample