Skip to main content

A complete Protein Data Bank (PDB) file parser

Project description

Pidibble - a complete PDB parser

Pidibble is a Python package for parsing standard Protein Data Bank (PDB) files. It conforms to the most recent standard (v.3.3 Atomic Coordinate Entry Format, ca. 2011).

Unlike parsers like that found in packages like BioPython, pidibble provides meaningfully parsed objects from all standard PDB record types, not just ATOMs and CONECTs.

Once installed, the user has access to the PDBParser class in the pidibble.pdbparser module.

Example interactive usage

>>> from pidibble.pdbparse import PDBParser
>>> p=PDBParser(PDBcode='4zmj').parse()
>>> print (p.parsed['HEADER'].classification)
VIRAL PROTEIN
>>> print (p.parsed['HEADER'].depDate)
04-MAY-15
>>> print (p.parsed['HEADER'].idCode)
4ZMJ
>>> keys=list(sorted(list(p.parsed.keys())))
>>> print(keys)
['ANISOU', 'ATOM', 'AUTHOR', 'CISPEP', 'COMPND', 'CONECT', 'CRYST1', 'DBREF', 'END', 'EXPDTA', 'FORMUL', 'HEADER', 'HELIX', 'HET', 'HETATM', 'HETNAM', 'JRNL.AUTH', 'JRNL.DOI', 'JRNL.PMID', 'JRNL.REF', 'JRNL.REFN', 'JRNL.TITL', 'KEYWDS', 'LINK', 'MASTER', 'ORIGX1', 'ORIGX2', 'ORIGX3', 'REMARK.100', 'REMARK.2', 'REMARK.200', 'REMARK.280', 'REMARK.290', 'REMARK.290.CRYSTSYMMTRANS', 'REMARK.3', 'REMARK.300', 'REMARK.350', 'REMARK.350.BIOMOLECULE.1', 'REMARK.4', 'REMARK.465', 'REMARK.500', 'REVDAT', 'SCALE1', 'SCALE2', 'SCALE3', 'SEQADV', 'SEQRES', 'SHEET', 'SOURCE', 'SSBOND', 'TER', 'TITLE']
>>> header=p.parsed['HEADER']
>>> print(header.pstr())
HEADER
      classification: VIRAL PROTEIN
             depDate: 04-MAY-15
              idCode: 4ZMJ
>>> atoms=p.parsed['ATOM']
>>> len(atoms)
4518
>>> print(atoms[0].pstr())
ATOM
              serial: 1
                name: N
              altLoc: 
             residue: resName: LEU; chainID: G; seqNum: 34; iCode: 
                   x: -0.092
                   y: 99.33
                   z: 57.967
           occupancy: 1.0
          tempFactor: 137.71
             element: N
              charge: 

Release History

  • 1.1.0
    • version detection
  • 1.0.9.1
    • added limited functionality to parse mmCIF files, in particular to generate any ATOM, HETATM, SSBOND, LINK, SEQADV, REMARK 350, and REMARK 465 records
  • 1.0.8
    • bug fix: handle variations in how symmetry operation matrices are represented
  • 1.0.7.7
    • cleaned up logging
  • 1.0.7.6
    • bug fix: leading whitespace in resname field of Residue10 record sometimes ignored
  • 1.0.7.5
    • support for four-letter residue names
  • 1.0.7.4
    • added logging functionality
  • 1.0.7.3
    • improved parsing of BIOMT transforms
  • 1.0.7.2
    • added documentation stub at readthedocs
  • 1.0.7.1
    • support for split BIOMT tables and REMARKS 280, 375, 650, and 700
  • 1.0.7
    • pretty-print enabled
  • 1.0
    • Initial version

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pidibble-1.1.0.tar.gz (2.4 MB view details)

Uploaded Source

Built Distribution

pidibble-1.1.0-py3-none-any.whl (21.2 kB view details)

Uploaded Python 3

File details

Details for the file pidibble-1.1.0.tar.gz.

File metadata

  • Download URL: pidibble-1.1.0.tar.gz
  • Upload date:
  • Size: 2.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for pidibble-1.1.0.tar.gz
Algorithm Hash digest
SHA256 7f5013a0a412a569ee77424e0ccb2aaf61abea1f9316d735e438736737f5471d
MD5 4827eacf9f4f6c81042d2ae5a78803c8
BLAKE2b-256 92d3a8c8a0cc58ee2cbfa097f729034ca13cebf7913f14ed359c0e95d8a42de1

See more details on using hashes here.

File details

Details for the file pidibble-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: pidibble-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 21.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for pidibble-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c776e0e79cf77dfb0a9542e6f3e428ca3ee2d20cd7b89b300255df9783878b9c
MD5 0d23a92f79ba7d599032ca9cffb593e1
BLAKE2b-256 66cd58b6635be96f173b3dec2e71d9e2e4fcc54826b6755287f4ef426036a818

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page