hPDB-0.999: Protein Databank file format library

Safe HaskellNone

Bio.PDB

Synopsis

Documentation

parse :: FilePath -> IO (Maybe Structure)Source

Parse a .pdb file and return Structure.

write :: Structure -> FilePath -> IO ()Source

Write structure to a .pdb file.

data Model Source

PDB entry may contain multiple models, with slight differences in coordinates etc.

Constructors

Model 

Fields

modelId :: !Int
 
chains :: List Chain
 

data Chain Source

Single linear polymer chain of protein, or nucleic acids

Constructors

Chain 

Fields

chainId :: !Char
 
residues :: List Residue
 

data Residue Source

Residue groups all atoms assigned to the same aminoacid or nucleic acid base within a polymer chain.

Constructors

Residue 

Fields

resName :: !String
 
resSeq :: !Int
 
atoms :: List Atom
 
insCode :: !Char
 

data Atom Source

Single atom position | NOTE: disordered atoms are now reported as multiplicates

Constructors

Atom 

class Iterable a b where

Class for iterating all nested components b of type a.

Methods

imapM :: Monad m => (b -> m b) -> a -> m a

imap :: (b -> b) -> a -> a

ifoldM :: Monad m => (c -> b -> m c) -> c -> a -> m c

ifoldr :: (b -> c -> c) -> c -> a -> c

ifoldl :: (c -> b -> c) -> c -> a -> c

ifoldl' :: (c -> b -> c) -> c -> a -> c

ilength :: b -> a -> Int

resname2fastacode :: String -> CharSource

Dictionary mapping three-letter PDB residue code to a single-letter FASTA code.

fastacode2resname :: Char -> StringSource

Dictionary mapping single-letter FASTA standard aminoacid code to a PDB residue name

(*|) :: Double -> Vector3 -> Vector3Source

Scalar product. (* indicates side on which one can put a scalar.)

(|*) :: Vector3 -> Double -> Vector3Source

Scalar product. (* indicates side on which one can put a scalar.)

vnorm :: Vector3 -> DoubleSource

2-norm of a vector (also called a magnitude or length.)

type Element = ByteStringSource

Basic elemental parameters as suggested by CSD.

TODO: May be better as a newtype, and make sure that other modules use this declaration

atomicNumber :: Element -> IntSource

Atomic number of a given element

atomicMass :: Element -> DoubleSource

Atomic mass of a given element in g/mol

covalentRadius :: (Eq a1, Fractional a, Show a1, IsString a1) => a1 -> aSource

vanDerWaalsRadius :: Element -> DoubleSource

Van der Waals radius of the given element