hPDB-0.99: Parser, print and manipulate structures in PDB file format.

Safe HaskellNone

Bio.PDB

Synopsis

Documentation

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

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

Write structure to a .pdb file. (NOT YET IMPLEMENTED)

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 whereSource

Methods

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

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

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

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

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

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

ilength :: b -> a -> IntSource

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 -> Vec3D -> Vec3DSource

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

(|*) :: Vec3D -> Double -> Vec3DSource

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

vnorm :: Vec3D -> 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