BiobaseFR3D 0.1.1.0 → 0.1.3.0
raw patch · 3 files changed
+16/−10 lines, 3 filesdep +BiobaseXNAPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies added: BiobaseXNA
API changes (from Hackage documentation)
- Biobase.FR3D: Basepair :: ByteString -> Char -> Int -> ByteString -> Int -> Char -> Int -> ByteString -> Int -> Basepair
+ Biobase.FR3D: Basepair :: ExtPairAnnotation -> Char -> Int -> ByteString -> Int -> Char -> Int -> ByteString -> Int -> Basepair
- Biobase.FR3D: LinFR3D :: ByteString -> ByteString -> [(Int, Int, String)] -> LinFR3D
+ Biobase.FR3D: LinFR3D :: ByteString -> ByteString -> [ExtPairIdx] -> LinFR3D
- Biobase.FR3D: interaction :: Basepair -> ByteString
+ Biobase.FR3D: interaction :: Basepair -> ExtPairAnnotation
- Biobase.FR3D: pairs :: LinFR3D -> [(Int, Int, String)]
+ Biobase.FR3D: pairs :: LinFR3D -> [ExtPairIdx]
Files
- Biobase/FR3D.hs +8/−6
- Biobase/FR3D/Import.hs +4/−2
- BiobaseFR3D.cabal +4/−2
Biobase/FR3D.hs view
@@ -14,8 +14,10 @@ import Data.ByteString.Char8 as BS import Data.List as L +import Biobase.Secondary + -- | Encapsulates all the "basepairs" information. data FR3D = FR3D@@ -27,7 +29,7 @@ -- | A single basepair in a basepair system. data Basepair = Basepair- { interaction :: ByteString+ { interaction :: ExtPairAnnotation -- nucleotide 1 , nucleotide1 :: Char , pdbnumber1 :: Int@@ -45,7 +47,7 @@ data LinFR3D = LinFR3D { pdbID :: ByteString , sequence :: ByteString- , pairs :: [(Int,Int,String)] -- TODO String -> CWW ?!+ , pairs :: [ExtPairIdx] -- [(Int,Int,String)] -- TODO String -> CWW ?! } deriving (Show) -- | The default format is a bit unwieldy; Linearization assumes that all@@ -60,9 +62,9 @@ } where trans = snd $ L.mapAccumL ( \acc (x,y) -> (acc + 1 + BS.length y, (x,acc)) ) 0 chains- f Basepair{..} = ( maybe (-1) (\v -> v+seqpos1) $ L.lookup chain1 trans- , maybe (-1) (\v -> v+seqpos2) $ L.lookup chain2 trans- , BS.unpack interaction+ f Basepair{..} = ( ( maybe (-1) (\v -> v+seqpos1) $ L.lookup chain1 trans+ , maybe (-1) (\v -> v+seqpos2) $ L.lookup chain2 trans )+ , interaction ) class RemoveDuplicatePairs a where@@ -74,4 +76,4 @@ instance RemoveDuplicatePairs LinFR3D where removeDuplicatePairs x@LinFR3D{..} = x{pairs = L.filter f pairs} where- f (x,y,_) = x<y+ f ((x,y),_) = x<y
Biobase/FR3D/Import.hs view
@@ -16,6 +16,8 @@ import Data.Maybe import System.FilePath.Find as F +import Biobase.Secondary+ import Biobase.FR3D @@ -33,7 +35,7 @@ xs <- stream2list -- and all basepairs return FR3D { pdbid = maybe "" (BS.take 4) $ listToMaybe xs- , chains = L.map (second (BS.drop 1) . BS.span isAlpha . BS.drop 2) cs+ , chains = L.map (second (BS.drop 1) . BS.span isAlphaNum . BS.drop 2) cs , basepairs = L.map bs2basepair $ xs } @@ -43,7 +45,7 @@ bs2basepair s | L.length ws /= 10 = error $ "can't parse line: " ++ unpack s | otherwise = Basepair- { interaction = ws!!1+ { interaction = threeChar . BS.unpack $ ws!!1 , nucleotide1 = BS.head $ ws!!2 , pdbnumber1 = maybe (-1) fst . readInt $ ws!!3 , chain1 = ws!!4
BiobaseFR3D.cabal view
@@ -1,5 +1,5 @@ name: BiobaseFR3D-version: 0.1.1.0+version: 0.1.3.0 author: Christian Hoener zu Siederdissen maintainer: choener@tbi.univie.ac.at homepage: http://www.tbi.univie.ac.at/~choener/@@ -25,6 +25,7 @@ Mathematical Biology/ (2008) 56:215–252. + extra-source-files: library@@ -32,7 +33,8 @@ base >3 && <5, bytestring, filemanip,- iteratee+ iteratee,+ BiobaseXNA >= 0.5.4 exposed-modules: Biobase.FR3D