name:                hPDB
version:             1.1
synopsis:            Protein Databank file format library
homepage:            https://github.com/BioHaskell/hPDB
stability:           stable
package-url:         http://hackage.haskell.org/package/hPDB
description:         Protein Data Bank file format is a most popular format for holding biological macromolecular data.
                     .
                     This is a very fast sequential parser:
                     .
                       * below 7s for the largest entry in PDB - 1HTQ which is over 70MB - as compared with 
                     .
                       * 11s of RASMOL 2.7.5,
                     .
                       * or 2m15s of BioPython with Python 2.6 interpreter.
                     .
                     In its parallel incarnation it is most probably the fastest parser for PDB format.
                     .
                     It is aimed to not only deliver event-based interface, but also a high-level data
                     structure for manipulating data in spirit of BioPython's PDB parser. 
                     .
                     <http://dx.doi.org/10.1186/1756-0500-6-483 hPDB - Haskell library for processing atomic biomolecular structures in Protein Data Bank format - Michal Jan Gajda. BMC Research Notes 2013, 6:483.>

category:            Bioinformatics 
license:             BSD3
license-file:        LICENSE

author:              Michal J. Gajda
copyright:           Copyright by Michal J. Gajda '2009-'2013
maintainer:          mjgajda@googlemail.com
bug-reports:         mailto:mjgajda@googlemail.com

build-type:          Simple
cabal-version:       >=1.8
tested-with:         GHC==7.0.3, GHC==7.2.2, GHC==7.4.1, GHC==7.4.2, GHC==7.6.1, GHC==7.6.2
extra-source-files:  README.md INSTALL AUTHORS

source-repository head
  type:     git
  location: https://github.com/BioHaskell/hPDB

flag have-mmap
  description: Use mmap to read input faster.
  default: True

flag have-sse2
  description: Use -msse2 for faster code.
  default: True

flag have-text-format
  description: Do not use text-format, since it may require double-conversion
               and thus linking of libstdc++ which may break compilation
               due to GHC bug #5289:
               .
               http://ghc.haskell.org/trac/ghc/ticket/5289
  default: True

-- TODO: Remove these old flags...
flag old-bytestring
  description: Use bytestring before version 0.10 (introduced in GHC 7.6), and define NFData for Data.ByteString yourself.
               Disable for GHC 7.6.
  default: False

flag old-zlib
  description: Use zlib before version 0.5.4 (introduced in GHC 7.6).
               Disable for GHC 7.6.1
  default: False

flag old-vector
  description: Use old vector library before version 0.10 (introduced along with GHC 7.6).
               Disable for GHC 7.6.1 and latest 7.4.2.
  default: False

source-repository head
  type:     git
  location: git://github.com:mgajda/hpdb.git

Library
  ghc-options:      -fspec-constr-count=4 -O3 
  build-depends:    base>=4.0, base <4.8, ghc-prim, directory, mtl, template-haskell, vector, AC-Vector, containers, deepseq, QuickCheck >= 2.5.0.0, text>=0.11.1.13, iterable >= 2.0, parallel >= 3.0.0.0, bytestring, zlib, Octree>= 0.5
  if flag(have-sse2)
    ghc-options: -msse2 
  if flag(have-mmap)
    build-depends: mmap
    cpp-options: -DHAVE_MMAP
  -- These optimization options change a lot for GHC >= 7.4.1
  ghc-options: -fspec-constr-count=4 -O3 
  if flag(have-text-format)
    cpp-options: -DHAVE_TEXT_FORMAT
    build-depends: text-format >= 0.3.1.0
  other-extensions:       ScopedTypeVariables OverloadedStrings BangPatterns NoMonomorphismRestriction EmptyDataDecls MagicHash CPP PatternGuards NamedFieldPuns DisambiguateRecordFields TemplateHaskell MultiParamTypeClasses FlexibleInstances FlexibleContexts
  other-modules:    Bio.PDB.EventParser.ParseATOM, Bio.PDB.EventParser.ParseCAVEAT, Bio.PDB.EventParser.ParseCISPEP, Bio.PDB.EventParser.ParseCONECT, Bio.PDB.EventParser.ParseCRYST1, Bio.PDB.EventParser.ParseDBREF, Bio.PDB.EventParser.ParseFORMUL, Bio.PDB.EventParser.ParseHEADER, Bio.PDB.EventParser.ParseHELIX, Bio.PDB.EventParser.ParseHET, Bio.PDB.EventParser.ParseHETNAM, Bio.PDB.EventParser.ParseHYDBND, Bio.PDB.EventParser.ParseIntRecord, Bio.PDB.EventParser.ParseJRNL, Bio.PDB.EventParser.ParseLINK, Bio.PDB.EventParser.ParseListRecord, Bio.PDB.EventParser.ParseMASTER, Bio.PDB.EventParser.ParseMatrixRecord, Bio.PDB.EventParser.ParseMODRES, Bio.PDB.EventParser.ParseObsoleting, Bio.PDB.EventParser.ParseREMARK, Bio.PDB.EventParser.ParseREVDAT, Bio.PDB.EventParser.ParseSEQADV, Bio.PDB.EventParser.ParseSEQRES, Bio.PDB.EventParser.ParseSHEET, Bio.PDB.EventParser.ParseSITE, Bio.PDB.EventParser.ParseSLTBRG, Bio.PDB.EventParser.ParseSpecListRecord, Bio.PDB.EventParser.ParseSPLIT, Bio.PDB.EventParser.ParseSSBOND, Bio.PDB.EventParser.ParseTER, Bio.PDB.EventParser.ParseTITLE, Bio.PDB.EventParser.ParseTVECT, Bio.PDB.EventParser.PDBParsingAbstractions, Bio.PDB.EventParser.FastParse, Bio.PDB.Util.MissingInstances, Bio.PDB.Common, Bio.PDB.Iterable.Utils, Bio.PDB.Iterable.Instances, Bio.PDB.StructureBuilder.Internals, Bio.PDB.StructureBuilder.Parallel
  exposed-modules:  Bio.PDB.EventParser.PDBEvents, Bio.PDB.EventParser.PDBEventParser, Bio.PDB.EventParser.ExperimentalMethods, Bio.PDB.EventParser.HelixTypes, Bio.PDB.EventParser.StrandSense, Bio.PDB.Structure, Bio.PDB.StructureBuilder, Bio.PDB.Iterable, Bio.PDB.IO, Bio.PDB.Fasta, Bio.PDB, Bio.PDB.Structure.Vector, Bio.PDB.Structure.Elements, Bio.PDB.Structure.List, Bio.PDB.StructurePrinter, Bio.PDB.EventParser.PDBEventPrinter, Bio.PDB.IO.OpenAnyFile, Bio.PDB.Structure.Neighbours
  exposed:          True