/ribbon

Ribbon diagrams of proteins in #golang.

Primary LanguageGoMIT LicenseMIT

Protein Ribbon Diagrams

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

4HHB

Installation

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

Resources

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

Documentation

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:

*pdb.Residue
*pdb.Chain

Package ribbon

Documentation

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.

Samples

Sample Sample Sample Sample