packages feed

ViennaRNAParser 1.2.9 → 1.3.0

raw patch · 4 files changed

+37/−21 lines, 4 filesdep +ParsecToolsPVP ok

version bump matches the API change (PVP)

Dependencies added: ParsecTools

API changes (from Hackage documentation)

+ Bio.RNAplexData: [prefilterEnergy] :: RNAplexInteraction -> Maybe Double
+ Bio.RNAplexData: [prefilterStart] :: RNAplexInteraction -> Maybe Int
+ Bio.RNAplexData: [prefilterStop] :: RNAplexInteraction -> Maybe Int
- Bio.RNAplexData: RNAplexInteraction :: String -> String -> String -> Int -> Int -> Int -> Int -> Double -> Maybe Double -> Maybe Double -> Maybe Double -> RNAplexInteraction
+ Bio.RNAplexData: RNAplexInteraction :: String -> String -> String -> Int -> Int -> Int -> Int -> Double -> Maybe Double -> Maybe Double -> Maybe Double -> Maybe Int -> Maybe Int -> Maybe Double -> RNAplexInteraction

Files

ViennaRNAParser.cabal view
@@ -5,7 +5,7 @@ -- PVP summary:      +-+------- breaking API changes --                   | | +----- non-breaking API additions --                   | | | +--- code changes with no API change-version:             1.2.9+version:             1.3.0 synopsis:            Libary for parsing ViennaRNA package output description:         Currently contains parsers and datatypes for: RNAalifold, RNAcode, RNAdistance, RNAcofold, RNAfold, RNAplex, RNAup, RNAz. 		     .@@ -30,8 +30,8 @@  source-repository this   type:     git-  location: https://github.com/eggzilla/ViennaRNAParser/tree/1.2.9-  tag:      1.2.9+  location: https://github.com/eggzilla/ViennaRNAParser/tree/1.3.0+  tag:      1.3.0  library   -- Modules exported by the library.@@ -58,7 +58,7 @@   ghc-options:         -Wall -O2 -fno-warn-unused-do-bind    -- Other library packages from which modules are imported.-  build-depends:       base >=4.5 && <5, parsec>=3.1.9, process, transformers+  build-depends:       base >=4.5 && <5, parsec>=3.1.9, process, transformers, ParsecTools      -- Directories containing source files.   hs-source-dirs:      src
changelog view
@@ -1,4 +1,6 @@ -*-change-log-*-+1.3.0 Florian Eggenhofer <egg@informatik.uni-freiburg.de> 6. September 2016+        * Added support for new prefilter fields in RNAplex output  1.2.8 Florian Eggenhofer <florian.eggenhofer@univie.ac.at> 11. February 2016         * Fixed special character parsing of identifiers in RNAcode  1.2.7 Florian Eggenhofer <florian.eggenhofer@univie.ac.at> 4. January 2016
src/Bio/RNAplexData.hs view
@@ -17,6 +17,9 @@     duplexEnergy :: Double,     duplexEnergyWithoutAccessiblity :: Maybe Double,     queryAccessiblity :: Maybe Double,-    targetAccessibility :: Maybe Double+    targetAccessibility :: Maybe Double,+    prefilterStart ::  Maybe Int,+    prefilterStop :: Maybe Int,+    prefilterEnergy :: Maybe Double   }   deriving (Show, Eq)
src/Bio/RNAplexParser.hs view
@@ -9,7 +9,8 @@  import Bio.RNAplexData import Bio.ViennaRNAParserLibrary-import Text.ParserCombinators.Parsec    +import Text.ParserCombinators.Parsec+import Text.Parsec.Numbers import Control.Monad  -- | Parse the input as list of RNAplexInteraction datatype@@ -30,34 +31,44 @@   newline    _secondaryStructure <- many1 (oneOf "&().,")   many1 space-  _targetDuplexBegin <- many1 digit+  _targetDuplexBegin <- parseIntegral   char ','-  _targetDuplexEnd <- many1 digit+  _targetDuplexEnd <- parseIntegral   many1 space   char ':'   many1 space-  _queryDuplexBegin <- many1 digit+  _queryDuplexBegin <- parseIntegral   char ','-  _queryDuplexEnd <- many1 digit+  _queryDuplexEnd <- parseIntegral   many1 space   char '('-  optional space-  _duplexEnergy <- many1 (noneOf (" )"))-  optional space+  optional (string " ")+  _duplexEnergy <- parseFloat+  optional (string " ")   optional (char '=')-  optional space-  _duplexEnergyWithoutAccessiblity <- optionMaybe (try (many1 (noneOf (" )"))))-  optional space +  optional (string " ")+  _duplexEnergyWithoutAccessiblity <- optionMaybe (try parseFloat)+  optional (string " ")   optional (char '+')-  optional (many1 space)-  _queryAccessiblity <- optionMaybe (try (many1 (noneOf (" )")))) -  optional space +  optional (many1 (string " "))+  _queryAccessiblity <- optionMaybe (try parseFloat) +  optional (string " ")   optional (char '+')   optional (many1 space)-  _targetAccessibility <- optionMaybe (try (many1 (noneOf (")"))))+  _targetAccessibility <- optionMaybe (try parseFloat)   char ')'+  many (oneOf " ")+  optional (string "i:")+  _prefilterStart <- optionMaybe (try parseIntegral)+  optional (string ",")+  optional (string "j:")+  _prefilterEnd <- optionMaybe (try parseIntegral)+  many (oneOf " ")+  optional (string "<")+  _prefilterEnergy <- optionMaybe (try parseFloat)+  optional (string ">")   newline-  return $ RNAplexInteraction _targetIdentifier _queryIdentifier _secondaryStructure (readInt _targetDuplexBegin) (readInt _targetDuplexEnd) (readInt _queryDuplexBegin) (readInt _queryDuplexEnd) (readDouble _duplexEnergy) (liftM readDouble _duplexEnergyWithoutAccessiblity) (liftM readDouble _queryAccessiblity) (liftM readDouble _targetAccessibility)+  return $ RNAplexInteraction _targetIdentifier _queryIdentifier _secondaryStructure _targetDuplexBegin _targetDuplexEnd  _queryDuplexBegin  _queryDuplexEnd  _duplexEnergy _duplexEnergyWithoutAccessiblity _queryAccessiblity _targetAccessibility _prefilterStart _prefilterEnd _prefilterEnergy  -- | parse RNAplexOutput from input string parseRNAplex :: [Char] -> Either ParseError [RNAplexInteraction]