ViennaRNAParser 1.2.1 → 1.2.2
raw patch · 10 files changed
+60/−39 lines, 10 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Bio.ViennaRNAParserLibrary: parseNucleotideAlignmentEntry :: GenParser Char st String
+ Bio.ViennaRNAParserLibrary: parseNucleotideSequence :: GenParser Char st String
+ Bio.ViennaRNAParserLibrary: parseProteinAlignmentEntry :: GenParser Char st String
+ Bio.ViennaRNAParserLibrary: parseProteinSequence :: GenParser Char st String
+ Bio.ViennaRNAParserLibrary: readDouble :: String -> Double
+ Bio.ViennaRNAParserLibrary: readInt :: String -> Int
Files
- ViennaRNAParser.cabal +4/−3
- changelog +4/−0
- src/Bio/RNAalifoldParser.hs +2/−4
- src/Bio/RNAcofoldParser.hs +1/−3
- src/Bio/RNAdistanceParser.hs +2/−4
- src/Bio/RNAfoldParser.hs +1/−3
- src/Bio/RNAplexParser.hs +1/−6
- src/Bio/RNAupParser.hs +1/−6
- src/Bio/RNAzParser.hs +3/−10
- src/Bio/ViennaRNAParserLibrary.hs +41/−0
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.1+version: 1.2.2 synopsis: Libary for parsing ViennaRNA package output description: Currently contains parsers and datatypes for: RNAalifold, RNAdistance, RNAcofold, RNAfold, RNAplex, RNAup, RNAz. .@@ -30,12 +30,13 @@ source-repository this type: git- location: https://github.com/eggzilla/ViennaRNAParser/tree/1.2.1- tag: 1.2.1+ location: https://github.com/eggzilla/ViennaRNAParser/tree/1.2.2+ tag: 1.2.2 library -- Modules exported by the library. exposed-modules: Bio.ViennaRNAParser+ Bio.ViennaRNAParserLibrary Bio.RNAcofoldData Bio.RNAcofoldParser Bio.RNAfoldData
changelog view
@@ -1,4 +1,8 @@ -*-change-log-*-+1.2.2 Florian Eggenhofer <florian.eggenhofer@univie.ac.at> 4. July 2015+ * Added a new module for shared functions between modules+ * Sequence and alignment entry parsing is now in line with IUPAC+ letter code 1.2.1 Florian Eggenhofer <florian.eggenhofer@univie.ac.at> 3. July 2015 * Included parsing of warning field in RNAz output 1.2.0 Florian Eggenhofer <florian.eggenhofer@univie.ac.at> 1. July 2015
src/Bio/RNAalifoldParser.hs view
@@ -1,5 +1,5 @@ -- | Parse RNAalifold output--- For more information on RNAalifold consult: <>+-- For more information on RNAalifold consult: <<http://www.tbi.univie.ac.at/RNA/RNAalifold.html> module Bio.RNAalifoldParser ( systemRNAalifold,@@ -9,13 +9,11 @@ ) where import Bio.RNAalifoldData+import Bio.ViennaRNAParserLibrary 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
src/Bio/RNAcofoldParser.hs view
@@ -9,6 +9,7 @@ ) where import Bio.RNAcofoldData+import Bio.ViennaRNAParserLibrary import Text.ParserCombinators.Parsec import System.Process import System.Exit@@ -17,9 +18,6 @@ -- | 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
src/Bio/RNAdistanceParser.hs view
@@ -1,5 +1,5 @@ -- | Parse RNAdistance output--- For more information on RNAdistance consult: <>+-- For more information on RNAdistance consult: <<http://www.tbi.univie.ac.at/RNA/RNAdistance.html> module Bio.RNAdistanceParser ( parseRNAdistance,@@ -8,10 +8,8 @@ ) where import Bio.RNAdistanceData+import Bio.ViennaRNAParserLibrary import Text.ParserCombinators.Parsec --readInt :: String -> Int-readInt = read -- | Parse the consenus of RNAz results genParserRNAdistance :: GenParser Char st RNAdistance
src/Bio/RNAfoldParser.hs view
@@ -10,6 +10,7 @@ import Bio.RNAfoldData import Text.ParserCombinators.Parsec+import Bio.ViennaRNAParserLibrary import System.Process import System.Exit import qualified Control.Exception.Base as CE@@ -17,9 +18,6 @@ -- | 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 -- | Parse the consenus of RNAz results genParserRNAfold :: GenParser Char st RNAfold
src/Bio/RNAplexParser.hs view
@@ -8,14 +8,9 @@ ) where import Bio.RNAplexData+import Bio.ViennaRNAParserLibrary import Text.ParserCombinators.Parsec import Control.Monad--readDouble :: String -> Double-readDouble = read --readInt :: String -> Int-readInt = read -- | Parse the input as list of RNAplexInteraction datatype parseRNAplexOutput :: GenParser Char st [RNAplexInteraction]
src/Bio/RNAupParser.hs view
@@ -8,14 +8,9 @@ ) where import Bio.RNAupData+import Bio.ViennaRNAParserLibrary import Text.ParserCombinators.Parsec import Control.Monad--readDouble :: String -> Double-readDouble = read --readInt :: String -> Int-readInt = read -- | Parse the input as list of RNAupInteraction datatype parseRNAupOutput :: GenParser Char st [RNAupInteraction]
src/Bio/RNAzParser.hs view
@@ -1,5 +1,3 @@-{-# LANGUAGE Arrows #-}- -- | Parse RNAz output -- For more information on RNAz consult: <http://www.tbi.univie.ac.at/~wash/RNAz module Bio.RNAzParser (@@ -10,17 +8,12 @@ ) where import Bio.RNAzData+import Bio.ViennaRNAParserLibrary import Text.ParserCombinators.Parsec import System.Process import System.Exit import qualified Control.Exception.Base as CE -readDouble :: String -> Double-readDouble = read --readInt :: String -> Int-readInt = read- -- | Run external RNAz command and read the output into the corresponding datatype systemRNAz :: String -> String -> IO ExitCode systemRNAz inputFilePath outputFilePath = system ("RNAz " ++ inputFilePath ++ " >" ++ outputFilePath)@@ -102,7 +95,7 @@ _header <- many1 (noneOf "\n") newline notFollowedBy (string (">consensus"))- _resultSequence <- many1 (oneOf "~_-.NATUGCatugc") + _resultSequence <- parseNucleotideAlignmentEntry newline _dotBracket <- many1 (oneOf "-().,") space@@ -128,7 +121,7 @@ parseRNAzConsensus = do string (">consensus") newline- _consensusSequence <- many1 (oneOf "~_-.NATUGCatugc") + _consensusSequence <- parseNucleotideAlignmentEntry newline _dotBracket <- many1 (oneOf "().,") space
+ src/Bio/ViennaRNAParserLibrary.hs view
@@ -0,0 +1,41 @@+-- | Library with auxiliary functions needed in multiple other modules.+module Bio.ViennaRNAParserLibrary (+ parseNucleotideSequence,+ parseNucleotideAlignmentEntry,+ parseProteinSequence,+ parseProteinAlignmentEntry,+ readInt,+ readDouble+ ) where++import Text.ParserCombinators.Parsec++readDouble :: String -> Double+readDouble = read ++readInt :: String -> Int+readInt = read++-- | Parse nucleotide sequence. Allowed letters according to IUPAC+parseNucleotideSequence :: GenParser Char st String+parseNucleotideSequence = do+ nucleotideSequence <- many1 (oneOf "RYSWKMBDHVNATUGCatugc") + return $ nucleotideSequence++-- | Parse nucleotide alignment entry. Allowed letters according to IUPAC and commonly used gap characters+parseNucleotideAlignmentEntry :: GenParser Char st String+parseNucleotideAlignmentEntry = do+ entry <- many1 (oneOf "~_-.RYSWKMBDHVNATUGCatugc") + return $ entry++-- | Parse protein amino acid code sequence. Allowed letters according to IUPAC+parseProteinSequence :: GenParser Char st String+parseProteinSequence = do+ proteinSequence <- many1 (oneOf "ABCDEFGHIKLMNPQRSTVWXYZabcdefghiklmnpqrstvwxyz") + return $ proteinSequence++-- | Parse protein amino acid code alignment entry. Allowed letters according to IUPAC and commonly used gap characters+parseProteinAlignmentEntry :: GenParser Char st String+parseProteinAlignmentEntry = do+ entry <- many1 (oneOf "~_-.ABCDEFGHIKLMNPQRSTVWXYZabcdefghiklmnpqrstvwxyz") + return $ entry