Protein Ribbon Diagrams
Parse PDB files and render ribbon diagrams of proteins in pure Go.
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.
pdb
Package
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
ribbon
Package
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
fauxgl
Package The fauxgl library is used for rendering the 3D meshes in pure Go.