hPDB-examples 1.2.0.8 → 1.5.0.0
raw patch · 4 files changed
+28/−28 lines, 4 filesdep +lineardep −AC-Vectordep −text-formatdep ~Octreedep ~basedep ~hPDB
Dependencies added: linear
Dependencies removed: AC-Vector, text-format
Dependency ranges changed: Octree, base, hPDB
Files
- examples/CleanPDB.hs +1/−1
- examples/ShiftToCenter.hs +3/−3
- examples/Viewer.hs +11/−11
- hPDB-examples.cabal +13/−13
examples/CleanPDB.hs view
@@ -7,7 +7,7 @@ import qualified Data.ByteString.Char8 as BS import Data.List import Text.Printf-import Data.Vector.V3+import Linear.V3 import Control.Monad.State(State, modify, get, runState) type CounterM a = State Int a
examples/ShiftToCenter.hs view
@@ -10,9 +10,9 @@ import qualified Data.ByteString.Char8 as BS import Data.List import Text.Printf-import Data.Vector.V3+import Linear.V3 -center :: PDB.Structure -> Vector3+center :: PDB.Structure -> V3 Double center s = avgv where sumv = itfoldl' addCoord 0 (s :: PDB.Structure)@@ -26,7 +26,7 @@ main = do [inpfname, outfname] <- getArgs Just structure <- PDB.parse inpfname- let c@(Vector3 x y z) = center structure+ let c@(V3 x y z) = center structure printf "Center %.2f %.2f %.2f\n" x y z putStrLn $ show (PDB.numAtoms structure) ++ " atoms." let s1 = shift c structure
examples/Viewer.hs view
@@ -15,7 +15,7 @@ import Bio.PDB.Iterable as PDBI import Data.ByteString.Char8 as BS import Bio.PDB.Structure.Vector-import Data.Vector.V3+import Linear.V3 data UIState = UIState { manipulationCenter :: Maybe GL.Position , pressedButton :: Maybe GL.MouseButton@@ -105,18 +105,18 @@ zaxis = GL.Vector3 0 0 1 :: GL.Vector3 GL.GLdouble -negateVector3 :: (Num a) => GL.Vector3 a -> GL.Vector3 a-negateVector3 = fmap negate+negateV3 :: (Num a) => GL.Vector3 a -> GL.Vector3 a+negateV3 = fmap negate handleKeys :: IORef UIState -> GL.Key -> GL.KeyState -> GL.Modifiers -> GL.Position -> IO () handleKeys uiState (GL.Char 'q') GL.Down _modifiers _position = rotateViewMatrix uiState 10.0 yaxis handleKeys uiState (GL.Char 'e') GL.Down _modifiers _position = rotateViewMatrix uiState (-10.0) yaxis handleKeys uiState (GL.Char 'r') GL.Down _modifiers _position = rotateViewMatrix uiState 10.0 xaxis handleKeys uiState (GL.Char 'f') GL.Down _modifiers _position = rotateViewMatrix uiState (-10.0) xaxis-handleKeys uiState (GL.Char 'a') GL.Down _modifiers _position = translateViewMatrix uiState xaxis-handleKeys uiState (GL.Char 'd') GL.Down _modifiers _position = translateViewMatrix uiState $ negateVector3 xaxis-handleKeys uiState (GL.Char 'w') GL.Down _modifiers _position = translateViewMatrix uiState zaxis-handleKeys uiState (GL.Char 's') GL.Down _modifiers _position = translateViewMatrix uiState $ negateVector3 zaxis+handleKeys uiState (GL.Char 'a') GL.Down _modifiers _position = translateViewMatrix uiState xaxis+handleKeys uiState (GL.Char 'd') GL.Down _modifiers _position = translateViewMatrix uiState $ negateV3 xaxis+handleKeys uiState (GL.Char 'w') GL.Down _modifiers _position = translateViewMatrix uiState zaxis+handleKeys uiState (GL.Char 's') GL.Down _modifiers _position = translateViewMatrix uiState $ negateV3 zaxis handleKeys uiState (GL.MouseButton GL.RightButton) GL.Down _modifiers position = startMouseTracking uiState GL.RightButton position handleKeys uiState (GL.MouseButton GL.MiddleButton) GL.Down _modifiers position = startMouseTracking uiState GL.MiddleButton position handleKeys uiState (GL.MouseButton GL.LeftButton) GL.Down _modifiers position = startMouseTracking uiState GL.LeftButton position @@ -211,11 +211,11 @@ GL.depthFunc $= Just GL.Less -- Assessing dimensions for initial focus-center :: PDBS.Structure -> Vector3+center :: PDBS.Structure -> V3 Double center structure = average where (!average, _count) = PDBI.itfoldl' step (fromIntegral 0, 0) structure- step :: (Vector3, Double) -> PDBS.Atom -> (Vector3, Double)+ step :: (V3 Double, Double) -> PDBS.Atom -> (V3 Double, Double) step (!r, !i) at = let i' = i + 1 in (coord at |* (1/i') + r |* (i/i'), i') @@ -226,10 +226,10 @@ vzip max maxv c)) (cs, cs) structure !cs = center structure -vector3ToGLVector3 :: Vector3 -> GL.Vector3 GL.GLdouble+vector3ToGLVector3 :: V3 Double -> GL.Vector3 GL.GLdouble vector3ToGLVector3 v = GL.Vector3 x' y' z' where- Vector3 x y z = v+ V3 x y z = v [x', y', z'] :: [GL.GLdouble] = Prelude.map realToFrac [x, y, z] renderStructure :: IORef UIState -> PDBS.Structure -> IO ()
hPDB-examples.cabal view
@@ -1,5 +1,5 @@ name: hPDB-examples-version: 1.2.0.8+version: 1.5.0.0 synopsis: Examples for hPDB library stability: stable homepage: https://github.com/BioHaskell/hPDB-examples@@ -16,7 +16,7 @@ build-type: Simple cabal-version: >=1.8-tested-with: GHC==7.4.2, GHC==7.6.3, GHC==7.8.4,GHC==7.10.3,GHC==8.0.1,GHC==8.2.2+tested-with: GHC==7.10.3,GHC==8.0.1,GHC==8.2.2 --data-files: 1CRN.pdb, 1HTQ.pdb, 3JYV.pdb extra-source-files: README.md INSTALL AUTHORS @@ -27,42 +27,42 @@ Executable PDB2Fasta main-is: examples/PDB2Fasta.hs ghc-options: -fspec-constr-count=4 -O3 -threaded -rtsopts -with-rtsopts=-N- build-depends: base>=4.0, base <4.11, bytestring, ghc-prim, directory, mtl, template-haskell, vector, AC-Vector, containers, deepseq, QuickCheck >= 2.5.0.0, text>=0.11.1.13, hPDB >= 1.2, iterable >=3.0+ build-depends: base>=4.0, base <4.12, bytestring, ghc-prim, directory, mtl, template-haskell, vector, linear, containers, deepseq, QuickCheck >= 2.5.0.0, text>=0.11.1.13, hPDB >= 1.5, iterable >=3.0 other-extensions: ScopedTypeVariables OverloadedStrings BangPatterns NoMonomorphismRestriction EmptyDataDecls MagicHash Executable ShiftToCenter main-is: examples/ShiftToCenter.hs ghc-options: -fspec-constr-count=4 -O3 -threaded -rtsopts -with-rtsopts=-N- build-depends: base>=4.0, base<4.11, ghc-prim, directory, mtl, template-haskell, vector, AC-Vector, containers, deepseq,QuickCheck >= 2.5.0.0, text>=0.11.1.13, hPDB >= 1.2, bytestring, iterable >=1.0+ build-depends: base>=4.0, base<4.12, ghc-prim, directory, mtl, template-haskell, vector, linear, containers, deepseq,QuickCheck >= 2.5.0.0, text>=0.11.1.13, hPDB >= 1.5, bytestring, iterable >=1.0 other-extensions: ScopedTypeVariables OverloadedStrings BangPatterns NoMonomorphismRestriction EmptyDataDecls MagicHash Executable CleanPDB main-is: examples/CleanPDB.hs ghc-options: -fspec-constr-count=4 -O3 -threaded -rtsopts -with-rtsopts=-N- build-depends: base>=4.0, base <4.11, bytestring, ghc-prim, directory, mtl, template-haskell, vector, AC-Vector, containers, deepseq,QuickCheck >= 2.5.0.0, text>=0.11.1.13, hPDB >= 1.2, iterable >=1.0+ build-depends: base>=4.0, base <4.12, bytestring, ghc-prim, directory, mtl, template-haskell, vector, linear, containers, deepseq,QuickCheck >= 2.5.0.0, text>=0.11.1.13, hPDB >= 1.5, iterable >=1.0 other-extensions: ScopedTypeVariables OverloadedStrings BangPatterns NoMonomorphismRestriction EmptyDataDecls MagicHash Executable SplitModels main-is: examples/SplitModels.hs ghc-options: -fspec-constr-count=4 -O3 -threaded -rtsopts -with-rtsopts=-N- build-depends: base>=4.0, base <4.11, ghc-prim, directory, mtl, template-haskell, vector, AC-Vector, containers, deepseq,QuickCheck >= 2.5.0.0, text>=0.11.1.13, hPDB >= 1.2, bytestring, iterable >=1.0+ build-depends: base>=4.0, base <4.12, ghc-prim, directory, mtl, template-haskell, vector, linear, containers, deepseq,QuickCheck >= 2.5.0.0, text>=0.11.1.13, hPDB >= 1.5, bytestring, iterable >=1.0 other-extensions: ScopedTypeVariables OverloadedStrings BangPatterns NoMonomorphismRestriction EmptyDataDecls MagicHash Executable CanonicalAxes main-is: examples/CanonicalAxes.hs ghc-options: -fspec-constr-count=4 -O3 -threaded -rtsopts -with-rtsopts=-N- Build-depends: base>=4.0, base <4.11, bytestring, ghc-prim, directory, mtl, template-haskell, vector, AC-Vector, containers, deepseq,QuickCheck >= 2.5.0.0, text>=0.11.1.13, hPDB >= 1.2, iterable >=1.0+ Build-depends: base>=4.0, base <4.12, bytestring, ghc-prim, directory, mtl, template-haskell, vector, linear, containers, deepseq,QuickCheck >= 2.5.0.0, text>=0.11.1.13, hPDB >= 1.5, iterable >=1.0 other-extensions: ScopedTypeVariables OverloadedStrings BangPatterns NoMonomorphismRestriction EmptyDataDecls MagicHash Executable PrintEvents Main-is: tests/PrintEvents.hs ghc-options: -fspec-constr-count=4 -O3 -threaded -rtsopts -with-rtsopts=-N- Build-depends: base>=4.0, base <4.11, bytestring, ghc-prim, directory, mtl, template-haskell, vector, AC-Vector, containers, deepseq, QuickCheck >= 2.5.0.0, text>=0.11.1.13, hPDB >= 1.2, iterable >=1.0+ Build-depends: base>=4.0, base <4.12, bytestring, ghc-prim, directory, mtl, template-haskell, vector, linear, containers, deepseq, QuickCheck >= 2.5.0.0, text>=0.11.1.13, hPDB >= 1.5, iterable >=1.0 other-extensions: ScopedTypeVariables OverloadedStrings BangPatterns NoMonomorphismRestriction EmptyDataDecls Executable PrintStructureObject ghc-options: -fspec-constr-count=4 -O3 -threaded -rtsopts -with-rtsopts=-N- Build-depends: base>=4.0, base <4.11, bytestring, ghc-prim, directory, mtl, template-haskell, vector, AC-Vector, containers, deepseq,QuickCheck >= 2.5.0.0, text>=0.11.1.13, hPDB >= 1.2, iterable >=1.0+ Build-depends: base>=4.0, base <4.12, bytestring, ghc-prim, directory, mtl, template-haskell, vector, linear, containers, deepseq,QuickCheck >= 2.5.0.0, text>=0.11.1.13, hPDB >= 1.5, iterable >=1.0 Main-is: tests/PrintStructureObject.hs other-extensions: ScopedTypeVariables OverloadedStrings BangPatterns NoMonomorphismRestriction EmptyDataDecls @@ -72,26 +72,26 @@ -fsimpl-tick-factor=150 -- ^ To avoid difficulties with GHC 7.10.1: -- https://ghc.haskell.org/trac/ghc/ticket/10565- Build-depends: base>=4.0, base <4.11, ghc-prim, bytestring, directory, mtl, template-haskell, vector, AC-Vector, containers, deepseq,QuickCheck >= 2.5.0.0, text>=0.11.1.13, hPDB >= 1.2, iterable >=1.0+ Build-depends: base>=4.0, base <4.12, ghc-prim, bytestring, directory, mtl, template-haskell, vector, linear, containers, deepseq,QuickCheck >= 2.5.0.0, text>=0.11.1.13, hPDB >= 1.5, iterable >=1.0 other-extensions: ScopedTypeVariables OverloadedStrings BangPatterns NoMonomorphismRestriction EmptyDataDecls Executable StericClashCheck main-is: examples/StericClashCheck.hs ghc-options: -fspec-constr-count=4 -O3 -threaded -rtsopts -with-rtsopts=-N- Build-Depends: base>=4.0, base<4.11, bytestring, ghc-prim, directory, mtl, template-haskell, vector, AC-Vector, containers, deepseq, Octree >= 0.5, QuickCheck, text, text-format, hPDB >= 1.2, iterable >=1.0+ Build-Depends: base>=4.0, base<4.12, bytestring, ghc-prim, directory, mtl, template-haskell, vector, linear, containers, deepseq, Octree >= 0.5, QuickCheck, text, hPDB >= 1.5, iterable >=1.0 other-extensions: ScopedTypeVariables OverloadedStrings BangPatterns NoMonomorphismRestriction EmptyDataDecls -- if flag(haveOpenGL) -- why can't we make it conditionally available? Executable Viewer main-is: examples/Viewer.hs ghc-options: -fspec-constr-count=4 -O3 -threaded -rtsopts -with-rtsopts=-N- Build-depends: base>=4.0, base <4.11, ghc-prim, directory, mtl, template-haskell, vector, AC-Vector, containers, deepseq,QuickCheck >= 2.5.0.0, text>=0.11.1.13, OpenGL, GLUT, hPDB >= 1.2, bytestring, iterable >=1.0+ Build-depends: base>=4.0, base <4.12, ghc-prim, directory, mtl, template-haskell, vector, linear, containers, deepseq,QuickCheck >= 2.5.0.0, text>=0.11.1.13, OpenGL, GLUT, hPDB >= 1.5, bytestring, iterable >=1.0 other-extensions: ScopedTypeVariables OverloadedStrings BangPatterns NoMonomorphismRestriction EmptyDataDecls MagicHash test-suite ParserPerformance main-is: tests/TestParser.hs type: exitcode-stdio-1.0 ghc-options: -fspec-constr-count=4 -O3 -threaded -rtsopts "-with-rtsopts=-N -t"- Build-depends: base>=4.0, base <4.11, ghc-prim, directory, mtl, template-haskell, vector, AC-Vector, containers, deepseq, text>=0.11.1.13, hPDB >= 1.2, bytestring, iterable >=1.0, IfElse >= 0.80, process >= 1.0, time >= 1.2+ Build-depends: base>=4.0, base <4.12, ghc-prim, directory, mtl, template-haskell, vector, linear, containers, deepseq, text>=0.11.1.13, hPDB >= 1.5, bytestring, iterable >=1.0, IfElse >= 0.80, process >= 1.0, time >= 1.2 other-extensions: ScopedTypeVariables OverloadedStrings BangPatterns NoMonomorphismRestriction EmptyDataDecls MagicHash