fogleman / Ribbon
Programming Languages
Projects that are alternatives of or similar to Ribbon
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.