ViennaRNAParser 1.0.1 → 1.2.0
raw patch · 16 files changed
+176/−38 lines, 16 filesdep +ViennaRNAParserdep +hspecdep +processdep ~basedep ~parsecPVP ok
version bump matches the API change (PVP)
Dependencies added: ViennaRNAParser, hspec, process
Dependency ranges changed: base, parsec
API changes (from Hackage documentation)
- Bio.ViennaRNAParser: RNAalifoldOutput :: String -> String -> Double -> Double -> Double -> RNAalifoldOutput
- Bio.ViennaRNAParser: RNAdistance :: Int -> RNAdistance
- Bio.ViennaRNAParser: RNAfold :: String -> String -> String -> Double -> RNAfold
- Bio.ViennaRNAParser: RNAplexInteraction :: String -> String -> String -> Int -> Int -> Int -> Int -> Double -> Maybe Double -> Maybe Double -> Maybe Double -> RNAplexInteraction
- Bio.ViennaRNAParser: RNAupInteraction :: String -> String -> [RNAupInteractionRegion] -> RNAupInteraction
- Bio.ViennaRNAParser: RNAupInteractionRegion :: String -> Int -> Int -> Int -> Int -> Double -> Maybe Double -> Maybe Double -> Maybe Double -> String -> String -> String -> RNAupInteractionRegion
- Bio.ViennaRNAParser: RNAzConsensus :: String -> String -> RNAzConsensus
- Bio.ViennaRNAParser: RNAzOutput :: String -> Int -> Int -> String -> Double -> Double -> Double -> Double -> Double -> Double -> Double -> Double -> Double -> Double -> String -> String -> Double -> Double -> String -> [RNAzResult] -> RNAzConsensus -> RNAzOutput
- Bio.ViennaRNAParser: RNAzResult :: String -> String -> String -> Double -> Double -> Char -> RNAzResult
- Bio.ViennaRNAParser: alignmentConsensusDotBracket :: RNAalifoldOutput -> String
- Bio.ViennaRNAParser: alignmentConsensusEnergyCovarianceContributions :: RNAalifoldOutput -> Double
- Bio.ViennaRNAParser: alignmentConsensusInitialMinimumFreeEnergy :: RNAalifoldOutput -> Double
- Bio.ViennaRNAParser: alignmentConsensusMinimumFreeEnergy :: RNAalifoldOutput -> Double
- Bio.ViennaRNAParser: alignmentConsensusSequence :: RNAalifoldOutput -> String
- Bio.ViennaRNAParser: backgroundModel :: RNAzOutput -> String
- Bio.ViennaRNAParser: columnNumber :: RNAzOutput -> Int
- Bio.ViennaRNAParser: combinationsPair :: RNAzOutput -> Double
- Bio.ViennaRNAParser: consensusDotBracket :: RNAzConsensus -> String
- Bio.ViennaRNAParser: consensusMinimumFreeEnergy :: RNAzOutput -> Double
- Bio.ViennaRNAParser: consensusSequence :: RNAzConsensus -> String
- Bio.ViennaRNAParser: covarianceContribution :: RNAzOutput -> Double
- Bio.ViennaRNAParser: data RNAalifoldOutput
- Bio.ViennaRNAParser: data RNAdistance
- Bio.ViennaRNAParser: data RNAfold
- Bio.ViennaRNAParser: data RNAplexInteraction
- Bio.ViennaRNAParser: data RNAupInteraction
- Bio.ViennaRNAParser: data RNAupInteractionRegion
- Bio.ViennaRNAParser: data RNAzConsensus
- Bio.ViennaRNAParser: data RNAzOutput
- Bio.ViennaRNAParser: data RNAzResult
- Bio.ViennaRNAParser: decisionModel :: RNAzOutput -> String
- Bio.ViennaRNAParser: dotBracket :: RNAzResult -> String
- Bio.ViennaRNAParser: duplexEnergy :: RNAplexInteraction -> Double
- Bio.ViennaRNAParser: duplexEnergyWithoutAccessiblity :: RNAplexInteraction -> Maybe Double
- Bio.ViennaRNAParser: energyContribution :: RNAzOutput -> Double
- Bio.ViennaRNAParser: foldSecondaryStructure :: RNAfold -> String
- Bio.ViennaRNAParser: foldSequence :: RNAfold -> String
- Bio.ViennaRNAParser: foldingEnergy :: RNAfold -> Double
- Bio.ViennaRNAParser: gcContent :: RNAzOutput -> Double
- Bio.ViennaRNAParser: header :: RNAzResult -> String
- Bio.ViennaRNAParser: meanPairwiseIdentity :: RNAzOutput -> Double
- Bio.ViennaRNAParser: meanSingleSequenceMinimumFreeEnergy :: RNAzOutput -> Double
- Bio.ViennaRNAParser: meanZScore :: RNAzOutput -> Double
- Bio.ViennaRNAParser: minimumFreeEnergy :: RNAzResult -> Double
- Bio.ViennaRNAParser: parseRNAalifold :: [Char] -> Either ParseError RNAalifoldOutput
- Bio.ViennaRNAParser: parseRNAdistance :: [Char] -> Either ParseError RNAdistance
- Bio.ViennaRNAParser: parseRNAfold :: [Char] -> Either ParseError RNAfold
- Bio.ViennaRNAParser: parseRNAplex :: [Char] -> Either ParseError [RNAplexInteraction]
- Bio.ViennaRNAParser: parseRNAup :: [Char] -> Either ParseError [RNAupInteraction]
- Bio.ViennaRNAParser: parseRNAz :: [Char] -> Either ParseError RNAzOutput
- Bio.ViennaRNAParser: plexSecondaryStructure :: RNAplexInteraction -> String
- Bio.ViennaRNAParser: prediction :: RNAzOutput -> String
- Bio.ViennaRNAParser: queryAccessiblity :: RNAplexInteraction -> Maybe Double
- Bio.ViennaRNAParser: queryDuplexBegin :: RNAplexInteraction -> Int
- Bio.ViennaRNAParser: queryDuplexEnd :: RNAplexInteraction -> Int
- Bio.ViennaRNAParser: queryIdentifier :: RNAplexInteraction -> String
- Bio.ViennaRNAParser: readRNAalifold :: String -> IO (Either ParseError RNAalifoldOutput)
- Bio.ViennaRNAParser: readRNAdistance :: String -> IO (Either ParseError RNAdistance)
- Bio.ViennaRNAParser: readRNAfold :: String -> IO (Either ParseError RNAfold)
- Bio.ViennaRNAParser: readRNAplex :: String -> IO (Either ParseError [RNAplexInteraction])
- Bio.ViennaRNAParser: readRNAup :: String -> IO (Either ParseError [RNAupInteraction])
- Bio.ViennaRNAParser: readRNAz :: String -> IO (Either ParseError RNAzOutput)
- Bio.ViennaRNAParser: readingDirection :: RNAzOutput -> String
- Bio.ViennaRNAParser: resultSequence :: RNAzResult -> String
- Bio.ViennaRNAParser: rnazConsensus :: RNAzOutput -> RNAzConsensus
- Bio.ViennaRNAParser: rnazResults :: RNAzOutput -> [RNAzResult]
- Bio.ViennaRNAParser: secondaryStructureDistance :: RNAdistance -> Int
- Bio.ViennaRNAParser: sequenceIdentifier :: RNAfold -> String
- Bio.ViennaRNAParser: sequenceNumber :: RNAzOutput -> Int
- Bio.ViennaRNAParser: shannonEntropy :: RNAzOutput -> Double
- Bio.ViennaRNAParser: structureConservationIndex :: RNAzOutput -> Double
- Bio.ViennaRNAParser: svmDecisionValue :: RNAzOutput -> Double
- Bio.ViennaRNAParser: svmRNAClassProbability :: RNAzOutput -> Double
- Bio.ViennaRNAParser: targetAccessibility :: RNAplexInteraction -> Maybe Double
- Bio.ViennaRNAParser: targetDuplexBegin :: RNAplexInteraction -> Int
- Bio.ViennaRNAParser: targetDuplexEnd :: RNAplexInteraction -> Int
- Bio.ViennaRNAParser: targetIdentifier :: RNAplexInteraction -> String
- Bio.ViennaRNAParser: upDuplexEnergy :: RNAupInteractionRegion -> Double
- Bio.ViennaRNAParser: upDuplexEnergyWithoutAccessiblity :: RNAupInteractionRegion -> Maybe Double
- Bio.ViennaRNAParser: upInteractions :: RNAupInteraction -> [RNAupInteractionRegion]
- Bio.ViennaRNAParser: upOutputFileName :: RNAupInteractionRegion -> String
- Bio.ViennaRNAParser: upQueryAccessiblity :: RNAupInteractionRegion -> Maybe Double
- Bio.ViennaRNAParser: upQueryDuplexBegin :: RNAupInteractionRegion -> Int
- Bio.ViennaRNAParser: upQueryDuplexEnd :: RNAupInteractionRegion -> Int
- Bio.ViennaRNAParser: upQueryIdentifier :: RNAupInteraction -> String
- Bio.ViennaRNAParser: upQuerySequence :: RNAupInteractionRegion -> String
- Bio.ViennaRNAParser: upSecondaryStructure :: RNAupInteractionRegion -> String
- Bio.ViennaRNAParser: upTargetAccessibility :: RNAupInteractionRegion -> Maybe Double
- Bio.ViennaRNAParser: upTargetDuplexBegin :: RNAupInteractionRegion -> Int
- Bio.ViennaRNAParser: upTargetDuplexEnd :: RNAupInteractionRegion -> Int
- Bio.ViennaRNAParser: upTargetIdentifier :: RNAupInteraction -> String
- Bio.ViennaRNAParser: upTargetSequence :: RNAupInteractionRegion -> String
- Bio.ViennaRNAParser: version :: RNAzOutput -> String
- Bio.ViennaRNAParser: zScore :: RNAzResult -> Double
- Bio.ViennaRNAParser: zscoreCalculationApproach :: RNAzResult -> Char
+ Bio.RNAalifoldData: RNAalifold :: String -> String -> Double -> Double -> Double -> RNAalifold
+ Bio.RNAalifoldData: alignmentConsensusDotBracket :: RNAalifold -> String
+ Bio.RNAalifoldData: alignmentConsensusEnergyCovarianceContributions :: RNAalifold -> Double
+ Bio.RNAalifoldData: alignmentConsensusInitialMinimumFreeEnergy :: RNAalifold -> Double
+ Bio.RNAalifoldData: alignmentConsensusMinimumFreeEnergy :: RNAalifold -> Double
+ Bio.RNAalifoldData: alignmentConsensusSequence :: RNAalifold -> String
+ Bio.RNAalifoldData: data RNAalifold
+ Bio.RNAalifoldData: instance Eq RNAalifold
+ Bio.RNAalifoldData: instance Show RNAalifold
+ Bio.RNAalifoldParser: parseRNAalifold :: [Char] -> Either ParseError RNAalifold
+ Bio.RNAalifoldParser: readRNAalifold :: String -> IO (Either ParseError RNAalifold)
+ Bio.RNAalifoldParser: systemRNAalifold :: String -> String -> String -> IO ExitCode
+ Bio.RNAcofoldData: RNAcofold :: String -> String -> String -> String -> Double -> RNAcofold
+ Bio.RNAcofoldData: coFoldSecondaryStructure1 :: RNAcofold -> String
+ Bio.RNAcofoldData: coFoldSecondaryStructure2 :: RNAcofold -> String
+ Bio.RNAcofoldData: coFoldSequence1 :: RNAcofold -> String
+ Bio.RNAcofoldData: coFoldSequence2 :: RNAcofold -> String
+ Bio.RNAcofoldData: coFoldingEnergy :: RNAcofold -> Double
+ Bio.RNAcofoldData: data RNAcofold
+ Bio.RNAcofoldData: instance Eq RNAcofold
+ Bio.RNAcofoldData: instance Show RNAcofold
+ Bio.RNAcofoldParser: parseRNAcofold :: [Char] -> Either ParseError RNAcofold
+ Bio.RNAcofoldParser: readRNAcofold :: String -> IO (Either ParseError RNAcofold)
+ Bio.RNAcofoldParser: systemRNAcofold :: String -> String -> IO ExitCode
+ Bio.RNAdistanceData: RNAdistance :: Int -> RNAdistance
+ Bio.RNAdistanceData: data RNAdistance
+ Bio.RNAdistanceData: instance Eq RNAdistance
+ Bio.RNAdistanceData: instance Show RNAdistance
+ Bio.RNAdistanceData: secondaryStructureDistance :: RNAdistance -> Int
+ Bio.RNAdistanceParser: parseRNAdistance :: [Char] -> Either ParseError RNAdistance
+ Bio.RNAdistanceParser: readRNAdistance :: String -> IO (Either ParseError RNAdistance)
+ Bio.RNAfoldData: RNAfold :: String -> String -> String -> Double -> RNAfold
+ Bio.RNAfoldData: data RNAfold
+ Bio.RNAfoldData: foldSecondaryStructure :: RNAfold -> String
+ Bio.RNAfoldData: foldSequence :: RNAfold -> String
+ Bio.RNAfoldData: foldingEnergy :: RNAfold -> Double
+ Bio.RNAfoldData: instance Eq RNAfold
+ Bio.RNAfoldData: instance Show RNAfold
+ Bio.RNAfoldData: sequenceIdentifier :: RNAfold -> String
+ Bio.RNAfoldParser: parseRNAfold :: [Char] -> Either ParseError RNAfold
+ Bio.RNAfoldParser: readRNAfold :: String -> IO (Either ParseError RNAfold)
+ Bio.RNAfoldParser: systemRNAfold :: String -> String -> IO ExitCode
+ Bio.RNAplexData: RNAplexInteraction :: String -> String -> String -> Int -> Int -> Int -> Int -> Double -> Maybe Double -> Maybe Double -> Maybe Double -> RNAplexInteraction
+ Bio.RNAplexData: data RNAplexInteraction
+ Bio.RNAplexData: duplexEnergy :: RNAplexInteraction -> Double
+ Bio.RNAplexData: duplexEnergyWithoutAccessiblity :: RNAplexInteraction -> Maybe Double
+ Bio.RNAplexData: instance Eq RNAplexInteraction
+ Bio.RNAplexData: instance Show RNAplexInteraction
+ Bio.RNAplexData: plexSecondaryStructure :: RNAplexInteraction -> String
+ Bio.RNAplexData: queryAccessiblity :: RNAplexInteraction -> Maybe Double
+ Bio.RNAplexData: queryDuplexBegin :: RNAplexInteraction -> Int
+ Bio.RNAplexData: queryDuplexEnd :: RNAplexInteraction -> Int
+ Bio.RNAplexData: queryIdentifier :: RNAplexInteraction -> String
+ Bio.RNAplexData: targetAccessibility :: RNAplexInteraction -> Maybe Double
+ Bio.RNAplexData: targetDuplexBegin :: RNAplexInteraction -> Int
+ Bio.RNAplexData: targetDuplexEnd :: RNAplexInteraction -> Int
+ Bio.RNAplexData: targetIdentifier :: RNAplexInteraction -> String
+ Bio.RNAplexParser: parseRNAplex :: [Char] -> Either ParseError [RNAplexInteraction]
+ Bio.RNAplexParser: readRNAplex :: String -> IO (Either ParseError [RNAplexInteraction])
+ Bio.RNAupData: RNAupInteraction :: String -> String -> [RNAupInteractionRegion] -> RNAupInteraction
+ Bio.RNAupData: RNAupInteractionRegion :: String -> Int -> Int -> Int -> Int -> Double -> Maybe Double -> Maybe Double -> Maybe Double -> String -> String -> Maybe String -> RNAupInteractionRegion
+ Bio.RNAupData: data RNAupInteraction
+ Bio.RNAupData: data RNAupInteractionRegion
+ Bio.RNAupData: instance Eq RNAupInteraction
+ Bio.RNAupData: instance Eq RNAupInteractionRegion
+ Bio.RNAupData: instance Show RNAupInteraction
+ Bio.RNAupData: instance Show RNAupInteractionRegion
+ Bio.RNAupData: upDuplexEnergy :: RNAupInteractionRegion -> Double
+ Bio.RNAupData: upDuplexEnergyWithoutAccessiblity :: RNAupInteractionRegion -> Maybe Double
+ Bio.RNAupData: upInteractions :: RNAupInteraction -> [RNAupInteractionRegion]
+ Bio.RNAupData: upOutputFileName :: RNAupInteractionRegion -> Maybe String
+ Bio.RNAupData: upQueryAccessiblity :: RNAupInteractionRegion -> Maybe Double
+ Bio.RNAupData: upQueryDuplexBegin :: RNAupInteractionRegion -> Int
+ Bio.RNAupData: upQueryDuplexEnd :: RNAupInteractionRegion -> Int
+ Bio.RNAupData: upQueryIdentifier :: RNAupInteraction -> String
+ Bio.RNAupData: upQuerySequence :: RNAupInteractionRegion -> String
+ Bio.RNAupData: upSecondaryStructure :: RNAupInteractionRegion -> String
+ Bio.RNAupData: upTargetAccessibility :: RNAupInteractionRegion -> Maybe Double
+ Bio.RNAupData: upTargetDuplexBegin :: RNAupInteractionRegion -> Int
+ Bio.RNAupData: upTargetDuplexEnd :: RNAupInteractionRegion -> Int
+ Bio.RNAupData: upTargetIdentifier :: RNAupInteraction -> String
+ Bio.RNAupData: upTargetSequence :: RNAupInteractionRegion -> String
+ Bio.RNAupParser: parseRNAup :: [Char] -> Either ParseError [RNAupInteraction]
+ Bio.RNAupParser: readRNAup :: String -> IO (Either ParseError [RNAupInteraction])
+ Bio.RNAzData: RNAz :: String -> Int -> Int -> String -> Double -> Double -> Double -> Double -> Double -> Double -> Double -> Double -> Double -> Double -> String -> String -> Double -> Double -> String -> [RNAzResult] -> RNAzConsensus -> RNAz
+ Bio.RNAzData: RNAzConsensus :: String -> String -> RNAzConsensus
+ Bio.RNAzData: RNAzResult :: String -> String -> String -> Double -> Double -> Char -> RNAzResult
+ Bio.RNAzData: backgroundModel :: RNAz -> String
+ Bio.RNAzData: columnNumber :: RNAz -> Int
+ Bio.RNAzData: combinationsPair :: RNAz -> Double
+ Bio.RNAzData: consensusDotBracket :: RNAzConsensus -> String
+ Bio.RNAzData: consensusMinimumFreeEnergy :: RNAz -> Double
+ Bio.RNAzData: consensusSequence :: RNAzConsensus -> String
+ Bio.RNAzData: covarianceContribution :: RNAz -> Double
+ Bio.RNAzData: data RNAz
+ Bio.RNAzData: data RNAzConsensus
+ Bio.RNAzData: data RNAzResult
+ Bio.RNAzData: decisionModel :: RNAz -> String
+ Bio.RNAzData: dotBracket :: RNAzResult -> String
+ Bio.RNAzData: energyContribution :: RNAz -> Double
+ Bio.RNAzData: gcContent :: RNAz -> Double
+ Bio.RNAzData: header :: RNAzResult -> String
+ Bio.RNAzData: instance Eq RNAz
+ Bio.RNAzData: instance Eq RNAzConsensus
+ Bio.RNAzData: instance Eq RNAzResult
+ Bio.RNAzData: instance Show RNAz
+ Bio.RNAzData: instance Show RNAzConsensus
+ Bio.RNAzData: instance Show RNAzResult
+ Bio.RNAzData: meanPairwiseIdentity :: RNAz -> Double
+ Bio.RNAzData: meanSingleSequenceMinimumFreeEnergy :: RNAz -> Double
+ Bio.RNAzData: meanZScore :: RNAz -> Double
+ Bio.RNAzData: minimumFreeEnergy :: RNAzResult -> Double
+ Bio.RNAzData: prediction :: RNAz -> String
+ Bio.RNAzData: readingDirection :: RNAz -> String
+ Bio.RNAzData: resultSequence :: RNAzResult -> String
+ Bio.RNAzData: rnazConsensus :: RNAz -> RNAzConsensus
+ Bio.RNAzData: rnazResults :: RNAz -> [RNAzResult]
+ Bio.RNAzData: sequenceNumber :: RNAz -> Int
+ Bio.RNAzData: shannonEntropy :: RNAz -> Double
+ Bio.RNAzData: structureConservationIndex :: RNAz -> Double
+ Bio.RNAzData: svmDecisionValue :: RNAz -> Double
+ Bio.RNAzData: svmRNAClassProbability :: RNAz -> Double
+ Bio.RNAzData: version :: RNAz -> String
+ Bio.RNAzData: zScore :: RNAzResult -> Double
+ Bio.RNAzData: zscoreCalculationApproach :: RNAzResult -> Char
+ Bio.RNAzParser: parseRNAz :: [Char] -> Either ParseError RNAz
+ Bio.RNAzParser: readRNAz :: String -> IO (Either ParseError RNAz)
+ Bio.RNAzParser: systemRNAz :: String -> String -> IO ExitCode
Files
- README.md +8/−0
- ViennaRNAParser.cabal +21/−9
- changelog +11/−0
- src/Bio/RNAalifoldData.hs +1/−1
- src/Bio/RNAalifoldParser.hs +17/−6
- src/Bio/RNAcofoldData.hs +14/−0
- src/Bio/RNAcofoldParser.hs +49/−0
- src/Bio/RNAfoldData.hs +3/−4
- src/Bio/RNAfoldParser.hs +12/−2
- src/Bio/RNAplexParser.hs +1/−0
- src/Bio/RNAupData.hs +1/−1
- src/Bio/RNAupParser.hs +9/−2
- src/Bio/RNAzData.hs +1/−1
- src/Bio/RNAzParser.hs +21/−11
- src/Bio/ViennaRNAParser.hs +5/−1
- test-suite/Spec.hs +2/−0
+ README.md view
@@ -0,0 +1,8 @@+ViennaRNAParser [](https://hackage.haskell.org/package/ViennaRNAParser) [](https://travis-ci.org/eggzilla/ViennaRNAParser)+=============++Currently contains parsers and datatypes for: RNAalifold, RNAdistance, RNAcofold, RNAfold, RNAplex, RNAup, RNAz.++For more information on the ViennaRNA package refer to <http://www.tbi.univie.ac.at/RNA/>. ++The libary is tested with Version 2.1.9 of the ViennaRNA package.
ViennaRNAParser.cabal view
@@ -5,10 +5,13 @@ -- PVP summary: +-+------- breaking API changes -- | | +----- non-breaking API additions -- | | | +--- code changes with no API change-version: 1.0.1+version: 1.2.0 synopsis: Libary for parsing ViennaRNA package output-description: Currently contains parsers and datatypes for: RNAplex, RNAz. The libary is tested with Version >2.0 of the ViennaRNA package.- +description: Currently contains parsers and datatypes for: RNAalifold, RNAdistance, RNAcofold, RNAfold, RNAplex, RNAup, RNAz.+ .+ For more information on the ViennaRNA package refer to <http://www.tbi.univie.ac.at/RNA/>.+ .+ The libary is tested with Version 2.1.9 of the ViennaRNA package. license: GPL license-file: LICENSE author: Florian Eggenhofer@@ -18,19 +21,24 @@ build-type: Simple cabal-version: >=1.8 +extra-source-files:+ README.md changelog+ source-repository head type: git location: https://github.com/eggzilla/ViennaRNAParser source-repository this type: git- location: https://github.com/eggzilla/ViennaRNAParser/tree/1.0.1- tag: 1.0.1+ location: https://github.com/eggzilla/ViennaRNAParser/tree/1.2.0+ tag: 1.2.0 library -- Modules exported by the library. exposed-modules: Bio.ViennaRNAParser- other-modules: Bio.RNAfoldData+ Bio.RNAcofoldData+ Bio.RNAcofoldParser+ Bio.RNAfoldData Bio.RNAfoldParser Bio.RNAplexData Bio.RNAplexParser@@ -47,9 +55,13 @@ ghc-options: -Wall -O2 -fno-warn-unused-do-bind -- Other library packages from which modules are imported.- build-depends: base >=4.5 && <5, parsec+ build-depends: base >=4.5 && <5, parsec>=3.1.9, process -- Directories containing source files. hs-source-dirs: src- - ++test-suite hspec+ build-depends: base, parsec, ViennaRNAParser, hspec>=1.8+ hs-source-dirs: test-suite+ main-is: Spec.hs+ type: exitcode-stdio-1.0
+ changelog view
@@ -0,0 +1,11 @@+-*-change-log-*-+1.2.0 Florian Eggenhofer <florian.eggenhofer@univie.ac.at> 1. July 2015+ * Added Hspec test-suite+ * Added RNAcofold parser+1.1.0 Florian Eggenhofer <florian.eggenhofer@univie.ac.at> 2. June 2015+ * Exposed submodules for imports, added systemcalls for RNAalifold,+ RNAfold, RNAz+1.0.1 Florian Eggenhofer <florian.eggenhofer@univie.ac.at> 1. March 2015+ * Added Travis CI support+ * Added -Wall and -O2 compiler options+ * Added RNAfold, RNAalifold, RNAdistance, RNAup parsers
src/Bio/RNAalifoldData.hs view
@@ -4,7 +4,7 @@ module Bio.RNAalifoldData where -- | Data structure corrsponds with alifoldoutput redirected to file. Output written directly to commandline also contains number of sequences and length of consensus sequence-data RNAalifoldOutput = RNAalifoldOutput+data RNAalifold = RNAalifold { alignmentConsensusSequence :: String, alignmentConsensusDotBracket :: String,
src/Bio/RNAalifoldParser.hs view
@@ -2,6 +2,7 @@ -- For more information on RNAalifold consult: <> module Bio.RNAalifoldParser (+ systemRNAalifold, parseRNAalifold, readRNAalifold, module Bio.RNAalifoldData@@ -9,18 +10,26 @@ import Bio.RNAalifoldData import Text.ParserCombinators.Parsec+import System.Process+import System.Exit+import qualified Control.Exception.Base as CE readDouble :: String -> Double readDouble = read +--- | Run external RNAalifold command and read the output into the corresponding datatype+systemRNAalifold :: String -> String -> String -> IO ExitCode+systemRNAalifold options inputFilePath outputFilePath = system ("RNAalifold " ++ options ++ " < " ++ inputFilePath ++ " > " ++ outputFilePath)+ -- | Parse the consenus of RNAz results -genParserRNAalifold :: GenParser Char st RNAalifoldOutput+genParserRNAalifold :: GenParser Char st RNAalifold genParserRNAalifold = do _sequence <- many1 (noneOf "\n") newline secondaryStructure <- many1 (oneOf "&().,") string (" (")- foldingEnergy <- many1 (noneOf " ")+ optional space+ foldingEnergy <- many1 (oneOf "-.1234567890") string " =" many1 space initialFoldingEnergy <- many1 (noneOf " ")@@ -30,13 +39,15 @@ string (")") many1 space eof- return $ RNAalifoldOutput _sequence secondaryStructure (readDouble foldingEnergy) (readDouble initialFoldingEnergy) (readDouble covarianceContributionEnergy)+ return $ RNAalifold _sequence secondaryStructure (readDouble foldingEnergy) (readDouble initialFoldingEnergy) (readDouble covarianceContributionEnergy) -- | parse RNAalifold output from input string-parseRNAalifold :: [Char] -> Either ParseError RNAalifoldOutput+parseRNAalifold :: [Char] -> Either ParseError RNAalifold parseRNAalifold input = parse genParserRNAalifold "genParseRNAalifold" input -- | parse RNAalifold output from input filePath -readRNAalifold :: String -> IO (Either ParseError RNAalifoldOutput) -readRNAalifold filePath = parseFromFile genParserRNAalifold filePath+readRNAalifold :: String -> IO (Either ParseError RNAalifold)+readRNAalifold filePath = do+ parsedFile <- parseFromFile genParserRNAalifold filePath+ CE.evaluate parsedFile
+ src/Bio/RNAcofoldData.hs view
@@ -0,0 +1,14 @@+-- | This module contains a data structure for RNAcofold output+-- For more information on RNAcofold consult: <http://www.tbi.univie.ac.at/RNA/RNAcofold.html>++module Bio.RNAcofoldData where+-- | Data structure for cofolding of 2 nucleic acid sequences+data RNAcofold = RNAcofold+ { + coFoldSequence1 :: String,+ coFoldSequence2 :: String,+ coFoldSecondaryStructure1 :: String,+ coFoldSecondaryStructure2 :: String,+ coFoldingEnergy :: Double+ }+ deriving (Show, Eq)
+ src/Bio/RNAcofoldParser.hs view
@@ -0,0 +1,49 @@+-- | Parse RNAfold output+-- For more information on RNAcofold consult: <http://www.tbi.univie.ac.at/RNA/RNAcofold.html>++module Bio.RNAcofoldParser (+ systemRNAcofold,+ parseRNAcofold,+ readRNAcofold, + module Bio.RNAcofoldData+ ) where++import Bio.RNAcofoldData+import Text.ParserCombinators.Parsec+import System.Process +import System.Exit+import qualified Control.Exception.Base as CE++-- | Run external RNAcofold command +systemRNAcofold :: String -> String -> IO ExitCode+systemRNAcofold inputFilePath outputFilePath = system ("RNAcofold <" ++ inputFilePath ++ " >" ++ outputFilePath)++readDouble :: String -> Double+readDouble = read ++-- | Parse the consenus of RNAcofold results +genParserRNAcofold :: GenParser Char st RNAcofold+genParserRNAcofold = do + _coFoldSequence1 <- many1 (oneOf "NATUGCatugc")+ string "&"+ _coFoldSequence2 <- many1 (oneOf "NATUGCatugc")+ newline+ _coFoldSecondaryStructure1 <- many1 (oneOf "().,")+ string "&"+ _coFoldSecondaryStructure2 <- many1 (oneOf "().,")+ space+ string ("(")+ optional space+ _coFoldingEnergy <- many1 (oneOf "-1234567890.")+ string (")")+ return $ RNAcofold _coFoldSequence1 _coFoldSequence2 _coFoldSecondaryStructure1 _coFoldSecondaryStructure2 (readDouble _coFoldingEnergy)++-- | parse RNAcofold output from input string+parseRNAcofold :: [Char] -> Either ParseError RNAcofold+parseRNAcofold input = parse genParserRNAcofold "genParseRNAcofold" input++-- | parse RNAcofold output from input filePath +readRNAcofold :: String -> IO (Either ParseError RNAcofold) +readRNAcofold filePath = do+ parsedFile <- parseFromFile genParserRNAcofold filePath+ CE.evaluate parsedFile
src/Bio/RNAfoldData.hs view
@@ -1,9 +1,8 @@--- | This module contains a hierarchical data structure for--- RNAplex output--- For more information on RNAplex consult: <http://www.bioinf.uni-leipzig.de/Software/RNAplex/>+-- | This module contains a data structure for RNAfold output+-- For more information on RNAplex consult: <http://www.tbi.univie.ac.at/RNA/RNAfold.html> module Bio.RNAfoldData where--- | Data structure for individual interaction between a target and query nucleic acid seqence+-- | Data structure for RNAfold data RNAfold = RNAfold { sequenceIdentifier :: String,
src/Bio/RNAfoldParser.hs view
@@ -1,7 +1,8 @@ -- | Parse RNAfold output--- For more information on RNAplex consult: <>+-- For more information on RNAfold consult: <http://www.tbi.univie.ac.at/RNA/RNAfold> module Bio.RNAfoldParser (+ systemRNAfold, parseRNAfold, readRNAfold, module Bio.RNAfoldData@@ -9,7 +10,14 @@ import Bio.RNAfoldData import Text.ParserCombinators.Parsec+import System.Process +import System.Exit+import qualified Control.Exception.Base as CE +-- | Run external RNAfold command and read the output into the corresponding datatype+systemRNAfold :: String -> String -> IO ExitCode+systemRNAfold inputFilePath outputFilePath = system ("RNAfold --noPS <" ++ inputFilePath ++ " >" ++ outputFilePath)+ readDouble :: String -> Double readDouble = read @@ -34,4 +42,6 @@ -- | parse RNAfold output from input filePath readRNAfold :: String -> IO (Either ParseError RNAfold) -readRNAfold filePath = parseFromFile genParserRNAfold filePath+readRNAfold filePath = do+ parsedFile <- parseFromFile genParserRNAfold filePath+ CE.evaluate parsedFile
src/Bio/RNAplexParser.hs view
@@ -46,6 +46,7 @@ _queryDuplexEnd <- many1 digit many1 space char '('+ optional space _duplexEnergy <- many1 (noneOf (" )")) optional space optional (char '=')
src/Bio/RNAupData.hs view
@@ -28,6 +28,6 @@ upTargetAccessibility :: Maybe Double, upQuerySequence :: String, upTargetSequence :: String,- upOutputFileName :: String+ upOutputFileName :: Maybe String } deriving (Show, Eq)
src/Bio/RNAupParser.hs view
@@ -71,9 +71,16 @@ char '&' targetSequence <- many1 (noneOf ("\n")) newline- _upOutputFileName <- many1 (noneOf ("\n"))- newline+ _upOutputFileName <- optionMaybe (try parseRNAupFileName) return $ RNAupInteractionRegion upsecondaryStructure (readInt uptargetDuplexBegin) (readInt uptargetDuplexEnd) (readInt upqueryDuplexBegin) (readInt upqueryDuplexEnd) (readDouble upduplexEnergy) (liftM readDouble upduplexEnergyWithoutAccessiblity) (liftM readDouble upqueryAccessiblity) (liftM readDouble uptargetAccessibility) querySequence targetSequence _upOutputFileName++-- | Parse a RNAupFileName+parseRNAupFileName :: GenParser Char st String+parseRNAupFileName = do+ string "RNAup output in file: "+ fileName <- many1 (noneOf ("\n>"))+ newline+ return fileName -- | parse RNAupOutput from input string parseRNAup :: [Char] -> Either ParseError [RNAupInteraction]
src/Bio/RNAzData.hs view
@@ -6,7 +6,7 @@ --import Biobase.RNA -- | All elements of RNAz output are contained in this datatype -data RNAzOutput = RNAzOutput+data RNAz = RNAz { version :: String, sequenceNumber :: Int, columnNumber :: Int,
src/Bio/RNAzParser.hs view
@@ -3,6 +3,7 @@ -- | Parse RNAz output -- For more information on RNAz consult: <http://www.tbi.univie.ac.at/~wash/RNAz module Bio.RNAzParser (+ systemRNAz, parseRNAz, readRNAz, module Bio.RNAzData@@ -10,6 +11,9 @@ import Bio.RNAzData import Text.ParserCombinators.Parsec+import System.Process+import System.Exit+import qualified Control.Exception.Base as CE readDouble :: String -> Double readDouble = read @@ -17,9 +21,13 @@ readInt :: String -> Int readInt = read --- | Parse the input as RNAzOutput datatype-parseRNAzOutput :: GenParser Char st RNAzOutput-parseRNAzOutput = do+-- | Run external RNAz command and read the output into the corresponding datatype+systemRNAz :: String -> String -> IO ExitCode+systemRNAz inputFilePath outputFilePath = system ("RNAz " ++ inputFilePath ++ " >" ++ outputFilePath)++-- | Parse the input as RNAz datatype+genParseRNAz :: GenParser Char st RNAz+genParseRNAz = do char '\n' many1 (oneOf "# ") string "RNAz"@@ -54,7 +62,7 @@ newline _rnaZResults <- many1 (try parseRNAzResult) _rnaZConsensus <- parseRNAzConsensus - return $ RNAzOutput _version _sequences _columns _readingDirection _meanPairwiseIdentity _shannonEntropy _gcContent _meanSingleSequenceMFE _consensusMFE _energyContribution _covarianceContribution _combinationsPair _meanZScore _structureConservationIndex _backgroundModel _decisionModel _svmDecisionValue _svmRNAClassProbability _prediction _rnaZResults _rnaZConsensus+ return $ RNAz _version _sequences _columns _readingDirection _meanPairwiseIdentity _shannonEntropy _gcContent _meanSingleSequenceMFE _consensusMFE _energyContribution _covarianceContribution _combinationsPair _meanZScore _structureConservationIndex _backgroundModel _decisionModel _svmDecisionValue _svmRNAClassProbability _prediction _rnaZResults _rnaZConsensus -- | Parse a RNAz field containing a Double parseRNAzDoubleField :: String -> GenParser Char st Double@@ -92,7 +100,7 @@ _header <- many1 (noneOf "\n") newline notFollowedBy (string (">consensus"))- _resultSequence <- many1 (oneOf "~-NATUGCatugc") + _resultSequence <- many1 (oneOf "~_-.NATUGCatugc") newline _dotBracket <- many1 (oneOf "-().,") space@@ -118,7 +126,7 @@ parseRNAzConsensus = do string (">consensus") newline- _consensusSequence <- many1 (oneOf "~_-NATUGCatugc") + _consensusSequence <- many1 (oneOf "~_-.NATUGCatugc") newline _dotBracket <- many1 (oneOf "().,") space@@ -140,10 +148,12 @@ eof return $ RNAzConsensus _consensusSequence _dotBracket --- | parse RNAzOutput from input string-parseRNAz :: [Char] -> Either ParseError RNAzOutput-parseRNAz input = parse parseRNAzOutput "parseRNAzOutput" input+-- | parse RNAz from input string+parseRNAz :: [Char] -> Either ParseError RNAz+parseRNAz input = parse genParseRNAz "parseRNAz" input -- | parse from input filePath -readRNAz :: String -> IO (Either ParseError RNAzOutput) -readRNAz filePath = parseFromFile parseRNAzOutput filePath+readRNAz :: String -> IO (Either ParseError RNAz) +readRNAz filePath = do + parsedFile <- parseFromFile genParseRNAz filePath+ CE.evaluate parsedFile
src/Bio/ViennaRNAParser.hs view
@@ -3,7 +3,9 @@ -- For more information on the Vienna RNAPackage consult: <http://www.tbi.univie.ac.at/~ivo/RNA/> -- or the homepage of the current maintainer: <http://www.tbi.univie.ac.at/~ronny/RNA/index.html> -module Bio.ViennaRNAParser ( +module Bio.ViennaRNAParser ( + module Bio.RNAcofoldData,+ module Bio.RNAcofoldParser, module Bio.RNAplexData, module Bio.RNAplexParser, module Bio.RNAzData,@@ -17,6 +19,8 @@ module Bio.RNAupData, module Bio.RNAupParser ) where+import Bio.RNAcofoldData+import Bio.RNAcofoldParser import Bio.RNAplexData import Bio.RNAplexParser import Bio.RNAzData
+ test-suite/Spec.hs view
@@ -0,0 +1,2 @@+-- test-suite/Spec.hs+{-# OPTIONS_GHC -F -pgmF hspec-discover #-}