hPDB 1.2.0.1 → 1.2.0.2
raw patch · 7 files changed
+27/−20 lines, 7 filesPVP: minor bump suggested
API additions: PVP suggests at least a minor version bump
API changes (from Hackage documentation)
+ Bio.PDB.Structure: instance Constructor C1_0Atom
+ Bio.PDB.Structure: instance Constructor C1_0Chain
+ Bio.PDB.Structure: instance Constructor C1_0Model
+ Bio.PDB.Structure: instance Constructor C1_0Residue
+ Bio.PDB.Structure: instance Constructor C1_0Structure
+ Bio.PDB.Structure: instance Datatype D1Atom
+ Bio.PDB.Structure: instance Datatype D1Chain
+ Bio.PDB.Structure: instance Datatype D1Model
+ Bio.PDB.Structure: instance Datatype D1Residue
+ Bio.PDB.Structure: instance Datatype D1Structure
+ Bio.PDB.Structure: instance Generic Atom
+ Bio.PDB.Structure: instance Generic Chain
+ Bio.PDB.Structure: instance Generic Model
+ Bio.PDB.Structure: instance Generic Residue
+ Bio.PDB.Structure: instance Generic Structure
+ Bio.PDB.Structure: instance Selector S1_0_0Atom
+ Bio.PDB.Structure: instance Selector S1_0_0Chain
+ Bio.PDB.Structure: instance Selector S1_0_0Model
+ Bio.PDB.Structure: instance Selector S1_0_0Residue
+ Bio.PDB.Structure: instance Selector S1_0_0Structure
+ Bio.PDB.Structure: instance Selector S1_0_1Atom
+ Bio.PDB.Structure: instance Selector S1_0_1Chain
+ Bio.PDB.Structure: instance Selector S1_0_1Model
+ Bio.PDB.Structure: instance Selector S1_0_1Residue
+ Bio.PDB.Structure: instance Selector S1_0_2Atom
+ Bio.PDB.Structure: instance Selector S1_0_2Residue
+ Bio.PDB.Structure: instance Selector S1_0_3Atom
+ Bio.PDB.Structure: instance Selector S1_0_3Residue
+ Bio.PDB.Structure: instance Selector S1_0_4Atom
+ Bio.PDB.Structure: instance Selector S1_0_5Atom
+ Bio.PDB.Structure: instance Selector S1_0_6Atom
+ Bio.PDB.Structure: instance Selector S1_0_7Atom
+ Bio.PDB.Structure: instance Selector S1_0_8Atom
Files
- Bio/PDB/EventParser/ParseFORMUL.hs +10/−10
- Bio/PDB/Structure.hs +8/−6
- Bio/PDB/Structure/List.hs +1/−0
- Bio/PDB/Util/MissingInstances.hs +1/−0
- README.md +1/−1
- changelog +3/−0
- hPDB.cabal +3/−3
Bio/PDB/EventParser/ParseFORMUL.hs view
@@ -49,21 +49,21 @@ else errs where -- parse- errs = fErrs ++ watErr- (fields, fErrs) = parseFields formulFields line line_no+ errs = fErrs ++ watErr+ (fields, fErrs) = parseFields formulFields line line_no [fRec, _, fCompNum, _, fHetId, _, fCont, fAsterisk, fFormula] = fields- IFInt compNum = fCompNum- IFStr hetId = fHetId- IFInt cont = fCont- IFChar asterisk = fAsterisk- IFStr formula = fFormula+ IFInt compNum = fCompNum+ IFStr hetId = fHetId+ IFInt cont = fCont+ IFChar asteriskChar = fAsterisk+ IFStr formula = fFormula - watErr = if asterisk `elem` " *"+ watErr = if (==asteriskChar) `BS.any` " *" then [] else [PDBParseError line_no 19 $ BS.concat ["Expecting asterisk for water or space, but found: '",- BS.pack [asterisk], "'."]]- isWater = asterisk == '*'+ BS.pack [asteriskChar], "'."]]+ isWater = asteriskChar == '*' -- unpack fields result = FORMUL compNum hetId cont isWater [formula]
Bio/PDB/Structure.hs view
@@ -1,10 +1,11 @@-{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE DisambiguateRecordFields, DeriveGeneric #-} module Bio.PDB.Structure(String, vdot, vnorm, vproj, vperpend, vperpends, vdihedral, (*|), (|*), Structure(..), Model(..), Chain(..), Residue(..), Atom(..)) where +import GHC.Generics(Generic) import Prelude hiding(String) import Bio.PDB.EventParser.PDBEvents(String, Vector3(..)) -- extract to a separate module? import Control.DeepSeq@@ -15,7 +16,7 @@ -- | Structure holds all data parsed from a single PDB entry data Structure = Structure { -- remarks :: [Map String String] models :: L.List Model- } deriving (Eq, Show)+ } deriving (Eq, Show, Generic) instance NFData Structure where rnf m = rnf (models m) `seq` ()@@ -31,7 +32,7 @@ -- | PDB entry may contain multiple models, with slight differences in coordinates etc. data Model = Model { modelId :: !Int, chains :: L.List Chain- } deriving (Eq, Show)+ } deriving (Eq, Show, Generic) instance NFData Model where rnf m = modelId m `seq` rnf (chains m) `seq` ()@@ -39,7 +40,7 @@ -- | Single linear polymer chain of protein, or nucleic acids data Chain = Chain { chainId :: !Char, residues :: L.List Residue- } deriving (Eq, Show)+ } deriving (Eq, Show, Generic) instance NFData Chain where rnf m = chainId m `seq` rnf (residues m) `seq` ()@@ -51,7 +52,7 @@ insCode :: !Char -- ss :: SSType - } deriving (Eq, Show)+ } deriving (Eq, Show, Generic) instance NFData Residue where rnf r = rnf (atoms r) `seq` ()@@ -73,7 +74,8 @@ segid :: !String, charge :: !String, hetatm :: !Bool- } deriving (Eq, Show)+ } deriving (Eq, Show, Generic) -- constructor is strict in all arguments... instance NFData Atom where+ rnf (Atom {}) = ()
Bio/PDB/Structure/List.hs view
@@ -37,6 +37,7 @@ #else -- It is defined in newer versions of vector package. instance NFData (V.Vector a) where+ rnf v = v `seq` () #endif instance NFData (TempList m a) where
Bio/PDB/Util/MissingInstances.hs view
@@ -13,5 +13,6 @@ -- I use strict version of BS.ByteString so default implementation should do -- | Nothing needs to be done in NFData instance for stricty `BS.ByteString`. instance NFData BS.ByteString where+ rnf a = a `seq` () #endif
README.md view
@@ -18,7 +18,7 @@ Details on official releases are on [Hackage](https://hackage.haskell.org/package/hPDB) -This package is also a part of [Stackage](http://daniel-diaz.github.io/stackagelist/) - a stable subset of Hackage.+This package is also a part of [Stackage](http://www.stackage.org/package/hPDB) - a stable subset of Hackage. Projects for the future: ------------------------
changelog view
@@ -1,5 +1,8 @@ -*-Changelog-*- +1.2.0.2 Dec 2014+ * Works with GHC 7.10+ 1.2.0.1 Dec 2014 * Relaxed upper bounds
hPDB.cabal view
@@ -1,5 +1,5 @@ name: hPDB-version: 1.2.0.1+version: 1.2.0.2 synopsis: Protein Databank file format library homepage: https://github.com/BioHaskell/hPDB stability: stable@@ -32,7 +32,7 @@ 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, GHC==7.6.3+tested-with: GHC==7.6.3, GHC==7.8.3 extra-source-files: README.md INSTALL AUTHORS changelog source-repository head@@ -68,7 +68,7 @@ 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-extensions: ScopedTypeVariables OverloadedStrings BangPatterns NoMonomorphismRestriction EmptyDataDecls MagicHash CPP PatternGuards NamedFieldPuns DisambiguateRecordFields TemplateHaskell MultiParamTypeClasses FlexibleInstances FlexibleContexts DeriveGeneric 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, Bio.PDB.Util.ParFold 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