Biobase 0.0.2.1 → 0.3.1.1
raw patch · 46 files changed
Files
- Biobase.cabal +120/−12
- Biobase/Constants.hs +24/−9
- Biobase/DataSource/CT.hs +38/−0
- Biobase/DataSource/CT/Import.hs +64/−0
- Biobase/DataSource/DotParen.hs +18/−0
- Biobase/DataSource/DotParen/Import.hs +113/−0
- Biobase/DataSource/FR3D.hs +120/−0
- Biobase/DataSource/FR3D/Import.hs +92/−0
- Biobase/DataSource/InfernalCM.hs +326/−0
- Biobase/DataSource/InfernalCM/Export.hs +76/−0
- Biobase/DataSource/InfernalCM/Import.hs +197/−0
- Biobase/DataSource/MCFold.hs +190/−0
- Biobase/DataSource/MCFold/Conversions.hs +58/−0
- Biobase/DataSource/MCFold/Import.hs +226/−0
- Biobase/DataSource/Mafft.hs +50/−0
- Biobase/DataSource/Mafft/Import.hs +74/−0
- Biobase/DataSource/Turner.hs +41/−0
- Biobase/DataSource/Turner/Import.hs +176/−0
- Biobase/DataSource/Turner/Tables.hs +133/−0
- Biobase/DataSource/Vienna.hs +96/−0
- Biobase/DataSource/Vienna/Default.hs +27/−0
- Biobase/DataSource/Vienna/Export/ViennaC.hs +264/−0
- Biobase/DataSource/Vienna/Export/ViennaPar.hs +140/−0
- Biobase/DataSource/Vienna/Import/Turner.hs +72/−0
- Biobase/DataSource/Vienna/Import/ViennaPar.hs +124/−0
- Biobase/DataSource/Vienna/Modification/NonStandard.hs +122/−0
- Biobase/DataSource/Vienna/Modification/Partition.hs +51/−0
- Biobase/DataSource/Vienna/Modification/Temperature.hs +34/−0
- Biobase/RNA.hs +100/−155
- Biobase/RNA/Complex.hs +72/−0
- Biobase/RNA/Hashes.hs +45/−0
- Biobase/RNA/NucBounds.hs +54/−0
- Biobase/RNA/Pairs.hs +124/−0
- Biobase/RNA/ViennaPair.hs +108/−0
- Biobase/ScoreTypes.hs +136/−0
- Biobase/Structure.hs +79/−24
- Biobase/Structure/Constraint.hs +44/−0
- Biobase/Structure/DotBracket.hs +0/−37
- Biobase/Structure/Shapes.hs +0/−1
- Biobase/Types/Convert.hs +36/−0
- Biobase/Types/Energy.hs +51/−0
- Biobase/Types/Partition.hs +84/−0
- Biobase/Types/Ring.hs +22/−0
- Biobase/Types/Score.hs +48/−0
- parfiles/Turner2004GH.par +8135/−0
- templates/cheader +60/−0
Biobase.cabal view
@@ -1,9 +1,9 @@ name: Biobase-version: 0.0.2.1+version: 0.3.1.1 author: Christian Hoener zu Siederdissen maintainer: choener@tbi.univie.ac.at-homepage: http://www.tbi.univie.ac.at/~choener/Haskell/-copyright: Christian Hoener zu Siederdissen, 2010+homepage: http://www.tbi.univie.ac.at/~choener/+copyright: Christian Hoener zu Siederdissen, 2010,2011 category: Bioinformatics synopsis: Base library for bioinformatics license: GPL-3@@ -12,28 +12,136 @@ stability: experimental cabal-version: >= 1.4.0 description:- Base library for bioinformatics providing a number of im- and- export functions for commonly used filetypes. Provided are- functions and Haskell data types for RNA primary and secondary- structure. Otherwise, this library provides the basis for other- libraries to build on.+ Base library for bioinformatics providing the following features:+ .+ RNA sequences and energy files:+ .+ * efficient format for RNA sequences, based on the vector package+ .+ * internal conversion from strings and bytestrings+ .+ * secondary structure manipulation functions, im- and export of Vienna-dotbracket notation+ .+ .+ .+ Utility classes:+ .+ * algebraic ring class+ .+ * instances for Gibbs free energy, partition function probabilities, and scores+ .+ * conversion between different entities+ .+ .+ .+ Bioinformatics data sources:+ .+ * mostly just imports, some export functions are provided+ .+ * Fasta (please use the "bio" library by Ketil Malde)+ .+ * Mafft+ .+ * RNA secondary structure: Dot-Bracket, CT+ .+ * ViennaRNA energy files (with default parameters)+ .+ * Turner energy files: cf. <http://rna.urmc.rochester.edu/NNDB/index.html>+ .+ * RNAstrand database: dot-parenthesis (one file, many entries)+ .+ * FR3D: basepairs+ .+ * Infernal: covariance models (text-based)+ .+ * MC-Fold: NCM database+ .+ .+ .+ Important notes:+ .+ * In general, this library is not unicode safe (and could somebody tell me the reason for encoding DNA/RNA sequences in unicode?) +extra-source-files:+ parfiles/Turner2004GH.par,+ templates/cheader+ library build-depends: array, base >=4 && <5,- vector >=0.7 && <8,+ ghc-prim,+ bytestring,+ containers,+ deepseq,+ directory >=1,+ file-embed >=0.0.3,+ filemanip >=0.3.3 && <0.4,+ filepath,+ mtl,+ parsec >=3 && <4, primitive >=0.3 && <0.4,- PrimitiveArray >=0.0.2.1 && <0.0.3+ split >=0.1.2.3,+ tuple >=0.2.0.1,+ utility-ht,+ vector >=0.7 && <0.8,+ zlib,+ either-unwrap, + HsTools >=0.0.1.1 && <0.0.2,+ ParsecTools >=0.0.2 && <0.0.3,+ PrimitiveArray >=0.0.3.1 && <0.0.4,+ vector-read-instances+ exposed-modules: Biobase.Constants+ Biobase.DataSource.CT+ Biobase.DataSource.CT.Import+ Biobase.DataSource.DotParen+ Biobase.DataSource.DotParen.Import+ Biobase.DataSource.FR3D+ Biobase.DataSource.FR3D.Import+ Biobase.DataSource.InfernalCM+ Biobase.DataSource.InfernalCM.Export+ Biobase.DataSource.InfernalCM.Import+ Biobase.DataSource.Mafft+ Biobase.DataSource.Mafft.Import+ Biobase.DataSource.MCFold+ Biobase.DataSource.MCFold.Conversions+ Biobase.DataSource.MCFold.Import+ Biobase.DataSource.Turner+ Biobase.DataSource.Turner.Import+ Biobase.DataSource.Turner.Tables+ Biobase.DataSource.Vienna+ Biobase.DataSource.Vienna.Default+ Biobase.DataSource.Vienna.Export.ViennaC+ Biobase.DataSource.Vienna.Export.ViennaPar+ Biobase.DataSource.Vienna.Import.Turner+ Biobase.DataSource.Vienna.Import.ViennaPar+ Biobase.DataSource.Vienna.Modification.NonStandard+ Biobase.DataSource.Vienna.Modification.Partition+ Biobase.DataSource.Vienna.Modification.Temperature Biobase.RNA+ Biobase.RNA.Complex+ Biobase.RNA.Hashes+ Biobase.RNA.NucBounds+ Biobase.RNA.Pairs+ Biobase.RNA.ViennaPair+ Biobase.ScoreTypes Biobase.Structure- Biobase.Structure.DotBracket+ Biobase.Structure.Constraint Biobase.Structure.Shapes+ Biobase.Types.Convert+ Biobase.Types.Energy+ Biobase.Types.Partition+ Biobase.Types.Ring+ Biobase.Types.Score ghc-options:- -O2+ -Odph++ if impl(ghc > 6.13)+ ghc-options:+ -fllvm
Biobase/Constants.hs view
@@ -6,24 +6,39 @@ --- * energy "Infinities" for Int's+-- * energy "Infinities" -- | maxBound on Int is problematic, if we try something like maxBound + -- maxBound which happens very often. 'eInf' is used for settings like lookup -- tables, etc while comparisons are against 'eMax'. -- Both values need to be small enough not to overflow in typical situations. -eInf :: Int-eInf = 10000000+class Constants a where+ eInf :: a+ eMax :: a -eMax :: Int-eMax = eInf `div` 10+instance Constants Int where+ eInf = 10000000+ eMax = 1000000+ {-# INLINE eInf #-}+ {-# INLINE eMax #-} +instance Constants Double where+ eInf = 10000000+ eMax = 1000000+ {-# INLINE eInf #-}+ {-# INLINE eMax #-} --- * floating infinity --- here, we choose a real infinity and let the ieee handle it+-- * some constants, required for scaling and Boltzmann -fInf :: Double-fInf = 1/0+++-- Kelvin / Celsius conversion constant++kelvinC0 = 273.15++-- universal gas constant++gasconst = 1.98717 -- cal/K
+ Biobase/DataSource/CT.hs view
@@ -0,0 +1,38 @@++-- | Import CT type structures++module Biobase.DataSource.CT where++import qualified Data.Array.IArray as A+import Data.List.Split++++-- | A CT file. Encodes one or more individual RNAs within one complex. The+-- 'nucs' array encodes (1,n) as '0' has a special meaning. It is used in+-- 'prv', 'nxt' do denote no next or previous nucleotide in the chain.++data CT = CT+ { comments :: [String]+ , lengthLine :: String+ , nucs :: A.Array Int Nuc+ }+ deriving (Show,Read)++-- | A nucleotide. Encodes character, previous and next nucleotide on the chain+-- and pairing partner.++data Nuc = Nuc+ { nuc :: Char+ , prv :: Int+ , nxt :: Int+ , partner :: Int+ }+ deriving (Show,Read)++-- | transforms a 'CT' object into our internal format.++fromCT :: CT -> ()+fromCT ct = res where+ res = ()+ chns = split (keepDelimsR $ whenElt ((==0) . nxt)) . A.elems $ nucs ct
+ Biobase/DataSource/CT/Import.hs view
@@ -0,0 +1,64 @@++-- | Parse a CT file.++module Biobase.DataSource.CT.Import where++import Control.Applicative+import Text.Parsec.Char+import Text.Parsec.Combinator hiding (optional)+import Text.Parsec.Error+import Text.Parsec hiding (many)+import Text.Parsec hiding ((<|>), many, optional)+import Text.Parsec.String+import qualified Data.Array.IArray as A++import Biobase.RNA+import Biobase.RNA.Pairs+import Biobase.DataSource.CT++++-- | Parse a CT file.++fromFile :: FilePath -> IO (Either String CT)+fromFile fname = do+ x <- parseFromFile ctP fname+ return $ case x of+ Left err -> Left $ show err+ Right res -> res++-- * Parser++commentP :: GenParser Char st String+commentP = char '#' *> anyChar `manyTill` newline++commentsP = many commentP++lenlineP :: GenParser Char st (Int,String)+lenlineP = (,) <$> snumP <*> anyChar `manyTill` newline++-- | We parse six fields: position, nucleotide, next nuc, previous nuc, pairing+-- partner and (position again). CT8 adds two additional fields (unknown) and+-- (unknown). Fields in brackets () are not returned, just parsed.++nucLineP :: GenParser Char st (Int,Nuc)+nucLineP = f <$> snumP <*> scharP <*> snumP <*> snumP <*> snumP <* snumP <* choice [newline, snumP *> snumP *> newline] where+ f pos chr prv nxt partner = (pos, Nuc chr prv nxt partner)++nucLinesP :: GenParser Char st [(Int,Nuc)]+nucLinesP = many (try nucLineP)++-- | Parse a CT file with some error handling.++ctP :: GenParser Char st (Either String CT)+ctP = f <$> commentsP <*> lenlineP <*> nucLinesP <* spaces <* eof where+ f cs (l,ll) ns+ | l /= length ns = Left $ "CT inscribed length of: " ++ show l ++ " doesn't match read entries in: " ++ unlines cs+ | otherwise = Right . CT cs ll $ A.array (1,length ns) ns++scharP = spaces *> anyChar++snumP :: GenParser Char st Int+snumP = read <$ try spaces <*> numberP++numberP = many1 digit
+ Biobase/DataSource/DotParen.hs view
@@ -0,0 +1,18 @@++-- | A dot-parenthesis file. These are mostly used by the RNAstrand DB.+-- Admittedly, the format is very similar to dot-bracket.++module Biobase.DataSource.DotParen where++import qualified Data.ByteString.Lazy.Char8 as BS++++data DotParen = DotParen+ { comments :: [BS.ByteString]+ , sequence :: BS.ByteString+ , dotparen :: BS.ByteString+ }+ deriving (Show)++type DotParens = [DotParen]
+ Biobase/DataSource/DotParen/Import.hs view
@@ -0,0 +1,113 @@+{-# LANGUAGE RecordWildCards #-}++-- | Imports a dot-parenthesis file.+--+-- TODO This importer is not unicode-safe. It silently filters out all+-- sequence/structure pairs with unequal lengths. This is work for later.++module Biobase.DataSource.DotParen.Import+ ( fromFile+ , fromFileOrFail+ ) where++import Control.Applicative+import Control.Monad (when)+import Data.Either.Unwrap (isLeft,fromLeft,fromRight)+import qualified Data.ByteString.Lazy.Char8 as BS+import System.Exit (exitFailure)+import Text.Parsec.ByteString.Lazy+import Text.Parsec hiding (many,(<|>))+import Data.List (findIndices)++import Biobase.DataSource.DotParen++++-- | Import a set of sequence/structure pairs from a file.+--+-- TODO improve error handling++fromFile :: FilePath -> IO (Either String DotParens)+fromFile fname = do+ res <- parseFromFile pFile fname+ check res+ where+ check res+ | Left err <- res = return $ Left (show err)+ {-+ | Right ls <- res+ , xs@(x:_) <- findIndices unEqualLengths ls = return . Left $ "unequal sequence / structure length for: " ++ show (map (ls!!) xs)+ -}+ | Right ls <- res = return . Right . filter (not . unEqualLengths) $ ls+ unEqualLengths DotParen{..} = BS.length sequence /= BS.length dotparen++-- | Read RnaStrand data or fail++fromFileOrFail fname = do+ xs' <- fromFile fname+ when (isLeft xs') $ do+ print "error reading source:"+ putStrLn $ fromLeft xs'+ exitFailure+ return $ fromRight xs'++++-- * The parsers++-- | parse a comment line++pComment :: GenParser Char st BS.ByteString+pComment = BS.pack <$ char '#' <*> manyTill anyChar newline++-- | parse all comments++pComments :: GenParser Char st [BS.ByteString]+pComments = many pComment++data DS = D BS.ByteString | S BS.ByteString+isS (S _) = True+isS _ = False+fromDS (S x) = x+fromDS (D x) = x+++-- | parse a sequence line++pSequence :: GenParser Char st DS+pSequence = (\c cs -> S $ BS.pack $ c:cs) <$> noneOf "#" <*> manyTill anyChar newline where++-- | parse one dot-paren line++pDotParen :: GenParser Char st DS+pDotParen = D . BS.pack <$> manyTill dps newline where+ dps = oneOf "()[]<>{}."++-- | parse either a dot-paren line or a sequence line++pDS :: GenParser Char st DS+pDS = choice [try pDotParen, pSequence]++-- | Returns a pair of (sequence,dot-paren)++pDSs :: GenParser Char st (BS.ByteString,BS.ByteString)+pDSs = f <$> many1 pDS where+ f xs = let+ (ss,ds) = span isS xs+ in (BS.concat $ map fromDS ss,BS.concat $ map fromDS ds)++-- | Parse one block++pBlock :: GenParser Char st DotParen+pBlock = (\cs (ss,ds) -> DotParen cs ss ds) <$> pComments <* many newline <*> pDSs++-- | Parse many blocks++pBlocks :: GenParser Char st DotParens+pBlocks = many pBlock++-- | Parse file++pFile :: GenParser Char st DotParens+pFile = pBlocks <* eof+
+ Biobase/DataSource/FR3D.hs view
@@ -0,0 +1,120 @@+{-# LANGUAGE RecordWildCards #-}++-- | Holds the 'FR3DBasepairs' structure extracted from a FR3D basepairs file.+-- The other files are still on the TODO list+--+-- TODO write data structures and parsers for the other files.+--+-- TODO rewrite by reducing all those data-structures to something more+-- intelligent. Use 'Nucleotide's for encoding. Have a converter to 'Complex',+-- too.++module Biobase.DataSource.FR3D where++import Data.Map (Map)+import qualified Data.Map as M+import Data.Char (isDigit)+import Control.Monad.Error -- TODO GHC < 7.0.0 only ???+import Data.List (nubBy)++import qualified Biobase.RNA.Complex as C+import Biobase.RNA.Pairs (ExtPair)++++-- * FR3D data structures++-- | Wrap everything up, giving us our data source.++data FR3D = FR3D+ { complex :: C.Complex ExtPair -- ^ parsed PDB/FR3D as normal 'Complex'+ , fr3dBasepairs :: FR3DBasepairs -- ^ the source information+ } deriving (Show)++-- | A complete 'FR3DBasepairs' structure. We have the 'pdbID' from which the FR3D+-- came from, the 'versions' of different programs, the 'chains' or different+-- nucleotide sequences used in the structure, the 'pairs' themselves and other+-- 'comments' which could not be identified correctly.++data FR3DBasepairs = FR3DBasepairs+ { pdbID :: String+ , versions :: String+ , chains :: Map String String+ , pairs :: [Pair]+ , comments :: [String] -- unknown comments, maybe really just comments+ } deriving (Read,Show)++-- | Each 'Pair' is a triple of the 'interaction' between the two 'Nucleotide's+-- 'nuc1' and nuc2'.++data Pair = Pair+ { interaction :: Interaction+ , nuc1 :: Nucleotide+ , nuc2 :: Nucleotide+ } deriving (Read,Show,Eq,Ord)++-- | Each 'Nucleotide' is described by the 'nuc' itself (A,C,G,U) (something+-- else?), the pdb 'num'ber (whatever that is), the 'chain' id and the+-- 'pos'ition in the chain.++data Nucleotide = Nucleotide+ { nuc :: Char+ , num :: String -- should be "20" but could be "20A" (grr)+ , chain :: String -- could be "chain 1" or "chain E" or so+ , pos :: Int+ } deriving (Read,Show,Eq,Ord)++type Interaction = String -- ?++++-- | fix the 'pos' in all 'Nucleotide's. Not actually clear, if this /DOES/ fix+-- the problem!++fixLengths :: FR3DBasepairs -> FR3DBasepairs+fixLengths b = b {pairs = map f $ pairs b} where+ f p = p{nuc1 = g $ nuc1 p, nuc2 = g $ nuc2 p}+ g n+ | pos n > (length $ chains b M.! chain n) = n{pos = read $ filter isDigit $ num n}+ | otherwise = n++-- | Check if a given 'FR3DBasepairs' structure is correct, or if there are errors++checkFR3DBasepairs :: FR3DBasepairs -> Either String FR3DBasepairs+checkFR3DBasepairs b' = checkChains b' >>= checkLength >>= return where+ checkChains b+ | null cnucs = Right b+ | otherwise = Left $ "CHAIN: " ++ show cnucs+ where cnucs = filter (\n -> not $ chain n `M.member` chains b) ps+ checkLength b+ | null cnucs = Right b+ | otherwise = Left $ "LENGTH: " ++ show b ++ show cnucs+ where cnucs = filter (\n -> length (chains b M.! chain n) < pos n) ps -- positions start countaing at "1"+ checkNucs b+ | null cnucs = Right b+ | otherwise = Left $ "NUCS: " ++ show cnucs+ where cnucs = filter (\n -> (chains b M.! chain n !! (pos n -1)) == nuc n) ps+ ps = concatMap (\x -> [nuc1 x, nuc2 x]) $ pairs b'++++-- * Transform 'FR3DBasepairs' into 'Complex'++-- | Aquire a 'Complex' from the data read.+--+-- TODO write me++makeComplex :: FR3DBasepairs -> C.Complex ExtPair+makeComplex b@FR3DBasepairs{..}+ | length sqnc /= length chns = error $ "makeComplex: " ++ show b+ | otherwise = C.mkComplex "TODO write me" {- sqnc strc chns -} where+ sqnc = concatMap snd $ M.toAscList chains+ strc = nubBy eqT12 $ map (\(Pair z n1 n2) -> (pos n1-1,pos n2-1,z)) pairs+ chns = concatMap (\(k,v) -> concat $ replicate (length v) k) $ M.toAscList chains++eqT12 (a,b,_) (x,y,_) = (a,b)==(x,y) || (a,b)==(y,x)++-- | Simple wrapper fixing up an 'FR3D'++mkFR3D :: FR3DBasepairs -> FR3D+mkFR3D b = FR3D {complex=makeComplex b, fr3dBasepairs=b}
+ Biobase/DataSource/FR3D/Import.hs view
@@ -0,0 +1,92 @@++-- Import / parse FR3D basepairs files.++module Biobase.DataSource.FR3D.Import where++import Control.Applicative+import Control.Monad+import Data.Either+import Data.List+import System.Directory+import System.FilePath+import System.IO.Unsafe+import Text.Parsec.Char+import Text.Parsec.Combinator hiding (optional)+import Text.Parsec.Error+import Text.Parsec hiding ((<|>), many, optional)+import Text.Parsec.String+import qualified Data.Map as M+import Control.Arrow (first)++import Biobase.DataSource.FR3D++-- * New default importer++-- | import a number of 'FR3D' structures.++fromDir :: FilePath -> IO ([FR3D], [ParseError])+fromDir dirname = do+ (bps,errs) <- importFR3DBasepairsFiles dirname+ return (map mkFR3D bps,errs)++fromFile :: FilePath -> IO (Either ParseError FR3D)+fromFile fname = do+ bp <- importFR3DBasepairsFile fname+ return $ mkFR3D `fmap` bp++++-- * Older functions++-- | Parse a complete FR3D basepairs file and return a 'FR3DBasepairs' structure.+-- Does not set the 'pdbID', that one is encoded in the filename. (And in each+-- individual 'Pair'...).++parseFR3DBasepairs :: GenParser Char st FR3DBasepairs+parseFR3DBasepairs = mk <$> comments <* pdbdesc <*> many (parsePair <* newline) where+ comments = many commentline+ commentline = char '#' *> manyTill anyChar newline+ pdbdesc = string "PDB_ID" *> manyTill anyChar newline+ mk cs bps =+ let -- TODO this is too fragile!+ (v:_:chns) = cs+ f (x:y:_) = (x,y)+ in FR3DBasepairs "" v (M.fromList $ map (f . words) chns) {-(map ((\[n,c] -> (read n,c)) . drop 1 . words) chns)-} bps cs++-- | One line of connected nucleotides forms a 'Pair'++parsePair :: GenParser Char st Pair+parsePair = Pair <$ mtas <*> interact <*> parseNucleotide <* space <*> parseNucleotide where+ interact = mtas++-- | One of the two 'Nucleotide's in a 'Pair'++parseNucleotide :: GenParser Char st Nucleotide+parseNucleotide = Nucleotide <$> anyChar <* space <*> mtas <*> mtas <*> number where+ number = read <$> many1 digit++-- | Given a directory, try to import all files matching "_basepairs_FR3D.txt".+-- In the result (as,bs), the as are the successful parses, while bs failed.+-- For now (NOV 2010), bs is empty ;-)++importFR3DBasepairsFiles :: FilePath -> IO ([FR3DBasepairs], [Text.Parsec.Error.ParseError])+importFR3DBasepairsFiles d = do+ de <- doesDirectoryExist d+ if de+ then do+ cnts <- getDirectoryContents d+ let cands = filter ("basepairs_FR3D.txt" `isSuffixOf`) cnts+ (psL,psR) <- partitionEithers `fmap` mapM (pFF d) cands+ return (psR, psL)+ else return ([], [])++pFF d c = unsafeInterleaveIO . fmap (fmap (\x -> x{pdbID = take 4 c})) . parseFromFile parseFR3DBasepairs $ d </> c++-- | Try to import just one basepair file.++importFR3DBasepairsFile :: FilePath -> IO (Either Text.Parsec.Error.ParseError FR3DBasepairs)+importFR3DBasepairsFile f = fmap (fmap (\x -> x{pdbID = take 4 f})) $ parseFromFile parseFR3DBasepairs f++-- * helper functions++mtas = manyTill anyChar space
+ Biobase/DataSource/InfernalCM.hs view
@@ -0,0 +1,326 @@++--+-- Stores Infernal Covariance Model data. Built for ease of use, not speed but+-- should work reasonably well.+--++-- TODO Data.Vector?+--+-- TODO use generics?+--+-- TODO functions to change to probabilities!+--+-- TODO cmCanonize function!+--+-- TODO put functions into their own modules, a bit of cleanup+--+-- TODO add functions to insert a new node between two already existing nodes; think about how to handle BIF+--+-- TODO add ability to remove node; think about how to handle BIF+--+-- NOTE maybe BIF should not be insertable/removable right now?++module Biobase.DataSource.InfernalCM where+++import Data.Array.IArray+import Data.List (genericLength)++import Biobase.RNA hiding (nucE) -- "E type" nucleotides do not happen in CMs!++++-- * Data types for Covariance Models++-- {{{ Data types++-- | A complete covariance model. Each node and each state can be tagged with+-- additional data. Typically, say after parsing, the tag will be ().++data CM n s = CM+ { nodes :: Array Int (Node n)+ , states :: Array Int (State s)+ , header :: [(String,String)] -- keeps the list of header entries sorted!+ , localBegin :: Array Int Double+ , localEnd :: Array Int Double+ , cmType :: CMType+ , nullModel :: Array Nucleotide Double+ } deriving (Show)++-- | Describes one node++data Node n = Node+ { nid :: Int+ , ntype :: NodeType+ , nparents :: [Int] -- TODO can there be more than one?+ , nchildren :: [Int]+ , nstates :: [Int]+ , ntag :: n+ } deriving (Show)++-- | One state++data State s = State+ { sid :: Int+ , stype :: StateType+ , snode :: Int+ , sparents :: [Int]+ , schildren :: [Transition]+ , semission :: [Emission]+ , stag :: s+ } deriving (Show)++-- | CMType is important if we want to set localBegin / localEnd!++data CMType = CMProb | CMScore+ deriving (Show,Eq)++-- | can emit either one nucleotide or a pair++data Emission+ = EmitS {eNuc :: Nucleotide, escore :: Double}+ | EmitP { eNucL :: Nucleotide, eNucR :: Nucleotide, escore :: Double}+ deriving (Show)++-- | branches are transition without attached probability becaue both branches are always taken++data Transition+ = Branch {tchild :: Int}+ | Transition {tchild :: Int, tscore :: Double}+ deriving (Show)++-- | the different node types++data NodeType = MATP | MATL | MATR | BIF | ROOT | BEGL | BEGR | END+ deriving (Read,Show,Eq,Ord,Enum,Bounded)++-- | the different state types++data StateType = MP | IL | IR | D | ML | MR | B | S | E+ deriving (Read,Show,Eq,Ord,Enum,Bounded)++-- }}}+++-- * make a local model out of a global one++-- | generate a local model with local begin prob and local end prob++cmMakeLocal :: Double -> Double -> CM n s -> CM n s+cmMakeLocal pbegin pend cm = cmMakeLocalBegin pbegin $ cmMakeLocalEnd pend cm++++cmMakeLocalBegin :: Double -> CM n s -> CM n s+cmMakeLocalBegin pbegin cm = cm{localBegin = localBegin cm // changes} where+ changes = rootS : (start : intern)+ rootS = (0, prob2Score 0 1.0) -- root disabled!+ start = (head . nstates $ nodes cm ! 1, prob2Score (1-pbegin) 1.0) -- the first state after "root 0"+ intern = map (\k -> (sid $ nodeMainState cm k,prob2Score (pbegin / l) 1.0)) nds+ nds = filter (localBeginPossible cm) . elems $ nodes cm+ l = genericLength nds++++-- TODO have to change the transition score, too!++cmMakeLocalEnd :: Double -> CM n s -> CM n s+cmMakeLocalEnd pend cm = cm{localEnd = localEnd cm // changes} where+ changes = map (\k -> (sid $ nodeMainState cm k,prob2Score (pend / l) 1.0)) nds+ nds = filter (localBeginPossible cm) . elems $ nodes cm+ l = genericLength nds++++-- * Transform between score and probability mode++-- | given a CM in score mode, change it to probability mode++cmScore2Prob :: CM n s -> CM n s+cmScore2Prob cm' = if cmType cm' == CMProb then cm' else CM+ (nodes cm)+ (statesScore2Prob cm $ states cm)+ (header cm)+ (localBeginScore2Prob $ localBegin cm)+ (localEndScore2Prob $ localEnd cm)+ CMProb+ nm+ where+ nm = amap (flip score2Prob 0.25) $ nullModel cm'+ cm = cm' {nullModel = nm}+++-- | Given a CM in prob mode, change to score mode++cmProb2Score :: CM n s -> CM n s+cmProb2Score cm' = if cmType cm' == CMScore then cm' else CM+ (nodes cm)+ (statesProb2Score cm $ states cm)+ (header cm)+ (localBeginProb2Score $ localBegin cm)+ (localEndProb2Score $ localEnd cm)+ CMScore+ nm+ where+ nm = amap (flip prob2Score 0.25) $ nullModel cm'+ cm = cm' {nullModel = nm}++++-- | normalize all PROBabilities in a CM++cmNormalizeProbabilities :: CM n s -> CM n s+cmNormalizeProbabilities cm+ | cmType cm == CMScore = error "cannot normalize score-type CM"+ | otherwise = cm -- TODO have to map normalization over all scores!++++-- {{{ CM score/prob conversion helpers++statesScore2Prob :: CM n s -> Array Int (State s) -> Array Int (State s)+statesScore2Prob cm sA = amap f sA where+ f s = s {schildren = map fT $ schildren s, semission = map fE $ semission s}+ fT b@(Branch _) = b+ fT (Transition k v) = Transition k (score2Prob v 1.0)+ fE (EmitS k v) = EmitS k (score2Prob v $ nullModel cm ! k)+ fE (EmitP k1 k2 v) = EmitP k1 k2 (score2Prob v $ (nullModel cm ! k1) * (nullModel cm ! k2))++++localBeginScore2Prob :: Array Int Double -> Array Int Double+localBeginScore2Prob sA = amap f sA where+ f s = score2Prob s 1.0++++localEndScore2Prob :: Array Int Double -> Array Int Double+localEndScore2Prob sA = amap f sA where+ f s = score2Prob s 1.0++++statesProb2Score :: CM n s -> Array Int (State s) -> Array Int (State s)+statesProb2Score cm sA = amap f sA where+ f s = s {schildren = map fT $ schildren s, semission = map fE $ semission s}+ fT b@(Branch _) = b+ fT (Transition k v) = Transition k (prob2Score v 1.0)+ fE (EmitS k v) = EmitS k (prob2Score v $ nullModel cm ! k)+ fE (EmitP k1 k2 v) = EmitP k1 k2 (prob2Score v $ (nullModel cm ! k1) * (nullModel cm ! k2))++++localBeginProb2Score :: Array Int Double -> Array Int Double+localBeginProb2Score sA = amap f sA where+ f s = prob2Score s 1.0++++localEndProb2Score :: Array Int Double -> Array Int Double+localEndProb2Score sA = amap f sA where+ f s = score2Prob s 1.0++-- }}}+++++-- * Helper Functions++-- {{{ helper functions++-- | extract the main state for each node (eg MP state for MATP node)++-- TODO shouldn't this just be "head $ nstates n"?++nodeMainState :: CM n s -> Node n -> State s+nodeMainState cm n = head $ filter ((==st) . stype) ss where+ (Just st) = (ntype n) `lookup` nodeMainStateAssocs+ ss = map (states cm !) $ nstates n+++-- | Checks for each node, if it can be target of a local begin.++localBeginPossible :: CM n s -> Node n -> Bool+localBeginPossible cm n =+ if ntype n `elem` okNodes+ && (not . any (==0) $ nparents n) -- nodes reachable from "root" (that is: node 1) have handled specially+ then True+ else False+ where+ okNodes = [MATP,MATL,MATR,BIF]++++-- | Checks for each node if it can lead to a local end.++localEndPossible :: CM n s -> Node n -> Bool+localEndPossible cm n =+ if ntype n `elem` okNodes+ && (END /= (ntype $ nodes cm ! (nid n +1)))+ then True+ else False+ where+ okNodes = [MATP,MATL,MATR,BEGL,BEGR]++++-- | transform scores into probabilities, given a nullmodel for x++-- TODO quickcheck!++score2Prob x null+ | x == (-1/0) = 0+ | otherwise = exp (x * log 2) * null++++-- | back into scores++prob2Score x null+ | x == 0 = (-1/0)+ | otherwise = log (x / null) / log 2++++-- | Transform a state, setting probabilities instead of scores. Requires CM+-- knowledge for background model.++-- TODO actually use the background model++stateScore2Prob :: CM n s -> State s -> State s+stateScore2Prob cm s = error "implement me"++++-- | Transform a state, setting scores instead of probabilities.++stateProb2Score :: CM n s -> State s -> State s+stateProb2Score cm s = error "implement me"+transitionTargets :: [Transition] -> [Int]+transitionTargets xs = map f xs where+ f (Branch x) = x+ f (Transition x _) = x+++nodeMainStateAssocs :: [(NodeType,StateType)]+nodeMainStateAssocs =+ [ (MATP, MP)+ , (MATL, ML)+ , (MATR, MR)+ , (BIF, B)+ , (ROOT, S)+ , (BEGL, S)+ , (BEGR, S)+ , (END, E)+ ]++-- }}}++++-- TODO score -> prob : exp (x / log 2) -- CHECK THIS!!!+-- score -> prob : exp (x * log 2)+-- prob -> score : (log x) / log 2+-- TODO mkGlobal (needed?)+-- TODO use logsum : log (exp x + exp y) = x + log (1 + exp (y-x)), where x>y
+ Biobase/DataSource/InfernalCM/Export.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE RecordWildCards #-}++-- | write an Infernal model. We aim for version 1.0.2 of Infernal but right+-- now, there is no explicit version management! We just return header+-- information as we read it. So we are compatible to all versions that can be+-- parsed but have no safeguards in place.+--+-- NOTE: exported model can apparently be calibrated.+--+-- TODO make sure that (Export.toString . Import.fromString == id); the other+-- way around is not absolutely necessary (except if the Infernal parser should+-- require this at some point)+--+-- TODO put functions like stringS into another module?++module Biobase.DataSource.InfernalCM.Export where++import qualified Data.Array.IArray as A+import Text.Printf++import Biobase.DataSource.InfernalCM++import Biobase.DataSource.InfernalCM.Import -- TODO for testing only!++++-- | Main export function for CMs. Creates a string that is accepted by+-- Infernal++toString :: CM n s -> String+toString cm@CM{..} = unlines $ hdr ++ ["MODEL:"] ++ nds ++ ["//"]+ where+ hdr = map (\(k,v) -> k ++ " " ++ v) header+ nds = concatMap (nodeToString cm) $ A.elems nodes++++-- | export a specific node, used by 'toString'++nodeToString :: CM n s -> Node n -> [String]+nodeToString cm Node{..} = printf "\t\t\t\t[ %s %d ]" (show ntype) nid : map (stateToString cm . (states cm A.!)) nstates++++-- | export a specific states, used by 'nodeToString'++stateToString :: CM n s -> State s -> String+stateToString cm State{..} = printf " %2s %6d %6d %2d %6d %6d %-55s %s" (show stype) sid maxP numP minC numC tscores escores+ where+ maxP+ | null sparents = -1+ | otherwise = maximum sparents+ numP = length sparents+ minC+ | null schildren = -1+ | otherwise = minimum $ map tchild schildren+ numC+ | stype == B = maximum $ map tchild schildren+ | otherwise = length schildren+ tscores :: String+ tscores+ | stype == B = ""+ | otherwise = concatMap (printf "%s " . stringS . tscore) schildren+ escores :: String+ escores+ | null semission = ""+ | otherwise = concatMap (printf "%.3f " . escore) semission++++-- | export scores for transitions with the Infernal-specific "-infinity" value+-- of "*"++stringS x+ | x == (-1/0) = " *"+ | otherwise = printf "%.3f" x
+ Biobase/DataSource/InfernalCM/Import.hs view
@@ -0,0 +1,197 @@++--+-- A parser for Infernal's Covariance Models (CM). Should work with version 1.0+-- of Infernal.+--++-- TODO use generics?+--+-- TODO importing the cmcalibrate calibration data is currently broken! (data is parsed as separate lines)++module Biobase.DataSource.InfernalCM.Import + ( fromFile+ , fromString+ ) where++import Data.Maybe (fromJust)+import qualified Data.Array.IArray as A+import qualified Data.List as L+import Text.ParserCombinators.Parsec hiding (State)++import Biobase.DataSource.InfernalCM+import Biobase.RNA hiding (nucE)++++-- {{{ Parsec++myChar = alphaNum <|> char '-' <|> char '_' <|> char '.'+headerChar = myChar <|> char '[' <|> char ']'+floating = many1 $ digit <|> char '.' <|> char 'e' <|> char '-'++headerLine = do+ key <- many1 headerChar+ --spaces+ many1 $ char ' '+ val <- many1 (headerChar <|> char ' ' <|> char '/' <|> char ':')+ newline+ return (key,val)++unknownNumbers = do+ many1 $ char ' '+ ns <- floating `sepEndBy` (many1 $ char ' ')+ newline+ return ("",concat ns)++theHeader = do+ hs <- many $ (try headerLine <|> try unknownNumbers)+ string "MODEL:"+ newline+ return hs++-- }}}++-- {{{ Node++node = do+ spaces+ string "[ "+ name <- many letter+ spaces+ num <- many digit >>= (return . read)+ spaces+ string "]"+ newline+ states <- many $ try (state num)+ return $ (Node+ { ntype = read name+ , nid = num+ , nstates = map sid states+ , nparents = []+ , nchildren = []+ , ntag = ()+ }+ , states)++-- }}}++-- {{{ stuff++-- TODO put some of this into HsTools/Parsec stuff++aNum = many1 $ char '-' <|> digit+addneginf :: String -> Double+addneginf "*" = (-1)/0 --"-1000000000.0"+addneginf x = read x++-- }}}++-- {{{ State++state nodeID = do+ spaces+ name <- many1 myChar+ spaces+ sid <- aNum >>= (return . read)+ spaces+ plast <- aNum >>= (return . read)+ spaces+ pnum <- aNum >>= (return . read)+ spaces+ cfirst <- aNum >>= (return . read)+ spaces+ cnum <- aNum >>= (return . read)+ probs <- ( (many $ myChar <|> char '*') `sepBy` (many1 $ char ' ') >>=+ return . map addneginf . filter ((/=) "") )+ newline+ let s = case name of+ "B" -> State+ { stype = read name+ , sid = sid+ , snode = nodeID+ , sparents = [plast-pnum+1 .. plast]+ , schildren = [Branch cfirst, Branch cnum]+ , semission = []+ , stag = ()+ }+ _ -> State+ { stype = read name+ , sid = sid+ , snode = nodeID+ , sparents = [plast-pnum+1 .. plast]+ , schildren = zipWith Transition [cfirst .. cfirst+cnum-1] probs+ , semission = let keep = drop cnum probs in+ case length keep of+ 0 -> []+ 4 -> zipWith EmitS acgu keep+ 16 -> zipWith (\(k1,k2) v -> EmitP k1 k2 v) acguPairs keep+ _ -> error $ "strange number of probabilities" ++ show (keep)+ , stag = ()+ }+ return s++-- }}}++-- {{{ Model++models = do+ ms <- many model+ eof+ return ms++model = do+ h <- theHeader+ ns <- many node+ let states = concatMap snd ns+ let nodes = map (addPCinfo states . fst) ns+ -- just add all the node parent / child info+ string "//"+ newline+ -- eof -- removed, we want to be able to read concatenated models!+ return $ CM+ { nodes = A.array (0, length nodes -1) $ zip (map nid nodes) nodes+ , states = A.array (0, length states -1) $ zip (map sid states) states+ , header = h+ , localBegin = A.array (0, length states -1) $ zip [0 .. length states -1] (0.0 : repeat (-1/0))+ , localEnd = A.array (0, length states -1) $ zip [0 .. length states -1] (repeat (-1/0))+ , cmType = CMScore+ , nullModel = A.array (nucA,nucU) $ zip acgu (map read . words . fromJust $ "NULL" `lookup` h) -- TODO circumvents the whole parsing stuff!+ }++-- }}}++-- {{{ Stuff++addPCinfo states n =+ let+ s = nstates n+ sp = L.nub $ L.sort $ concatMap (sparents . (states !!)) s+ sc = L.nub $ L.sort $ concatMap (transitionTargets . schildren . (states !!)) s+ np = (L.nub $ L.sort $ map (snode . (states !!)) sp) L.\\ [nid n]+ nc = (L.nub $ L.sort $ map (snode . (states !!)) sc) L.\\ [nid n]+ in+ n {nparents = np, nchildren = nc}++++-- | Two types of parsing, once using a file and once by parsing a string.++fromFile f = parseFromFile models f+fromString s = parse models "(stdin)" s++-- }}}++-- | Helper function to remove impossible state transitions (those that have+-- -infty score).++-- TODO move to InfernalCM.hs and have it for Prob and Score both++{-+canonize cm = cm {states = A.amap f $ states cm} where+ f s = s {schildren = filter g $ schildren s}+ g (Branch _) = True+ g (Transition _ v) = + h (_,s)+ | s == (-1)/0 = False+ | otherwise = True+-}
+ Biobase/DataSource/MCFold.hs view
@@ -0,0 +1,190 @@+{-# LANGUAGE GeneralizedNewtypeDeriving #-}++-- | The next iteration of MC-Fold-DP which is, hopefully, a bit faster. It can+-- be seen that the dsConnect and ddConnect data structures do not care about+-- the type of connection, only which kind of NCM is involved and the pair.+-- This follows the way MC-Fold integrates away the specific type of pair+-- family involved.++module Biobase.DataSource.MCFold where++import Control.DeepSeq+import Data.Ix+import Data.Ix.Tuple+import Data.PrimitiveArray+import Data.PrimitiveArray.Ix -- only needed for the ghci part?+import qualified Data.Vector.Unboxed as VU++import Biobase.RNA+import Biobase.RNA.Hashes++++-- | This version of the motif database accepts ACGU+E as nucleotides.+-- Occurances of E lead to a maximization over all strings where the E are+-- replaced by ACGU -- if the corresponding function was used, otherwise all E+-- map to infinity (actually only a large number).+--+-- The dsConnect and ddConnect database stores the combined information for+-- connections between different cycles.++data MotifDB = MotifDB+ -- The most important data, NCMs and connections between two of those+ { sCycles :: [(Int,CycleArray)] -- ^ store length of cycles, cycle array for this length+ , dCycles :: [((Int,Int),CycleArray)] -- ^ store (left,right) lengths, cycle array+ , dsConnect :: [(((Int,Int),Int),ConnectArray)]+ , ddConnect :: [(((Int,Int),(Int,Int)),ConnectArray)]+ -- Following is other data, mostly from the importer+ , rawPairScores :: PairScoreArray+ , rawJunctionScores :: JunctionArray+ , rawSHingeCounts :: [(Int,[RawHinge])] -- ^ length of cycle, hinge data+ , rawDHingeCounts :: [((Int,Int),[RawHinge])] -- ^ length of cycle, length of cycle, hinge data+ } deriving (Show)++++-- * Newtypes for different annotations++newtype TransCis = TransCis Int+ deriving (Eq,Ord,Ix,NFData,Read,Show,Enum)+(trans:cis:_) = map TransCis [0..]++instance Bounded TransCis where+ minBound = trans+ maxBound = cis++newtype AntiPara = AntiPara Int+ deriving (Eq,Ord,Ix,NFData,Read,Show,Enum)+(anti:para:_) = map AntiPara [0..]++instance Bounded AntiPara where+ minBound = anti+ maxBound = para++newtype Slash = Slash Int+ deriving (Eq,Ord,Ix,NFData,Read,Show,Enum)+(wsp:hsp:csp:ssp:bsp:_) = map Slash [0..]++instance Bounded Slash where+ minBound = wsp+ maxBound = bsp++newtype Prime = Prime Int+ deriving (Eq,Ord,Ix,NFData,Read,Show,Enum)+(p5:p3:_) = map Prime [0..]++instance Bounded Prime where+ minBound = p5+ maxBound = p3++-- | log-scores as derived from probabilities.+--+-- TODO apply (min eInf)?++logScore :: Double -> Double+logScore x = (-0.606) * log x++type CycleArray = PrimArray HashedPrimary Double+type ConnectArray = PrimArray (Nucleotide,Nucleotide) Double -- ,Slash,Slash,AntiPara,TransCis) Double+type RawHinge = (((Prime,Nucleotide,Nucleotide),(Slash,Slash,AntiPara,TransCis)),Double)+type PairScoreArray = PrimArray (Nucleotide,Nucleotide) Double+type JunctionArray = PrimArray (Int,Int) Double++++-- * A lot of static information++-- | Known single-pair types. (Length of nucleotide string, 0-based index).++-- 4 -> (5,2)+-- 5 -> (5,3)+-- 6 -> (5,4)+--+-- found to be wrong+-- 5 -> (0,5)++knownSingleNCM :: VU.Vector (Int,Int)+knownSingleNCM = VU.fromList+ [ (4,2)+ , (5,3)+ , (6,4)+ ]++-- | Known double-pair types. ((Length of left...,Length of right nucleotide+-- string), 0-based index++-- found to be right through hacking!+-- all are (..) to next type+-- NCM type -> junctions IV.! (a,b)+-- (a+1,b+1) for the junction.db+-- (2,2) -> (5,5)+-- (2,3) -> (8,2)+-- (3,2) -> (9,2)++knownDoubleNCM :: VU.Vector ((Int,Int),Int)+knownDoubleNCM = VU.fromList+ [ ((2,2), 5)+ , ((3,3), 6)+ , ((2,3), 7)+ , ((3,2), 8)+ , ((2,4), 9)+ , ((4,2),10)+ ]++-- | This is a list of known hinge types. If it has to be regenerated at some+-- point, run the following command inside the MCfold DB:+--+-- cat *hinge | grep -v "^\[" | awk '{print $1 " " $2 " " $3}' | sort | uniq | awk '{printf " , \"%s\"\n", $0}'++knownHinges =+ [ "B/B anti trans"+ , "B/H anti trans"+ , "B/H para cis"+ , "B/S anti cis"+ , "B/S anti trans"+ , "B/S para trans"+ , "B/W anti cis"+ , "B/W anti trans"+ , "B/W para cis"+ , "B/W para trans"+ , "C/H para trans"+ , "H/B anti trans"+ , "H/C para trans"+ , "H/H anti cis"+ , "H/H para trans"+ , "H/S anti trans"+ , "H/S para trans"+ , "H/W anti cis"+ , "H/W anti trans"+ , "H/W para cis"+ , "H/W para trans"+ , "S/B anti cis"+ , "S/B para trans"+ , "S/C para cis"+ , "S/H anti cis"+ , "S/H anti trans"+ , "S/H para cis"+ , "S/H para trans"+ , "S/S anti cis"+ , "S/S para trans"+ , "S/W anti cis"+ , "S/W anti trans"+ , "S/W para cis"+ , "S/W para trans"+ , "W/B anti cis"+ , "W/B anti trans"+ , "W/B para cis"+ , "W/C anti trans"+ , "W/H anti cis"+ , "W/H anti trans"+ , "W/H para cis"+ , "W/H para trans"+ , "W/S anti cis"+ , "W/S anti trans"+ , "W/S para cis"+ , "W/S para trans"+ , "W/W anti cis"+ , "W/W anti trans"+ , "W/W para cis"+ , "W/W para trans"+ ]
+ Biobase/DataSource/MCFold/Conversions.hs view
@@ -0,0 +1,58 @@++-- | Performs operations on cyclearrays, most importantly calculating energies+-- for "E" cases.+--+-- TODO MotifDB -> MotifDB should be the type.+--+-- TODO two different cases (i) activate "E" with reasonable defaults (ii)+-- generic sparse data correction. If (ii) is used, it should come before (i)+-- in order to produce reasonable results for motifs with "E"++module Biobase.DataSource.MCFold.Conversions+ ( maxArray+ ) where++import qualified Data.Vector.Unboxed as VU++import Data.PrimitiveArray++import Biobase.Constants+import Biobase.DataSource.MCFold+import Biobase.RNA+import Biobase.RNA.Hashes+import Biobase.RNA.NucBounds++++-- * activate++-- | Given a CycleArray, create entries for all keys containing at least one E.+-- Set said energy to maximum over all non-E containing neighbors.++maxArray :: CycleArray -> Int -> CycleArray+maxArray arr k = fromAssocs l u eInf xs where+ (l,u) = bounds arr+ xs = map (\k -> let p = mkPrimary k in (mkHashedPrimary (minExtended,maxExtended) p,maxOver arr p)) $ genKeys k++-- | Perform maximum calculation for one element++maxOver :: CycleArray -> Primary -> Double+maxOver arr p+ | VU.all (/=nucE) p = arr ! mkci p+ | otherwise = maximum $ map ((arr !) . mkci . mkPrimary) keys+ where+ mkci = mkHashedPrimary (minExtended,maxExtended)+ keys = mkKeys $ VU.toList p++-- | Create all neighboring keys for a given one++mkKeys :: [Nucleotide] -> [[Nucleotide]]+mkKeys [x] = if x==nucE then [[y] |y<-acgu] else [[x]]+mkKeys (x:xs) = [ head y:ys | y<-mkKeys [x], ys<-mkKeys xs ]++-- | Generate all keys of a given size++genKeys :: Int -> [[Nucleotide]]+genKeys k+ | k==1 = [[y] | y<-eacgu]+ | k> 1 = [ y:ys | y<-eacgu, ys<-genKeys (k-1) ]
+ Biobase/DataSource/MCFold/Import.hs view
@@ -0,0 +1,226 @@+{-# LANGUAGE ScopedTypeVariables #-}++-- | Importer for the NCM database.+--+-- NOTE This version reads only known single/double-stranded NCMs.+--+-- NOTE "infinity" is a large constant, given by RNA.Constants.eInf++module Biobase.DataSource.MCFold.Import+ ( parseDir+ ) where++import Control.Applicative+import Control.Arrow (first, second)+import Control.Monad (liftM)+import Data.Either.Unwrap (fromRight)+import Data.Maybe (fromJust)+import qualified Data.ByteString as B+import qualified Data.Map as M+import qualified Data.Vector.Unboxed as VU+import System.FilePath ((</>))+import Text.Parsec.ByteString+import Text.Parsec hiding (many, (<|>))+import Text.Parsec.Prim (parse)+import Text.Printf++import Text.Parsec.Numbers+import Data.PrimitiveArray++import Biobase.Constants+import Biobase.DataSource.MCFold+import Biobase.RNA+import Biobase.RNA.Hashes+import Biobase.RNA.NucBounds++++parseDir :: FilePath -> IO MotifDB+parseDir dir = do+ let sList = map fst $ VU.toList knownSingleNCM+ let dList = map fst $ VU.toList knownDoubleNCM+ -- basic filenames+ let (spFiles :: [FilePath]) = map ((dir </>) . printf "1_strand_%d.db") sList+ let (dsFiles :: [FilePath]) = map ((dir </>) . uncurry (printf "2_strand_%d_%d.db")) dList+ -- parse cycle DB+ let parseWith parser suffix lst = liftM (zip lst) . mapM (liftM fromRight . parseFromFile parser . (++suffix))+ sCycles <- parseWith parseCycle ".cycle" sList spFiles+ dCycles <- parseWith parseCycle ".cycle" dList dsFiles+ -- parse hinge DB: parses the original counted data+ sHinges <- parseWith parseHinge ".hinge" sList spFiles+ dHinges <- parseWith parseHinge ".hinge" dList dsFiles+ -- parse the DB with individual pair contributions, dropping the 5 integer-based values first+ pairScores <- liftM (fromAssocs minExtended maxExtended eInf . zip [(n1,n2)|n1<-eacgu,n2<-eacgu] . drop 5 . fromRight) . parseFromFile parsePairScores $ (dir </> "hinge.db") -- strangely, the data is in hinge.db+ -- parse contributions by individual junctions+ junctionScores <- liftM (fromList (0,0) (21,21) . fromRight) . parseFromFile parseJunction $ (dir </> "junction.db")+ return $ MotifDB+ { sCycles = map (second (toNCMArray pairScores)) sCycles+ , dCycles = map (second (toNCMArray pairScores)) dCycles+ , dsConnect = [ mkDSConnect junctionScores pairScores d s | d <- dHinges, s <- sHinges ]+ , ddConnect = [ mkDDConnect junctionScores pairScores d d | d <- dHinges, d <- dHinges ]+ , rawPairScores = pairScores+ , rawJunctionScores = junctionScores+ , rawSHingeCounts = sHinges+ , rawDHingeCounts = dHinges+ }++-- | Create the connections array for a given doubleNCM known by (l,r) length+-- and singleNCM. Such a connection is then only defined by the connecting+-- pair.+--+-- TODO check if connect calculates correctly!++mkDSConnect :: JunctionArray -> PairScoreArray -> ((Int,Int),[RawHinge]) -> (Int,[RawHinge]) -> (((Int,Int),Int),ConnectArray)+mkDSConnect junction pair ((lenLeft,lenRight),ds) (len,ss) = (((lenLeft,lenRight),len), fromAssocs l u z xs) where+ l = minExtended+ u = maxExtended+ z = eInf+ xs = [ ((n1,n2), connect n1 n2) | n1<-acgu, n2<-acgu ]+ dsMap = M.map normalize . M.fromListWith (++) $ map (\((pnn,others),v) -> (pnn,[(others,v)])) $ ds+ ssMap = M.map normalize . M.fromListWith (++) $ map (\((pnn,others),v) -> (pnn,[(others,v)])) $ ss+ connect n1 n2 =+ let+ common = [ va*vb | (ka,va) <- M.findWithDefault [] (p3,n1,n2) dsMap, (kb,vb) <- M.findWithDefault [] (p5,n1,n2) ssMap, ka==kb ]+ c = if null common+ then eInf+ else junction ! (((lenLeft,lenRight) `lookup` knownDoubleNCM),(len `lookup` knownSingleNCM)) -- junction score between two NCMs+ + (logScore $ sum common)+ in c+ lookup k = snd . fromJust . VU.find ((==k).fst)+ normalize xs+ | null xs = xs+ | otherwise = map (second (/total)) xs+ where total = sum $ map snd xs++-- | Same as above. Some annoying code duplication.+--+-- TODO check if connect calculates correctly++mkDDConnect :: JunctionArray -> PairScoreArray -> ((Int,Int),[RawHinge]) -> ((Int,Int),[RawHinge]) -> (((Int,Int),(Int,Int)),ConnectArray)+mkDDConnect junction pair ((lenLA,lenRA),dsA) ((lenLB,lenRB),dsB) = (((lenLA,lenRA),(lenLB,lenRB)), fromAssocs l u z xs) where+ l = minExtended+ u = maxExtended+ z = eInf+ xs = [ ((n1,n2), connect n1 n2) | n1<-acgu, n2<-acgu ]+ dsAMap = M.map normalize . M.fromListWith (++) $ map (\((pnn,others),v) -> (pnn,[(others,v)])) $ dsA+ dsBMap = M.map normalize . M.fromListWith (++) $ map (\((pnn,others),v) -> (pnn,[(others,v)])) $ dsB+ connect n1 n2 =+ let+ common = [ va*vb | (ka,va) <- M.findWithDefault [] (p3,n1,n2) dsAMap, (kb,vb) <- M.findWithDefault [] (p5,n1,n2) dsBMap, ka==kb ]+ c = if null common+ then eInf+ else junction ! (((lenLA,lenRA) `lookup` knownDoubleNCM),((lenLB,lenRB) `lookup` knownDoubleNCM)) -- junction score between two NCMs+ + (logScore $ sum common)+ in c+ lookup k = snd . fromJust . VU.find ((==k).fst)+ normalize xs+ | null xs = xs+ | otherwise = map (second (/total)) xs+ where total = sum $ map snd xs++-- | Generates the array of all NCMs. We add the score for the closing pair+-- (hinge.db) directly here.++toNCMArray :: PairScoreArray -> [Cycle] -> PrimArray HashedPrimary Double+toNCMArray pairScores xs+ | null xs = error "toNCMArray expects non-empty list of Cycles"+ | otherwise = fromAssocs l u z $ map f xs+ where+ lp = replicate (length . fst $ head xs) (minExtended :: Nucleotide)+ up = replicate (length . fst $ head xs) (maxExtended :: Nucleotide)+ l = mkci $ mkPrimary lp+ u = mkci $ mkPrimary up+ z = eInf+ mkci s = mkHashedPrimary (minExtended,maxExtended) s+ f (s,v) =+ let+ p = mkPrimary s+ pS = pairScores ! (VU.head p, VU.last p)+ in (mkci p,v + pS)++++-- * Parsers for different files++-- | parser for junction.db++parseJunction :: GenParser B.ByteString st [Double]+parseJunction = many1 (doubles <* spaces) <* eof where+ doubles = try (const eInf <$> string "+inf") <|> floatX++-- | parser for hinge.db Returns scores for individual pairs.++parsePairScores :: GenParser B.ByteString st [Double]+parsePairScores = (\a b -> a ++ b) <$> fl <*> ls where+ fl = many1 (read <$> many1 digit <* spaces) -- the 5 integers in the top line+ ls = many1 (doubles <* spaces) <* eof -- the 5x5 matrix of doubles+ doubles = try (const eInf <$> string "+inf") <|> floatX++-- | parser for NCM database (*.cycle)++parseCycle :: GenParser B.ByteString st [Cycle]+parseCycle = many1 (cycle <* newline) <* eof where+ cycle :: GenParser B.ByteString st Cycle+ cycle = (\a b -> (a,b)) <$> many1 letter <* ws <*> floatX++-- many ws characters++ws = many $ char ' '++-- | helper function for the strange double values+--+-- TODO move floatX into HsTools!++floatX :: GenParser B.ByteString st Double+floatX = toDouble <$> prefix <*> many digit <*> char '.' <*> many digit where+ prefix = char '+' <|> char '-'+ toDouble '+' ds1 dot ds2 = read $ ds1 ++ [dot] ++ ds2+ toDouble '-' ds1 dot ds2 = read $ "-" ++ ds1 ++ [dot] ++ ds2++-- | new hinge parser++parseHinge :: GenParser B.ByteString st [RawHinge]+parseHinge = concat <$> many hinge <* eof where+ mkap "anti" = anti+ mkap "para" = para+ mktc "trans" = trans+ mktc "cis" = cis+ mksp x = case x of+ 'S' -> ssp+ 'H' -> hsp+ 'W' -> wsp+ 'B' -> bsp+ 'C' -> csp+ _ -> error $ "parseHinge: " ++ [x]+ hinge :: GenParser B.ByteString st [RawHinge]+ -- use monad format to check opening / closing equality+ hinge = do+ string "[ "+ n53 <- digit+ let primeType = if n53 == '5' then p5 else p3+ string "' "+ b1 <- oneOf "ACGU"+ string " "+ b2 <- oneOf "ACGU"+ string " ]"+ newline+ hts <- many (try hingetype)+ return $ map (\((s1,s2,ap,tr),count) -> (((primeType,mkNuc b1,mkNuc b2),(s1,s2,ap,tr)),count)) hts+ hingetype :: GenParser B.ByteString st ((Slash,Slash,AntiPara,TransCis),Double)+ hingetype = mkht+ <$> hw+ <* space+ <*> (try (string "anti") <|> string "para")+ <* space+ <*> (try (string "trans") <|> string "cis")+ <* space+ <*> many1 digit+ <* newline+ mkht (a:_:b:[]) ap tc cnt = ((mksp a, mksp b, mkap ap, mktc tc), read cnt)+ hw = many1 (char '/' <|> letter)++++-- * Types++type Cycle = (String,Double)
+ Biobase/DataSource/Mafft.hs view
@@ -0,0 +1,50 @@++-- | Mafft data.+--+-- NOTE: For the "-" strand, the start position is given by ("genome size" -+-- "start position" + "length")+--+-- TODO mafft blocks contain "i" parts which i haven't seen yet. These have to+-- be parsed, too.++module Biobase.DataSource.Mafft where++import qualified Data.ByteString.Lazy.Char8 as BS++++-- | A complete Mafft file.++data Mafft = Mafft+ { comments :: [BS.ByteString]+ , blocks :: [Block]+ }+ deriving (Show)++-- | One Mafft block.+--+-- THERE is "a ", "i ", "s "++data Block = Block+ { alignment :: BS.ByteString+ , sequences :: [Sequence]+ }+ deriving (Show)++-- | Encodes one sequence entry.++data Sequence = Sequence+ { species :: BS.ByteString+ , start :: Int+ , length :: Int+ , strand :: PlusMinus+ , genomeSize :: Int+ , alignedSequence :: CompressedBS+ }+ deriving (Show)++newtype PlusMinus = PlusMinus Char+ deriving (Eq,Show)++newtype CompressedBS = CompressedBS BS.ByteString+ deriving (Eq,Show)
+ Biobase/DataSource/Mafft/Import.hs view
@@ -0,0 +1,74 @@++-- | Imports a mafft file. The mafft file may be gzip-compressed, as long as+-- the filename contains a ".gz" suffix. Files without ".gz" suffix are treated+-- as uncrompressed.++module Biobase.DataSource.Mafft.Import+ ( fromFile+ ) where++import qualified Codec.Compression.GZip as GZip+import System.FilePath (takeExtension)+import qualified Data.ByteString.Lazy.Char8 as BS+import Text.Parsec hiding (many,(<|>))+import Text.Parsec.ByteString.Lazy+import Control.Applicative++import Biobase.DataSource.Mafft++++test = fromFile "tba.maf.gz"++-- | Import 'Mafft' from file.++fromFile :: FilePath -> IO (Either String Mafft)+fromFile fname = do+ content <- if (takeExtension fname == ".gz")+ then GZip.decompress `fmap` BS.readFile fname+ else BS.readFile fname+ res <- return $ runP pFile () fname content+ case res of+ Left err -> return . Left $ show err+ Right m -> return . Right $ m++-- | Parses one comment line.++pComment :: GenParser Char st BS.ByteString+pComment = BS.pack <$ char '#' <*> manyTill anyChar newline++-- | Parses many comment lines.++pComments :: GenParser Char st [BS.ByteString]+pComments = many pComment++-- | Parses one complete 'Block'.++pBlock :: GenParser Char st Block+pBlock = Block <$> pAli <*> many1 pSequence where+ pAli = BS.pack <$ char 'a' <*> manyTill anyChar newline <?> "expecting alignment (score)"++-- | Parses many 'Block's.++pBlocks :: GenParser Char st [Block]+pBlocks = (try $ pBlock <* newline) `manyTill` (string "##eof maf" <* spaces <* eof)++-- | The Mafft file parser.++pFile :: GenParser Char st Mafft+pFile = Mafft <$> pComments <*> pBlocks++-- | Parses one 'Sequence' line.++pSequence :: GenParser Char st Sequence+pSequence = Sequence <$ string "s " <*> sname <*> sstart <*> slength <*> sstrand <*> sgenomesize <*> salisequence where+ sname = BS.pack <$> manyTill alphaNum (many1 space)+ sstart = read <$> number <* spaces+ slength = read <$> number <* spaces+ sstrand = PlusMinus <$> (char '+' <|> char '-') <* spaces+ sgenomesize = read <$> number <* spaces+ salisequence = CompressedBS . GZip.compress . BS.pack <$> manyTill anyChar newline++-- | Parses an integral number.++number = many1 digit
+ Biobase/DataSource/Turner.hs view
@@ -0,0 +1,41 @@+{-# LANGUAGE TypeSynonymInstances #-}++-- | Mathews / Turner nearest neighbor energy tables for interactions between+-- RNA-RNA and DNA-DNA. Using lazy tables for easy filling of missing data.+-- Transform tables into uvectors for efficient access.++module Biobase.DataSource.Turner where++import Biobase.RNA (Nucleotide)+import qualified Biobase.DataSource.Turner.Tables as T++++-- | Data structure containing all necessary tables for the Turner 2004 model.+-- Note the temperature, using an additional function, rescaling becomes+-- possible. A Show and a Read instance are automatically derived but one+-- should use the Turner and/or Vienna import/export facilities. All data uses+-- complete tables, where any base can pair with any other. Missing data ("."+-- in tables) is given by 'Nothing', otherwise we have 'Just Int'.+-- +-- In general, have a look here:+-- <http://rna.urmc.rochester.edu/NNDB/turner04/index.html> where+-- parameters are explained.+-- +-- Conversion from Turner to Vienna is only possible in one direction as a+-- number of parameters are not used in Vienna RNA Folding.++++-- We are missing tables for DNA-RNA data: helixdr.dat, stackdr.dat,+-- stackdr.dh. Several other files have unknown data, too. These are:+-- dnadynalign*, fam\_hmm\_pars.dat, helix.dat, int22-exp.dh++type TurnerTables = T.Turner2004 Basepair Nucleotide Double++type TurnerEntropy = TurnerTables+type TurnerEnthalpy = TurnerTables+type Temperature = Double+type TurnerSet = (Temperature,TurnerEntropy,TurnerEnthalpy)++type Basepair = (Nucleotide,Nucleotide)
+ Biobase/DataSource/Turner/Import.hs view
@@ -0,0 +1,176 @@+{-# LANGUAGE NoMonomorphismRestriction #-}++-- | Turner file parser. Returns a Turner2004 data structure. We store data in+-- the same way it is stored in the ViennaRNA package. Pairs are tuples+-- however.+--+-- How is 'stack' data stored:+--+-- AX+-- UY -> ((A,U),(Y,X))+--+-- How 'iloop1x1' is stored:+--+-- X+-- A G+-- U C -> ((A,U),(C,G),X,Y)+-- Y+--+-- Now 'iloop1x2' is stored:+--+-- X+-- A G+-- U C -> ((A,U),(C,G),X,C,Y), single (X) first, then 5' to 3'+-- YC+--+-- 'iloop2x2' is stored:+--+-- XY+-- A G+-- U C -> ((A,U),(C,G),X,Y,y,x), X-->Y then x<--y+-- xy+--+--TODO not sure if dangle3/dangle5 are correctly split or if they should switch++module Biobase.DataSource.Turner.Import+ ( parseTurner+ ) where++import Control.Applicative+import Control.Arrow (first)+import Control.Monad+import Data.Either+import Data.List.Split (splitEvery)+import Data.List (transpose)+import qualified Data.Map as M+import System.FilePath.Find+import Text.Parsec hiding ((<|>), many)+import Text.Parsec.String++import Biobase.RNA+import Data.Ix.Tuple+import Data.PrimitiveArray+import Data.PrimitiveArray.Ix+import Text.Parsec.Numbers++import Biobase.DataSource.Turner.Tables++++-- * Associate every file with a parse.++minp = (nucA,nucA)+maxp = (nucU,nucU)+minpb = (minp,nucA)+maxpb = (maxp,nucU)+minpp = (minp,minp)+maxpp = (maxp,maxp)+minppbb = (minp,minp,nucA,nucA)+maxppbb = (maxp,maxp,nucU,nucU)+minppbbb = (minp,minp,nucA,nucA,nucA)+maxppbbb = (maxp,maxp,nucU,nucU,nucU)+minppbbbb = (minp,minp,nucA,nucA,nucA,nucA)+maxppbbbb = (maxp,maxp,nucU,nucU,nucU,nucU)+minpbb = (minp,nucA,nucA)+maxpbb = (maxp,nucU,nucU)+-- (4,3) switched for vienna rna compatibility+keyspp = [((k1,k2),(k4,k3)) | k1 <- acgu, k3 <- acgu, k2 <- acgu, k4 <- acgu]+keyspb = [((k1,k2),k3) | k1 <- acgu, k2 <- acgu, k3 <- acgu]+keyspbb = [((k1,k2),k3,k4) | k1 <- acgu, k3 <- acgu, k2 <- acgu, k4 <- acgu]+plist11 = [(nucA,nucU),(nucC,nucG),(nucG,nucC),(nucU,nucA),(nucG,nucU),(nucU,nucG)]+plist22 = [(nucA,nucU),(nucC,nucG),(nucG,nucC),(nucG,nucU),(nucU,nucA),(nucU,nucG)]+-- (4,3) switched for vienna rna compatibility+keysppbb = [((k1,k2),(k4,k3),k5,k6) | (k1,k2) <- plist11, k5 <- acgu, (k3,k4) <- plist11, k6 <- acgu]+-- (4,3) switched for vienna rna compatibility+keysppbbb = [((k1,k2),(k4,k3),k5,k6,k7) | (k1,k2) <- plist11, k6 <- acgu, k5 <- acgu, (k3,k4) <- plist11, k7 <- acgu]+-- (4,3) switched for vienna rna compatibility, 5786 is 5'3' order top, bottom!+keysppbbbb = [((k1,k2),(k4,k3),k5,k6,k7,k8) | (k1,k2) <- plist22, (k3,k4) <- plist22, k5 <- acgu, k8 <- acgu, k6 <- acgu, k7 <- acgu]+z = 999999++++-- | Given the base dir and a suffix (.dat/.dh most likely), parse the relevant+-- files. The prefix can be used for, eg., dna file++parseTurner prefix basedir fsuffix = do+ vstack <- grabB basedir fsuffix $ prefix ++ "stack"+ vdangles <- grabB basedir fsuffix $ prefix ++ "dangle"+ vlengths <- grabB basedir fsuffix $ prefix ++ "loop"+ vhairmm <- grabB basedir fsuffix $ prefix ++ "tstackh"+ viloopmm <- grabB basedir fsuffix $ prefix ++ "tstacki"+ viloop23mm <- grabB basedir fsuffix $ prefix ++ "tstacki23"+ viloop1nmm <- grabB basedir fsuffix $ prefix ++ "tstacki1n"+ vmultimm <- grabB basedir fsuffix $ prefix ++ "tstackm"+ vextmm <- grabB basedir fsuffix $ prefix ++ "tstack"+ viloop11 <- grabB basedir fsuffix $ prefix ++ "int11"+ viloop12 <- grabB basedir fsuffix $ prefix ++ "int21"+ viloop22 <- grabB basedir fsuffix $ prefix ++ "int22"+ vlookups <- fmap (map (first (map mkNuc)) . concat) $ mapM (\f -> grabA basedir fsuffix $ prefix ++ f) ["triloop","tloop","hexaloop"]+ vmisc <- grabB basedir fsuffix $ prefix ++ "miscloop"+ let (vdangle3,vdangle5) = splitAt (length vdangles `div` 2) vdangles+ let (_:viloopl:vbulgel:vhairpinl:[]) = transpose $ splitEvery 4 vlengths+ return $ Turner2004+ { stack = fromAssocs minpp maxpp z $ zip keyspp vstack+ , dangle3 = fromAssocs minpb maxpb z $ zip keyspb vdangle3+ , dangle5 = fromAssocs minpb maxpb z $ zip keyspb vdangle5+ , hairpinL = fromAssocs 0 30 z $ zip [1..] vhairpinl+ , bulgeL = fromAssocs 0 30 z $ zip [1..] vbulgel+ , iloopL = fromAssocs 0 30 z $ zip [1..] viloopl+ , hairpinMM = fromAssocs minpbb maxpbb z $ zip keyspbb vhairmm+ , iloopMM = fromAssocs minpbb maxpbb z $ zip keyspbb viloopmm+ , iloop2x3MM = fromAssocs minpbb maxpbb z $ zip keyspbb viloop23mm+ , iloop1xnMM = fromAssocs minpbb maxpbb z $ zip keyspbb viloop1nmm+ , multiMM = fromAssocs minpbb maxpbb z $ zip keyspbb vmultimm+ , extMM = fromAssocs minpbb maxpbb z $ zip keyspbb vextmm+ , hairpinLookup = M.fromList vlookups+ , iloop1x1 = fromAssocs minppbb maxppbb z $ zip keysppbb viloop11+ , iloop1x2 = fromAssocs minppbbb maxppbbb z $ zip keysppbbb viloop12+ , iloop2x2 = fromAssocs minppbbbb maxppbbbb z $ zip keysppbbbb viloop22+ , ninio = vmisc !! 2+ , maxNinio = vmisc !! 1+ , multiOffset = vmisc !! 6+ , multiNuc = vmisc !! 7+ , multiHelix = vmisc !! 8+ , largeLoop = vmisc !! 0+ , termAU = vmisc !! 14+ , intermolecularInit = vmisc !! 19+ }++grabB basedir fsuffix fname = do+ p <- parseFromFile pBlockFile (basedir ++ "/" ++ fname ++ fsuffix)+ case p of+ (Right ans) -> return ans+ (Left err) -> error $ show err++grabA basedir fsuffix fname = do+ p <- parseFromFile pAssocFile (basedir ++ "/" ++ fname ++ fsuffix)+ case p of+ (Right ans) -> return ans+ (Left err) -> error $ show err++++-- * File parser: We do not want to understand the format, just extract all+-- data.++-- | Blocks of data.++pBlockFile = concat <$> many (try numberRow <|> infoRow) <* eof where+ -- a line with a least one number+ numberRow = many (char ' ') *> (number <* notFollowedBy (char '\'')) `sepEndBy1` (many $ char ' ') <* newline+ -- a number is a dot or some extended floating point number+ number = (try dotFloat) <|> (999999 <$ char '.') <|> parseExtFloat <?> "floating point number"++-- | A File with associations.++pAssocFile = concat <$> many1 (try assocRow <|> infoRow) where+ -- one assocs of string, value+ assocRow = (\a b -> [(a,b)]) <$ many (char ' ') <*> many1 (oneOf nuc) <* many (char ' ') <*> parseExtFloat <* many (char ' ')++-- a line with crap+infoRow = [] <$ anyChar `manyTill` newline++-- a rather stupid float+dotFloat = (\s a b -> read $ s:'0':a:b) <$> (char '-' <|> pure ' ') <*> char '.' <*> many1 digit++nuc = "ACGUT"
+ Biobase/DataSource/Turner/Tables.hs view
@@ -0,0 +1,133 @@+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE DeriveFunctor #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeSynonymInstances #-}++-- | Turner Nearest Neighbor Energy Tables}++-- TODO (Read) instance? (Vector has no Read instance...)++module Biobase.DataSource.Turner.Tables where++import qualified Data.Map as M++import Data.PrimitiveArray+import Data.PrimitiveArray.Ix++++-- | A data structure describing all fields as used by the Turner 2004+-- parameter set. Some fields are commented out until they are being used.++data Turner2004 a b c = Turner2004+ { stack :: PrimArray (a,a) c+ , dangle3 :: PrimArray (a,b) c+ , dangle5 :: PrimArray (a,b) c+ , hairpinL :: PrimArray Int c+ , hairpinMM :: PrimArray (a,b,b) c+ , hairpinLookup :: M.Map [b] c+-- , hairpinGGG :: c+-- , hairpinCslope :: c+-- , hairpinCintercept :: c+-- , hairpinC3 :: c+ , bulgeL :: PrimArray Int c+-- , bulgeSingleC :: c+ , iloop1x1 :: PrimArray (a,a,b,b) c+ , iloop1x2 :: PrimArray (a,a,b,b,b) c+ , iloop2x2 :: PrimArray (a,a,b,b,b,b) c+ , iloopMM :: PrimArray (a,b,b) c+ , iloop2x3MM :: PrimArray (a,b,b) c+ , iloop1xnMM :: PrimArray (a,b,b) c+ , iloopL :: PrimArray Int c+ , multiMM :: PrimArray (a,b,b) c+ , ninio :: c+ , maxNinio :: c+ , multiOffset :: c+ , multiNuc :: c+ , multiHelix :: c+-- , multiAsym :: c+-- , multiStrain :: c+ , extMM :: PrimArray (a,b,b) c+-- , coaxStack :: PrimArray (a,a) c+-- , coaxStackOpen :: PrimArray (a,b,b) c+-- , coaxStackCont :: PrimArray (a,b,b) c+ , largeLoop :: Double+ , termAU :: c+ , intermolecularInit :: c+ }++++-- | Map functions over the payload.++dmap f Turner2004{..} = Turner2004+ { stack = amap f stack+ , dangle3 = amap f dangle3+ , dangle5 = amap f dangle5+ , hairpinL = amap f hairpinL+ , hairpinMM = amap f hairpinMM+ , hairpinLookup = fmap f hairpinLookup+-- , hairpinGGG = f hairpinGGG+-- , hairpinCslope = f hairpinCslope+-- , hairpinCintercept = f hairpinCintercept+-- , hairpinC3 = f hairpinC3+ , bulgeL = amap f bulgeL+-- , bulgeSingleC = f bulgeSingleC+ , iloop1x1 = amap f iloop1x1+ , iloop1x2 = amap f iloop1x2+ , iloop2x2 = amap f iloop2x2+ , iloopMM = amap f iloopMM+ , iloop2x3MM = amap f iloop2x3MM+ , iloop1xnMM = amap f iloop1xnMM+ , iloopL = amap f iloopL+ , multiMM = amap f multiMM+ , ninio = f ninio+ , maxNinio = f maxNinio+ , multiOffset = f multiOffset+ , multiNuc = f multiNuc+ , multiHelix = f multiHelix+-- , multiAsym = f multiAsym+-- , multiStrain = f multiStrain+ , extMM = amap f extMM+-- , coaxStack = amap f coaxStack+-- , coaxStackOpen = amap f coaxStackOpen+-- , coaxStackCont = amap f coaxStackCont+ , largeLoop = largeLoop+ , termAU = f termAU+ , intermolecularInit = f intermolecularInit+ }++++-- | Zip two payloads.+--+-- TODO right now, we have undefined behaviour when some arrrays are of different length++dZipWith f t1 t2 = Turner2004+ { stack = zipWithPA f (stack t1) (stack t2)+ , dangle3 = zipWithPA f (dangle3 t1) (dangle3 t2)+ , dangle5 = zipWithPA f (dangle5 t1) (dangle5 t2)+ , hairpinL = zipWithPA f (hairpinL t1) (hairpinL t2)+ , hairpinMM = zipWithPA f (hairpinMM t1) (hairpinMM t2)+ , hairpinLookup = undefined -- zipWithPA f (hairpinLookup t1) (hairpinLookup t2)+ , bulgeL = zipWithPA f (bulgeL t1) (bulgeL t2)+ , iloop1x1 = zipWithPA f (iloop1x1 t1) (iloop1x1 t2)+ , iloop1x2 = zipWithPA f (iloop1x2 t1) (iloop1x2 t2)+ , iloop2x2 = zipWithPA f (iloop2x2 t1) (iloop2x2 t2)+ , iloopMM = zipWithPA f (iloopMM t1) (iloopMM t2)+ , iloop2x3MM = zipWithPA f (iloop2x3MM t1) (iloop2x3MM t2)+ , iloop1xnMM = zipWithPA f (iloop1xnMM t1) (iloop1xnMM t2)+ , iloopL = zipWithPA f (iloopL t1) (iloopL t2)+ , multiMM = zipWithPA f (multiMM t1) (multiMM t2)+ , ninio = f (ninio t1) (ninio t2)+ , maxNinio = f (maxNinio t1) (maxNinio t2)+ , multiOffset = f (multiOffset t1) (multiOffset t2)+ , multiNuc = f (multiNuc t1) (multiNuc t2)+ , multiHelix = f (multiHelix t1) (multiHelix t2)+ , extMM = zipWithPA f (extMM t1) (extMM t2)+ , largeLoop = largeLoop t1 -- no zipping here! TODO make this a constant somewhere!+ , termAU = f (termAU t1) (termAU t2)+ , intermolecularInit = f (intermolecularInit t1) (intermolecularInit t2)+ }++zipWithPA f a1 a2 = let (l,u) = bounds a1 in fromList l u $ zipWith f (toList a1) (toList a2)
+ Biobase/DataSource/Vienna.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE NoMonomorphismRestriction #-}++-- | Turner energy data as used in the ViennaRNA package.+--+-- TODO should use energy type for tables, not int!++module Biobase.DataSource.Vienna where++import Data.Map (Map,empty)++import Data.Ix.Tuple+import Data.PrimitiveArray+import Data.PrimitiveArray.Ix++import Biobase.Constants+import Biobase.DataSource.Turner.Tables+import Biobase.RNA+import Biobase.RNA.NucBounds+import Biobase.RNA.ViennaPair+import Biobase.Types.Energy+import Biobase.Types.Partition++++-- Type for Vienna Tables++-- type ViennaEnergySet = (Temperature, ViennaTables, ViennaTables)++type ViennaIntTables = Turner2004 ViennaPair Nucleotide Int+type ViennaEnergyTables = Turner2004 ViennaPair Nucleotide Energy+type ViennaPartitionTables = Turner2004 ViennaPair Nucleotide Partition++type Temperature = Double++++-- | An empty Turner2004 set, with Vienna-style keys for tables. Unused fields+-- are commented out. Activate them in BiobaseTurner before doing the same+-- here!++emptyTables :: ViennaIntTables+emptyTables = Turner2004+ --stack+ { stack = emptyIV+ --dangle+ , dangle3 = emptyPB+ , dangle5 = emptyPB+ --hairpin+ , hairpinL = emptyV+ , hairpinMM = emptyIV+ , hairpinLookup = empty+ --eInf+ --eInf+ --eInf+ --eInf+ --bulge+ , bulgeL = emptyV+ --eInf+ --internal+ , iloop1x1 = emptyPPBB+ , iloop1x2 = emptyPPBBB+ , iloop2x2 = emptyPPBBBB+ , iloopMM = emptyPBB+ , iloop2x3MM = emptyPBB+ , iloop1xnMM = emptyPBB+ , iloopL = emptyV+ --multibranch+ , multiMM = emptyPBB+ , ninio = eInf+ , maxNinio = eInf+ , multiOffset = eInf+ , multiNuc = eInf+ , multiHelix = eInf+ --eInf+ --eInf+ --exterior+ , extMM = emptyPBB+ --coaxial stacking+ --emptyIV+ --emptyIV+ --emptyIV+ --scalar values+ , largeLoop = eInf -- large loop is always double+ , termAU = eInf+ , intermolecularInit = eInf+ }++emptyIV = fromAssocs minExtended maxExtended eInf []+emptyPB = fromAssocs minExtended (maxBound,nucU) eInf []+emptyPBB = fromAssocs minExtended (maxBound,nucU,nucU) eInf []+emptyPPBB = fromAssocs minExtended (maxBound,maxBound,nucU,nucU) eInf []+emptyPPBBB = fromAssocs minExtended (maxBound,maxBound,nucU,nucU,nucU) eInf []+emptyPPBBBB = fromAssocs minExtended (maxBound,maxBound,nucU,nucU,nucU,nucU) eInf []++-- TODO should be an empty a+emptyV = fromAssocs 0 30 eInf []
+ Biobase/DataSource/Vienna/Default.hs view
@@ -0,0 +1,27 @@++{-# LANGUAGE TemplateHaskell #-}++-- | Embedding of a default set of parameters. These are encoded in Vienna style and+-- use the Turner2004 set of parameters.++module Biobase.DataSource.Vienna.Default+ ( turner2004GH+ ) where++import Data.FileEmbed+import qualified Data.ByteString.Char8 as B++import Biobase.DataSource.Vienna.Import.ViennaPar+import Biobase.DataSource.Turner.Tables+import Biobase.DataSource.Vienna+import Biobase.Types.Energy++++defaultPars :: B.ByteString+defaultPars = $(embedFile "parfiles/Turner2004GH.par")++-- Turner entropy and enthalpy tables.++turner2004GH = (dmap Energy ta,dmap Energy tb) where+ (ta,tb) = importPar $ B.unpack defaultPars
+ Biobase/DataSource/Vienna/Export/ViennaC.hs view
@@ -0,0 +1,264 @@+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE TemplateHaskell #-}++-- | Exports the Vienna energy tables as a number of C files (one .c file, a+-- number .h files). For this reason, files are written into a target+-- directory!++module Biobase.DataSource.Vienna.Export.ViennaC+ ( export+ ) where++import Prelude hiding (pi)+import Text.Printf+import System.Directory+import Data.List.Split+import Data.List+import qualified Data.Map as M+import Data.FileEmbed+import qualified Data.ByteString.Char8 as B++import Biobase.DataSource.Turner.Tables+import Biobase.DataSource.Vienna+import Data.PrimitiveArray+import Biobase.RNA++import Biobase.DataSource.Vienna.Default++(g,h) = turner2004GH++++type Directory = FilePath++-- | Export the files required for default values in the ViennaRNA 2.0 C+-- package.++export :: ViennaIntTables -> ViennaIntTables -> Directory -> IO ()+export trnrG trnrH target = mapM_ (\f -> f trnrG trnrH target) [exportC, export11, export21, export22]++++-- | Export the main C file++exportC :: ViennaIntTables -> ViennaIntTables -> Directory -> IO ()+exportC trnrG trnrH target = writeFile (target ++ "/energy_par.c") out where+ out = unlines [ B.unpack $(embedFile "templates/cheader") , xs, stck, lps, mms, dngls, tris, tets, hexs,includes]+ xs = unlines+ [ pd "lxc37" $ largeLoop trnrG+ , pi "ML_intern37" $ multiHelix trnrG+ , pi "ML_interndH" $ multiHelix trnrH+ , pi "ML_closing37" $ multiOffset trnrG+ , pi "ML_closingdH" $ multiOffset trnrH+ , pi "ML_BASE37" $ multiNuc trnrG+ , pi "ML_BASEdH" $ multiNuc trnrH+ , pi "MAX_NINIO" $ maxNinio trnrG+ , pi "ninio37" $ ninio trnrG+ , pi "niniodH" $ ninio trnrH+ , pi "TerminalAU37" $ termAU trnrG+ , pi "TerminalAUdH" $ termAU trnrH+ , pi "DuplexInit37" $ intermolecularInit trnrG+ , pi "DuplexInitdH" $ intermolecularInit trnrH+ , pi "TripleC37" 100+ , pi "TripleCdH" 1860+ , pi "MultipleCA37" 30+ , pi "MultipleCAdH" 340+ , pi "MultipleCB37" 160+ , pi "MultipleCBdH" 760+ ]+ stck = unlines+ [ "PUBLIC int stack37[NBPAIRS+1][NBPAIRS+1] ="+ , (block2 8 . toList $ stack trnrG)+ , "PUBLIC int stackdH[NBPAIRS+1][NBPAIRS+1] ="+ , (block2 8 . toList $ stack trnrH)+ ]+ lps = unlines+ [ "PUBLIC int hairpin37[31] = {" ++ (concat . intersperse "," . map printNum . toList $ hairpinL trnrG) ++ "};"+ , "PUBLIC int hairpindH[31] = {" ++ (concat . intersperse "," . map printNum . toList $ hairpinL trnrH) ++ "};"+ , "PUBLIC int bulge37[31] = {" ++ (concat . intersperse "," . map printNum . toList $ bulgeL trnrG) ++ "};"+ , "PUBLIC int bulgedH[31] = {" ++ (concat . intersperse "," . map printNum . toList $ bulgeL trnrH) ++ "};"+ , "PUBLIC int internal_loop37[31] = {" ++ (concat . intersperse "," . map printNum . toList $ iloopL trnrG) ++ "};"+ , "PUBLIC int internal_loopdH[31] = {" ++ (concat . intersperse "," . map printNum . toList $ iloopL trnrH) ++ "};"+ ]+ mms = unlines+ [ writeMM "I" iloopMM trnrG trnrH+ , writeMM "H" hairpinMM trnrG trnrH+ , writeMM "M" multiMM trnrG trnrH+ , writeMM "1nI" iloop1xnMM trnrG trnrH+ , writeMM "23I" iloop2x3MM trnrG trnrH+ , writeMM "Ext" extMM trnrG trnrH+ ]+ dngls = unlines+ [ "PUBLIC int dangle3_37[NBPAIRS+1][5] ="+ , block2 5 . toList $ dangle3 trnrG+ , "PUBLIC int dangle3_dH[NBPAIRS+1][5] ="+ , block2 5 . toList $ dangle3 trnrH+ , "PUBLIC int dangle5_37[NBPAIRS+1][5] ="+ , block2 5 . toList $ dangle5 trnrG+ , "PUBLIC int dangle5_dH[NBPAIRS+1][5] ="+ , block2 5 . toList $ dangle5 trnrH+ ]+ t3 = getLookup 3 trnrG trnrH+ t4 = getLookup 4 trnrG trnrH+ t6 = getLookup 6 trnrG trnrH+ tris = writeTabbed 3 "Triloop" t3+ tets = writeTabbed 4 "Tetraloop" t4+ hexs = writeTabbed 6 "Hexaloop" t6++ includes = unlines $ map ((++ "\"") . ("#include \""++))+ [ "intl11.h"+ , "intl11dH.h"+ , "intl21.h"+ , "intl21dH.h"+ , "intl22.h"+ , "intl22dH.h"+ ]++++-- | Export iloops 1x1++export11 :: ViennaIntTables -> ViennaIntTables -> Directory -> IO ()+export11 trnrG trnrH target = writeFile (target ++ "/intl11.h") outG >> writeFile (target ++ "/intl11dH.h") outH where+ outG = unlines+ [ "PUBLIC int int11_37[NBPAIRS+1][NBPAIRS+1][5][5] ="+ , (block4 8 5 5 . toList $ iloop1x1 trnrG)+ ]+ outH = unlines+ [ "PUBLIC int int11_dH[NBPAIRS+1][NBPAIRS+1][5][5] ="+ , (block4 8 5 5 . toList $ iloop1x1 trnrH)+ ]++++-- | Export iloops 2x1++export21 :: ViennaIntTables -> ViennaIntTables -> Directory -> IO ()+export21 trnrG trnrH target = writeFile (target ++ "/intl21.h") outG >> writeFile (target ++ "/intl21dH.h") outH where+ outG = unlines+ [ "PUBLIC int int21_37[NBPAIRS+1][NBPAIRS+1][5][5][5] ="+ , (block5 8 5 5 5 . toList $ iloop1x2 trnrG)+ ]+ outH = unlines+ [ "PUBLIC int int21_dH[NBPAIRS+1][NBPAIRS+1][5][5][5] ="+ , (block5 8 5 5 5 . toList $ iloop1x2 trnrH)+ ]++++-- | Export iloops 2x2++export22 :: ViennaIntTables -> ViennaIntTables -> Directory -> IO ()+export22 trnrG trnrH target = writeFile (target ++ "/intl22.h") outG >> writeFile (target ++ "/intl22dH.h") outH where+ outG = unlines+ [ "PUBLIC int int22_37[NBPAIRS+1][NBPAIRS+1][5][5][5][5] ="+ , (block6 8 5 5 5 5 . toList $ iloop2x2 trnrG)+ ]+ outH = unlines+ [ "PUBLIC int int22_dH[NBPAIRS+1][NBPAIRS+1][5][5][5][5] ="+ , (block6 8 5 5 5 5 . toList $ iloop2x2 trnrH)+ ]++++-- * Helper functions++writeTabbed (ksize :: Int) key (ns,gs,hs) = unlines+ [ printf "PUBLIC char %ss[%d] =" key ((ksize+3)*40+1)+ , ns+ , ";"+ ] ++ printf "PUBLIC int %s37[40] = " key ++ gs ++ ";\n"+ ++ printf "PUBLIC int %sdH[40] = " key ++ hs ++ ";\n"++getLookup k trnrG trnrH = (nsF,gs,hs) where+ nsF = concat $ intersperse "\n" $ map ((++ " \"") . (" \"" ++) . map fromNuc) ns+ ns = filter ((==(k+2)) . length) . M.keys $ hairpinLookup trnrG+ gs = lkup trnrG+ hs = lkup trnrH+ lkup tbl = ("{"++) . (++"}") . concat . intersperse "," $ map (printNum . (hairpinLookup tbl M.!)) ns++writeMM typ fun trnrG trnrH = unlines+ [ printf "PUBLIC int mismatch%s37[NBPAIRS+1][5][5] =" typ+ , block3 5 5 . toList $ fun trnrG+ , printf "PUBLIC int mismatch%sdH[NBPAIRS+1][5][5] =" typ+ , block3 5 5 . toList $ fun trnrH+ ]++block2 s2 xs+ = (++ "};")+ . ("{" ++)+ . concat+ . intersperse "\n,"+ . map ((++ "}") . ("{" ++) . concat . intersperse ",")+ . splitEvery s2+ $ map printNum xs++block3 s2 s3 xs+ = (++ "};")+ . ("{" ++)+ . concat+ . intersperse "\n,"+ . map ((++ "}") . ("{" ++) . concat . intersperse ",")+ . splitEvery s2+ . map ((++ "}\n ") . ("{" ++) . concat . intersperse ",")+ . splitEvery s3+ $ map printNum xs++block4 s2 s3 s4 xs+ = (++ "};")+ . ("{" ++)+ . concat+ . intersperse "\n,"+ . map ((++ "}") . ("{" ++) . concat . intersperse ",")+ . splitEvery s2+ . map ((++ "}\n ") . ("{" ++) . concat . intersperse ",")+ . splitEvery s3+ . map ((++ "}\n ") . ("{" ++) . concat . intersperse ",")+ . splitEvery s4+ $ map printNum xs++block5 s2 s3 s4 s5 xs+ = (++ "};")+ . ("{" ++)+ . concat+ . intersperse "\n,"+ . map ((++ "}") . ("{" ++) . concat . intersperse ",")+ . splitEvery s2+ . map ((++ "}\n ") . ("{" ++) . concat . intersperse ",")+ . splitEvery s3+ . map ((++ "}\n ") . ("{" ++) . concat . intersperse ",")+ . splitEvery s4+ . map ((++ "}\n ") . ("{" ++) . concat . intersperse ",")+ . splitEvery s5+ $ map printNum xs++block6 s2 s3 s4 s5 s6 xs+ = (++ "};")+ . ("{" ++)+ . concat+ . intersperse "\n,"+ . map ((++ "}") . ("{" ++) . concat . intersperse ",")+ . splitEvery s2+ . map ((++ "}\n ") . ("{" ++) . concat . intersperse ",")+ . splitEvery s3+ . map ((++ "}\n ") . ("{" ++) . concat . intersperse ",")+ . splitEvery s4+ . map ((++ "}\n ") . ("{" ++) . concat . intersperse ",")+ . splitEvery s5+ . map ((++ "}\n ") . ("{" ++) . concat . intersperse ",")+ . splitEvery s6+ $ map printNum xs+++pd :: String -> Double -> String+pd k v = printf "PUBLIC double %s=%f;" k v++pi :: String -> Int -> String+pi k v = printf "PUBLIC int %s=%d;" k v++printNum :: Int -> String+printNum n+ | n >= maxN = " INF"+ | otherwise = printf "%6d" n+ where+ maxN = 10000
+ Biobase/DataSource/Vienna/Export/ViennaPar.hs view
@@ -0,0 +1,140 @@++{-# LANGUAGE NoMonomorphismRestriction #-}++module Biobase.DataSource.Vienna.Export.ViennaPar+ ( export+ ) where++import Data.Tuple.Select+import Data.List.Split+import Text.Printf+import Control.Arrow+import Data.List (intersperse)+import qualified Data.Map as M++import Data.PrimitiveArray+import Biobase.DataSource.Turner.Tables+import Biobase.RNA+import Biobase.RNA.ViennaPair+import Biobase.Constants++import Biobase.DataSource.Vienna++++export :: ViennaIntTables -> ViennaIntTables -> String+export trnr trnrH = hdr ++ blocks ++ mlps ++ ninios ++ misc ++ triloops ++ tetra ++ hexa ++ "\n#END" where+ hdr = "## RNAfold parameter file v2.0\n\n"+ mlps = printf "# ML_params\n%7d %7d %7d %7d %7d %7d\n\n"+ (multiNuc trnr) (multiNuc trnrH)+ (multiOffset trnr) (multiOffset trnrH)+ (multiHelix trnr) (multiHelix trnrH)+ ninios = printf "# NINIO\n%7d %7d %7d\n\n"+ (ninio trnr) (ninio trnrH) (maxNinio trnr)+ misc = printf "# Misc\n %7d %7d %7d %7d\n\n"+ (intermolecularInit trnr) (intermolecularInit trnrH) (termAU trnr) (termAU trnrH)+ triloops = "# Triloops\n" ++ printHairpinAssocs 5 trnr trnrH ++ "\n"+ tetra = "# Tetraloops\n" ++ printHairpinAssocs 6 trnr trnrH ++ "\n"+ hexa = "# Hexaloops\n" ++ printHairpinAssocs 8 trnr trnrH ++ "\n"+ blocks = concat $ zipWith (++)+ -- entropy terms+ [ printBlock "stack" 7 pp2lkey $ stack trnr+ , printBlock "mismatch_hairpin" 5 pbb2lkey $ hairpinMM trnr+ , printBlock "mismatch_interior" 5 pbb2lkey $ iloopMM trnr+ , printBlock "mismatch_interior_1n" 5 pbb2lkey $ iloop1xnMM trnr+ , printBlock "mismatch_interior_23" 5 pbb2lkey $ iloop2x3MM trnr+ , printBlock "mismatch_multi" 5 pbb2lkey $ multiMM trnr+ , printBlock "mismatch_exterior" 5 pbb2lkey $ extMM trnr+ , printBlock "dangle5" 5 pb2lkey $ dangle5 trnr+ , printBlock "dangle3" 5 pb2lkey $ dangle3 trnr+ , printBlock "int11" 5 ppbb2lkey $ iloop1x1 trnr+ , printBlock "int21" 5 ppbbb2lkey $ iloop1x2 trnr+ , printBlock22 "int22" 4 ppbbbb2lkey $ iloop2x2 trnr+ , printLinear "hairpin" 10 $ hairpinL trnr+ , printLinear "bulge" 10 $ bulgeL trnr+ , printLinear "interior" 10 $ iloopL trnr+ ]+ -- enthalpy terms+ [ printBlockH "stack" 7 pp2lkey $ stack trnrH+ , printBlockH "mismatch_hairpin" 5 pbb2lkey $ hairpinMM trnrH+ , printBlockH "mismatch_interior" 5 pbb2lkey $ iloopMM trnrH+ , printBlockH "mismatch_interior_1n" 5 pbb2lkey $ iloop1xnMM trnrH+ , printBlockH "mismatch_interior_23" 5 pbb2lkey $ iloop2x3MM trnrH+ , printBlockH "mismatch_multi" 5 pbb2lkey $ multiMM trnrH+ , printBlockH "mismatch_exterior" 5 pbb2lkey $ extMM trnrH+ , printBlockH "dangle5" 5 pb2lkey $ dangle5 trnrH+ , printBlockH "dangle3" 5 pb2lkey $ dangle3 trnrH+ , printBlockH "int11" 5 ppbb2lkey $ iloop1x1 trnrH+ , printBlockH "int21" 5 ppbbb2lkey $ iloop1x2 trnrH+ , printBlock22H "int22" 4 ppbbbb2lkey $ iloop2x2 trnrH+ , printLinearH "hairpin" 10 $ hairpinL trnrH+ , printLinearH "bulge" 10 $ bulgeL trnrH+ , printLinearH "interior" 10 $ iloopL trnrH+ ]++++-- * Helper functions++-- | Show the key of the line, minus the changing last key++showKey :: [(LKey,Int)] -> String+showKey xs =+ " /* " +++ (concat $ intersperse "," $ init $ (map show ps) ++ (map show ns)) +++ " */"+ where+ (ps,ns) = fst $ head xs++-- | Transform from tuple-based keys to a pair of list-based keys.++type LKey = ([ViennaPair],[Nucleotide])++pb2lkey (p1,b1) = ([p1],[b1])+pbb2lkey (p1,b1,b2) = ([p1],[b1,b2])+pp2lkey (k1,k2) = ([k1,k2],[])+ppbb2lkey (p1,p2,b1,b2) = ([p1,p2],[b1,b2])+ppbbb2lkey (p1,p2,b1,b2,b3) = ([p1,p2],[b1,b2,b3])+ppbbbb2lkey (p1,p2,b1,b2,b3,b4) = ([p1,p2],[b1,b2,b3,b4])++-- | Print a block.++printBlock = printBlockG noNP where+ noNP ((ps,ns),v) = not $ any (==vpNP) ps || any (==nucChain) ns++printBlockH s = printBlock (s ++ "_enthalpies")++printBlock22 = printBlockG noNSNPE where+ noNSNPE ((ps,ns),v) = not $ any (==vpNP) ps || any (==vpNS) ps || any (==nucE) ns || any (==nucChain) ns++printBlock22H s = printBlock22 (s ++ "_enthalpies")++printBlockG fltr s k tolkey xs' =+ let+ xs = filter fltr $ map (first tolkey) $ assocs xs'+ in+ printf "# %s\n" s +++ (concatMap printLine $ splitEvery k xs) +++ "\n"++printLine xs =+ concatMap printVal xs ++ " " ++ showKey xs +++ printf "\n"++printVal (k,v)+ | v > eMax = printf " INF"+ | otherwise = printf "%6d" v++-- | A linear block is more boring++printLinear s k xs' = let xs = assocs xs' in+ printf "# %s\n" s +++ (concatMap (\ys -> concatMap printVal ys ++ "\n") $ splitEvery k xs) +++ "\n"++printHairpinAssocs l trnr trnrH = res where+ res = concat $ zipWith (\(k,v) vH -> printf "%s %7d %7d\n" (concatMap show k) v vH) xs ys+ xs = filter ((==l).length.fst) $ M.assocs $ hairpinLookup trnr+ ys = map snd $ filter ((==l).length.fst) $ M.assocs $ hairpinLookup trnrH++printLinearH s = printLinear (s ++ "_enthalpies")
+ Biobase/DataSource/Vienna/Import/Turner.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE RecordWildCards #-}++-- | Import data from a Turner table structure. Those can be imported using the+-- Turner.Import module.++module Biobase.DataSource.Vienna.Import.Turner+ ( fromTurner+ ) where++import Control.Arrow+import Data.Tuple.All+import qualified Data.Map as M++import Biobase.DataSource.Turner.Tables+import Biobase.DataSource.Turner+import Data.PrimitiveArray+import Biobase.Constants+import Biobase.RNA+import Biobase.RNA.ViennaPair++import Biobase.DataSource.Vienna+-- | Convert from Turner keys to Vienna keys and all values from Double to Int++fromTurner :: TurnerTables -> ViennaIntTables+fromTurner Turner2004{..} = Turner2004+ { stack = convert pp stack+ , dangle3 = convert pb dangle3+ , dangle5 = convert pb dangle5+ , hairpinL = amap f2i hairpinL+ , hairpinMM = convert pbb hairpinMM+ , hairpinLookup = M.map f2i hairpinLookup+ , bulgeL = amap f2i bulgeL+ , iloop1x1 = convert uu iloop1x1+ , iloop1x2 = convert uu iloop1x2+ , iloop2x2 = convert uu iloop2x2+ , iloopMM = convert pbb iloopMM+ , iloop2x3MM = convert pbb iloop2x3MM+ , iloop1xnMM = convert pbb iloop1xnMM+ , iloopL = amap f2i iloopL+ , multiMM = convert pbb multiMM+ , ninio = f2i ninio+ , maxNinio = f2i maxNinio+ , multiOffset = f2i multiOffset+ , multiNuc = f2i multiNuc+ , multiHelix = f2i multiHelix+ , extMM = convert pbb extMM+ , largeLoop = largeLoop * 100 -- scale to decacals+ , termAU = f2i termAU+ , intermolecularInit = f2i intermolecularInit+ }++++-- * Helper functions.++-- | Vienna values are Int's that have 2-digit precision.++f2i :: Double -> Int+f2i d = round $ d * 100+++-- | Deep breath ;-)++pp = both mkViennaPair+pb = first mkViennaPair+pbb t = upd1 (mkViennaPair $ sel1 t) t+uu t = upd2 (mkViennaPair $ sel2 t) $ upd1 (mkViennaPair $ sel1 t) t+both f = first f . second f++-- | Do the conversion, both on keys and values.++convert fk = fromAssocs minBound maxBound eInf . map (first fk . second f2i) . assocs
+ Biobase/DataSource/Vienna/Import/ViennaPar.hs view
@@ -0,0 +1,124 @@+{-# LANGUAGE PatternGuards #-}+{-# LANGUAGE RecordWildCards #-}++module Biobase.DataSource.Vienna.Import.ViennaPar+ ( importPar+ ) where++import Text.Parsec hiding ((<|>), many, optional)+import Text.Parsec.String+import Text.Parsec.Char+import Text.Parsec.Combinator hiding (optional)+import Control.Applicative+import Data.List+import qualified Data.Map as M++import Text.Parsec.Numbers+import Biobase.Constants+import Biobase.RNA+import Biobase.RNA.ViennaPair+import Biobase.DataSource.Turner.Tables+import Data.PrimitiveArray++import Biobase.DataSource.Vienna++++-- | Imports Vienna tables from a given string.++importPar :: String -> (ViennaIntTables,ViennaIntTables)+importPar s+ | Right _ <- p = foldr updateTables (trnr,trnrH) bs+ | Left err <- p = error $ show err+ where+ p = parse blocks "(stdin)" s+ Right bs = p+ (bgs,bhs) = partition (not . isHblock) bs+ trnr = foldr updateTable emptyTables bgs+ trnrH = foldr updateTable emptyTables bhs++-- | Apply all parsed blocks to a Turner2004 structure.++updateTable :: Block -> ViennaIntTables -> ViennaIntTables+updateTable Block{..} trnr -- @Turner2004{..}+ | bhdr =? "stack" = trnr{stack = fromAssocs minBound maxBound z $ zip pp ints}+ | bhdr =? "dangle3" = trnr{dangle3 = fromAssocs minBound (vpNS,nucU) z $ zip pb ints}+ | bhdr =? "dangle5" = trnr{dangle5 = fromAssocs minBound (vpNS,nucU) z $ zip pb ints}+ | bhdr =? "hairpin" = trnr{hairpinL = fromList 0 30 ints}+ | bhdr =? "mismatch_hairpin" = trnr{hairpinMM = fromAssocs minBound (vpNS,nucU,nucU) z $ zip pbb ints}+ | bhdr =? "bulge" = trnr{bulgeL = fromList 0 30 ints}+ | bhdr =? "int11" = trnr{iloop1x1 = fromAssocs minBound (vpNS,vpNS,nucU,nucU) z $ zip ppbb ints}+ | bhdr =? "int21" = trnr{iloop1x2 = fromAssocs minBound (vpNS,vpNS,nucU,nucU,nucU) z $ zip ppbbb ints}+ | bhdr =? "int22" = trnr{iloop2x2 = fromAssocs minBound (vpNS,vpNS,nucU,nucU,nucU,nucU) z $ zip ppbbbb ints}+ | bhdr =? "mismatch_interior" = trnr{iloopMM = fromAssocs minBound (vpNS,nucU,nucU) z $ zip pbb ints}+ | bhdr =? "mismatch_interior_23" = trnr{iloop2x3MM = fromAssocs minBound (vpNS,nucU,nucU) z $ zip pbb ints}+ | bhdr =? "mismatch_interior_1n" = trnr{iloop1xnMM = fromAssocs minBound (vpNS,nucU,nucU) z $ zip pbb ints}+ | bhdr =? "interior" = trnr{iloopL = fromList 0 30 ints}+ | bhdr =? "mismatch_multi" = trnr{multiMM = fromAssocs minBound (vpNS,nucU,nucU) z $ zip pbb ints}+ | bhdr =? "mismatch_exterior" = trnr{extMM = fromAssocs minBound (vpNS,nucU,nucU) z $ zip pbb ints}+ | otherwise = trnr -- unknown block!+updateTable ABlock{..} trnr+ | otherwise = trnr -- CORRECT!++-- | update with info where no separation between G/H was done.++updateTables Block{..} (trnr,trnrH)+ | bhdr =? "ML_params"+ = ( trnr {multiNuc = ints!!0, multiOffset = ints!!2, multiHelix = ints!!4}+ , trnrH{multiNuc = ints!!1, multiOffset = ints!!3, multiHelix = ints!!5}+ )+ | bhdr =? "NINIO"+ = ( trnr {ninio = ints!!0, maxNinio = ints!!2}+ , trnrH {ninio = ints!!1}+ )+ | bhdr =? "Misc"+ = ( trnr {intermolecularInit = ints!!0, termAU = ints!!2}+ , trnrH {intermolecularInit = ints!!1, termAU = ints!!3}+ )+ | otherwise = (trnr,trnrH)+updateTables ABlock{..} (trnr,trnrH)+ | bhdr =? "Triloops" || bhdr =? "Tetraloops" || bhdr =? "Hexaloops"+ = ( trnr {hairpinLookup = hairpinLookup trnr `M.union` (M.fromList $ map (\(k,v,w) -> (s2ns k,v)) ascs)}+ , trnrH {hairpinLookup = hairpinLookup trnrH `M.union` (M.fromList $ map (\(k,v,w) -> (s2ns k,w)) ascs)}+ )+ | otherwise = (trnr,trnrH)++pp = [(x,y) | x<-cgnsP,y<-cgnsP]+pb = [(x,y) | x<-cgnsP,y<-eacgu]+pbb = [(x,y,z) | x<-cgnsP,y<-eacgu,z<-eacgu]+ppbb = [(p1,p2,b1,b2) | p1<-cgnsP,p2<-cgnsP,b1<-eacgu,b2<-eacgu]+ppbbb = [(p1,p2,b1,b2,b3) | p1<-cgnsP,p2<-cgnsP,b1<-eacgu,b2<-eacgu,b3<-eacgu]+ppbbbb = [(p1,p2,b1,b2,b3,b4) | p1<-cguaP,p2<-cguaP,b1<-acgu,b2<-acgu,b3<-acgu,b4<-acgu]+z = eInf+-- xs is the block header name, ys the constant string+xs =? ys = xs == ys || xs == ys++"_enthalpies" -- and $ zipWith (==) xs ys+s2ns = map mkNuc++-- * Simple parser for the vienna 2.0 format.++isHblock :: Block -> Bool+isHblock b = "enthalpies" `elem` (tails $ bhdr b)++data Block+ = Block {bhdr :: String, ints :: [Int]}+ | ABlock {bhdr :: String, ascs :: [(String,Int,Int)]}+ deriving (Show)++blocks :: GenParser Char st [Block]+blocks = vrna2 *> spaces *> (try assocBlock <|> try block) `sepEndBy1` spaces <* string "#END" <* spaces <* eof++vrna2 = string "## RNAfold parameter file v2.0"++block :: GenParser Char st Block+block = Block <$> header <* spaces <*> num `sepEndBy1` (try comment <|> spaces) where+ num = ((eInf <$ string "INF") <|> parseIntegral)++assocBlock :: GenParser Char st Block+assocBlock = ABlock <$> header <* spaces <*> asc `sepEndBy1` spaces where+ asc = (,,) <$> (many1 $ oneOf "ACGU") <* spaces <*> parseIntegral <* spaces <*> parseIntegral++header :: GenParser Char st String+header = char '#' *> space *> (alphaNum <|> char '_') `manyTill` newline++comment :: GenParser Char st ()+comment = const () <$ spaces <*> between (string "/*") (string "*/") (many $ noneOf "/*") <* spaces
+ Biobase/DataSource/Vienna/Modification/NonStandard.hs view
@@ -0,0 +1,122 @@++-- | This module provides facilities to modify values in the tables and return+-- the modified tables. The main reason for the modules' existence are the 'E'+-- nucleotides and 'NS' base pairs used by the ViennaRNA package to denote+-- unknown or missing nucleotides. For each table type, we have a small+-- function.++module Biobase.DataSource.Vienna.Modification.NonStandard+ ( nonStandardMax+ ) where++import Biobase.RNA+import Biobase.RNA.ViennaPair+import Biobase.DataSource.Vienna+import Biobase.DataSource.Turner.Tables+import Data.Ix.Tuple+import Biobase.Constants+import Biobase.Types.Energy++import Data.PrimitiveArray+++-- | Each table-changing operation makes the promise that all individual+-- changes in a batch are independent of the changes in the same batch++changeTable f tbl = fromAssocs l u z . map (f tbl) $ assocs tbl where+ (l,u) = bounds tbl+ z = Energy eInf++++-- |* Replace each occurrance of a value with a strange key according to this+-- rule. The rule is to take the maximum over all sane keys in the+-- neighborhood. Yes, this takes long...++fPPBBBBmax tbl (k@(p1,p2,b1,b2,b3,b4),v)+ | p1==vpNP || p2==vpNP = (k,v) -- don't do anything+ | otherwise = (k,maximum'+ [ tbl ! (p1n,p2n,b1n,b2n,b3n,b4n)+ | p1n <- genKeyP p1+ , p2n <- genKeyP p2+ , b1n <- genKeyB b1+ , b2n <- genKeyB b2+ , b3n <- genKeyB b3+ , b4n <- genKeyB b4+ ])++fPPBBBmax tbl (k@(p1,p2,b1,b2,b3),v)+ | p1==vpNP || p2==vpNP = (k,v)+ | otherwise = (k,maximum'+ [ tbl ! (p1n,p2n,b1n,b2n,b3n)+ | p1n <- genKeyP p1+ , p2n <- genKeyP p2+ , b1n <- genKeyB b1+ , b2n <- genKeyB b2+ , b3n <- genKeyB b3+ ])++fPPBBmax tbl (k@(p1,p2,b1,b2),v)+ | p1==vpNP || p2==vpNP = (k,v)+ | otherwise = (k,maximum'+ [ tbl ! (p1n,p2n,b1n,b2n)+ | p1n <- genKeyP p1+ , p2n <- genKeyP p2+ , b1n <- genKeyB b1+ , b2n <- genKeyB b2+ ])++fPPmax tbl (k@(p1,p2),v)+ | p1==vpNP || p2==vpNP = (k,v)+ | otherwise = (k,maximum'+ [ tbl ! (p1n,p2n)+ | p1n <- genKeyP p1+ , p2n <- genKeyP p2+ ])++fPBBmax tbl (k@(p1,b1,b2),v)+ | p1==vpNP = (k,v)+ | otherwise = (k,maximum'+ [ tbl ! (p1n,b1n,b2n)+ | p1n <- genKeyP p1+ , b1n <- genKeyB b1+ , b2n <- genKeyB b2+ ])++fPBmax tbl (k@(p1,b1),v)+ | p1==vpNP = (k,v)+ | otherwise = (k,maximum'+ [ tbl ! (p1n,b1n)+ | p1n <- genKeyP p1+ , b1n <- genKeyB b1+ ])++maximum' = Energy . maximum . map unEnergy+++-- * Generate keys. If the key is of the non-standard kind, then we go fishing,+-- otherwise we keep the key itself.++genKeyP k = if k==vpNS then cguaP else [k]+genKeyB k = if k==nucE then acgu else [k]++++-- | The max operation applied to all relevant tables. (This serves as a+-- pointer, which tables to manipulate).++nonStandardMax :: ViennaEnergyTables -> ViennaEnergyTables+nonStandardMax tbl = tbl+ { iloop1x1 = changeTable fPPBBmax $ iloop1x1 tbl+ , iloop1x2 = changeTable fPPBBBmax $ iloop1x2 tbl+ , iloop2x2 = changeTable fPPBBBBmax $ iloop2x2 tbl+ , hairpinMM = changeTable fPBBmax $ hairpinMM tbl+ , iloopMM = changeTable fPBBmax $ iloopMM tbl+ , iloop1xnMM = changeTable fPBBmax $ iloop1xnMM tbl+ , iloop2x3MM = changeTable fPBBmax $ iloop2x3MM tbl+ , multiMM = changeTable fPBBmax $ multiMM tbl+ , extMM = changeTable fPBBmax $ extMM tbl+ , dangle3 = changeTable fPBmax $ dangle3 tbl+ , dangle5 = changeTable fPBmax $ dangle5 tbl+ , stack = changeTable fPPmax $ stack tbl+ }
+ Biobase/DataSource/Vienna/Modification/Partition.hs view
@@ -0,0 +1,51 @@++-- | Small module for converting Vienna energy tables to partition function+-- value tables.+--+-- Temperature scaling should happen on the level of energy tables, followed by+-- conversion here.+--+-- TODO after the switch to the Energy type, change too, the partitionTables+-- generation++module Biobase.DataSource.Vienna.Modification.Partition+ ( partitionTables+ ) where++import Biobase.Types.Partition+import Biobase.Types.Energy+import Biobase.DataSource.Turner.Tables+import Biobase.DataSource.Vienna+import Biobase.Constants+++-- Testing++{-+import Biobase.DataSource.Vienna.Default+import Data.PrimitiveArray+import Debug.Trace.Tools+import Biobase.RNA+import Biobase.Types.Ring++(g,h) = turner2004GH++-- x = toList $ stack $ partitionTables 37 g+x = {- toList $ -} (stack $ partitionTables 37 g) ! (vpGC,vpGC)+-}++-- | Create partition tables out of normal energy tables. Note that these+-- values are not normalized. An additional term 1/Z(1/kt) would be required+-- which is missing until we are done calculating the partition function.+--+-- All energy contributions are rescaled from dekacals back to kcal/mol.+--+-- We explicitly set all probabilities =0 where the energy is >= eMax.++partitionTables :: Temperature -> ViennaEnergyTables -> ViennaPartitionTables+partitionTables tempe trnr = dmap f trnr where+ kt = (tempe + kelvinC0) * gasconst+ -- convert energy into probability; encapsulate as a (logFloat) partition+ f (Energy e') = {- traceVal (show (e',e,p)) -} p where+ e = fromIntegral e' / 100+ p = if e' >= eMax then Partition 0 else Partition . exp $ -e / kt -- can NOT use mkPartition as these values are NOT NORMALIZED
+ Biobase/DataSource/Vienna/Modification/Temperature.hs view
@@ -0,0 +1,34 @@++-- | Given entropy and enthalpy sets, allow modification of the folding+-- temperature (from the default 37 Celsius)++module Biobase.DataSource.Vienna.Modification.Temperature+ ( adjustTemperature+ ) where++import Biobase.DataSource.Vienna+import Biobase.DataSource.Turner.Tables+import Biobase.Constants++++-- temperature scaling is a generalized zip: let g and h be a scalar, t the+-- temperature. Then: g_t = h - (h-g)*((t+k_0)/t_m). Where k_0 = 273.15 (Kelvin+-- of 37 Celsius) and t_m = 37+k_0+--+-- TODO abstract over table type?+--+-- TODO this does not take into account that dangles are supposed to _always_+-- be beneficial. We should therefor transform the energies and then apply 'min+-- 0' onto all dangle types.+--+-- TODO use EnergyTables (Int is just for im-/export)++adjustTemperature :: ViennaIntTables -> ViennaIntTables -> Temperature -> ViennaIntTables+adjustTemperature trnrG trnrH cels = dZipWith f trnrG trnrH where+ f vG vH =+ let g = fromIntegral vG+ h = fromIntegral vH+ k_0 = kelvinC0+ t_m = 37 + k_0+ in round $ h - (h-g) * ((cels+k_0)/t_m)
Biobase/RNA.hs view
@@ -1,223 +1,168 @@+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE StandaloneDeriving #-} {-# LANGUAGE TypeSynonymInstances #-}-{-# LANGUAGE PatternGuards #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE FlexibleInstances #-} -- | Encodings for nucleotides and pairs. Currently very ViennaRNA-centric. -- This might change over time. -- -- TODO do not export Nucleotide ctor?+--+-- TODO With GHC 7.2 we should be able to activate Read,Show for the overlapped+-- VU.Vector Nucleotide and get better string representations for 'Primary'.+--+-- TODO nucE -> nucN ?+--+-- TODO add all possible characters? module Biobase.RNA where +import Control.DeepSeq import Data.Char (toUpper) import Data.Ix-import qualified Data.Vector.Unboxed as VU+import Data.Primitive.Types+import qualified Data.ByteString.Char8 as BSS+import qualified Data.ByteString.Lazy.Char8 as BSL import qualified Data.Vector.Generic as VG import qualified Data.Vector.Generic.Mutable as VGM-import Data.Primitive.Types+import qualified Data.Vector.Unboxed as VU -import Data.PrimitiveArray-import Data.PrimitiveArray.Ix+import Biobase.RNA.NucBounds -- * single nucleotide encoding +-- | Represent nucleotides as machine 'Int's+ newtype Nucleotide = Nucleotide Int- deriving (Eq,Ord,Ix)+ deriving (Eq,Ord,Ix,NFData) -(nucE:nucA:nucC:nucG:nucU:_) = map Nucleotide [0..]+-- | We have the canonical nucleotides A,C,G,U, unknown nucleotides as E and a+-- chain symbol used to separate different nucleotide chains. -nucCharList :: [(Int,Char)]-nucCharList = zip [0..] "EACGU"-charNucList :: [(Char,Int)]-charNucList = zip "EACGU" [0..]+(nucE: nucA:nucC:nucG:nucU: nucChain:_) = map Nucleotide [0..] -deriving instance Prim Nucleotide-deriving instance VGM.MVector VU.MVector Nucleotide-deriving instance VG.Vector VU.Vector Nucleotide-deriving instance VU.Unbox Nucleotide+-- | Conversion to and from nucleotides. --- TODO maybe use 'assert' and do not catch errors in optimized operation?!+class MkNucleotide a where+ mkNuc :: a -> Nucleotide+ fromNuc :: Nucleotide -> a +-- | instance for characters++instance MkNucleotide Char where+ mkNuc c'+ | Just n <- c `lookup` c2n = n+ | c=='&' = nucChain+ | otherwise = nucE+ where+ c2n = zip "ACGU" [nucA..nucU]+ c = toUpper c'+ fromNuc n+ | Just c <- n `lookup` n2c = c+ | n == nucChain = '&'+ | otherwise = 'E'+ where n2c = zip [nucA..nucU] "ACGU"++-- | The enum instance.+ instance Enum Nucleotide where toEnum x- | x>=0 && x<=4 = Nucleotide x+ | x>=0 && x<=5 = Nucleotide x | otherwise = error $ "can't make to enum" ++ show x fromEnum (Nucleotide x) = x {-# INLINE toEnum #-} {-# INLINE fromEnum #-} +deriving instance Prim Nucleotide+deriving instance VGM.MVector VU.MVector Nucleotide+deriving instance VG.Vector VU.Vector Nucleotide+deriving instance VU.Unbox Nucleotide++-- | The Bounded instance uses bounds that are explicitly "too small" as other+-- symbols have special meaning and should not be used with normal bounds.+--+-- TODO think about better ways to handle this!+ instance Bounded Nucleotide where minBound = nucE- maxBound = nucU+ maxBound = nucChain +-- | The typical lookup table should use 'NucBounds' instead of 'Bounded' and+-- here 'minExtended' and 'maxExtended' as this covers all characters one would+-- typically expect.++instance NucBounds Nucleotide where+ minNormal = nucA+ maxNormal = nucU+ minExtended = nucE+ maxExtended = nucU+ instance Show Nucleotide where- show (Nucleotide x)- | Just s <- x `lookup` nucCharList = [s]+ show n = [fromNuc n] instance Read Nucleotide where readsPrec p [] = [] readsPrec p (x:xs) | x ==' ' = readsPrec p xs- | Just n <- x `lookup` charNucList = [(Nucleotide n,xs)]+ | Just n <- x `lookup` c2n = [(n,xs)] | otherwise = []+ where+ c2n = zip "EACGU&" [nucE .. nucChain] -charToNucleotide :: Char -> Nucleotide-charToNucleotide = f . toUpper where- f x- | Just n <- x `lookup` charNucList = Nucleotide n- | otherwise = nucE -nucleotideToChar :: Nucleotide -> Char-nucleotideToChar (Nucleotide n) = f n where- f x- | Just c <- x `lookup` nucCharList = c -+-- * Representing nucleotide chains, aka primary sequence --- * Represent nucleotide sequences using an unboxed vector.+-- | We use plain unboxed vectors for the primary sequence -type Primary = PrimArray Int Nucleotide+type Primary = VU.Vector Nucleotide -instance Show Primary where- show p = "mkPrimary " ++ unPrimary p+-- | Conversion from/to primary sequence class MkPrimary a where mkPrimary :: a -> Primary unPrimary :: Primary -> a -instance MkPrimary String where- mkPrimary xs = fromList 0 (length xs -1) $ map charToNucleotide xs- unPrimary v = map nucleotideToChar $ toList v- {-# INLINE mkPrimary #-}- {-# INLINE unPrimary #-}--instance MkPrimary (VU.Vector Char) where- mkPrimary = mkPrimary . VU.toList- unPrimary = VU.fromList . unPrimary- {-# INLINE mkPrimary #-}- {-# INLINE unPrimary #-}------ * Encoding of Watson-Crick and Wobble Pairs in the Vienna RNA package style.--newtype ViennaPair = ViennaPair Int- deriving (Eq,Ord,Ix)--(vpNP:vpCG:vpGC:vpGU:vpUG:vpAU:vpUA:vpNS:_) = map ViennaPair [0..]--vpStrList :: [(Int,String)]-vpStrList = zip [0..] ["NP","CG","GC","GU","UG","AU","UA","NS"]-strVpList :: [(String,Int)]-strVpList = zip ["NP","CG","GC","GU","UG","AU","UA","NS"] [0..]--deriving instance VGM.MVector VU.MVector ViennaPair-deriving instance VG.Vector VU.Vector ViennaPair-deriving instance VU.Unbox ViennaPair-deriving instance Prim ViennaPair--instance Enum ViennaPair where- toEnum x- | x>=0 && x<=7 = ViennaPair x- | otherwise = error $ "can't make to enum" ++ show x- fromEnum (ViennaPair x) = x- {-# INLINE toEnum #-}- {-# INLINE fromEnum #-}+instance MkPrimary [Nucleotide] where+ mkPrimary = VU.fromList+ unPrimary = VU.toList -instance Bounded ViennaPair where- minBound = vpNP- maxBound = vpNS+instance MkPrimary String where+ mkPrimary = VU.fromList . map mkNuc+ unPrimary = map fromNuc . VU.toList -instance Show ViennaPair where- show (ViennaPair x)- | Just s <- x `lookup` vpStrList = s+instance MkPrimary BSL.ByteString where+ mkPrimary = VU.fromList . map mkNuc . BSL.unpack+ unPrimary = BSL.pack . map fromNuc . VU.toList -instance Read ViennaPair where- readsPrec p [] = []- readsPrec p [x] = []- readsPrec p (x:y:xs)- | x ==' ' = readsPrec p (y:xs)- | Just n <- (x:y:[]) `lookup` strVpList = [(ViennaPair n,xs)]- | otherwise = []+instance MkPrimary BSS.ByteString where+ mkPrimary = VU.fromList . map mkNuc . BSS.unpack+ unPrimary = BSS.pack . map fromNuc . VU.toList --- * convenience lists--acgu = [nucA .. nucU]-acguStr = map show acgu-acguPairs = [(b1,b2) | b1<-acgu, b2<-acgu]-eacgu = [nucE .. nucU]-npnsP = [vpNP .. vpNS]-cguaP = [vpCG .. vpUA]-cgnsP = [vpCG .. vpNS]+-- * Some convenience structures +eacgu = [nucE..nucU]+acgu = [nucA..nucU]+acguPairs = [(x,y)|x<-acgu,y<-acgu] --- * Transformations between Nucleotide and ViennaPair+-- * Currently impossible instances (changing with ghc 7.2) -pairTable = fromAssocs (nucE,nucE) (nucU,nucU) vpNP- [ ((nucC,nucG),vpCG)- , ((nucG,nucC),vpGC)- , ((nucG,nucU),vpGU)- , ((nucU,nucG),vpUG)- , ((nucA,nucU),vpAU)- , ((nucU,nucA),vpUA)- ]-{- NOINLINE pairTable #-}+{- TODO reactivate these instances with a later version of GHC+instance Show Primary where+ show p = "mkPrimary " ++ unPrimary p -toPair :: Nucleotide -> Nucleotide -> ViennaPair-toPair x y = pairTable ! (x,y)-{-- | x==nucC&&y==nucG = vpCG- | x==nucG&&y==nucC = vpGC- | x==nucG&&y==nucU = vpGU- | x==nucU&&y==nucG = vpUG- | x==nucA&&y==nucU = vpAU- | x==nucU&&y==nucA = vpUA- | otherwise = vpNP+instance Read Primary where+ readsPrec p xs+ | "mkPrimary " == chk = [(mkPrimary ps,ys)]+ | otherwise = error $ show (chk,others,ps,ys)+ where+ (chk,others) = splitAt 10 xs+ (ps,ys) = span (`elem` "ACGUE") others -}-{-# INLINE toPair #-}--pairs :: Nucleotide -> Nucleotide -> Bool-pairs a b = (>vpNP) $ toPair a b-{-# INLINE pairs #-}--vienna2Tuple p- | p==vpCG = (nucC,nucG)- | p==vpGC = (nucG,nucC)- | p==vpGU = (nucG,nucU)- | p==vpUG = (nucU,nucG)- | p==vpAU = (nucA,nucU)- | p==vpUA = (nucU,nucA)- | otherwise = error "non-standard pairs can't be backcasted"-{-# INLINE vienna2Tuple #-}--vienna2RevTuple p- | p==vpCG = (nucG,nucC)- | p==vpGC = (nucC,nucG)- | p==vpGU = (nucU,nucG)- | p==vpUG = (nucG,nucU)- | p==vpAU = (nucU,nucA)- | p==vpUA = (nucA,nucU)- | otherwise = error "non-standard pairs can't be backcasted"-{-# INLINE vienna2RevTuple #-}--tuple2Vienna (b1,b2)- | b1==nucC&&b2==nucG = vpCG- | b1==nucG&&b2==nucC = vpGC- | b1==nucG&&b2==nucU = vpGU- | b1==nucU&&b2==nucG = vpUG- | b1==nucA&&b2==nucU = vpAU- | b1==nucU&&b2==nucA = vpUA- | otherwise = vpNS-{-# INLINE tuple2Vienna #-}--tuple2RevVienna (a,b) = tuple2Vienna (b,a)-{-# INLINE tuple2RevVienna #-}
+ Biobase/RNA/Complex.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE TypeSynonymInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}++-- | Internal representation of RNA complexes. Ideally, each DataSource should+-- define an instance of 'MkComplex' for easy importing of foreign data.+--+-- TODO unify with Biobase.Structure.Complex++module Biobase.RNA.Complex where++import Control.DeepSeq+import qualified Data.Vector.Unboxed as VU++import Biobase.RNA+import Biobase.RNA.Pairs++++-- | An RNA complex. One or more RNA molecules linearly encoding as a+-- 'sequence'. Structure is stored as an unboxed vector. The (unspecified) type+-- is most likely either a 'CwwPair' or an 'ExtPair'. The 'chain' encodes (for+-- more than one participating nucleotide sequence) to which chain each+-- nucleotide in the sequence belongs.+--+-- NOTE 'chain' may be empty and there may be "ampersand" markers in the+-- 'sequence' which then define split positions.++data (VU.Unbox a, Show a, Read a) => Complex a = Complex+ { sequence :: Primary+ , structure :: Pairs a+ , chain :: VU.Vector Char+ }+ deriving (Read,Show)++-- | Create 'Complex'es from data sources.++class MkComplex a b where+ mkComplex :: a -> Complex b++++-- * 'CwwPair' instances++-- | Create a complex where only sequence is given.++instance MkComplex String CwwPair where+ mkComplex s = error "write me" -- Complex (mkPrimary s) (mkSecondary "") (VU.empty)++-- | Default interactive instance. Given sequence and dot-bracket string, both+-- as strings, create an instance.++instance MkComplex (String,String) CwwPair where+ mkComplex (s,p) = error "write me" -- Complex (mkPrimary s) (mkSecondary p) (VU.empty)++++-- * 'ExtPair' instances++instance MkComplex String ExtPair where+ mkComplex s = error "write me" -- Complex (mkPrimary s) (mkExtended "") (VU.empty)++++-- * Instances for Complex++-- | The NFData instance. Since these are unboxed vectors, we just need to make+-- sure that evaluation begins.++instance (NFData a, Read a, Show a, VU.Unbox a) => NFData (Complex a) where+ rnf Complex{..} = rnf (VU.length sequence) `seq` rnf structure `seq` rnf (VU.length chain) `seq` ()
+ Biobase/RNA/Hashes.hs view
@@ -0,0 +1,45 @@+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}++-- | Fast hash functions for 'Primary' sequences. A hash is just an 'Int', so+-- use these only for short sequences.++module Biobase.RNA.Hashes where++import Control.DeepSeq+import Control.Exception.Base (assert)+import Data.Ix+import Data.Primitive.Types+import qualified Data.Vector.Generic as VG+import qualified Data.Vector.Generic.Mutable as VGM+import qualified Data.Vector.Unboxed as VU++import Biobase.RNA++++newtype HashedPrimary = HashedPrimary Int+ deriving (Eq,Ord,Ix,NFData,Read,Show,Enum,Bounded)++deriving instance Prim HashedPrimary+deriving instance VGM.MVector VU.MVector HashedPrimary+deriving instance VG.Vector VU.Vector HashedPrimary+deriving instance VU.Unbox HashedPrimary++-- | Given a piece of primary sequence information, reduce it to an index.+--+-- Will throw an assertion in debug code if 'ps' are not within bounds. Note+-- that "mkPrimary [minBound]" and "mkPrimary [minBound,minBound]" map to the+-- same index. Meaning that indices are only unique within the same length+-- group. Furthermore, indices with different (l,u)-bounds are not compatible+-- with each other. All indices start at 0.+--+-- The empty input produces an index of 0.++mkHashedPrimary :: (Nucleotide,Nucleotide) -> Primary -> HashedPrimary+mkHashedPrimary (l,u) ps = assert (VU.all (\p -> l<=p && p<=u) ps) $ HashedPrimary idx where+ idx = VU.sum $ VU.zipWith f ps (VU.enumFromStepN (VU.length ps -1) (-1) (VU.length ps))+ f p c = (fromEnum p - fromEnum l) * (cnst^c)+ cnst = fromEnum u - fromEnum l + 1+{-# INLINE mkHashedPrimary #-}
+ Biobase/RNA/NucBounds.hs view
@@ -0,0 +1,54 @@++-- | A special class of bounds for RNA/pair encodings that are used to index+-- into tables. We typically encode more in the alphabets than we want to use+-- to index, so in order to keep things simple, we have specialized bounds.++module Biobase.RNA.NucBounds where++import GHC.Tuple++++-- | 'minNormal' and 'maxNormal' encode for, say, ACGU; while 'minExtended' and+-- 'maxExtended' would allow 'N' as well. See Biobase.RNA and+-- Biobase.RNA.ViennaPair for instances.++class Bounded a => NucBounds a where+ minNormal :: a+ maxNormal :: a+ minExtended :: a+ maxExtended :: a++++-- * Instances for tuples of size 2-6++instance (NucBounds a, NucBounds b) => NucBounds (a,b) where+ minNormal = (minNormal, minNormal)+ maxNormal = (maxNormal, maxNormal)+ minExtended = (minExtended, minExtended)+ maxExtended = (maxExtended, maxExtended)++instance (NucBounds a, NucBounds b, NucBounds c) => NucBounds (a,b,c) where+ minNormal = (minNormal, minNormal, minNormal)+ maxNormal = (maxNormal, maxNormal, maxNormal)+ minExtended = (minExtended, minExtended, minExtended)+ maxExtended = (maxExtended, maxExtended, maxExtended)++instance (NucBounds a, NucBounds b, NucBounds c, NucBounds d) => NucBounds (a,b,c,d) where+ minNormal = (minNormal, minNormal, minNormal, minNormal)+ maxNormal = (maxNormal, maxNormal, maxNormal, maxNormal)+ minExtended = (minExtended, minExtended, minExtended, minExtended)+ maxExtended = (maxExtended, maxExtended, maxExtended, maxExtended)++instance (NucBounds a, NucBounds b, NucBounds c, NucBounds d, NucBounds e) => NucBounds (a,b,c,d,e) where+ minNormal = (minNormal, minNormal, minNormal, minNormal, minNormal)+ maxNormal = (maxNormal, maxNormal, maxNormal, maxNormal, maxNormal)+ minExtended = (minExtended, minExtended, minExtended, minExtended, minExtended)+ maxExtended = (maxExtended, maxExtended, maxExtended, maxExtended, maxExtended)++instance (NucBounds a, NucBounds b, NucBounds c, NucBounds d, NucBounds e, NucBounds f) => NucBounds (a,b,c,d,e,f) where+ minNormal = (minNormal, minNormal, minNormal, minNormal, minNormal, minNormal)+ maxNormal = (maxNormal, maxNormal, maxNormal, maxNormal, maxNormal, maxNormal)+ minExtended = (minExtended, minExtended, minExtended, minExtended, minExtended, minExtended)+ maxExtended = (maxExtended, maxExtended, maxExtended, maxExtended, maxExtended, maxExtended)
+ Biobase/RNA/Pairs.hs view
@@ -0,0 +1,124 @@+{-# LANGUAGE ParallelListComp #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE TypeSynonymInstances #-}++-- | We want to be able to generate secondary structure representations from a+-- wide variety of inputs.+--+-- TODO include DotBracket, CT, lists of pairs,... some lossy conversions from+-- FamPair to CwwPair, etc...++module Biobase.RNA.Pairs where++import Control.DeepSeq+import Data.Vector.Unboxed.Read+import qualified Data.Vector.Unboxed as VU+import Data.List (nub)++-- | Canonical secondary structures, with the Watson-Crick cis pair family.++class MkSecondary a where+ mkSecondary :: a -> Pairs CwwPair++-- | Extended secondary structures, with any kind of pair family for each pair.++class MkExtended a where+ mkExtended :: a -> Pairs ExtPair++-- | Pair container. We store the sequence length as well in order to be able+-- to reconstruct the unpaired nucleotides without having to store them+-- explicitly.++data (VU.Unbox a, Show a, Read a) => Pairs a = Pairs+ { seqLength :: Int+ , pairs :: VU.Vector a+ }+ deriving (Eq,Show,Read)++++-- * Canonical secondary structures++-- | Most specific instance, just wrapping length and vector++instance MkSecondary (Int,VU.Vector CwwPair) where+ mkSecondary (l,xs) = Pairs l xs++-- | Only conversion to vector from list++instance MkSecondary (Int,[CwwPair]) where+ mkSecondary (l,xs) = mkSecondary (l,VU.fromList xs)++-- | Instance for MkSecondary++instance MkSecondary String where+ mkSecondary xs = mkPairList xs++++-- * Extended secondary structures++-- | The most specific instance possible++instance MkExtended (Int,VU.Vector ExtPair) where+ mkExtended (l,xs) = Pairs l xs++-- | Just turn list into a vector++instance MkExtended (Int,[ExtPair]) where+ mkExtended (l,xs) = mkExtended (l,VU.fromList xs)++-- | Create from a string. Here, we do not have pair family information and so+-- assume that all pairs are of the cWW type.++instance MkExtended String where+ mkExtended xs = mkExtended $ mkSecondary xs++-- | Create extended structure from CwwPair structure.+--+-- TODO still undefined until we have isostericity included++instance MkExtended (Pairs CwwPair) where+ mkExtended Pairs{..} = Pairs seqLength (VU.map (\(i,j) -> (i,j,error "mkExtended needs to know about isostericity")) pairs)++++-- * A basic dot-bracket parser. Not a datasource due to it being universally needed.++-- | We only return 'CwwPair's as dot-bracket pairs, others can not be encoded.++mkPairList :: String -> Pairs CwwPair+mkPairList s = mkSecondary (length s, concatMap (\b -> mkPairListWith b s) bs) where+ z = nub s+ bs = filter (\[l,r] -> l `elem` z && r `elem` z) defBrackets++-- | Generic dot-bracket parser accepting more than one bracket type.++mkPairListWith :: String -> String -> [CwwPair]+mkPairListWith [l,r] s = f [] 0 s where+ f _ _ [] = []+ f s k (x:xs)+ | x==l = f (k:s) (k+1) xs+ | x==r = (head s, k) : f (tail s) (k+1) xs+ | otherwise = f s (k+1) xs++-- | These are the default bracket types to consider++defBrackets =+ [ "()"+ , "{}"+ , "[]"+ , "<>"+ ] +++ [ [b,s] | b <- ['A'..'Z'] | s <- ['a'..'z'] ]++++-- * Types and instances++type CwwPair = (Int,Int)+type ExtPair = (Int,Int,Int)++instance (NFData a, Read a, Show a, VU.Unbox a) => NFData (Pairs a) where+ rnf Pairs{..} = rnf seqLength `seq` rnf (VU.length pairs) `seq` ()
+ Biobase/RNA/ViennaPair.hs view
@@ -0,0 +1,108 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE StandaloneDeriving #-}++-- | Encoding of Watson-Crick and Wobble Pairs in the Vienna RNA package style.++module Biobase.RNA.ViennaPair where++import Data.Ix+import qualified Data.Vector.Generic as VG+import Data.Primitive.Types+import qualified Data.Vector.Generic.Mutable as VGM+import qualified Data.Vector.Unboxed as VU+import Data.Tuple.HT (swap)++import Biobase.RNA+import Biobase.RNA.NucBounds++++-- | Use machine Ints internally++newtype ViennaPair = ViennaPair Int+ deriving (Eq,Ord,Ix)++(vpNP:vpCG:vpGC:vpGU:vpUG:vpAU:vpUA:vpNS:_) = map ViennaPair [0..]++class MkViennaPair a where+ mkViennaPair :: a -> ViennaPair+ fromViennaPair :: ViennaPair -> a++instance MkViennaPair (Nucleotide,Nucleotide) where+ mkViennaPair (b1,b2)+ | b1==nucC&&b2==nucG = vpCG+ | b1==nucG&&b2==nucC = vpGC+ | b1==nucG&&b2==nucU = vpGU+ | b1==nucU&&b2==nucG = vpUG+ | b1==nucA&&b2==nucU = vpAU+ | b1==nucU&&b2==nucA = vpUA+ | otherwise = vpNS+ fromViennaPair p+ | p==vpCG = (nucC,nucG)+ | p==vpGC = (nucG,nucC)+ | p==vpGU = (nucG,nucU)+ | p==vpUG = (nucU,nucG)+ | p==vpAU = (nucA,nucU)+ | p==vpUA = (nucU,nucA)+ | otherwise = error "non-standard pairs can't be backcasted"++deriving instance VGM.MVector VU.MVector ViennaPair+deriving instance VG.Vector VU.Vector ViennaPair+deriving instance VU.Unbox ViennaPair+deriving instance Prim ViennaPair++instance Enum ViennaPair where+ toEnum x+ | x>=0 && x<=7 = ViennaPair x+ | otherwise = error $ "can't make to enum" ++ show x+ fromEnum (ViennaPair x) = x+ {-# INLINE toEnum #-}+ {-# INLINE fromEnum #-}++instance Bounded ViennaPair where+ minBound = vpNP+ maxBound = vpNS++instance NucBounds ViennaPair where+ minNormal = vpCG+ maxNormal = vpUA+ minExtended = vpNP+ maxExtended = vpNS++instance Show ViennaPair where+ show x+ | Just s <- x `lookup` pairToString = s++instance Read ViennaPair where+ readsPrec p [] = []+ readsPrec p [x] = []+ readsPrec p (x:y:xs)+ | x ==' ' = readsPrec p (y:xs)+ | Just n <- (x:y:[]) `lookup` s2p = [(n,xs)]+ | otherwise = []+ where s2p = (map swap pairToString)++++-- | reverse a vienna pair++revPair :: ViennaPair -> ViennaPair+revPair p+ | p==vpCG = vpGC+ | p==vpGC = vpCG+ | p==vpGU = vpUG+ | p==vpUG = vpGU+ | p==vpAU = vpUA+ | p==vpUA = vpAU+ | p==vpNP = vpNP+ | p==vpNS = vpNS++++-- * Convenience structures++cguaP = [vpCG..vpUA]+cgnsP = [vpCG..vpNS]+pairToString = [(vpCG,"CG"),(vpGC,"GC"),(vpUA,"UA"),(vpAU,"AU"),(vpGU,"GU"),(vpUG,"UG"),(vpNS,"NS"),(vpNP,"NP")]
+ Biobase/ScoreTypes.hs view
@@ -0,0 +1,136 @@+{-# LANGUAGE CPP #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE MultiParamTypeClasses #-}++-- | With more programs being present, a number of different types are present.+-- Right now, they mostly are just "type"s, or flat Int's / Double's. This+-- module provides a set of newtype wrappers to make explicit what kind of+-- value is being computed. In the future, all programs should make use of+-- these.+--+-- All units come with unboxed vector equipment.+--+-- TODO the numeric-prelude knows about Unit.SI.+--+-- TODO we should use "Kelvin" from somewhere else, say the numerical-prelude+-- but this would make Biobase even heavier.++module Biobase.ScoreTypes where++import Data.Primitive.Types+import qualified Data.Vector.Generic as VG+import qualified Data.Vector.Generic.Mutable as VGM+import qualified Data.Vector.Unboxed as VU++import Biobase.Constants++++-- | The ViennaRNA base unit. A bit strange, but values are tabulated in the+-- energy parameter file as 1/100 kCal/mol.++newtype DecaCalMol = DCM { unDCM :: Int }+ deriving (Eq,Ord,Read,Show)++-- | Other programs just calculate with fractions of kCal/Mol. This needs to be+-- double as errors in energies are around 10 cal/mol.++newtype KCalMol = KCM { unKCM :: Double }+ deriving (Eq,Ord,Read,Show)++-- | For data generated from statistical ensembles, we only have+-- pseudo-energies.++newtype PseudoDecaCalMol = PDCM { unPDCM :: Int }+ deriving (Eq,Ord,Read,Show)++-- | For data generated from statistical ensembles, we only have+-- pseudo-energies.++newtype PseudoKCalMol = PKCM { unPKCM :: Double }+ deriving (Eq,Ord,Read,Show)++-- | The Boltzmann statistical weight "exp(-e / kT)" of an energy++newtype BoltzmannW = BoltzmannW { unBoltzmannW :: Double }+ deriving (Eq,Ord,Read,Show)++-- | Temperature in Kelvin++newtype Kelvin = Kelvin { unKelvin :: Double }+ deriving (Eq,Ord,Read,Show)++++-- * Conversion between units. Not all conversions are meaningful.++-- | Convert between two similar enough units. There is no all vs. all+-- conversion.+--+-- NOTE If you need to convert pseudo-energies into "real" ones, do it+-- explicitly by calling 'PDCM . unDCM' or similar. Conversions here are+-- supposed to be somewhat safe.++class Convert a b where+ convert :: a -> b++instance Convert DecaCalMol KCalMol where+ convert (DCM x) = KCM $ fromIntegral x / 100++instance Convert KCalMol DecaCalMol where+ convert (KCM x) = DCM . round $ x * 100++instance Convert PseudoDecaCalMol PseudoKCalMol where+ convert (PDCM x) = PKCM $ fromIntegral x / 100++instance Convert PseudoKCalMol PseudoDecaCalMol where+ convert (PKCM x) = PDCM . round $ x * 100++-- | convert from and to Boltzmann weights++class BoltzmannWeighted a where+ boltzmannWeighted :: a -> Kelvin -> BoltzmannW++instance BoltzmannWeighted DecaCalMol where+ boltzmannWeighted (DCM x) (Kelvin t) =+ let k = gasconst+ in BoltzmannW . exp . negate $ fromIntegral x / (k * t * 100)++instance BoltzmannWeighted KCalMol where+ boltzmannWeighted (KCM x) (Kelvin t) =+ let k = gasconst+ in BoltzmannW . exp . negate $ x / (k * t)++instance BoltzmannWeighted PseudoDecaCalMol where+ boltzmannWeighted (PDCM x) (Kelvin t) =+ let k = gasconst+ in BoltzmannW . exp . negate $ fromIntegral x / (k * t * 100)++instance BoltzmannWeighted PseudoKCalMol where+ boltzmannWeighted (PKCM x) (Kelvin t) =+ let k = gasconst+ in BoltzmannW . exp . negate $ x / (k * t)++-- | Boltzmann weighting at default temperature of 37 Celsius.++toBoltzmannW x = boltzmannWeighted x defTemp++defTemp = Kelvin $ kelvinC0 + 37++++-- * unboxed vector instances++#define DVU(d) \+deriving instance Prim d; \+deriving instance VU.Unbox d; \+deriving instance VGM.MVector VU.MVector d; \+deriving instance VG.Vector VU.Vector d \++DVU(KCalMol)+DVU(DecaCalMol)+DVU(PseudoKCalMol)+DVU(PseudoDecaCalMol)+DVU(BoltzmannW)+DVU(Kelvin)
Biobase/Structure.hs view
@@ -1,57 +1,112 @@+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE TypeSynonymInstances #-}+{-# LANGUAGE FlexibleInstances #-} +-- | Types for RNA secondary structure. Types vary from the simplest array+-- (D1Secondary) to rather complex ones. ----- Basic definitions for RNA secondary structure.+-- TODO The complex ones are still coming in from other libraries. ------ TODO would RNA tertiary structure be here as well?--- TODO maybe, we should just put the sequence into Secondary as well?+-- TODO can we use Char8 instead of Char? {-# LANGUAGE RecordWildCards #-} module Biobase.Structure where +import qualified Data.Vector.Unboxed as VU+import Data.Vector.Unboxed.Read import Data.List (sort,groupBy) -import Biobase.RNA +-- * Array-based representation, no notion of structure --- | A complex of one or more primary and secondary structures+-- | Create secondary structure by various means. -data Complex = Complex- { comments :: String- , structures :: [(Primary,Secondary)]- }- deriving (Show)+class MkD1Secondary a where+ mkD1S :: a -> D1Secondary+ fromD1S :: D1Secondary -> a +-- | Most primitive secondary structure generation +instance MkD1Secondary (Int,[(Int,Int)]) where+ mkD1S (len,ps) = D1S $ VU.replicate len (-1) VU.// xs where+ xs = concatMap (\(i,j) -> [(i,j),(j,i)]) ps+ fromD1S (D1S s) = (VU.length s, filter ((>=0).snd). zip [0..] $ VU.toList s) --- | A secondary structure. It is explicit that we store the length of the--- sequence. (length n, last index (n-1) problem)+-- | A second primitive generator, requiring dictionary and String. This one+-- generates pairs that are then used by the above instance. The dict is a list+-- of possible brackets: ["()"] being the minimal set.+--+-- NOTE no dictionary is returned by "fromD1S".+--+-- TODO return dictionary that is actually seen? -data Secondary = Secondary- { len :: Int- , pairings :: [(Int,Int)]- }- deriving (Show)+instance MkD1Secondary ([String],String) where+ mkD1S (dict,xs) = mkD1S (length xs,ps) where+ ps :: [(Int,Int)]+ ps = dotBracket dict xs+ fromD1S (D1S s) = ([], zipWith f [0..] $ VU.toList s) where+ f k (-1) = '.'+ f k p+ | k>p = ')'+ | otherwise = '(' +-- | Generate Secondary given that we have an unboxed vector of characters +instance MkD1Secondary ([String],VU.Vector Char) where+ mkD1S (dict,xs) = mkD1S (dict, VU.toList xs)+ fromD1S s = let (dict,res) = fromD1S s in (dict,VU.fromList res) +-- | A "fast" instance for getting the pair list of vienna-structures.++instance MkD1Secondary String where+ mkD1S xs = mkD1S (["()"],xs)+ fromD1S s = let (_::[String],res) = fromD1S s in res++instance MkD1Secondary (VU.Vector Char) where+ mkD1S xs = mkD1S (["()"],xs)+ fromD1S s = let (_::[String],res::VU.Vector Char) = fromD1S s in res++newtype D1Secondary = D1S {unD1S :: VU.Vector Int}+ deriving (Read,Show,Eq)++++-- * Helper functions++-- | Secondary structure parser which allows pseudoknots, if they use different+-- kinds of brackets.++dotBracket :: [String] -> String -> [(Int,Int)]+dotBracket dict xs = sort . concatMap (f xs) $ dict where+ f xs [l,r] = g 0 [] . map (\x -> if x `elem` [l,r] then x else '.') $ xs where+ g :: Int -> [Int] -> String -> [(Int,Int)]+ g _ st [] = []+ g k st ('.':xs) = g (k+1) st xs+ g k sst (x:xs)+ | l==x = g (k+1) (k:sst) xs+ g k (s:st) (x:xs)+ | r==x = (s,k) : g (k+1) st xs+ g a b c = error $ show (a,b,c)++++-- * Tree-based representation: structure is given by the tree+ -- | secondary structure representation using an explicit tree, SSExt encodes -- the length of the underlying sequence. Each node can contain additional -- information under 'a'. - data SSTree a = SSTree Int Int a [SSTree a] | SSExt Int a [SSTree a] deriving (Read,Show,Eq) ----- | generate an SSTree from a secondary structure+-- | generate an SSTree from a secondary structure. -toSSTree :: Secondary -> SSTree ()-toSSTree Secondary{..} = ext $ sort pairings where+mkSSTree :: D1Secondary -> SSTree ()+mkSSTree s = ext $ sort ps where+ (len,ps) = fromD1S s ext [] = SSExt len () [] ext xs = SSExt len () . map tree $ groupBy (\l r -> snd l > fst r) xs tree [(i,j)] = SSTree i j () []
+ Biobase/Structure/Constraint.hs view
@@ -0,0 +1,44 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE TypeSynonymInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE StandaloneDeriving #-}++module Biobase.Structure.Constraint where++import Data.Primitive.Types+import qualified Data.Vector.Generic as VG+import qualified Data.Vector.Generic.Mutable as VGM+import qualified Data.Vector.Unboxed as VU++import Biobase.Structure++++-- | We can create a constraint from different sources++class MkConstraint a where+ mkConstraint :: a -> Constraint++-- | A constraint is nothing more than a vector of constraint characters+-- together with a possible pairing for each character.++newtype Constraint = Constraint {unConstraint :: VU.Vector (Char,Int)}+ deriving (Show,Read,Eq)++bonusCC = VU.fromList "()<>|"+{-# NOINLINE bonusCC #-}++nobonusCC = VU.fromList ".x"+{-# NOINLINE nobonusCC #-}++++-- * Instances++instance MkConstraint String where+ mkConstraint xs = mkConstraint . VU.fromList $ xs++instance MkConstraint (VU.Vector Char) where+ mkConstraint cs = Constraint $ VU.zip cs ks where+ (D1S ks) = mkD1S cs
− Biobase/Structure/DotBracket.hs
@@ -1,37 +0,0 @@------- transform to and from dotbracket notation for RNA secondary structures.-----{-# LANGUAGE RecordWildCards #-}--module Biobase.Structure.DotBracket where--import Data.Array.IArray-import Data.List (sort)--import Biobase.RNA-import Biobase.Structure------ | Given the secondary structure notation, generate the dot-bracket string.--dotbracket :: Secondary -> String-dotbracket Secondary{..} = elems rbr where- arr = listArray (0,len-1) $ replicate len '.' :: Array Int Char- lbr = arr // map (\(l,_) -> (l,'(')) pairings- rbr = lbr // map (\(_,r) -> (r,')')) pairings------ | transforms a pseudoknot-free dotbracket string into a pairlist--dotbracketToPairlist :: String -> Secondary-dotbracketToPairlist str = Secondary (length str) (sort $ f 0 [] str) where- f :: Int -> [Int] -> String -> [(Int,Int)]- f _ st [] = []- f k st ('.':xs) = f (k+1) st xs- f k st ('(':xs) = f (k+1) (k:st) xs- f k (s:st) (')':xs) = (s,k) : f (k+1) st xs- f a b c = error $ show (a,b,c)
Biobase/Structure/Shapes.hs view
@@ -11,7 +11,6 @@ import Biobase.RNA import Biobase.Structure-import Biobase.Structure.DotBracket
+ Biobase/Types/Convert.hs view
@@ -0,0 +1,36 @@+{-# LANGUAGE MultiParamTypeClasses #-}++-- | Provides a converting function between different types. Most useful+-- conversions are instanced here.++module Biobase.Types.Convert where++import Biobase.Types.Ring+import Biobase.Types.Energy+import Biobase.Types.Score+import Biobase.Types.Partition++++-- | How to convert between different values.++class Convert a b c where+ convert :: a -> b -> c++++-- | From (Gibbs free) energy to partition function values.+--+-- TODO temperature is running around here: move to some library later on++newtype Kelvin = Kelvin {unKelvin :: Double}++constR = undefined++instance Convert Kelvin Energy Partition where+ convert (Kelvin k) (Energy a) = Partition . exp $ (fromIntegral $ negate a) / (constR * k)++-- | From log-odd scores to partition function.++-- instance Convert Temperature Score Partition where+-- convert (Score a) = Partition . exp $ (fromIntegral $ neg a) / (constR * constT)
+ Biobase/Types/Energy.hs view
@@ -0,0 +1,51 @@+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}++module Biobase.Types.Energy where++import qualified Data.Vector.Unboxed as VU+import qualified Data.Vector.Generic as VG+import qualified Data.Vector.Generic.Mutable as VGM+import Data.Primitive.Types++import Biobase.Types.Ring++++-- | Some default instances. Left out the Num one, so that you have to+-- explicitly instanciate if you want to go around the Ring structure.++newtype Energy = Energy {unEnergy :: Int}+ deriving (Show, Read, Eq, Ord)++++-- | Ring operations over Energy values.++instance Ring Energy where+ (Energy a) .+. (Energy b) = Energy $ a `min` b+ {-# INLINE (.+.) #-}+ (Energy a) .*. (Energy b) = Energy $ a + b+ {-# INLINE (.*.) #-}+ (Energy a) .^. k = Energy $ a * k+ {-# INLINE (.^.) #-}+ (Energy a) .^^. k = Energy . round $ fromIntegral a * k+ {-# INLINE (.^^.) #-}+ neg (Energy a) = Energy $ negate a+ {-# INLINE neg #-}+ one = Energy 0+ {-# INLINE one #-}+ zero = Energy 10000000+ {-# INLINE zero #-}+ isZero (Energy a) = a >= 1000000+ {-# INLINE isZero #-}++++-- * Vector instances.++deriving instance VGM.MVector VU.MVector Energy+deriving instance VG.Vector VU.Vector Energy+deriving instance VU.Unbox Energy+deriving instance Prim Energy
+ Biobase/Types/Partition.hs view
@@ -0,0 +1,84 @@++{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}++module Biobase.Types.Partition where++import qualified Data.Vector.Unboxed as VU+import qualified Data.Vector.Generic as VG+import qualified Data.Vector.Generic.Mutable as VGM+import Data.Primitive.Types++import Biobase.Types.Ring++++-- | Some default instances. Left out the Num one, so that you have to+-- explicitly instanciate if you want to go around the Ring structure.++newtype Partition = Partition {unPartition' :: Double}+ deriving (Show, Read, Eq, Ord)++-- |++mkPartition :: Double -> Partition+mkPartition x+ | x < 0 = error $ "mkPartition: prob <0: " ++ show x+ | x > 1 = error $ "mkPartition: prob >1: " ++ show x+ | otherwise = Partition $ log x++unPartition :: Partition -> Double+unPartition (Partition x) = exp x+++-- | Ring operations over Partition values.++instance Ring Partition where+ (Partition a) .+. (Partition b) = Partition $ logSum a b+ {-# INLINE (.+.) #-}+ (Partition a) .*. (Partition b) = Partition $ a + b+ {-# INLINE (.*.) #-}+ (Partition a) .^. k = Partition $ a * fromIntegral k+ {-# INLINE (.^.) #-}+ (Partition a) .^^. k = error ".^^. not defined for Partition" -- Partition $ a ^^ k+ {-# INLINE (.^^.) #-}+ neg (Partition a) = error $ "negate partition? " ++ show a -- Partition $ negate a+ {-# INLINE neg #-}+ one = Partition 1+ {-# INLINE one #-}+ zero = Partition 0+ {-# INLINE zero #-}+ isZero (Partition a) = a == 0 -- TODO use some epsilon?+ {-# INLINE isZero #-}++logSum :: Double -> Double -> Double+logSum a b+ | a>b = f a b+ | otherwise = f b a+ where+ f x y = x + log1p (exp $ y - x)+ {-# INLINE f #-}+{-# INLINE logSum #-}++++-- * Vector (and Prim) instances.++deriving instance VGM.MVector VU.MVector Partition+deriving instance VG.Vector VU.Vector Partition+deriving instance VU.Unbox Partition+deriving instance Prim Partition++++-- * math.h function for log/exp on pm1 are /much/ more efficient (what is+-- haskell doing?)++foreign import ccall unsafe "math.h log1p"+ log1p :: Double -> Double++foreign import ccall unsafe "math.h expm1"+ expm1 :: Double -> Double+
+ Biobase/Types/Ring.hs view
@@ -0,0 +1,22 @@++-- | Algebraic ring structure. Very similar to others found throughout hackage.+--+-- TODO maybe use on of the already-written packages?++module Biobase.Types.Ring where++++-- | Define the basic operations on a ring.++class (Eq a, Ord a) => Ring a where+ (.+.), (.*.) :: a -> a -> a+ (.^.) :: a -> Int -> a+ (.^^.) :: a -> Double -> a+ neg :: a -> a+ one, zero :: a+ isZero :: a -> Bool -- ^ ==zero does not work well for min-plus+ infixl 6 .+.+ infixl 7 .*.+ infixr 8 .^.+ infixr 8 .^^.
+ Biobase/Types/Score.hs view
@@ -0,0 +1,48 @@++{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}++module Biobase.Types.Score where++import qualified Data.Vector.Unboxed as VU+import qualified Data.Vector.Generic as VG+import qualified Data.Vector.Generic.Mutable as VGM+import Data.Primitive.Types++import Biobase.Types.Ring++++-- | Some default instances. Left out the Num one, so that you have to+-- explicitly instanciate if you want to go around the Ring structure.++newtype Score = Score {unScore :: Int}+ deriving (Show, Read, Eq, Ord)++++-- | Ring operations over Score values.++instance Ring Score where+ (Score a) .+. (Score b) = Score $ a `min` b+ {-# INLINE (.+.) #-}+ (Score a) .*. (Score b) = Score $ a + b+ {-# INLINE (.*.) #-}+ neg (Score a) = Score $ negate a+ {-# INLINE neg #-}+ one = Score 0+ {-# INLINE one #-}+ zero = Score 10000000+ {-# INLINE zero #-}+ isZero (Score a) = a >= 1000000+ {-# INLINE isZero #-}++++-- * Vector instances.++deriving instance VGM.MVector VU.MVector Score+deriving instance VG.Vector VU.Vector Score+deriving instance VU.Unbox Score+deriving instance Prim Score
+ parfiles/Turner2004GH.par view
@@ -0,0 +1,8135 @@+## RNAfold parameter file v2.0++# stack+ -240 -330 -210 -140 -210 -210 -140 /* CG */+ -330 -340 -250 -150 -220 -240 -150 /* GC */+ -210 -250 130 -50 -140 -130 130 /* GU */+ -140 -150 -50 30 -60 -100 30 /* UG */+ -210 -220 -140 -60 -110 -90 -60 /* AU */+ -210 -240 -130 -100 -90 -130 -90 /* UA */+ -140 -150 130 30 -60 -90 130 /* NS */++# stack_enthalpies+ -1060 -1340 -1210 -560 -1050 -1040 -560 /* CG */+ -1340 -1490 -1260 -830 -1140 -1240 -830 /* GC */+ -1210 -1260 -1460 -1350 -880 -1280 -880 /* GU */+ -560 -830 -1350 -930 -320 -700 -320 /* UG */+ -1050 -1140 -880 -320 -940 -680 -320 /* AU */+ -1040 -1240 -1280 -700 -680 -770 -680 /* UA */+ -560 -830 -880 -320 -320 -680 -320 /* NS */++# mismatch_hairpin+ -80 -100 -110 -100 -80 /* CG,E */+ -140 -150 -150 -140 -150 /* CG,A */+ -80 -100 -110 -100 -80 /* CG,C */+ -150 -230 -150 -240 -150 /* CG,G */+ -100 -100 -140 -100 -210 /* CG,U */+ -50 -110 -70 -110 -50 /* GC,E */+ -110 -110 -150 -130 -150 /* GC,A */+ -50 -110 -70 -110 -50 /* GC,C */+ -150 -250 -150 -220 -150 /* GC,G */+ -100 -110 -100 -110 -160 /* GC,U */+ 20 20 -20 -10 -20 /* GU,E */+ 20 20 -50 -30 -50 /* GU,A */+ -10 -10 -20 -10 -20 /* GU,C */+ -50 -100 -50 -110 -50 /* GU,G */+ -10 -10 -30 -10 -100 /* GU,U */+ 0 -20 -10 -20 0 /* UG,E */+ -30 -50 -30 -60 -30 /* UG,A */+ 0 -20 -10 -20 0 /* UG,C */+ -30 -90 -30 -110 -30 /* UG,G */+ -10 -20 -10 -20 -90 /* UG,U */+ -10 -10 -20 -10 -20 /* AU,E */+ -30 -30 -50 -30 -50 /* AU,A */+ -10 -10 -20 -10 -20 /* AU,C */+ -50 -120 -50 -110 -50 /* AU,G */+ -10 -10 -30 -10 -120 /* AU,U */+ 0 -20 -10 -20 0 /* UA,E */+ -30 -50 -30 -50 -30 /* UA,A */+ 0 -20 -10 -20 0 /* UA,C */+ -30 -150 -30 -150 -30 /* UA,G */+ -10 -20 -10 -20 -90 /* UA,U */+ 20 20 -10 -10 0 /* NS,E */+ 20 20 -30 -30 -30 /* NS,A */+ 0 -10 -10 -10 0 /* NS,C */+ -30 -90 -30 -110 -30 /* NS,G */+ -10 -10 -10 -10 -90 /* NS,U */++# mismatch_hairpin_enthalpies+ 560 -570 560 -560 -270 /* CG,E */+ -560 -910 -560 -560 -560 /* CG,A */+ -270 -570 -340 -570 -270 /* CG,C */+ 560 -1400 560 -920 -560 /* CG,G */+ -530 -570 -530 -570 -1440 /* CG,U */+ 50 -520 50 -560 -400 /* GC,E */+ -400 -520 -400 -560 -400 /* GC,A */+ 50 -720 50 -720 -420 /* GC,C */+ -400 -1290 -400 -620 -400 /* GC,G */+ -30 -720 -30 -720 -1080 /* GC,U */+ 970 140 970 140 570 /* GU,E */+ 570 30 570 20 570 /* GU,A */+ 970 140 970 140 340 /* GU,C */+ 570 -270 570 20 570 /* GU,G */+ 830 140 830 140 -50 /* GU,U */+ 230 100 230 220 190 /* UG,E */+ -110 -110 -260 -520 -260 /* UG,A */+ 190 -60 -140 -60 190 /* UG,C */+ 220 100 -260 220 -260 /* UG,G */+ 230 -60 230 -60 -70 /* UG,U */+ 970 140 970 140 570 /* AU,E */+ 570 -20 570 20 570 /* AU,A */+ 970 140 970 140 340 /* AU,C */+ 570 -520 570 20 570 /* AU,G */+ 830 140 830 140 -380 /* AU,U */+ 230 -30 230 -60 190 /* UA,E */+ -30 -30 -260 -520 -260 /* UA,A */+ 190 -60 -140 -60 190 /* UA,C */+ -260 -590 -260 -520 -260 /* UA,G */+ 230 -60 230 -60 -70 /* UA,U */+ 970 140 970 220 570 /* NS,E */+ 570 30 570 20 570 /* NS,A */+ 970 140 970 140 340 /* NS,C */+ 570 100 570 220 570 /* NS,G */+ 830 140 830 140 -50 /* NS,U */++# mismatch_interior+ 0 0 0 0 0 /* CG,E */+ 0 0 0 -80 0 /* CG,A */+ 0 0 0 0 0 /* CG,C */+ 0 -100 0 -100 0 /* CG,G */+ 0 0 0 0 -60 /* CG,U */+ 0 0 0 0 0 /* GC,E */+ 0 0 0 -80 0 /* GC,A */+ 0 0 0 0 0 /* GC,C */+ 0 -100 0 -100 0 /* GC,G */+ 0 0 0 0 -60 /* GC,U */+ 70 70 70 70 70 /* GU,E */+ 70 70 70 -10 70 /* GU,A */+ 70 70 70 70 70 /* GU,C */+ 70 -30 70 -30 70 /* GU,G */+ 70 70 70 70 10 /* GU,U */+ 70 70 70 70 70 /* UG,E */+ 70 70 70 -10 70 /* UG,A */+ 70 70 70 70 70 /* UG,C */+ 70 -30 70 -30 70 /* UG,G */+ 70 70 70 70 10 /* UG,U */+ 70 70 70 70 70 /* AU,E */+ 70 70 70 -10 70 /* AU,A */+ 70 70 70 70 70 /* AU,C */+ 70 -30 70 -30 70 /* AU,G */+ 70 70 70 70 10 /* AU,U */+ 70 70 70 70 70 /* UA,E */+ 70 70 70 -10 70 /* UA,A */+ 70 70 70 70 70 /* UA,C */+ 70 -30 70 -30 70 /* UA,G */+ 70 70 70 70 10 /* UA,U */+ 70 70 70 70 70 /* NS,E */+ 70 70 70 -10 70 /* NS,A */+ 70 70 70 70 70 /* NS,C */+ 70 -30 70 -30 70 /* NS,G */+ 70 70 70 70 10 /* NS,U */++# mismatch_interior_enthalpies+ 280 0 0 280 0 /* CG,E */+ 0 0 0 -340 0 /* CG,A */+ 0 0 0 0 0 /* CG,C */+ 280 -760 0 280 0 /* CG,G */+ 0 0 0 0 -580 /* CG,U */+ 280 0 0 280 0 /* GC,E */+ 0 0 0 -340 0 /* GC,A */+ 0 0 0 0 0 /* GC,C */+ 280 -760 0 280 0 /* GC,G */+ 0 0 0 0 -580 /* GC,U */+ 790 500 500 790 500 /* GU,E */+ 500 500 500 170 500 /* GU,A */+ 500 500 500 500 500 /* GU,C */+ 790 -260 500 790 500 /* GU,G */+ 500 500 500 500 -80 /* GU,U */+ 790 500 500 790 500 /* UG,E */+ 500 500 500 170 500 /* UG,A */+ 500 500 500 500 500 /* UG,C */+ 790 -260 500 790 500 /* UG,G */+ 500 500 500 500 -80 /* UG,U */+ 790 500 500 790 500 /* AU,E */+ 500 500 500 170 500 /* AU,A */+ 500 500 500 500 500 /* AU,C */+ 790 -260 500 790 500 /* AU,G */+ 500 500 500 500 -80 /* AU,U */+ 790 500 500 790 500 /* UA,E */+ 500 500 500 170 500 /* UA,A */+ 500 500 500 500 500 /* UA,C */+ 790 -260 500 790 500 /* UA,G */+ 500 500 500 500 -80 /* UA,U */+ 790 500 500 790 500 /* NS,E */+ 500 500 500 170 500 /* NS,A */+ 500 500 500 500 500 /* NS,C */+ 790 -260 500 790 500 /* NS,G */+ 500 500 500 500 -80 /* NS,U */++# mismatch_interior_1n+ 0 0 0 0 0 /* CG,E */+ 0 0 0 0 0 /* CG,A */+ 0 0 0 0 0 /* CG,C */+ 0 0 0 0 0 /* CG,G */+ 0 0 0 0 0 /* CG,U */+ 0 0 0 0 0 /* GC,E */+ 0 0 0 0 0 /* GC,A */+ 0 0 0 0 0 /* GC,C */+ 0 0 0 0 0 /* GC,G */+ 0 0 0 0 0 /* GC,U */+ 70 70 70 70 70 /* GU,E */+ 70 70 70 70 70 /* GU,A */+ 70 70 70 70 70 /* GU,C */+ 70 70 70 70 70 /* GU,G */+ 70 70 70 70 70 /* GU,U */+ 70 70 70 70 70 /* UG,E */+ 70 70 70 70 70 /* UG,A */+ 70 70 70 70 70 /* UG,C */+ 70 70 70 70 70 /* UG,G */+ 70 70 70 70 70 /* UG,U */+ 70 70 70 70 70 /* AU,E */+ 70 70 70 70 70 /* AU,A */+ 70 70 70 70 70 /* AU,C */+ 70 70 70 70 70 /* AU,G */+ 70 70 70 70 70 /* AU,U */+ 70 70 70 70 70 /* UA,E */+ 70 70 70 70 70 /* UA,A */+ 70 70 70 70 70 /* UA,C */+ 70 70 70 70 70 /* UA,G */+ 70 70 70 70 70 /* UA,U */+ 70 70 70 70 70 /* NS,E */+ 70 70 70 70 70 /* NS,A */+ 70 70 70 70 70 /* NS,C */+ 70 70 70 70 70 /* NS,G */+ 70 70 70 70 70 /* NS,U */++# mismatch_interior_1n_enthalpies+ 0 0 0 0 0 /* CG,E */+ 0 0 0 0 0 /* CG,A */+ 0 0 0 0 0 /* CG,C */+ 0 0 0 0 0 /* CG,G */+ 0 0 0 0 0 /* CG,U */+ 0 0 0 0 0 /* GC,E */+ 0 0 0 0 0 /* GC,A */+ 0 0 0 0 0 /* GC,C */+ 0 0 0 0 0 /* GC,G */+ 0 0 0 0 0 /* GC,U */+ 500 500 500 500 500 /* GU,E */+ 500 500 500 500 500 /* GU,A */+ 500 500 500 500 500 /* GU,C */+ 500 500 500 500 500 /* GU,G */+ 500 500 500 500 500 /* GU,U */+ 500 500 500 500 500 /* UG,E */+ 500 500 500 500 500 /* UG,A */+ 500 500 500 500 500 /* UG,C */+ 500 500 500 500 500 /* UG,G */+ 500 500 500 500 500 /* UG,U */+ 500 500 500 500 500 /* AU,E */+ 500 500 500 500 500 /* AU,A */+ 500 500 500 500 500 /* AU,C */+ 500 500 500 500 500 /* AU,G */+ 500 500 500 500 500 /* AU,U */+ 500 500 500 500 500 /* UA,E */+ 500 500 500 500 500 /* UA,A */+ 500 500 500 500 500 /* UA,C */+ 500 500 500 500 500 /* UA,G */+ 500 500 500 500 500 /* UA,U */+ 500 500 500 500 500 /* NS,E */+ 500 500 500 500 500 /* NS,A */+ 500 500 500 500 500 /* NS,C */+ 500 500 500 500 500 /* NS,G */+ 500 500 500 500 500 /* NS,U */++# mismatch_interior_23+ 0 0 0 0 0 /* CG,E */+ 0 0 0 -50 0 /* CG,A */+ 0 0 0 0 0 /* CG,C */+ 0 -110 0 -70 0 /* CG,G */+ 0 0 0 0 -30 /* CG,U */+ 0 0 0 0 0 /* GC,E */+ 0 0 0 0 0 /* GC,A */+ 0 0 0 0 0 /* GC,C */+ 0 -120 0 -70 0 /* GC,G */+ 0 0 0 0 -30 /* GC,U */+ 70 70 70 70 70 /* GU,E */+ 70 70 70 70 70 /* GU,A */+ 70 70 70 70 70 /* GU,C */+ 70 -40 70 0 70 /* GU,G */+ 70 70 70 70 40 /* GU,U */+ 70 70 70 70 70 /* UG,E */+ 70 70 70 20 70 /* UG,A */+ 70 70 70 70 70 /* UG,C */+ 70 -40 70 0 70 /* UG,G */+ 70 70 70 70 40 /* UG,U */+ 70 70 70 70 70 /* AU,E */+ 70 70 70 70 70 /* AU,A */+ 70 70 70 70 70 /* AU,C */+ 70 -40 70 0 70 /* AU,G */+ 70 70 70 70 40 /* AU,U */+ 70 70 70 70 70 /* UA,E */+ 70 70 70 20 70 /* UA,A */+ 70 70 70 70 70 /* UA,C */+ 70 -40 70 0 70 /* UA,G */+ 70 70 70 70 40 /* UA,U */+ 70 70 70 70 70 /* NS,E */+ 70 70 70 70 70 /* NS,A */+ 70 70 70 70 70 /* NS,C */+ 70 -40 70 0 70 /* NS,G */+ 70 70 70 70 40 /* NS,U */++# mismatch_interior_23_enthalpies+ 0 0 0 0 0 /* CG,E */+ 0 0 0 -570 0 /* CG,A */+ 0 0 0 0 0 /* CG,C */+ 0 -860 0 -900 0 /* CG,G */+ 0 0 0 0 -640 /* CG,U */+ 0 0 0 0 0 /* GC,E */+ 0 0 0 0 0 /* GC,A */+ 0 0 0 0 0 /* GC,C */+ 0 -1090 0 -900 0 /* GC,G */+ 0 0 0 0 -640 /* GC,U */+ 500 500 500 500 500 /* GU,E */+ 500 500 500 500 500 /* GU,A */+ 500 500 500 500 500 /* GU,C */+ 500 -580 500 -400 500 /* GU,G */+ 500 500 500 500 -140 /* GU,U */+ 500 500 500 500 500 /* UG,E */+ 500 500 500 -60 500 /* UG,A */+ 500 500 500 500 500 /* UG,C */+ 500 -360 500 -400 500 /* UG,G */+ 500 500 500 500 -140 /* UG,U */+ 500 500 500 500 500 /* AU,E */+ 500 500 500 500 500 /* AU,A */+ 500 500 500 500 500 /* AU,C */+ 500 -580 500 -400 500 /* AU,G */+ 500 500 500 500 -140 /* AU,U */+ 500 500 500 500 500 /* UA,E */+ 500 500 500 -60 500 /* UA,A */+ 500 500 500 500 500 /* UA,C */+ 500 -360 500 -400 500 /* UA,G */+ 500 500 500 500 -140 /* UA,U */+ 500 500 500 500 500 /* NS,E */+ 500 500 500 500 500 /* NS,A */+ 500 500 500 500 500 /* NS,C */+ 500 -360 500 -400 500 /* NS,G */+ 500 500 500 500 -140 /* NS,U */++# mismatch_multi+ -80 -100 -110 -100 -80 /* CG,E */+ -140 -150 -150 -140 -150 /* CG,A */+ -80 -100 -110 -100 -80 /* CG,C */+ -140 -140 -150 -160 -150 /* CG,G */+ -100 -100 -140 -100 -120 /* CG,U */+ -50 -110 -70 -110 -50 /* GC,E */+ -110 -110 -150 -130 -150 /* GC,A */+ -50 -110 -70 -110 -50 /* GC,C */+ -140 -160 -150 -140 -150 /* GC,G */+ -70 -110 -100 -110 -70 /* GC,U */+ -30 -30 -70 -60 -60 /* GU,E */+ -30 -30 -100 -80 -100 /* GU,A */+ -60 -60 -70 -60 -70 /* GU,C */+ -60 -60 -100 -80 -100 /* GU,G */+ -60 -60 -80 -60 -60 /* GU,U */+ -50 -50 -60 -70 -50 /* UG,E */+ -80 -100 -80 -110 -80 /* UG,A */+ -50 -70 -60 -70 -50 /* UG,C */+ -50 -50 -80 -80 -80 /* UG,G */+ -50 -70 -60 -70 -50 /* UG,U */+ -60 -60 -70 -60 -70 /* AU,E */+ -80 -80 -100 -80 -100 /* AU,A */+ -60 -60 -70 -60 -70 /* AU,C */+ -80 -80 -100 -80 -100 /* AU,G */+ -60 -60 -80 -60 -80 /* AU,U */+ -50 -70 -60 -70 -50 /* UA,E */+ -80 -100 -80 -110 -80 /* UA,A */+ -50 -70 -60 -70 -50 /* UA,C */+ -80 -110 -80 -120 -80 /* UA,G */+ -50 -70 -60 -70 -50 /* UA,U */+ -30 -30 -60 -60 -50 /* NS,E */+ -30 -30 -80 -80 -80 /* NS,A */+ -50 -60 -60 -60 -50 /* NS,C */+ -50 -50 -80 -80 -80 /* NS,G */+ -50 -60 -60 -60 -50 /* NS,U */++# mismatch_multi_enthalpies+ -270 -570 -340 -560 -270 /* CG,E */+ -560 -910 -560 -560 -560 /* CG,A */+ -270 -570 -340 -570 -270 /* CG,C */+ -560 -820 -560 -920 -560 /* CG,G */+ -530 -570 -530 -570 -860 /* CG,U */+ 50 -520 50 -560 -400 /* GC,E */+ -400 -520 -400 -560 -400 /* GC,A */+ 50 -720 50 -720 -420 /* GC,C */+ -400 -710 -400 -620 -400 /* GC,G */+ -30 -720 -30 -720 -500 /* GC,U */+ 600 -60 600 -230 200 /* GU,E */+ 200 -340 200 -350 200 /* GU,A */+ 600 -230 600 -230 -30 /* GU,C */+ 200 -60 200 -350 200 /* GU,G */+ 460 -230 460 -230 160 /* GU,U */+ 310 310 -140 -150 140 /* UG,E */+ -480 -480 -630 -890 -630 /* UG,A */+ -180 -430 -510 -430 -180 /* UG,C */+ 310 310 -630 -150 -630 /* UG,G */+ 140 -430 -140 -430 140 /* UG,U */+ 600 -230 600 -230 200 /* AU,E */+ 200 -390 200 -350 200 /* AU,A */+ 600 -230 600 -230 -30 /* AU,C */+ 200 -310 200 -350 200 /* AU,G */+ 460 -230 460 -230 -170 /* AU,U */+ 140 -380 -140 -430 140 /* UA,E */+ -400 -400 -630 -890 -630 /* UA,A */+ -180 -430 -510 -430 -180 /* UA,C */+ -380 -380 -630 -890 -630 /* UA,G */+ 140 -430 -140 -430 140 /* UA,U */+ 600 310 600 -150 200 /* NS,E */+ 200 -340 200 -350 200 /* NS,A */+ 600 -230 600 -230 -30 /* NS,C */+ 310 310 200 -150 200 /* NS,G */+ 460 -230 460 -230 160 /* NS,U */++# mismatch_exterior+ -80 -100 -110 -100 -80 /* CG,E */+ -140 -150 -150 -140 -150 /* CG,A */+ -80 -100 -110 -100 -80 /* CG,C */+ -140 -140 -150 -160 -150 /* CG,G */+ -100 -100 -140 -100 -120 /* CG,U */+ -50 -110 -70 -110 -50 /* GC,E */+ -110 -110 -150 -130 -150 /* GC,A */+ -50 -110 -70 -110 -50 /* GC,C */+ -140 -160 -150 -140 -150 /* GC,G */+ -70 -110 -100 -110 -70 /* GC,U */+ -30 -30 -70 -60 -60 /* GU,E */+ -30 -30 -100 -80 -100 /* GU,A */+ -60 -60 -70 -60 -70 /* GU,C */+ -60 -60 -100 -80 -100 /* GU,G */+ -60 -60 -80 -60 -60 /* GU,U */+ -50 -50 -60 -70 -50 /* UG,E */+ -80 -100 -80 -110 -80 /* UG,A */+ -50 -70 -60 -70 -50 /* UG,C */+ -50 -50 -80 -80 -80 /* UG,G */+ -50 -70 -60 -70 -50 /* UG,U */+ -60 -60 -70 -60 -70 /* AU,E */+ -80 -80 -100 -80 -100 /* AU,A */+ -60 -60 -70 -60 -70 /* AU,C */+ -80 -80 -100 -80 -100 /* AU,G */+ -60 -60 -80 -60 -80 /* AU,U */+ -50 -70 -60 -70 -50 /* UA,E */+ -80 -100 -80 -110 -80 /* UA,A */+ -50 -70 -60 -70 -50 /* UA,C */+ -80 -110 -80 -120 -80 /* UA,G */+ -50 -70 -60 -70 -50 /* UA,U */+ -30 -30 -60 -60 -50 /* NS,E */+ -30 -30 -80 -80 -80 /* NS,A */+ -50 -60 -60 -60 -50 /* NS,C */+ -50 -50 -80 -80 -80 /* NS,G */+ -50 -60 -60 -60 -50 /* NS,U */++# mismatch_exterior_enthalpies+ -270 -570 -340 -560 -270 /* CG,E */+ -560 -910 -560 -560 -560 /* CG,A */+ -270 -570 -340 -570 -270 /* CG,C */+ -560 -820 -560 -920 -560 /* CG,G */+ -530 -570 -530 -570 -860 /* CG,U */+ 50 -520 50 -560 -400 /* GC,E */+ -400 -520 -400 -560 -400 /* GC,A */+ 50 -720 50 -720 -420 /* GC,C */+ -400 -710 -400 -620 -400 /* GC,G */+ -30 -720 -30 -720 -500 /* GC,U */+ 600 -60 600 -230 200 /* GU,E */+ 200 -340 200 -350 200 /* GU,A */+ 600 -230 600 -230 -30 /* GU,C */+ 200 -60 200 -350 200 /* GU,G */+ 460 -230 460 -230 160 /* GU,U */+ 310 310 -140 -150 140 /* UG,E */+ -480 -480 -630 -890 -630 /* UG,A */+ -180 -430 -510 -430 -180 /* UG,C */+ 310 310 -630 -150 -630 /* UG,G */+ 140 -430 -140 -430 140 /* UG,U */+ 600 -230 600 -230 200 /* AU,E */+ 200 -390 200 -350 200 /* AU,A */+ 600 -230 600 -230 -30 /* AU,C */+ 200 -310 200 -350 200 /* AU,G */+ 460 -230 460 -230 -170 /* AU,U */+ 140 -380 -140 -430 140 /* UA,E */+ -400 -400 -630 -890 -630 /* UA,A */+ -180 -430 -510 -430 -180 /* UA,C */+ -380 -380 -630 -890 -630 /* UA,G */+ 140 -430 -140 -430 140 /* UA,U */+ 600 310 600 -150 200 /* NS,E */+ 200 -340 200 -350 200 /* NS,A */+ 600 -230 600 -230 -30 /* NS,C */+ 310 310 200 -150 200 /* NS,G */+ 460 -230 460 -230 160 /* NS,U */++# dangle5+ 0 -20 -30 0 0 /* CG */+ -10 -50 -30 -20 -10 /* GC */+ -10 -30 -10 -20 -20 /* GU */+ -20 -30 -30 -40 -20 /* UG */+ -10 -30 -10 -20 -20 /* AU */+ -20 -30 -30 -40 -20 /* UA */+ 0 -20 -10 0 0 /* NS */++# dangle5_enthalpies+ 70 -160 70 -460 -40 /* CG */+ 330 -240 330 80 -140 /* GC */+ 690 -50 690 60 60 /* GU */+ 310 160 220 70 310 /* UG */+ 690 -50 690 60 60 /* AU */+ 310 160 220 70 310 /* UA */+ 690 160 690 80 310 /* NS */++# dangle3+ -80 -170 -80 -170 -120 /* CG */+ -40 -110 -40 -130 -60 /* GC */+ -50 -80 -50 -80 -60 /* GU */+ -10 -70 -10 -70 -10 /* UG */+ -50 -80 -50 -80 -60 /* AU */+ -10 -70 -10 -70 -10 /* UA */+ -10 -70 -10 -70 -10 /* NS */++# dangle3_enthalpies+ -410 -900 -410 -860 -750 /* CG */+ -280 -740 -280 -640 -360 /* GC */+ -90 -490 -90 -550 -230 /* GU */+ -70 -570 -70 -580 -220 /* UG */+ -90 -490 -90 -550 -230 /* AU */+ -70 -570 -70 -580 -220 /* UA */+ -70 -490 -70 -550 -220 /* NS */++# int11+ 90 90 50 50 50 /* CG,CG,E */+ 90 90 50 50 50 /* CG,CG,A */+ 50 50 50 50 50 /* CG,CG,C */+ 50 50 50 -140 50 /* CG,CG,G */+ 50 50 50 50 40 /* CG,CG,U */+ 90 90 50 50 60 /* CG,GC,E */+ 90 90 -40 50 50 /* CG,GC,A */+ 60 30 50 50 60 /* CG,GC,C */+ 50 -10 50 -220 50 /* CG,GC,G */+ 50 50 0 50 -10 /* CG,GC,U */+ 120 120 120 120 120 /* CG,GU,E */+ 120 60 50 120 120 /* CG,GU,A */+ 120 120 120 120 120 /* CG,GU,C */+ 120 -20 120 -140 120 /* CG,GU,G */+ 120 120 100 120 110 /* CG,GU,U */+ 220 220 170 120 120 /* CG,UG,E */+ 220 220 130 120 120 /* CG,UG,A */+ 170 120 170 120 120 /* CG,UG,C */+ 120 120 120 -140 120 /* CG,UG,G */+ 120 120 120 120 110 /* CG,UG,U */+ 120 120 120 120 120 /* CG,AU,E */+ 120 120 120 120 120 /* CG,AU,A */+ 120 120 120 120 120 /* CG,AU,C */+ 120 120 120 -140 120 /* CG,AU,G */+ 120 120 120 120 80 /* CG,AU,U */+ 120 120 120 120 120 /* CG,UA,E */+ 120 120 120 120 120 /* CG,UA,A */+ 120 120 120 120 120 /* CG,UA,C */+ 120 120 120 -140 120 /* CG,UA,G */+ 120 120 120 120 120 /* CG,UA,U */+ 220 220 170 120 120 /* CG,NS,E */+ 220 220 130 120 120 /* CG,NS,A */+ 170 120 170 120 120 /* CG,NS,C */+ 120 120 120 -140 120 /* CG,NS,G */+ 120 120 120 120 120 /* CG,NS,U */+ 90 90 60 50 50 /* GC,CG,E */+ 90 90 30 -10 50 /* GC,CG,A */+ 50 -40 50 50 0 /* GC,CG,C */+ 50 50 50 -220 50 /* GC,CG,G */+ 60 50 60 50 -10 /* GC,CG,U */+ 80 80 50 50 50 /* GC,GC,E */+ 80 80 50 50 50 /* GC,GC,A */+ 50 50 50 50 50 /* GC,GC,C */+ 50 50 50 -230 50 /* GC,GC,G */+ 50 50 50 50 -60 /* GC,GC,U */+ 190 190 120 150 150 /* GC,GU,E */+ 190 190 120 150 120 /* GC,GU,A */+ 120 120 120 120 120 /* GC,GU,C */+ 120 120 120 -140 120 /* GC,GU,G */+ 150 120 120 120 150 /* GC,GU,U */+ 160 160 120 120 120 /* GC,UG,E */+ 160 160 120 100 120 /* GC,UG,A */+ 120 120 120 120 120 /* GC,UG,C */+ 120 120 120 -140 120 /* GC,UG,G */+ 120 120 120 120 70 /* GC,UG,U */+ 120 120 120 120 120 /* GC,AU,E */+ 120 120 120 120 120 /* GC,AU,A */+ 120 120 120 120 120 /* GC,AU,C */+ 120 120 120 -140 120 /* GC,AU,G */+ 120 120 120 120 80 /* GC,AU,U */+ 120 120 120 120 120 /* GC,UA,E */+ 120 120 120 120 120 /* GC,UA,A */+ 120 120 120 120 120 /* GC,UA,C */+ 120 120 120 -140 120 /* GC,UA,G */+ 120 120 120 120 120 /* GC,UA,U */+ 190 190 120 150 150 /* GC,NS,E */+ 190 190 120 150 120 /* GC,NS,A */+ 120 120 120 120 120 /* GC,NS,C */+ 120 120 120 -140 120 /* GC,NS,G */+ 150 120 120 120 150 /* GC,NS,U */+ 120 120 120 120 120 /* GU,CG,E */+ 120 60 120 -20 120 /* GU,CG,A */+ 120 50 120 120 100 /* GU,CG,C */+ 120 120 120 -140 120 /* GU,CG,G */+ 120 120 120 120 110 /* GU,CG,U */+ 190 190 120 120 150 /* GU,GC,E */+ 190 190 120 120 120 /* GU,GC,A */+ 120 120 120 120 120 /* GU,GC,C */+ 150 150 120 -140 120 /* GU,GC,G */+ 150 120 120 120 150 /* GU,GC,U */+ 190 190 190 190 190 /* GU,GU,E */+ 190 190 190 190 190 /* GU,GU,A */+ 190 190 190 190 190 /* GU,GU,C */+ 190 190 190 -70 190 /* GU,GU,G */+ 190 190 190 190 120 /* GU,GU,U */+ 190 190 190 190 190 /* GU,UG,E */+ 190 190 190 190 190 /* GU,UG,A */+ 190 190 190 190 190 /* GU,UG,C */+ 190 190 190 -70 190 /* GU,UG,G */+ 190 190 190 190 160 /* GU,UG,U */+ 190 190 190 190 190 /* GU,AU,E */+ 190 190 190 190 190 /* GU,AU,A */+ 190 190 190 190 190 /* GU,AU,C */+ 190 190 190 -70 190 /* GU,AU,G */+ 190 190 190 190 120 /* GU,AU,U */+ 190 190 190 190 190 /* GU,UA,E */+ 190 190 190 190 190 /* GU,UA,A */+ 190 190 190 190 190 /* GU,UA,C */+ 190 190 190 -70 190 /* GU,UA,G */+ 190 190 190 190 160 /* GU,UA,U */+ 190 190 190 190 190 /* GU,NS,E */+ 190 190 190 190 190 /* GU,NS,A */+ 190 190 190 190 190 /* GU,NS,C */+ 190 190 190 -70 190 /* GU,NS,G */+ 190 190 190 190 160 /* GU,NS,U */+ 220 220 170 120 120 /* UG,CG,E */+ 220 220 120 120 120 /* UG,CG,A */+ 170 130 170 120 120 /* UG,CG,C */+ 120 120 120 -140 120 /* UG,CG,G */+ 120 120 120 120 110 /* UG,CG,U */+ 160 160 120 120 120 /* UG,GC,E */+ 160 160 120 120 120 /* UG,GC,A */+ 120 120 120 120 120 /* UG,GC,C */+ 120 100 120 -140 120 /* UG,GC,G */+ 120 120 120 120 70 /* UG,GC,U */+ 190 190 190 190 190 /* UG,GU,E */+ 190 190 190 190 190 /* UG,GU,A */+ 190 190 190 190 190 /* UG,GU,C */+ 190 190 190 -70 190 /* UG,GU,G */+ 190 190 190 190 160 /* UG,GU,U */+ 190 190 190 190 190 /* UG,UG,E */+ 190 190 190 190 190 /* UG,UG,A */+ 190 190 190 190 190 /* UG,UG,C */+ 190 190 190 -70 190 /* UG,UG,G */+ 190 190 190 190 190 /* UG,UG,U */+ 190 190 190 190 190 /* UG,AU,E */+ 190 190 190 190 190 /* UG,AU,A */+ 190 190 190 190 190 /* UG,AU,C */+ 190 190 190 -70 190 /* UG,AU,G */+ 190 190 190 190 160 /* UG,AU,U */+ 190 190 190 190 190 /* UG,UA,E */+ 190 190 190 190 190 /* UG,UA,A */+ 190 190 190 190 190 /* UG,UA,C */+ 190 190 190 -70 190 /* UG,UA,G */+ 190 190 190 190 190 /* UG,UA,U */+ 220 220 190 190 190 /* UG,NS,E */+ 220 220 190 190 190 /* UG,NS,A */+ 190 190 190 190 190 /* UG,NS,C */+ 190 190 190 -70 190 /* UG,NS,G */+ 190 190 190 190 190 /* UG,NS,U */+ 120 120 120 120 120 /* AU,CG,E */+ 120 120 120 120 120 /* AU,CG,A */+ 120 120 120 120 120 /* AU,CG,C */+ 120 120 120 -140 120 /* AU,CG,G */+ 120 120 120 120 80 /* AU,CG,U */+ 120 120 120 120 120 /* AU,GC,E */+ 120 120 120 120 120 /* AU,GC,A */+ 120 120 120 120 120 /* AU,GC,C */+ 120 120 120 -140 120 /* AU,GC,G */+ 120 120 120 120 80 /* AU,GC,U */+ 190 190 190 190 190 /* AU,GU,E */+ 190 190 190 190 190 /* AU,GU,A */+ 190 190 190 190 190 /* AU,GU,C */+ 190 190 190 -70 190 /* AU,GU,G */+ 190 190 190 190 120 /* AU,GU,U */+ 190 190 190 190 190 /* AU,UG,E */+ 190 190 190 190 190 /* AU,UG,A */+ 190 190 190 190 190 /* AU,UG,C */+ 190 190 190 -70 190 /* AU,UG,G */+ 190 190 190 190 160 /* AU,UG,U */+ 190 190 190 190 190 /* AU,AU,E */+ 190 190 190 190 190 /* AU,AU,A */+ 190 190 190 190 190 /* AU,AU,C */+ 190 190 190 -70 190 /* AU,AU,G */+ 190 190 190 190 120 /* AU,AU,U */+ 190 190 190 190 190 /* AU,UA,E */+ 190 190 190 190 190 /* AU,UA,A */+ 190 190 190 190 190 /* AU,UA,C */+ 190 190 190 -70 190 /* AU,UA,G */+ 190 190 190 190 150 /* AU,UA,U */+ 190 190 190 190 190 /* AU,NS,E */+ 190 190 190 190 190 /* AU,NS,A */+ 190 190 190 190 190 /* AU,NS,C */+ 190 190 190 -70 190 /* AU,NS,G */+ 190 190 190 190 160 /* AU,NS,U */+ 120 120 120 120 120 /* UA,CG,E */+ 120 120 120 120 120 /* UA,CG,A */+ 120 120 120 120 120 /* UA,CG,C */+ 120 120 120 -140 120 /* UA,CG,G */+ 120 120 120 120 120 /* UA,CG,U */+ 120 120 120 120 120 /* UA,GC,E */+ 120 120 120 120 120 /* UA,GC,A */+ 120 120 120 120 120 /* UA,GC,C */+ 120 120 120 -140 120 /* UA,GC,G */+ 120 120 120 120 120 /* UA,GC,U */+ 190 190 190 190 190 /* UA,GU,E */+ 190 190 190 190 190 /* UA,GU,A */+ 190 190 190 190 190 /* UA,GU,C */+ 190 190 190 -70 190 /* UA,GU,G */+ 190 190 190 190 160 /* UA,GU,U */+ 190 190 190 190 190 /* UA,UG,E */+ 190 190 190 190 190 /* UA,UG,A */+ 190 190 190 190 190 /* UA,UG,C */+ 190 190 190 -70 190 /* UA,UG,G */+ 190 190 190 190 190 /* UA,UG,U */+ 190 190 190 190 190 /* UA,AU,E */+ 190 190 190 190 190 /* UA,AU,A */+ 190 190 190 190 190 /* UA,AU,C */+ 190 190 190 -70 190 /* UA,AU,G */+ 190 190 190 190 150 /* UA,AU,U */+ 190 190 190 190 190 /* UA,UA,E */+ 190 190 190 190 190 /* UA,UA,A */+ 190 190 190 190 190 /* UA,UA,C */+ 190 190 190 -70 190 /* UA,UA,G */+ 190 190 190 190 170 /* UA,UA,U */+ 190 190 190 190 190 /* UA,NS,E */+ 190 190 190 190 190 /* UA,NS,A */+ 190 190 190 190 190 /* UA,NS,C */+ 190 190 190 -70 190 /* UA,NS,G */+ 190 190 190 190 190 /* UA,NS,U */+ 220 220 170 120 120 /* NS,CG,E */+ 220 220 120 120 120 /* NS,CG,A */+ 170 130 170 120 120 /* NS,CG,C */+ 120 120 120 -140 120 /* NS,CG,G */+ 120 120 120 120 120 /* NS,CG,U */+ 190 190 120 120 150 /* NS,GC,E */+ 190 190 120 120 120 /* NS,GC,A */+ 120 120 120 120 120 /* NS,GC,C */+ 150 150 120 -140 120 /* NS,GC,G */+ 150 120 120 120 150 /* NS,GC,U */+ 190 190 190 190 190 /* NS,GU,E */+ 190 190 190 190 190 /* NS,GU,A */+ 190 190 190 190 190 /* NS,GU,C */+ 190 190 190 -70 190 /* NS,GU,G */+ 190 190 190 190 160 /* NS,GU,U */+ 220 220 190 190 190 /* NS,UG,E */+ 220 220 190 190 190 /* NS,UG,A */+ 190 190 190 190 190 /* NS,UG,C */+ 190 190 190 -70 190 /* NS,UG,G */+ 190 190 190 190 190 /* NS,UG,U */+ 190 190 190 190 190 /* NS,AU,E */+ 190 190 190 190 190 /* NS,AU,A */+ 190 190 190 190 190 /* NS,AU,C */+ 190 190 190 -70 190 /* NS,AU,G */+ 190 190 190 190 160 /* NS,AU,U */+ 190 190 190 190 190 /* NS,UA,E */+ 190 190 190 190 190 /* NS,UA,A */+ 190 190 190 190 190 /* NS,UA,C */+ 190 190 190 -70 190 /* NS,UA,G */+ 190 190 190 190 190 /* NS,UA,U */+ 220 220 190 190 190 /* NS,NS,E */+ 220 220 190 190 190 /* NS,NS,A */+ 190 190 190 190 190 /* NS,NS,C */+ 190 190 190 -70 190 /* NS,NS,G */+ 190 190 190 190 190 /* NS,NS,U */++# int11_enthalpies+ -1050 -1050 -1050 -1050 -1050 /* CG,CG,E */+ -1050 -1050 -1050 -1050 -1050 /* CG,CG,A */+ -1050 -1050 -1050 -1050 -1050 /* CG,CG,C */+ -1050 -1050 -1050 -1840 -1050 /* CG,CG,G */+ -1050 -1050 -1050 -1050 -1050 /* CG,CG,U */+ -1050 -1050 -1050 -1050 -1050 /* CG,GC,E */+ -1050 -1050 -1050 -1050 -1050 /* CG,GC,A */+ -1050 -1050 -1050 -1050 -1050 /* CG,GC,C */+ -1050 -1050 -1050 -1840 -1050 /* CG,GC,G */+ -1050 -1050 -1050 -1050 -1390 /* CG,GC,U */+ -550 -550 -550 -550 -550 /* CG,GU,E */+ -550 -550 -550 -550 -550 /* CG,GU,A */+ -550 -550 -550 -550 -550 /* CG,GU,C */+ -550 -550 -550 -1340 -550 /* CG,GU,G */+ -550 -550 -550 -550 -890 /* CG,GU,U */+ -550 -550 -550 -550 -550 /* CG,UG,E */+ -550 -550 -550 -550 -550 /* CG,UG,A */+ -550 -550 -550 -550 -550 /* CG,UG,C */+ -550 -550 -550 -1340 -550 /* CG,UG,G */+ -550 -550 -550 -550 -550 /* CG,UG,U */+ -550 -550 -550 -550 -550 /* CG,AU,E */+ -550 -550 -550 -550 -550 /* CG,AU,A */+ -550 -550 -550 -550 -550 /* CG,AU,C */+ -550 -550 -550 -1340 -550 /* CG,AU,G */+ -550 -550 -550 -550 -890 /* CG,AU,U */+ -550 -550 -550 -550 -550 /* CG,UA,E */+ -550 -550 -550 -550 -550 /* CG,UA,A */+ -550 -550 -550 -550 -550 /* CG,UA,C */+ -550 -550 -550 -1340 -550 /* CG,UA,G */+ -550 -550 -550 -550 -550 /* CG,UA,U */+ -550 -550 -550 -550 -550 /* CG,NS,E */+ -550 -550 -550 -550 -550 /* CG,NS,A */+ -550 -550 -550 -550 -550 /* CG,NS,C */+ -550 -550 -550 -1340 -550 /* CG,NS,G */+ -550 -550 -550 -550 -550 /* CG,NS,U */+ -1050 -1050 -1050 -1050 -1050 /* GC,CG,E */+ -1050 -1050 -1050 -1050 -1050 /* GC,CG,A */+ -1050 -1050 -1050 -1050 -1050 /* GC,CG,C */+ -1050 -1050 -1050 -1840 -1050 /* GC,CG,G */+ -1050 -1050 -1050 -1050 -1390 /* GC,CG,U */+ -1050 -1050 -1050 -1050 -1050 /* GC,GC,E */+ -1050 -1050 -1050 -1050 -1050 /* GC,GC,A */+ -1050 -1050 -1050 -1050 -1050 /* GC,GC,C */+ -1050 -1050 -1050 -1840 -1050 /* GC,GC,G */+ -1050 -1050 -1050 -1050 -1730 /* GC,GC,U */+ -550 -550 -550 -550 -550 /* GC,GU,E */+ -550 -550 -550 -550 -550 /* GC,GU,A */+ -550 -550 -550 -550 -550 /* GC,GU,C */+ -550 -550 -550 -1340 -550 /* GC,GU,G */+ -550 -550 -550 -550 -1230 /* GC,GU,U */+ -550 -550 -550 -550 -550 /* GC,UG,E */+ -550 -550 -550 -550 -550 /* GC,UG,A */+ -550 -550 -550 -550 -550 /* GC,UG,C */+ -550 -550 -550 -1340 -550 /* GC,UG,G */+ -550 -550 -550 -550 -890 /* GC,UG,U */+ -550 -550 -550 -550 -550 /* GC,AU,E */+ -550 -550 -550 -550 -550 /* GC,AU,A */+ -550 -550 -550 -550 -550 /* GC,AU,C */+ -550 -550 -550 -1340 -550 /* GC,AU,G */+ -550 -550 -550 -550 -1230 /* GC,AU,U */+ -550 -550 -550 -550 -550 /* GC,UA,E */+ -550 -550 -550 -550 -550 /* GC,UA,A */+ -550 -550 -550 -550 -550 /* GC,UA,C */+ -550 -550 -550 -1340 -550 /* GC,UA,G */+ -550 -550 -550 -550 -890 /* GC,UA,U */+ -550 -550 -550 -550 -550 /* GC,NS,E */+ -550 -550 -550 -550 -550 /* GC,NS,A */+ -550 -550 -550 -550 -550 /* GC,NS,C */+ -550 -550 -550 -1340 -550 /* GC,NS,G */+ -550 -550 -550 -550 -890 /* GC,NS,U */+ -550 -550 -550 -550 -550 /* GU,CG,E */+ -550 -550 -550 -550 -550 /* GU,CG,A */+ -550 -550 -550 -550 -550 /* GU,CG,C */+ -550 -550 -550 -1340 -550 /* GU,CG,G */+ -550 -550 -550 -550 -890 /* GU,CG,U */+ -550 -550 -550 -550 -550 /* GU,GC,E */+ -550 -550 -550 -550 -550 /* GU,GC,A */+ -550 -550 -550 -550 -550 /* GU,GC,C */+ -550 -550 -550 -1340 -550 /* GU,GC,G */+ -550 -550 -550 -550 -1230 /* GU,GC,U */+ -50 -50 -50 -50 -50 /* GU,GU,E */+ -50 -50 -50 -50 -50 /* GU,GU,A */+ -50 -50 -50 -50 -50 /* GU,GU,C */+ -50 -50 -50 -830 -50 /* GU,GU,G */+ -50 -50 -50 -50 -730 /* GU,GU,U */+ -50 -50 -50 -50 -50 /* GU,UG,E */+ -50 -50 -50 -50 -50 /* GU,UG,A */+ -50 -50 -50 -50 -50 /* GU,UG,C */+ -50 -50 -50 -830 -50 /* GU,UG,G */+ -50 -50 -50 -50 -390 /* GU,UG,U */+ -50 -50 -50 -50 -50 /* GU,AU,E */+ -50 -50 -50 -50 -50 /* GU,AU,A */+ -50 -50 -50 -50 -50 /* GU,AU,C */+ -50 -50 -50 -830 -50 /* GU,AU,G */+ -50 -50 -50 -50 -730 /* GU,AU,U */+ -50 -50 -50 -50 -50 /* GU,UA,E */+ -50 -50 -50 -50 -50 /* GU,UA,A */+ -50 -50 -50 -50 -50 /* GU,UA,C */+ -50 -50 -50 -830 -50 /* GU,UA,G */+ -50 -50 -50 -50 -390 /* GU,UA,U */+ -50 -50 -50 -50 -50 /* GU,NS,E */+ -50 -50 -50 -50 -50 /* GU,NS,A */+ -50 -50 -50 -50 -50 /* GU,NS,C */+ -50 -50 -50 -830 -50 /* GU,NS,G */+ -50 -50 -50 -50 -390 /* GU,NS,U */+ -550 -550 -550 -550 -550 /* UG,CG,E */+ -550 -550 -550 -550 -550 /* UG,CG,A */+ -550 -550 -550 -550 -550 /* UG,CG,C */+ -550 -550 -550 -1340 -550 /* UG,CG,G */+ -550 -550 -550 -550 -550 /* UG,CG,U */+ -550 -550 -550 -550 -550 /* UG,GC,E */+ -550 -550 -550 -550 -550 /* UG,GC,A */+ -550 -550 -550 -550 -550 /* UG,GC,C */+ -550 -550 -550 -1340 -550 /* UG,GC,G */+ -550 -550 -550 -550 -890 /* UG,GC,U */+ -50 -50 -50 -50 -50 /* UG,GU,E */+ -50 -50 -50 -50 -50 /* UG,GU,A */+ -50 -50 -50 -50 -50 /* UG,GU,C */+ -50 -50 -50 -830 -50 /* UG,GU,G */+ -50 -50 -50 -50 -390 /* UG,GU,U */+ -50 -50 -50 -50 -50 /* UG,UG,E */+ -50 -50 -50 -50 -50 /* UG,UG,A */+ -50 -50 -50 -50 -50 /* UG,UG,C */+ -50 -50 -50 -830 -50 /* UG,UG,G */+ -50 -50 -50 -50 -50 /* UG,UG,U */+ -50 -50 -50 -50 -50 /* UG,AU,E */+ -50 -50 -50 -50 -50 /* UG,AU,A */+ -50 -50 -50 -50 -50 /* UG,AU,C */+ -50 -50 -50 -830 -50 /* UG,AU,G */+ -50 -50 -50 -50 -390 /* UG,AU,U */+ -50 -50 -50 -50 -50 /* UG,UA,E */+ -50 -50 -50 -50 -50 /* UG,UA,A */+ -50 -50 -50 -50 -50 /* UG,UA,C */+ -50 -50 -50 -830 -50 /* UG,UA,G */+ -50 -50 -50 -50 -50 /* UG,UA,U */+ -50 -50 -50 -50 -50 /* UG,NS,E */+ -50 -50 -50 -50 -50 /* UG,NS,A */+ -50 -50 -50 -50 -50 /* UG,NS,C */+ -50 -50 -50 -830 -50 /* UG,NS,G */+ -50 -50 -50 -50 -50 /* UG,NS,U */+ -550 -550 -550 -550 -550 /* AU,CG,E */+ -550 -550 -550 -550 -550 /* AU,CG,A */+ -550 -550 -550 -550 -550 /* AU,CG,C */+ -550 -550 -550 -1340 -550 /* AU,CG,G */+ -550 -550 -550 -550 -890 /* AU,CG,U */+ -550 -550 -550 -550 -550 /* AU,GC,E */+ -550 -550 -550 -550 -550 /* AU,GC,A */+ -550 -550 -550 -550 -550 /* AU,GC,C */+ -550 -550 -550 -1340 -550 /* AU,GC,G */+ -550 -550 -550 -550 -1230 /* AU,GC,U */+ -50 -50 -50 -50 -50 /* AU,GU,E */+ -50 -50 -50 -50 -50 /* AU,GU,A */+ -50 -50 -50 -50 -50 /* AU,GU,C */+ -50 -50 -50 -830 -50 /* AU,GU,G */+ -50 -50 -50 -50 -730 /* AU,GU,U */+ -50 -50 -50 -50 -50 /* AU,UG,E */+ -50 -50 -50 -50 -50 /* AU,UG,A */+ -50 -50 -50 -50 -50 /* AU,UG,C */+ -50 -50 -50 -830 -50 /* AU,UG,G */+ -50 -50 -50 -50 -390 /* AU,UG,U */+ -50 -50 -50 -50 -50 /* AU,AU,E */+ -50 -50 -50 -50 -50 /* AU,AU,A */+ -50 -50 -50 -50 -50 /* AU,AU,C */+ -50 -50 -50 -830 -50 /* AU,AU,G */+ -50 -50 -50 -50 -730 /* AU,AU,U */+ -50 -50 -50 -50 -50 /* AU,UA,E */+ -50 -50 -50 -50 -50 /* AU,UA,A */+ -50 -50 -50 -50 -50 /* AU,UA,C */+ -50 -50 -50 -830 -50 /* AU,UA,G */+ -50 -50 -50 -50 -390 /* AU,UA,U */+ -50 -50 -50 -50 -50 /* AU,NS,E */+ -50 -50 -50 -50 -50 /* AU,NS,A */+ -50 -50 -50 -50 -50 /* AU,NS,C */+ -50 -50 -50 -830 -50 /* AU,NS,G */+ -50 -50 -50 -50 -390 /* AU,NS,U */+ -550 -550 -550 -550 -550 /* UA,CG,E */+ -550 -550 -550 -550 -550 /* UA,CG,A */+ -550 -550 -550 -550 -550 /* UA,CG,C */+ -550 -550 -550 -1340 -550 /* UA,CG,G */+ -550 -550 -550 -550 -550 /* UA,CG,U */+ -550 -550 -550 -550 -550 /* UA,GC,E */+ -550 -550 -550 -550 -550 /* UA,GC,A */+ -550 -550 -550 -550 -550 /* UA,GC,C */+ -550 -550 -550 -1340 -550 /* UA,GC,G */+ -550 -550 -550 -550 -890 /* UA,GC,U */+ -50 -50 -50 -50 -50 /* UA,GU,E */+ -50 -50 -50 -50 -50 /* UA,GU,A */+ -50 -50 -50 -50 -50 /* UA,GU,C */+ -50 -50 -50 -830 -50 /* UA,GU,G */+ -50 -50 -50 -50 -390 /* UA,GU,U */+ -50 -50 -50 -50 -50 /* UA,UG,E */+ -50 -50 -50 -50 -50 /* UA,UG,A */+ -50 -50 -50 -50 -50 /* UA,UG,C */+ -50 -50 -50 -830 -50 /* UA,UG,G */+ -50 -50 -50 -50 -50 /* UA,UG,U */+ -50 -50 -50 -50 -50 /* UA,AU,E */+ -50 -50 -50 -50 -50 /* UA,AU,A */+ -50 -50 -50 -50 -50 /* UA,AU,C */+ -50 -50 -50 -830 -50 /* UA,AU,G */+ -50 -50 -50 -50 -390 /* UA,AU,U */+ -50 -50 -50 -50 -50 /* UA,UA,E */+ -50 -50 -50 -50 -50 /* UA,UA,A */+ -50 -50 -50 -50 -50 /* UA,UA,C */+ -50 -50 -50 -830 -50 /* UA,UA,G */+ -50 -50 -50 -50 -50 /* UA,UA,U */+ -50 -50 -50 -50 -50 /* UA,NS,E */+ -50 -50 -50 -50 -50 /* UA,NS,A */+ -50 -50 -50 -50 -50 /* UA,NS,C */+ -50 -50 -50 -830 -50 /* UA,NS,G */+ -50 -50 -50 -50 -50 /* UA,NS,U */+ -550 -550 -550 -550 -550 /* NS,CG,E */+ -550 -550 -550 -550 -550 /* NS,CG,A */+ -550 -550 -550 -550 -550 /* NS,CG,C */+ -550 -550 -550 -1340 -550 /* NS,CG,G */+ -550 -550 -550 -550 -550 /* NS,CG,U */+ -550 -550 -550 -550 -550 /* NS,GC,E */+ -550 -550 -550 -550 -550 /* NS,GC,A */+ -550 -550 -550 -550 -550 /* NS,GC,C */+ -550 -550 -550 -1340 -550 /* NS,GC,G */+ -550 -550 -550 -550 -890 /* NS,GC,U */+ -50 -50 -50 -50 -50 /* NS,GU,E */+ -50 -50 -50 -50 -50 /* NS,GU,A */+ -50 -50 -50 -50 -50 /* NS,GU,C */+ -50 -50 -50 -830 -50 /* NS,GU,G */+ -50 -50 -50 -50 -390 /* NS,GU,U */+ -50 -50 -50 -50 -50 /* NS,UG,E */+ -50 -50 -50 -50 -50 /* NS,UG,A */+ -50 -50 -50 -50 -50 /* NS,UG,C */+ -50 -50 -50 -830 -50 /* NS,UG,G */+ -50 -50 -50 -50 -50 /* NS,UG,U */+ -50 -50 -50 -50 -50 /* NS,AU,E */+ -50 -50 -50 -50 -50 /* NS,AU,A */+ -50 -50 -50 -50 -50 /* NS,AU,C */+ -50 -50 -50 -830 -50 /* NS,AU,G */+ -50 -50 -50 -50 -390 /* NS,AU,U */+ -50 -50 -50 -50 -50 /* NS,UA,E */+ -50 -50 -50 -50 -50 /* NS,UA,A */+ -50 -50 -50 -50 -50 /* NS,UA,C */+ -50 -50 -50 -830 -50 /* NS,UA,G */+ -50 -50 -50 -50 -50 /* NS,UA,U */+ -50 -50 -50 -50 -50 /* NS,NS,E */+ -50 -50 -50 -50 -50 /* NS,NS,A */+ -50 -50 -50 -50 -50 /* NS,NS,C */+ -50 -50 -50 -830 -50 /* NS,NS,G */+ -50 -50 -50 -50 -50 /* NS,NS,U */++# int21+ 230 230 230 230 230 /* CG,CG,E,E */+ 230 230 230 230 230 /* CG,CG,E,A */+ 230 230 230 230 230 /* CG,CG,E,C */+ 230 230 230 230 230 /* CG,CG,E,G */+ 230 230 230 230 230 /* CG,CG,E,U */+ 230 230 230 110 230 /* CG,CG,A,E */+ 230 230 230 110 230 /* CG,CG,A,A */+ 230 230 230 110 230 /* CG,CG,A,C */+ 110 110 110 110 110 /* CG,CG,A,G */+ 230 230 230 110 230 /* CG,CG,A,U */+ 230 230 230 230 230 /* CG,CG,C,E */+ 230 230 230 230 230 /* CG,CG,C,A */+ 230 230 230 230 230 /* CG,CG,C,C */+ 230 230 230 230 230 /* CG,CG,C,G */+ 230 230 230 230 230 /* CG,CG,C,U */+ 230 110 230 110 230 /* CG,CG,G,E */+ 110 110 110 110 110 /* CG,CG,G,A */+ 230 110 230 110 230 /* CG,CG,G,C */+ 110 110 110 110 110 /* CG,CG,G,G */+ 230 110 230 110 230 /* CG,CG,G,U */+ 230 230 230 230 150 /* CG,CG,U,E */+ 230 230 230 230 150 /* CG,CG,U,A */+ 230 230 230 230 150 /* CG,CG,U,C */+ 230 230 230 230 150 /* CG,CG,U,G */+ 150 150 150 150 150 /* CG,CG,U,U */+ 250 250 250 230 230 /* CG,GC,E,E */+ 250 250 230 230 230 /* CG,GC,E,A */+ 250 230 250 230 230 /* CG,GC,E,C */+ 230 230 230 230 230 /* CG,GC,E,G */+ 250 250 230 230 230 /* CG,GC,E,U */+ 250 250 230 110 230 /* CG,GC,A,E */+ 250 250 230 110 230 /* CG,GC,A,A */+ 230 230 170 110 230 /* CG,GC,A,C */+ 110 80 110 110 110 /* CG,GC,A,G */+ 230 230 230 110 230 /* CG,GC,A,U */+ 250 250 250 230 230 /* CG,GC,C,E */+ 230 230 230 230 230 /* CG,GC,C,A */+ 250 230 250 230 230 /* CG,GC,C,C */+ 230 230 230 230 230 /* CG,GC,C,G */+ 250 250 230 230 230 /* CG,GC,C,U */+ 230 170 230 110 230 /* CG,GC,G,E */+ 230 170 230 80 230 /* CG,GC,G,A */+ 230 110 230 110 230 /* CG,GC,G,C */+ 120 120 110 110 110 /* CG,GC,G,G */+ 230 110 230 110 230 /* CG,GC,G,U */+ 230 230 230 230 150 /* CG,GC,U,E */+ 230 230 230 230 150 /* CG,GC,U,A */+ 230 230 220 230 150 /* CG,GC,U,C */+ 230 230 230 230 150 /* CG,GC,U,G */+ 170 150 170 150 140 /* CG,GC,U,U */+ 300 300 300 300 300 /* CG,GU,E,E */+ 300 300 300 300 300 /* CG,GU,E,A */+ 300 300 300 300 300 /* CG,GU,E,C */+ 300 300 300 300 300 /* CG,GU,E,G */+ 300 300 300 300 300 /* CG,GU,E,U */+ 300 300 300 190 300 /* CG,GU,A,E */+ 300 300 300 190 300 /* CG,GU,A,A */+ 300 300 300 190 300 /* CG,GU,A,C */+ 190 190 190 190 190 /* CG,GU,A,G */+ 300 300 300 190 300 /* CG,GU,A,U */+ 300 300 300 300 300 /* CG,GU,C,E */+ 300 300 300 300 300 /* CG,GU,C,A */+ 300 300 300 300 300 /* CG,GU,C,C */+ 300 300 300 300 300 /* CG,GU,C,G */+ 300 300 300 300 300 /* CG,GU,C,U */+ 300 190 300 190 300 /* CG,GU,G,E */+ 300 190 300 190 300 /* CG,GU,G,A */+ 300 190 300 190 300 /* CG,GU,G,C */+ 190 190 190 190 190 /* CG,GU,G,G */+ 300 190 300 190 300 /* CG,GU,G,U */+ 300 300 300 300 220 /* CG,GU,U,E */+ 300 300 300 300 220 /* CG,GU,U,A */+ 300 300 300 300 220 /* CG,GU,U,C */+ 300 300 300 300 220 /* CG,GU,U,G */+ 220 220 220 220 220 /* CG,GU,U,U */+ 300 300 300 300 300 /* CG,UG,E,E */+ 300 300 300 300 300 /* CG,UG,E,A */+ 300 300 300 300 300 /* CG,UG,E,C */+ 300 300 300 300 300 /* CG,UG,E,G */+ 300 300 300 300 300 /* CG,UG,E,U */+ 300 300 300 190 300 /* CG,UG,A,E */+ 300 300 300 190 300 /* CG,UG,A,A */+ 300 300 300 190 300 /* CG,UG,A,C */+ 190 190 190 190 190 /* CG,UG,A,G */+ 300 300 300 190 300 /* CG,UG,A,U */+ 300 300 300 300 300 /* CG,UG,C,E */+ 300 300 300 300 300 /* CG,UG,C,A */+ 300 300 300 300 300 /* CG,UG,C,C */+ 300 300 300 300 300 /* CG,UG,C,G */+ 300 300 300 300 300 /* CG,UG,C,U */+ 300 190 300 190 300 /* CG,UG,G,E */+ 190 190 190 190 190 /* CG,UG,G,A */+ 300 190 300 190 300 /* CG,UG,G,C */+ 190 190 190 190 190 /* CG,UG,G,G */+ 300 190 300 190 300 /* CG,UG,G,U */+ 300 300 300 300 220 /* CG,UG,U,E */+ 300 300 300 300 220 /* CG,UG,U,A */+ 300 300 300 300 220 /* CG,UG,U,C */+ 300 300 300 300 220 /* CG,UG,U,G */+ 220 220 220 220 220 /* CG,UG,U,U */+ 300 300 300 300 300 /* CG,AU,E,E */+ 300 300 300 300 300 /* CG,AU,E,A */+ 300 300 300 300 300 /* CG,AU,E,C */+ 300 300 300 300 300 /* CG,AU,E,G */+ 300 300 300 300 300 /* CG,AU,E,U */+ 300 300 300 190 300 /* CG,AU,A,E */+ 300 300 300 190 300 /* CG,AU,A,A */+ 300 300 300 190 300 /* CG,AU,A,C */+ 190 190 190 190 190 /* CG,AU,A,G */+ 300 300 300 190 300 /* CG,AU,A,U */+ 300 300 300 300 300 /* CG,AU,C,E */+ 300 300 300 300 300 /* CG,AU,C,A */+ 300 300 300 300 300 /* CG,AU,C,C */+ 300 300 300 300 300 /* CG,AU,C,G */+ 300 300 300 300 300 /* CG,AU,C,U */+ 300 190 300 190 300 /* CG,AU,G,E */+ 300 190 300 190 300 /* CG,AU,G,A */+ 300 190 300 190 300 /* CG,AU,G,C */+ 190 190 190 190 190 /* CG,AU,G,G */+ 300 190 300 190 300 /* CG,AU,G,U */+ 300 300 300 300 220 /* CG,AU,U,E */+ 300 300 300 300 220 /* CG,AU,U,A */+ 300 300 300 300 220 /* CG,AU,U,C */+ 300 300 300 300 220 /* CG,AU,U,G */+ 220 220 220 220 220 /* CG,AU,U,U */+ 300 300 300 300 300 /* CG,UA,E,E */+ 300 300 300 300 300 /* CG,UA,E,A */+ 300 300 300 300 300 /* CG,UA,E,C */+ 300 300 300 300 300 /* CG,UA,E,G */+ 300 300 300 300 300 /* CG,UA,E,U */+ 300 300 300 190 300 /* CG,UA,A,E */+ 300 300 300 190 300 /* CG,UA,A,A */+ 300 300 300 190 300 /* CG,UA,A,C */+ 190 190 190 190 190 /* CG,UA,A,G */+ 300 300 300 190 300 /* CG,UA,A,U */+ 300 300 300 300 300 /* CG,UA,C,E */+ 300 300 300 300 300 /* CG,UA,C,A */+ 300 300 300 300 300 /* CG,UA,C,C */+ 300 300 300 300 300 /* CG,UA,C,G */+ 300 300 300 300 300 /* CG,UA,C,U */+ 300 190 300 190 300 /* CG,UA,G,E */+ 190 190 190 190 190 /* CG,UA,G,A */+ 300 190 300 190 300 /* CG,UA,G,C */+ 190 190 190 190 190 /* CG,UA,G,G */+ 300 190 300 190 300 /* CG,UA,G,U */+ 300 300 300 300 220 /* CG,UA,U,E */+ 300 300 300 300 220 /* CG,UA,U,A */+ 300 300 300 300 220 /* CG,UA,U,C */+ 300 300 300 300 220 /* CG,UA,U,G */+ 220 220 220 220 220 /* CG,UA,U,U */+ 300 300 300 300 300 /* CG,NS,E,E */+ 300 300 300 300 300 /* CG,NS,E,A */+ 300 300 300 300 300 /* CG,NS,E,C */+ 300 300 300 300 300 /* CG,NS,E,G */+ 300 300 300 300 300 /* CG,NS,E,U */+ 300 300 300 190 300 /* CG,NS,A,E */+ 300 300 300 190 300 /* CG,NS,A,A */+ 300 300 300 190 300 /* CG,NS,A,C */+ 190 190 190 190 190 /* CG,NS,A,G */+ 300 300 300 190 300 /* CG,NS,A,U */+ 300 300 300 300 300 /* CG,NS,C,E */+ 300 300 300 300 300 /* CG,NS,C,A */+ 300 300 300 300 300 /* CG,NS,C,C */+ 300 300 300 300 300 /* CG,NS,C,G */+ 300 300 300 300 300 /* CG,NS,C,U */+ 300 190 300 190 300 /* CG,NS,G,E */+ 300 190 300 190 300 /* CG,NS,G,A */+ 300 190 300 190 300 /* CG,NS,G,C */+ 190 190 190 190 190 /* CG,NS,G,G */+ 300 190 300 190 300 /* CG,NS,G,U */+ 300 300 300 300 220 /* CG,NS,U,E */+ 300 300 300 300 220 /* CG,NS,U,A */+ 300 300 300 300 220 /* CG,NS,U,C */+ 300 300 300 300 220 /* CG,NS,U,G */+ 220 220 220 220 220 /* CG,NS,U,U */+ 250 250 230 230 230 /* GC,CG,E,E */+ 250 250 230 230 230 /* GC,CG,E,A */+ 230 230 230 230 230 /* GC,CG,E,C */+ 230 230 230 230 230 /* GC,CG,E,G */+ 230 230 230 230 230 /* GC,CG,E,U */+ 250 250 230 230 230 /* GC,CG,A,E */+ 250 250 230 210 230 /* GC,CG,A,A */+ 230 230 230 230 230 /* GC,CG,A,C */+ 120 120 110 110 110 /* GC,CG,A,G */+ 230 230 230 230 230 /* GC,CG,A,U */+ 230 230 230 230 230 /* GC,CG,C,E */+ 230 230 230 230 230 /* GC,CG,C,A */+ 230 230 230 230 230 /* GC,CG,C,C */+ 230 230 230 230 230 /* GC,CG,C,G */+ 230 230 190 230 230 /* GC,CG,C,U */+ 230 110 230 110 230 /* GC,CG,G,E */+ 110 110 110 110 110 /* GC,CG,G,A */+ 230 110 230 110 230 /* GC,CG,G,C */+ 110 110 110 110 110 /* GC,CG,G,G */+ 230 110 230 110 230 /* GC,CG,G,U */+ 230 230 230 230 150 /* GC,CG,U,E */+ 230 230 230 230 150 /* GC,CG,U,A */+ 230 230 230 230 150 /* GC,CG,U,C */+ 230 230 230 230 150 /* GC,CG,U,G */+ 150 150 150 150 150 /* GC,CG,U,U */+ 230 230 230 230 230 /* GC,GC,E,E */+ 230 230 230 230 230 /* GC,GC,E,A */+ 230 230 230 230 230 /* GC,GC,E,C */+ 230 230 230 230 230 /* GC,GC,E,G */+ 230 230 230 230 230 /* GC,GC,E,U */+ 230 230 230 230 230 /* GC,GC,A,E */+ 230 230 230 230 230 /* GC,GC,A,A */+ 230 230 230 230 230 /* GC,GC,A,C */+ 110 110 110 110 110 /* GC,GC,A,G */+ 230 230 230 230 230 /* GC,GC,A,U */+ 230 230 230 230 230 /* GC,GC,C,E */+ 230 230 230 230 230 /* GC,GC,C,A */+ 230 230 230 230 230 /* GC,GC,C,C */+ 230 230 230 230 230 /* GC,GC,C,G */+ 230 230 230 230 230 /* GC,GC,C,U */+ 230 110 230 110 230 /* GC,GC,G,E */+ 230 110 230 110 230 /* GC,GC,G,A */+ 230 110 230 110 230 /* GC,GC,G,C */+ 110 110 110 110 110 /* GC,GC,G,G */+ 230 110 230 110 230 /* GC,GC,G,U */+ 230 230 230 230 150 /* GC,GC,U,E */+ 230 230 230 230 150 /* GC,GC,U,A */+ 230 230 230 230 150 /* GC,GC,U,C */+ 230 230 230 230 150 /* GC,GC,U,G */+ 150 150 150 150 150 /* GC,GC,U,U */+ 300 300 300 300 300 /* GC,GU,E,E */+ 300 300 300 300 300 /* GC,GU,E,A */+ 300 300 300 300 300 /* GC,GU,E,C */+ 300 300 300 300 300 /* GC,GU,E,G */+ 300 300 300 300 300 /* GC,GU,E,U */+ 300 300 300 300 300 /* GC,GU,A,E */+ 300 300 300 300 300 /* GC,GU,A,A */+ 300 300 300 300 300 /* GC,GU,A,C */+ 190 190 190 190 190 /* GC,GU,A,G */+ 300 300 300 300 300 /* GC,GU,A,U */+ 300 300 300 300 300 /* GC,GU,C,E */+ 300 300 300 300 300 /* GC,GU,C,A */+ 300 300 300 300 300 /* GC,GU,C,C */+ 300 300 300 300 300 /* GC,GU,C,G */+ 300 300 300 300 300 /* GC,GU,C,U */+ 300 190 300 190 300 /* GC,GU,G,E */+ 300 190 300 190 300 /* GC,GU,G,A */+ 300 190 300 190 300 /* GC,GU,G,C */+ 190 190 190 190 190 /* GC,GU,G,G */+ 300 190 300 190 300 /* GC,GU,G,U */+ 300 300 300 300 220 /* GC,GU,U,E */+ 300 300 300 300 220 /* GC,GU,U,A */+ 300 300 300 300 220 /* GC,GU,U,C */+ 300 300 300 300 220 /* GC,GU,U,G */+ 220 220 220 220 220 /* GC,GU,U,U */+ 300 300 300 300 300 /* GC,UG,E,E */+ 300 300 300 300 300 /* GC,UG,E,A */+ 300 300 300 300 300 /* GC,UG,E,C */+ 300 300 300 300 300 /* GC,UG,E,G */+ 300 300 300 300 300 /* GC,UG,E,U */+ 300 300 300 300 300 /* GC,UG,A,E */+ 300 250 300 210 300 /* GC,UG,A,A */+ 300 300 300 300 300 /* GC,UG,A,C */+ 190 120 190 190 190 /* GC,UG,A,G */+ 300 300 300 300 300 /* GC,UG,A,U */+ 300 300 300 300 300 /* GC,UG,C,E */+ 300 300 300 300 300 /* GC,UG,C,A */+ 300 300 300 300 300 /* GC,UG,C,C */+ 300 300 300 300 300 /* GC,UG,C,G */+ 300 300 190 300 300 /* GC,UG,C,U */+ 300 190 300 190 300 /* GC,UG,G,E */+ 190 190 190 190 190 /* GC,UG,G,A */+ 300 190 300 190 300 /* GC,UG,G,C */+ 190 190 190 190 190 /* GC,UG,G,G */+ 300 190 300 190 300 /* GC,UG,G,U */+ 300 300 300 300 220 /* GC,UG,U,E */+ 300 300 300 300 220 /* GC,UG,U,A */+ 300 300 300 300 220 /* GC,UG,U,C */+ 300 300 300 300 220 /* GC,UG,U,G */+ 220 220 220 220 220 /* GC,UG,U,U */+ 300 300 300 300 300 /* GC,AU,E,E */+ 300 300 300 300 300 /* GC,AU,E,A */+ 300 300 300 300 300 /* GC,AU,E,C */+ 300 300 300 300 300 /* GC,AU,E,G */+ 300 300 300 300 300 /* GC,AU,E,U */+ 300 300 300 300 300 /* GC,AU,A,E */+ 300 300 300 300 300 /* GC,AU,A,A */+ 300 300 300 300 300 /* GC,AU,A,C */+ 190 190 190 190 190 /* GC,AU,A,G */+ 300 300 300 300 300 /* GC,AU,A,U */+ 300 300 300 300 300 /* GC,AU,C,E */+ 300 300 300 300 300 /* GC,AU,C,A */+ 300 300 300 300 300 /* GC,AU,C,C */+ 300 300 300 300 300 /* GC,AU,C,G */+ 300 300 300 300 300 /* GC,AU,C,U */+ 300 190 300 190 300 /* GC,AU,G,E */+ 300 190 300 190 300 /* GC,AU,G,A */+ 300 190 300 190 300 /* GC,AU,G,C */+ 190 190 190 190 190 /* GC,AU,G,G */+ 300 190 300 190 300 /* GC,AU,G,U */+ 300 300 300 300 220 /* GC,AU,U,E */+ 300 300 300 300 220 /* GC,AU,U,A */+ 300 300 300 300 220 /* GC,AU,U,C */+ 300 300 300 300 220 /* GC,AU,U,G */+ 220 220 220 220 220 /* GC,AU,U,U */+ 300 300 300 300 300 /* GC,UA,E,E */+ 300 300 300 300 300 /* GC,UA,E,A */+ 300 300 300 300 300 /* GC,UA,E,C */+ 300 300 300 300 300 /* GC,UA,E,G */+ 300 300 300 300 300 /* GC,UA,E,U */+ 300 300 300 300 300 /* GC,UA,A,E */+ 300 300 300 300 300 /* GC,UA,A,A */+ 300 300 300 300 300 /* GC,UA,A,C */+ 190 190 190 190 190 /* GC,UA,A,G */+ 300 300 300 300 300 /* GC,UA,A,U */+ 300 300 300 300 300 /* GC,UA,C,E */+ 300 300 300 300 300 /* GC,UA,C,A */+ 300 300 300 300 300 /* GC,UA,C,C */+ 300 300 300 300 300 /* GC,UA,C,G */+ 300 300 300 300 300 /* GC,UA,C,U */+ 300 190 300 190 300 /* GC,UA,G,E */+ 190 190 190 190 190 /* GC,UA,G,A */+ 300 190 300 190 300 /* GC,UA,G,C */+ 190 190 190 190 190 /* GC,UA,G,G */+ 300 190 300 190 300 /* GC,UA,G,U */+ 300 300 300 300 220 /* GC,UA,U,E */+ 300 300 300 300 220 /* GC,UA,U,A */+ 300 300 300 300 220 /* GC,UA,U,C */+ 300 300 300 300 220 /* GC,UA,U,G */+ 220 220 220 220 220 /* GC,UA,U,U */+ 300 300 300 300 300 /* GC,NS,E,E */+ 300 300 300 300 300 /* GC,NS,E,A */+ 300 300 300 300 300 /* GC,NS,E,C */+ 300 300 300 300 300 /* GC,NS,E,G */+ 300 300 300 300 300 /* GC,NS,E,U */+ 300 300 300 300 300 /* GC,NS,A,E */+ 300 300 300 300 300 /* GC,NS,A,A */+ 300 300 300 300 300 /* GC,NS,A,C */+ 190 190 190 190 190 /* GC,NS,A,G */+ 300 300 300 300 300 /* GC,NS,A,U */+ 300 300 300 300 300 /* GC,NS,C,E */+ 300 300 300 300 300 /* GC,NS,C,A */+ 300 300 300 300 300 /* GC,NS,C,C */+ 300 300 300 300 300 /* GC,NS,C,G */+ 300 300 300 300 300 /* GC,NS,C,U */+ 300 190 300 190 300 /* GC,NS,G,E */+ 300 190 300 190 300 /* GC,NS,G,A */+ 300 190 300 190 300 /* GC,NS,G,C */+ 190 190 190 190 190 /* GC,NS,G,G */+ 300 190 300 190 300 /* GC,NS,G,U */+ 300 300 300 300 220 /* GC,NS,U,E */+ 300 300 300 300 220 /* GC,NS,U,A */+ 300 300 300 300 220 /* GC,NS,U,C */+ 300 300 300 300 220 /* GC,NS,U,G */+ 220 220 220 220 220 /* GC,NS,U,U */+ 300 300 300 300 300 /* GU,CG,E,E */+ 300 300 300 300 300 /* GU,CG,E,A */+ 300 300 300 300 300 /* GU,CG,E,C */+ 300 300 300 300 300 /* GU,CG,E,G */+ 300 300 300 300 300 /* GU,CG,E,U */+ 300 300 300 300 300 /* GU,CG,A,E */+ 300 250 300 210 300 /* GU,CG,A,A */+ 300 300 300 300 300 /* GU,CG,A,C */+ 190 120 190 190 190 /* GU,CG,A,G */+ 300 300 300 300 300 /* GU,CG,A,U */+ 300 300 300 300 300 /* GU,CG,C,E */+ 300 300 300 300 300 /* GU,CG,C,A */+ 300 300 300 300 300 /* GU,CG,C,C */+ 300 300 300 300 300 /* GU,CG,C,G */+ 300 300 190 300 300 /* GU,CG,C,U */+ 300 190 300 190 300 /* GU,CG,G,E */+ 190 190 190 190 190 /* GU,CG,G,A */+ 300 190 300 190 300 /* GU,CG,G,C */+ 190 190 190 190 190 /* GU,CG,G,G */+ 300 190 300 190 300 /* GU,CG,G,U */+ 300 300 300 300 220 /* GU,CG,U,E */+ 300 300 300 300 220 /* GU,CG,U,A */+ 300 300 300 300 220 /* GU,CG,U,C */+ 300 300 300 300 220 /* GU,CG,U,G */+ 220 220 220 220 220 /* GU,CG,U,U */+ 300 300 300 300 300 /* GU,GC,E,E */+ 300 300 300 300 300 /* GU,GC,E,A */+ 300 300 300 300 300 /* GU,GC,E,C */+ 300 300 300 300 300 /* GU,GC,E,G */+ 300 300 300 300 300 /* GU,GC,E,U */+ 300 300 300 300 300 /* GU,GC,A,E */+ 300 300 300 300 300 /* GU,GC,A,A */+ 300 300 300 300 300 /* GU,GC,A,C */+ 190 190 190 190 190 /* GU,GC,A,G */+ 300 300 300 300 300 /* GU,GC,A,U */+ 300 300 300 300 300 /* GU,GC,C,E */+ 300 300 300 300 300 /* GU,GC,C,A */+ 300 300 300 300 300 /* GU,GC,C,C */+ 300 300 300 300 300 /* GU,GC,C,G */+ 300 300 300 300 300 /* GU,GC,C,U */+ 300 190 300 190 300 /* GU,GC,G,E */+ 300 190 300 190 300 /* GU,GC,G,A */+ 300 190 300 190 300 /* GU,GC,G,C */+ 190 190 190 190 190 /* GU,GC,G,G */+ 300 190 300 190 300 /* GU,GC,G,U */+ 300 300 300 300 220 /* GU,GC,U,E */+ 300 300 300 300 220 /* GU,GC,U,A */+ 300 300 300 300 220 /* GU,GC,U,C */+ 300 300 300 300 220 /* GU,GC,U,G */+ 220 220 220 220 220 /* GU,GC,U,U */+ 370 370 370 370 370 /* GU,GU,E,E */+ 370 370 370 370 370 /* GU,GU,E,A */+ 370 370 370 370 370 /* GU,GU,E,C */+ 370 370 370 370 370 /* GU,GU,E,G */+ 370 370 370 370 370 /* GU,GU,E,U */+ 370 370 370 370 370 /* GU,GU,A,E */+ 370 370 370 370 370 /* GU,GU,A,A */+ 370 370 370 370 370 /* GU,GU,A,C */+ 260 260 260 260 260 /* GU,GU,A,G */+ 370 370 370 370 370 /* GU,GU,A,U */+ 370 370 370 370 370 /* GU,GU,C,E */+ 370 370 370 370 370 /* GU,GU,C,A */+ 370 370 370 370 370 /* GU,GU,C,C */+ 370 370 370 370 370 /* GU,GU,C,G */+ 370 370 370 370 370 /* GU,GU,C,U */+ 370 260 370 260 370 /* GU,GU,G,E */+ 370 260 370 260 370 /* GU,GU,G,A */+ 370 260 370 260 370 /* GU,GU,G,C */+ 260 260 260 260 260 /* GU,GU,G,G */+ 370 260 370 260 370 /* GU,GU,G,U */+ 370 370 370 370 300 /* GU,GU,U,E */+ 370 370 370 370 300 /* GU,GU,U,A */+ 370 370 370 370 300 /* GU,GU,U,C */+ 370 370 370 370 300 /* GU,GU,U,G */+ 300 300 300 300 300 /* GU,GU,U,U */+ 370 370 370 370 370 /* GU,UG,E,E */+ 370 370 370 370 370 /* GU,UG,E,A */+ 370 370 370 370 370 /* GU,UG,E,C */+ 370 370 370 370 370 /* GU,UG,E,G */+ 370 370 370 370 370 /* GU,UG,E,U */+ 370 370 370 370 370 /* GU,UG,A,E */+ 370 250 370 210 370 /* GU,UG,A,A */+ 370 370 370 370 370 /* GU,UG,A,C */+ 260 120 260 260 260 /* GU,UG,A,G */+ 370 370 370 370 370 /* GU,UG,A,U */+ 370 370 370 370 370 /* GU,UG,C,E */+ 370 370 370 370 370 /* GU,UG,C,A */+ 370 370 370 370 370 /* GU,UG,C,C */+ 370 370 370 370 370 /* GU,UG,C,G */+ 370 370 190 370 370 /* GU,UG,C,U */+ 370 260 370 260 370 /* GU,UG,G,E */+ 260 260 260 260 260 /* GU,UG,G,A */+ 370 260 370 260 370 /* GU,UG,G,C */+ 260 260 260 260 260 /* GU,UG,G,G */+ 370 260 370 260 370 /* GU,UG,G,U */+ 370 370 370 370 300 /* GU,UG,U,E */+ 370 370 370 370 300 /* GU,UG,U,A */+ 370 370 370 370 300 /* GU,UG,U,C */+ 370 370 370 370 300 /* GU,UG,U,G */+ 300 300 300 300 300 /* GU,UG,U,U */+ 370 370 370 370 370 /* GU,AU,E,E */+ 370 370 370 370 370 /* GU,AU,E,A */+ 370 370 370 370 370 /* GU,AU,E,C */+ 370 370 370 370 370 /* GU,AU,E,G */+ 370 370 370 370 370 /* GU,AU,E,U */+ 370 370 370 370 370 /* GU,AU,A,E */+ 370 370 370 370 370 /* GU,AU,A,A */+ 370 370 370 370 370 /* GU,AU,A,C */+ 260 260 260 260 260 /* GU,AU,A,G */+ 370 370 370 370 370 /* GU,AU,A,U */+ 370 370 370 370 370 /* GU,AU,C,E */+ 370 370 370 370 370 /* GU,AU,C,A */+ 370 370 370 370 370 /* GU,AU,C,C */+ 370 370 370 370 370 /* GU,AU,C,G */+ 370 370 370 370 370 /* GU,AU,C,U */+ 370 260 370 260 370 /* GU,AU,G,E */+ 370 260 370 260 370 /* GU,AU,G,A */+ 370 260 370 260 370 /* GU,AU,G,C */+ 260 260 260 260 260 /* GU,AU,G,G */+ 370 260 370 260 370 /* GU,AU,G,U */+ 370 370 370 370 300 /* GU,AU,U,E */+ 370 370 370 370 300 /* GU,AU,U,A */+ 370 370 370 370 300 /* GU,AU,U,C */+ 370 370 370 370 300 /* GU,AU,U,G */+ 300 300 300 300 300 /* GU,AU,U,U */+ 370 370 370 370 370 /* GU,UA,E,E */+ 370 370 370 370 370 /* GU,UA,E,A */+ 370 370 370 370 370 /* GU,UA,E,C */+ 370 370 370 370 370 /* GU,UA,E,G */+ 370 370 370 370 370 /* GU,UA,E,U */+ 370 370 370 370 370 /* GU,UA,A,E */+ 370 370 370 370 370 /* GU,UA,A,A */+ 370 370 370 370 370 /* GU,UA,A,C */+ 260 260 260 260 260 /* GU,UA,A,G */+ 370 370 370 370 370 /* GU,UA,A,U */+ 370 370 370 370 370 /* GU,UA,C,E */+ 370 370 370 370 370 /* GU,UA,C,A */+ 370 370 370 370 370 /* GU,UA,C,C */+ 370 370 370 370 370 /* GU,UA,C,G */+ 370 370 370 370 370 /* GU,UA,C,U */+ 370 260 370 260 370 /* GU,UA,G,E */+ 260 260 260 260 260 /* GU,UA,G,A */+ 370 260 370 260 370 /* GU,UA,G,C */+ 260 260 260 260 260 /* GU,UA,G,G */+ 370 260 370 260 370 /* GU,UA,G,U */+ 370 370 370 370 300 /* GU,UA,U,E */+ 370 370 370 370 300 /* GU,UA,U,A */+ 370 370 370 370 300 /* GU,UA,U,C */+ 370 370 370 370 300 /* GU,UA,U,G */+ 300 300 300 300 300 /* GU,UA,U,U */+ 370 370 370 370 370 /* GU,NS,E,E */+ 370 370 370 370 370 /* GU,NS,E,A */+ 370 370 370 370 370 /* GU,NS,E,C */+ 370 370 370 370 370 /* GU,NS,E,G */+ 370 370 370 370 370 /* GU,NS,E,U */+ 370 370 370 370 370 /* GU,NS,A,E */+ 370 370 370 370 370 /* GU,NS,A,A */+ 370 370 370 370 370 /* GU,NS,A,C */+ 260 260 260 260 260 /* GU,NS,A,G */+ 370 370 370 370 370 /* GU,NS,A,U */+ 370 370 370 370 370 /* GU,NS,C,E */+ 370 370 370 370 370 /* GU,NS,C,A */+ 370 370 370 370 370 /* GU,NS,C,C */+ 370 370 370 370 370 /* GU,NS,C,G */+ 370 370 370 370 370 /* GU,NS,C,U */+ 370 260 370 260 370 /* GU,NS,G,E */+ 370 260 370 260 370 /* GU,NS,G,A */+ 370 260 370 260 370 /* GU,NS,G,C */+ 260 260 260 260 260 /* GU,NS,G,G */+ 370 260 370 260 370 /* GU,NS,G,U */+ 370 370 370 370 300 /* GU,NS,U,E */+ 370 370 370 370 300 /* GU,NS,U,A */+ 370 370 370 370 300 /* GU,NS,U,C */+ 370 370 370 370 300 /* GU,NS,U,G */+ 300 300 300 300 300 /* GU,NS,U,U */+ 300 300 300 300 300 /* UG,CG,E,E */+ 300 300 300 300 300 /* UG,CG,E,A */+ 300 300 300 300 300 /* UG,CG,E,C */+ 300 300 300 300 300 /* UG,CG,E,G */+ 300 300 300 300 300 /* UG,CG,E,U */+ 300 300 300 190 300 /* UG,CG,A,E */+ 300 300 300 190 300 /* UG,CG,A,A */+ 300 300 300 190 300 /* UG,CG,A,C */+ 190 190 190 190 190 /* UG,CG,A,G */+ 300 300 300 190 300 /* UG,CG,A,U */+ 300 300 300 300 300 /* UG,CG,C,E */+ 300 300 300 300 300 /* UG,CG,C,A */+ 300 300 300 300 300 /* UG,CG,C,C */+ 300 300 300 300 300 /* UG,CG,C,G */+ 300 300 300 300 300 /* UG,CG,C,U */+ 300 190 300 190 300 /* UG,CG,G,E */+ 190 190 190 190 190 /* UG,CG,G,A */+ 300 190 300 190 300 /* UG,CG,G,C */+ 190 190 190 190 190 /* UG,CG,G,G */+ 300 190 300 190 300 /* UG,CG,G,U */+ 300 300 300 300 220 /* UG,CG,U,E */+ 300 300 300 300 220 /* UG,CG,U,A */+ 300 300 300 300 220 /* UG,CG,U,C */+ 300 300 300 300 220 /* UG,CG,U,G */+ 220 220 220 220 220 /* UG,CG,U,U */+ 300 300 300 300 300 /* UG,GC,E,E */+ 300 300 300 300 300 /* UG,GC,E,A */+ 300 300 300 300 300 /* UG,GC,E,C */+ 300 300 300 300 300 /* UG,GC,E,G */+ 300 300 300 300 300 /* UG,GC,E,U */+ 300 300 300 190 300 /* UG,GC,A,E */+ 300 300 300 190 300 /* UG,GC,A,A */+ 300 300 300 190 300 /* UG,GC,A,C */+ 190 190 190 190 190 /* UG,GC,A,G */+ 300 300 300 190 300 /* UG,GC,A,U */+ 300 300 300 300 300 /* UG,GC,C,E */+ 300 300 300 300 300 /* UG,GC,C,A */+ 300 300 300 300 300 /* UG,GC,C,C */+ 300 300 300 300 300 /* UG,GC,C,G */+ 300 300 300 300 300 /* UG,GC,C,U */+ 300 190 300 190 300 /* UG,GC,G,E */+ 300 190 300 190 300 /* UG,GC,G,A */+ 300 190 300 190 300 /* UG,GC,G,C */+ 190 190 190 190 190 /* UG,GC,G,G */+ 300 190 300 190 300 /* UG,GC,G,U */+ 300 300 300 300 220 /* UG,GC,U,E */+ 300 300 300 300 220 /* UG,GC,U,A */+ 300 300 300 300 220 /* UG,GC,U,C */+ 300 300 300 300 220 /* UG,GC,U,G */+ 220 220 220 220 220 /* UG,GC,U,U */+ 370 370 370 370 370 /* UG,GU,E,E */+ 370 370 370 370 370 /* UG,GU,E,A */+ 370 370 370 370 370 /* UG,GU,E,C */+ 370 370 370 370 370 /* UG,GU,E,G */+ 370 370 370 370 370 /* UG,GU,E,U */+ 370 370 370 260 370 /* UG,GU,A,E */+ 370 370 370 260 370 /* UG,GU,A,A */+ 370 370 370 260 370 /* UG,GU,A,C */+ 260 260 260 260 260 /* UG,GU,A,G */+ 370 370 370 260 370 /* UG,GU,A,U */+ 370 370 370 370 370 /* UG,GU,C,E */+ 370 370 370 370 370 /* UG,GU,C,A */+ 370 370 370 370 370 /* UG,GU,C,C */+ 370 370 370 370 370 /* UG,GU,C,G */+ 370 370 370 370 370 /* UG,GU,C,U */+ 370 260 370 260 370 /* UG,GU,G,E */+ 370 260 370 260 370 /* UG,GU,G,A */+ 370 260 370 260 370 /* UG,GU,G,C */+ 260 260 260 260 260 /* UG,GU,G,G */+ 370 260 370 260 370 /* UG,GU,G,U */+ 370 370 370 370 300 /* UG,GU,U,E */+ 370 370 370 370 300 /* UG,GU,U,A */+ 370 370 370 370 300 /* UG,GU,U,C */+ 370 370 370 370 300 /* UG,GU,U,G */+ 300 300 300 300 300 /* UG,GU,U,U */+ 370 370 370 370 370 /* UG,UG,E,E */+ 370 370 370 370 370 /* UG,UG,E,A */+ 370 370 370 370 370 /* UG,UG,E,C */+ 370 370 370 370 370 /* UG,UG,E,G */+ 370 370 370 370 370 /* UG,UG,E,U */+ 370 370 370 260 370 /* UG,UG,A,E */+ 370 370 370 260 370 /* UG,UG,A,A */+ 370 370 370 260 370 /* UG,UG,A,C */+ 260 260 260 260 260 /* UG,UG,A,G */+ 370 370 370 260 370 /* UG,UG,A,U */+ 370 370 370 370 370 /* UG,UG,C,E */+ 370 370 370 370 370 /* UG,UG,C,A */+ 370 370 370 370 370 /* UG,UG,C,C */+ 370 370 370 370 370 /* UG,UG,C,G */+ 370 370 370 370 370 /* UG,UG,C,U */+ 370 260 370 260 370 /* UG,UG,G,E */+ 260 260 260 260 260 /* UG,UG,G,A */+ 370 260 370 260 370 /* UG,UG,G,C */+ 260 260 260 260 260 /* UG,UG,G,G */+ 370 260 370 260 370 /* UG,UG,G,U */+ 370 370 370 370 300 /* UG,UG,U,E */+ 370 370 370 370 300 /* UG,UG,U,A */+ 370 370 370 370 300 /* UG,UG,U,C */+ 370 370 370 370 300 /* UG,UG,U,G */+ 300 300 300 300 300 /* UG,UG,U,U */+ 370 370 370 370 370 /* UG,AU,E,E */+ 370 370 370 370 370 /* UG,AU,E,A */+ 370 370 370 370 370 /* UG,AU,E,C */+ 370 370 370 370 370 /* UG,AU,E,G */+ 370 370 370 370 370 /* UG,AU,E,U */+ 370 370 370 260 370 /* UG,AU,A,E */+ 370 370 370 260 370 /* UG,AU,A,A */+ 370 370 370 260 370 /* UG,AU,A,C */+ 260 260 260 260 260 /* UG,AU,A,G */+ 370 370 370 260 370 /* UG,AU,A,U */+ 370 370 370 370 370 /* UG,AU,C,E */+ 370 370 370 370 370 /* UG,AU,C,A */+ 370 370 370 370 370 /* UG,AU,C,C */+ 370 370 370 370 370 /* UG,AU,C,G */+ 370 370 370 370 370 /* UG,AU,C,U */+ 370 260 370 260 370 /* UG,AU,G,E */+ 370 260 370 260 370 /* UG,AU,G,A */+ 370 260 370 260 370 /* UG,AU,G,C */+ 260 260 260 260 260 /* UG,AU,G,G */+ 370 260 370 260 370 /* UG,AU,G,U */+ 370 370 370 370 300 /* UG,AU,U,E */+ 370 370 370 370 300 /* UG,AU,U,A */+ 370 370 370 370 300 /* UG,AU,U,C */+ 370 370 370 370 300 /* UG,AU,U,G */+ 300 300 300 300 300 /* UG,AU,U,U */+ 370 370 370 370 370 /* UG,UA,E,E */+ 370 370 370 370 370 /* UG,UA,E,A */+ 370 370 370 370 370 /* UG,UA,E,C */+ 370 370 370 370 370 /* UG,UA,E,G */+ 370 370 370 370 370 /* UG,UA,E,U */+ 370 370 370 260 370 /* UG,UA,A,E */+ 370 370 370 260 370 /* UG,UA,A,A */+ 370 370 370 260 370 /* UG,UA,A,C */+ 260 260 260 260 260 /* UG,UA,A,G */+ 370 370 370 260 370 /* UG,UA,A,U */+ 370 370 370 370 370 /* UG,UA,C,E */+ 370 370 370 370 370 /* UG,UA,C,A */+ 370 370 370 370 370 /* UG,UA,C,C */+ 370 370 370 370 370 /* UG,UA,C,G */+ 370 370 370 370 370 /* UG,UA,C,U */+ 370 260 370 260 370 /* UG,UA,G,E */+ 260 260 260 260 260 /* UG,UA,G,A */+ 370 260 370 260 370 /* UG,UA,G,C */+ 260 260 260 260 260 /* UG,UA,G,G */+ 370 260 370 260 370 /* UG,UA,G,U */+ 370 370 370 370 300 /* UG,UA,U,E */+ 370 370 370 370 300 /* UG,UA,U,A */+ 370 370 370 370 300 /* UG,UA,U,C */+ 370 370 370 370 300 /* UG,UA,U,G */+ 300 300 300 300 300 /* UG,UA,U,U */+ 370 370 370 370 370 /* UG,NS,E,E */+ 370 370 370 370 370 /* UG,NS,E,A */+ 370 370 370 370 370 /* UG,NS,E,C */+ 370 370 370 370 370 /* UG,NS,E,G */+ 370 370 370 370 370 /* UG,NS,E,U */+ 370 370 370 260 370 /* UG,NS,A,E */+ 370 370 370 260 370 /* UG,NS,A,A */+ 370 370 370 260 370 /* UG,NS,A,C */+ 260 260 260 260 260 /* UG,NS,A,G */+ 370 370 370 260 370 /* UG,NS,A,U */+ 370 370 370 370 370 /* UG,NS,C,E */+ 370 370 370 370 370 /* UG,NS,C,A */+ 370 370 370 370 370 /* UG,NS,C,C */+ 370 370 370 370 370 /* UG,NS,C,G */+ 370 370 370 370 370 /* UG,NS,C,U */+ 370 260 370 260 370 /* UG,NS,G,E */+ 370 260 370 260 370 /* UG,NS,G,A */+ 370 260 370 260 370 /* UG,NS,G,C */+ 260 260 260 260 260 /* UG,NS,G,G */+ 370 260 370 260 370 /* UG,NS,G,U */+ 370 370 370 370 300 /* UG,NS,U,E */+ 370 370 370 370 300 /* UG,NS,U,A */+ 370 370 370 370 300 /* UG,NS,U,C */+ 370 370 370 370 300 /* UG,NS,U,G */+ 300 300 300 300 300 /* UG,NS,U,U */+ 300 300 300 300 300 /* AU,CG,E,E */+ 300 300 300 300 300 /* AU,CG,E,A */+ 300 300 300 300 300 /* AU,CG,E,C */+ 300 300 300 300 300 /* AU,CG,E,G */+ 300 300 300 300 300 /* AU,CG,E,U */+ 300 300 300 300 300 /* AU,CG,A,E */+ 300 300 300 300 300 /* AU,CG,A,A */+ 300 300 300 300 300 /* AU,CG,A,C */+ 190 190 190 190 190 /* AU,CG,A,G */+ 300 300 300 300 300 /* AU,CG,A,U */+ 300 300 300 300 300 /* AU,CG,C,E */+ 300 300 300 300 300 /* AU,CG,C,A */+ 300 300 300 300 300 /* AU,CG,C,C */+ 300 300 300 300 300 /* AU,CG,C,G */+ 300 300 300 300 300 /* AU,CG,C,U */+ 300 190 300 190 300 /* AU,CG,G,E */+ 190 190 190 190 190 /* AU,CG,G,A */+ 300 190 300 190 300 /* AU,CG,G,C */+ 190 190 190 190 190 /* AU,CG,G,G */+ 300 190 300 190 300 /* AU,CG,G,U */+ 300 300 300 300 220 /* AU,CG,U,E */+ 300 300 300 300 220 /* AU,CG,U,A */+ 300 300 300 300 220 /* AU,CG,U,C */+ 300 300 300 300 220 /* AU,CG,U,G */+ 220 220 220 220 220 /* AU,CG,U,U */+ 300 300 300 300 300 /* AU,GC,E,E */+ 300 300 300 300 300 /* AU,GC,E,A */+ 300 300 300 300 300 /* AU,GC,E,C */+ 300 300 300 300 300 /* AU,GC,E,G */+ 300 300 300 300 300 /* AU,GC,E,U */+ 300 300 300 300 300 /* AU,GC,A,E */+ 300 300 300 300 300 /* AU,GC,A,A */+ 300 300 300 300 300 /* AU,GC,A,C */+ 190 190 190 190 190 /* AU,GC,A,G */+ 300 300 300 300 300 /* AU,GC,A,U */+ 300 300 300 300 300 /* AU,GC,C,E */+ 300 300 300 300 300 /* AU,GC,C,A */+ 300 300 300 300 300 /* AU,GC,C,C */+ 300 300 300 300 300 /* AU,GC,C,G */+ 300 300 300 300 300 /* AU,GC,C,U */+ 300 190 300 190 300 /* AU,GC,G,E */+ 300 190 300 190 300 /* AU,GC,G,A */+ 300 190 300 190 300 /* AU,GC,G,C */+ 190 190 190 190 190 /* AU,GC,G,G */+ 300 190 300 190 300 /* AU,GC,G,U */+ 300 300 300 300 220 /* AU,GC,U,E */+ 300 300 300 300 220 /* AU,GC,U,A */+ 300 300 300 300 220 /* AU,GC,U,C */+ 300 300 300 300 220 /* AU,GC,U,G */+ 220 220 220 220 220 /* AU,GC,U,U */+ 370 370 370 370 370 /* AU,GU,E,E */+ 370 370 370 370 370 /* AU,GU,E,A */+ 370 370 370 370 370 /* AU,GU,E,C */+ 370 370 370 370 370 /* AU,GU,E,G */+ 370 370 370 370 370 /* AU,GU,E,U */+ 370 370 370 370 370 /* AU,GU,A,E */+ 370 370 370 370 370 /* AU,GU,A,A */+ 370 370 370 370 370 /* AU,GU,A,C */+ 260 260 260 260 260 /* AU,GU,A,G */+ 370 370 370 370 370 /* AU,GU,A,U */+ 370 370 370 370 370 /* AU,GU,C,E */+ 370 370 370 370 370 /* AU,GU,C,A */+ 370 370 370 370 370 /* AU,GU,C,C */+ 370 370 370 370 370 /* AU,GU,C,G */+ 370 370 370 370 370 /* AU,GU,C,U */+ 370 260 370 260 370 /* AU,GU,G,E */+ 370 260 370 260 370 /* AU,GU,G,A */+ 370 260 370 260 370 /* AU,GU,G,C */+ 260 260 260 260 260 /* AU,GU,G,G */+ 370 260 370 260 370 /* AU,GU,G,U */+ 370 370 370 370 300 /* AU,GU,U,E */+ 370 370 370 370 300 /* AU,GU,U,A */+ 370 370 370 370 300 /* AU,GU,U,C */+ 370 370 370 370 300 /* AU,GU,U,G */+ 300 300 300 300 300 /* AU,GU,U,U */+ 370 370 370 370 370 /* AU,UG,E,E */+ 370 370 370 370 370 /* AU,UG,E,A */+ 370 370 370 370 370 /* AU,UG,E,C */+ 370 370 370 370 370 /* AU,UG,E,G */+ 370 370 370 370 370 /* AU,UG,E,U */+ 370 370 370 370 370 /* AU,UG,A,E */+ 370 370 370 370 370 /* AU,UG,A,A */+ 370 370 370 370 370 /* AU,UG,A,C */+ 260 260 260 260 260 /* AU,UG,A,G */+ 370 370 370 370 370 /* AU,UG,A,U */+ 370 370 370 370 370 /* AU,UG,C,E */+ 370 370 370 370 370 /* AU,UG,C,A */+ 370 370 370 370 370 /* AU,UG,C,C */+ 370 370 370 370 370 /* AU,UG,C,G */+ 370 370 370 370 370 /* AU,UG,C,U */+ 370 260 370 260 370 /* AU,UG,G,E */+ 260 260 260 260 260 /* AU,UG,G,A */+ 370 260 370 260 370 /* AU,UG,G,C */+ 260 260 260 260 260 /* AU,UG,G,G */+ 370 260 370 260 370 /* AU,UG,G,U */+ 370 370 370 370 300 /* AU,UG,U,E */+ 370 370 370 370 300 /* AU,UG,U,A */+ 370 370 370 370 300 /* AU,UG,U,C */+ 370 370 370 370 300 /* AU,UG,U,G */+ 300 300 300 300 300 /* AU,UG,U,U */+ 370 370 370 370 370 /* AU,AU,E,E */+ 370 370 370 370 370 /* AU,AU,E,A */+ 370 370 370 370 370 /* AU,AU,E,C */+ 370 370 370 370 370 /* AU,AU,E,G */+ 370 370 370 370 370 /* AU,AU,E,U */+ 370 370 370 370 370 /* AU,AU,A,E */+ 370 370 370 370 370 /* AU,AU,A,A */+ 370 370 370 370 370 /* AU,AU,A,C */+ 260 260 260 260 260 /* AU,AU,A,G */+ 370 370 370 370 370 /* AU,AU,A,U */+ 370 370 370 370 370 /* AU,AU,C,E */+ 370 370 370 370 370 /* AU,AU,C,A */+ 370 370 370 370 370 /* AU,AU,C,C */+ 370 370 370 370 370 /* AU,AU,C,G */+ 370 370 370 370 370 /* AU,AU,C,U */+ 370 260 370 260 370 /* AU,AU,G,E */+ 370 260 370 260 370 /* AU,AU,G,A */+ 370 260 370 260 370 /* AU,AU,G,C */+ 260 260 260 260 260 /* AU,AU,G,G */+ 370 260 370 260 370 /* AU,AU,G,U */+ 370 370 370 370 300 /* AU,AU,U,E */+ 370 370 370 370 300 /* AU,AU,U,A */+ 370 370 370 370 300 /* AU,AU,U,C */+ 370 370 370 370 300 /* AU,AU,U,G */+ 300 300 300 300 300 /* AU,AU,U,U */+ 370 370 370 370 370 /* AU,UA,E,E */+ 370 370 370 370 370 /* AU,UA,E,A */+ 370 370 370 370 370 /* AU,UA,E,C */+ 370 370 370 370 370 /* AU,UA,E,G */+ 370 370 370 370 370 /* AU,UA,E,U */+ 370 370 370 370 370 /* AU,UA,A,E */+ 370 370 370 370 370 /* AU,UA,A,A */+ 370 370 370 370 370 /* AU,UA,A,C */+ 260 260 260 260 260 /* AU,UA,A,G */+ 370 370 370 370 370 /* AU,UA,A,U */+ 370 370 370 370 370 /* AU,UA,C,E */+ 370 370 370 370 370 /* AU,UA,C,A */+ 370 370 370 370 370 /* AU,UA,C,C */+ 370 370 370 370 370 /* AU,UA,C,G */+ 370 370 370 370 370 /* AU,UA,C,U */+ 370 260 370 260 370 /* AU,UA,G,E */+ 260 260 260 260 260 /* AU,UA,G,A */+ 370 260 370 260 370 /* AU,UA,G,C */+ 260 260 260 260 260 /* AU,UA,G,G */+ 370 260 370 260 370 /* AU,UA,G,U */+ 370 370 370 370 300 /* AU,UA,U,E */+ 370 370 370 370 300 /* AU,UA,U,A */+ 370 370 370 370 300 /* AU,UA,U,C */+ 370 370 370 370 300 /* AU,UA,U,G */+ 300 300 300 300 300 /* AU,UA,U,U */+ 370 370 370 370 370 /* AU,NS,E,E */+ 370 370 370 370 370 /* AU,NS,E,A */+ 370 370 370 370 370 /* AU,NS,E,C */+ 370 370 370 370 370 /* AU,NS,E,G */+ 370 370 370 370 370 /* AU,NS,E,U */+ 370 370 370 370 370 /* AU,NS,A,E */+ 370 370 370 370 370 /* AU,NS,A,A */+ 370 370 370 370 370 /* AU,NS,A,C */+ 260 260 260 260 260 /* AU,NS,A,G */+ 370 370 370 370 370 /* AU,NS,A,U */+ 370 370 370 370 370 /* AU,NS,C,E */+ 370 370 370 370 370 /* AU,NS,C,A */+ 370 370 370 370 370 /* AU,NS,C,C */+ 370 370 370 370 370 /* AU,NS,C,G */+ 370 370 370 370 370 /* AU,NS,C,U */+ 370 260 370 260 370 /* AU,NS,G,E */+ 370 260 370 260 370 /* AU,NS,G,A */+ 370 260 370 260 370 /* AU,NS,G,C */+ 260 260 260 260 260 /* AU,NS,G,G */+ 370 260 370 260 370 /* AU,NS,G,U */+ 370 370 370 370 300 /* AU,NS,U,E */+ 370 370 370 370 300 /* AU,NS,U,A */+ 370 370 370 370 300 /* AU,NS,U,C */+ 370 370 370 370 300 /* AU,NS,U,G */+ 300 300 300 300 300 /* AU,NS,U,U */+ 300 300 300 300 300 /* UA,CG,E,E */+ 300 300 300 300 300 /* UA,CG,E,A */+ 300 300 300 300 300 /* UA,CG,E,C */+ 300 300 300 300 300 /* UA,CG,E,G */+ 300 300 300 300 300 /* UA,CG,E,U */+ 300 300 300 190 300 /* UA,CG,A,E */+ 300 300 300 190 300 /* UA,CG,A,A */+ 300 300 300 190 300 /* UA,CG,A,C */+ 190 190 190 190 190 /* UA,CG,A,G */+ 300 300 300 190 300 /* UA,CG,A,U */+ 300 300 300 300 300 /* UA,CG,C,E */+ 300 300 300 300 300 /* UA,CG,C,A */+ 300 300 300 300 300 /* UA,CG,C,C */+ 300 300 300 300 300 /* UA,CG,C,G */+ 300 300 300 300 300 /* UA,CG,C,U */+ 300 190 300 190 300 /* UA,CG,G,E */+ 190 190 190 190 190 /* UA,CG,G,A */+ 300 190 300 190 300 /* UA,CG,G,C */+ 190 190 190 190 190 /* UA,CG,G,G */+ 300 190 300 190 300 /* UA,CG,G,U */+ 300 300 300 300 220 /* UA,CG,U,E */+ 300 300 300 300 220 /* UA,CG,U,A */+ 300 300 300 300 220 /* UA,CG,U,C */+ 300 300 300 300 220 /* UA,CG,U,G */+ 220 220 220 220 220 /* UA,CG,U,U */+ 300 300 300 300 300 /* UA,GC,E,E */+ 300 300 300 300 300 /* UA,GC,E,A */+ 300 300 300 300 300 /* UA,GC,E,C */+ 300 300 300 300 300 /* UA,GC,E,G */+ 300 300 300 300 300 /* UA,GC,E,U */+ 300 300 300 190 300 /* UA,GC,A,E */+ 300 300 300 190 300 /* UA,GC,A,A */+ 300 300 300 190 300 /* UA,GC,A,C */+ 190 190 190 190 190 /* UA,GC,A,G */+ 300 300 300 190 300 /* UA,GC,A,U */+ 300 300 300 300 300 /* UA,GC,C,E */+ 300 300 300 300 300 /* UA,GC,C,A */+ 300 300 300 300 300 /* UA,GC,C,C */+ 300 300 300 300 300 /* UA,GC,C,G */+ 300 300 300 300 300 /* UA,GC,C,U */+ 300 190 300 190 300 /* UA,GC,G,E */+ 300 190 300 190 300 /* UA,GC,G,A */+ 300 190 300 190 300 /* UA,GC,G,C */+ 190 190 190 190 190 /* UA,GC,G,G */+ 300 190 300 190 300 /* UA,GC,G,U */+ 300 300 300 300 220 /* UA,GC,U,E */+ 300 300 300 300 220 /* UA,GC,U,A */+ 300 300 300 300 220 /* UA,GC,U,C */+ 300 300 300 300 220 /* UA,GC,U,G */+ 220 220 220 220 220 /* UA,GC,U,U */+ 370 370 370 370 370 /* UA,GU,E,E */+ 370 370 370 370 370 /* UA,GU,E,A */+ 370 370 370 370 370 /* UA,GU,E,C */+ 370 370 370 370 370 /* UA,GU,E,G */+ 370 370 370 370 370 /* UA,GU,E,U */+ 370 370 370 260 370 /* UA,GU,A,E */+ 370 370 370 260 370 /* UA,GU,A,A */+ 370 370 370 260 370 /* UA,GU,A,C */+ 260 260 260 260 260 /* UA,GU,A,G */+ 370 370 370 260 370 /* UA,GU,A,U */+ 370 370 370 370 370 /* UA,GU,C,E */+ 370 370 370 370 370 /* UA,GU,C,A */+ 370 370 370 370 370 /* UA,GU,C,C */+ 370 370 370 370 370 /* UA,GU,C,G */+ 370 370 370 370 370 /* UA,GU,C,U */+ 370 260 370 260 370 /* UA,GU,G,E */+ 370 260 370 260 370 /* UA,GU,G,A */+ 370 260 370 260 370 /* UA,GU,G,C */+ 260 260 260 260 260 /* UA,GU,G,G */+ 370 260 370 260 370 /* UA,GU,G,U */+ 370 370 370 370 300 /* UA,GU,U,E */+ 370 370 370 370 300 /* UA,GU,U,A */+ 370 370 370 370 300 /* UA,GU,U,C */+ 370 370 370 370 300 /* UA,GU,U,G */+ 300 300 300 300 300 /* UA,GU,U,U */+ 370 370 370 370 370 /* UA,UG,E,E */+ 370 370 370 370 370 /* UA,UG,E,A */+ 370 370 370 370 370 /* UA,UG,E,C */+ 370 370 370 370 370 /* UA,UG,E,G */+ 370 370 370 370 370 /* UA,UG,E,U */+ 370 370 370 260 370 /* UA,UG,A,E */+ 370 370 370 260 370 /* UA,UG,A,A */+ 370 370 370 260 370 /* UA,UG,A,C */+ 260 260 260 260 260 /* UA,UG,A,G */+ 370 370 370 260 370 /* UA,UG,A,U */+ 370 370 370 370 370 /* UA,UG,C,E */+ 370 370 370 370 370 /* UA,UG,C,A */+ 370 370 370 370 370 /* UA,UG,C,C */+ 370 370 370 370 370 /* UA,UG,C,G */+ 370 370 370 370 370 /* UA,UG,C,U */+ 370 260 370 260 370 /* UA,UG,G,E */+ 260 260 260 260 260 /* UA,UG,G,A */+ 370 260 370 260 370 /* UA,UG,G,C */+ 260 260 260 260 260 /* UA,UG,G,G */+ 370 260 370 260 370 /* UA,UG,G,U */+ 370 370 370 370 300 /* UA,UG,U,E */+ 370 370 370 370 300 /* UA,UG,U,A */+ 370 370 370 370 300 /* UA,UG,U,C */+ 370 370 370 370 300 /* UA,UG,U,G */+ 300 300 300 300 300 /* UA,UG,U,U */+ 370 370 370 370 370 /* UA,AU,E,E */+ 370 370 370 370 370 /* UA,AU,E,A */+ 370 370 370 370 370 /* UA,AU,E,C */+ 370 370 370 370 370 /* UA,AU,E,G */+ 370 370 370 370 370 /* UA,AU,E,U */+ 370 370 370 260 370 /* UA,AU,A,E */+ 370 370 370 260 370 /* UA,AU,A,A */+ 370 370 370 260 370 /* UA,AU,A,C */+ 260 260 260 260 260 /* UA,AU,A,G */+ 370 370 370 260 370 /* UA,AU,A,U */+ 370 370 370 370 370 /* UA,AU,C,E */+ 370 370 370 370 370 /* UA,AU,C,A */+ 370 370 370 370 370 /* UA,AU,C,C */+ 370 370 370 370 370 /* UA,AU,C,G */+ 370 370 370 370 370 /* UA,AU,C,U */+ 370 260 370 260 370 /* UA,AU,G,E */+ 370 260 370 260 370 /* UA,AU,G,A */+ 370 260 370 260 370 /* UA,AU,G,C */+ 260 260 260 260 260 /* UA,AU,G,G */+ 370 260 370 260 370 /* UA,AU,G,U */+ 370 370 370 370 300 /* UA,AU,U,E */+ 370 370 370 370 300 /* UA,AU,U,A */+ 370 370 370 370 300 /* UA,AU,U,C */+ 370 370 370 370 300 /* UA,AU,U,G */+ 300 300 300 300 300 /* UA,AU,U,U */+ 370 370 370 370 370 /* UA,UA,E,E */+ 370 370 370 370 370 /* UA,UA,E,A */+ 370 370 370 370 370 /* UA,UA,E,C */+ 370 370 370 370 370 /* UA,UA,E,G */+ 370 370 370 370 370 /* UA,UA,E,U */+ 370 370 370 260 370 /* UA,UA,A,E */+ 370 370 370 260 370 /* UA,UA,A,A */+ 370 370 370 260 370 /* UA,UA,A,C */+ 260 260 260 260 260 /* UA,UA,A,G */+ 370 370 370 260 370 /* UA,UA,A,U */+ 370 370 370 370 370 /* UA,UA,C,E */+ 370 370 370 370 370 /* UA,UA,C,A */+ 370 370 370 370 370 /* UA,UA,C,C */+ 370 370 370 370 370 /* UA,UA,C,G */+ 370 370 370 370 370 /* UA,UA,C,U */+ 370 260 370 260 370 /* UA,UA,G,E */+ 260 260 260 260 260 /* UA,UA,G,A */+ 370 260 370 260 370 /* UA,UA,G,C */+ 260 260 260 260 260 /* UA,UA,G,G */+ 370 260 370 260 370 /* UA,UA,G,U */+ 370 370 370 370 300 /* UA,UA,U,E */+ 370 370 370 370 300 /* UA,UA,U,A */+ 370 370 370 370 300 /* UA,UA,U,C */+ 370 370 370 370 300 /* UA,UA,U,G */+ 300 300 300 300 300 /* UA,UA,U,U */+ 370 370 370 370 370 /* UA,NS,E,E */+ 370 370 370 370 370 /* UA,NS,E,A */+ 370 370 370 370 370 /* UA,NS,E,C */+ 370 370 370 370 370 /* UA,NS,E,G */+ 370 370 370 370 370 /* UA,NS,E,U */+ 370 370 370 260 370 /* UA,NS,A,E */+ 370 370 370 260 370 /* UA,NS,A,A */+ 370 370 370 260 370 /* UA,NS,A,C */+ 260 260 260 260 260 /* UA,NS,A,G */+ 370 370 370 260 370 /* UA,NS,A,U */+ 370 370 370 370 370 /* UA,NS,C,E */+ 370 370 370 370 370 /* UA,NS,C,A */+ 370 370 370 370 370 /* UA,NS,C,C */+ 370 370 370 370 370 /* UA,NS,C,G */+ 370 370 370 370 370 /* UA,NS,C,U */+ 370 260 370 260 370 /* UA,NS,G,E */+ 370 260 370 260 370 /* UA,NS,G,A */+ 370 260 370 260 370 /* UA,NS,G,C */+ 260 260 260 260 260 /* UA,NS,G,G */+ 370 260 370 260 370 /* UA,NS,G,U */+ 370 370 370 370 300 /* UA,NS,U,E */+ 370 370 370 370 300 /* UA,NS,U,A */+ 370 370 370 370 300 /* UA,NS,U,C */+ 370 370 370 370 300 /* UA,NS,U,G */+ 300 300 300 300 300 /* UA,NS,U,U */+ 300 300 300 300 300 /* NS,CG,E,E */+ 300 300 300 300 300 /* NS,CG,E,A */+ 300 300 300 300 300 /* NS,CG,E,C */+ 300 300 300 300 300 /* NS,CG,E,G */+ 300 300 300 300 300 /* NS,CG,E,U */+ 300 300 300 300 300 /* NS,CG,A,E */+ 300 300 300 300 300 /* NS,CG,A,A */+ 300 300 300 300 300 /* NS,CG,A,C */+ 190 190 190 190 190 /* NS,CG,A,G */+ 300 300 300 300 300 /* NS,CG,A,U */+ 300 300 300 300 300 /* NS,CG,C,E */+ 300 300 300 300 300 /* NS,CG,C,A */+ 300 300 300 300 300 /* NS,CG,C,C */+ 300 300 300 300 300 /* NS,CG,C,G */+ 300 300 300 300 300 /* NS,CG,C,U */+ 300 190 300 190 300 /* NS,CG,G,E */+ 190 190 190 190 190 /* NS,CG,G,A */+ 300 190 300 190 300 /* NS,CG,G,C */+ 190 190 190 190 190 /* NS,CG,G,G */+ 300 190 300 190 300 /* NS,CG,G,U */+ 300 300 300 300 220 /* NS,CG,U,E */+ 300 300 300 300 220 /* NS,CG,U,A */+ 300 300 300 300 220 /* NS,CG,U,C */+ 300 300 300 300 220 /* NS,CG,U,G */+ 220 220 220 220 220 /* NS,CG,U,U */+ 300 300 300 300 300 /* NS,GC,E,E */+ 300 300 300 300 300 /* NS,GC,E,A */+ 300 300 300 300 300 /* NS,GC,E,C */+ 300 300 300 300 300 /* NS,GC,E,G */+ 300 300 300 300 300 /* NS,GC,E,U */+ 300 300 300 300 300 /* NS,GC,A,E */+ 300 300 300 300 300 /* NS,GC,A,A */+ 300 300 300 300 300 /* NS,GC,A,C */+ 190 190 190 190 190 /* NS,GC,A,G */+ 300 300 300 300 300 /* NS,GC,A,U */+ 300 300 300 300 300 /* NS,GC,C,E */+ 300 300 300 300 300 /* NS,GC,C,A */+ 300 300 300 300 300 /* NS,GC,C,C */+ 300 300 300 300 300 /* NS,GC,C,G */+ 300 300 300 300 300 /* NS,GC,C,U */+ 300 190 300 190 300 /* NS,GC,G,E */+ 300 190 300 190 300 /* NS,GC,G,A */+ 300 190 300 190 300 /* NS,GC,G,C */+ 190 190 190 190 190 /* NS,GC,G,G */+ 300 190 300 190 300 /* NS,GC,G,U */+ 300 300 300 300 220 /* NS,GC,U,E */+ 300 300 300 300 220 /* NS,GC,U,A */+ 300 300 300 300 220 /* NS,GC,U,C */+ 300 300 300 300 220 /* NS,GC,U,G */+ 220 220 220 220 220 /* NS,GC,U,U */+ 370 370 370 370 370 /* NS,GU,E,E */+ 370 370 370 370 370 /* NS,GU,E,A */+ 370 370 370 370 370 /* NS,GU,E,C */+ 370 370 370 370 370 /* NS,GU,E,G */+ 370 370 370 370 370 /* NS,GU,E,U */+ 370 370 370 370 370 /* NS,GU,A,E */+ 370 370 370 370 370 /* NS,GU,A,A */+ 370 370 370 370 370 /* NS,GU,A,C */+ 260 260 260 260 260 /* NS,GU,A,G */+ 370 370 370 370 370 /* NS,GU,A,U */+ 370 370 370 370 370 /* NS,GU,C,E */+ 370 370 370 370 370 /* NS,GU,C,A */+ 370 370 370 370 370 /* NS,GU,C,C */+ 370 370 370 370 370 /* NS,GU,C,G */+ 370 370 370 370 370 /* NS,GU,C,U */+ 370 260 370 260 370 /* NS,GU,G,E */+ 370 260 370 260 370 /* NS,GU,G,A */+ 370 260 370 260 370 /* NS,GU,G,C */+ 260 260 260 260 260 /* NS,GU,G,G */+ 370 260 370 260 370 /* NS,GU,G,U */+ 370 370 370 370 300 /* NS,GU,U,E */+ 370 370 370 370 300 /* NS,GU,U,A */+ 370 370 370 370 300 /* NS,GU,U,C */+ 370 370 370 370 300 /* NS,GU,U,G */+ 300 300 300 300 300 /* NS,GU,U,U */+ 370 370 370 370 370 /* NS,UG,E,E */+ 370 370 370 370 370 /* NS,UG,E,A */+ 370 370 370 370 370 /* NS,UG,E,C */+ 370 370 370 370 370 /* NS,UG,E,G */+ 370 370 370 370 370 /* NS,UG,E,U */+ 370 370 370 370 370 /* NS,UG,A,E */+ 370 370 370 370 370 /* NS,UG,A,A */+ 370 370 370 370 370 /* NS,UG,A,C */+ 260 260 260 260 260 /* NS,UG,A,G */+ 370 370 370 370 370 /* NS,UG,A,U */+ 370 370 370 370 370 /* NS,UG,C,E */+ 370 370 370 370 370 /* NS,UG,C,A */+ 370 370 370 370 370 /* NS,UG,C,C */+ 370 370 370 370 370 /* NS,UG,C,G */+ 370 370 370 370 370 /* NS,UG,C,U */+ 370 260 370 260 370 /* NS,UG,G,E */+ 260 260 260 260 260 /* NS,UG,G,A */+ 370 260 370 260 370 /* NS,UG,G,C */+ 260 260 260 260 260 /* NS,UG,G,G */+ 370 260 370 260 370 /* NS,UG,G,U */+ 370 370 370 370 300 /* NS,UG,U,E */+ 370 370 370 370 300 /* NS,UG,U,A */+ 370 370 370 370 300 /* NS,UG,U,C */+ 370 370 370 370 300 /* NS,UG,U,G */+ 300 300 300 300 300 /* NS,UG,U,U */+ 370 370 370 370 370 /* NS,AU,E,E */+ 370 370 370 370 370 /* NS,AU,E,A */+ 370 370 370 370 370 /* NS,AU,E,C */+ 370 370 370 370 370 /* NS,AU,E,G */+ 370 370 370 370 370 /* NS,AU,E,U */+ 370 370 370 370 370 /* NS,AU,A,E */+ 370 370 370 370 370 /* NS,AU,A,A */+ 370 370 370 370 370 /* NS,AU,A,C */+ 260 260 260 260 260 /* NS,AU,A,G */+ 370 370 370 370 370 /* NS,AU,A,U */+ 370 370 370 370 370 /* NS,AU,C,E */+ 370 370 370 370 370 /* NS,AU,C,A */+ 370 370 370 370 370 /* NS,AU,C,C */+ 370 370 370 370 370 /* NS,AU,C,G */+ 370 370 370 370 370 /* NS,AU,C,U */+ 370 260 370 260 370 /* NS,AU,G,E */+ 370 260 370 260 370 /* NS,AU,G,A */+ 370 260 370 260 370 /* NS,AU,G,C */+ 260 260 260 260 260 /* NS,AU,G,G */+ 370 260 370 260 370 /* NS,AU,G,U */+ 370 370 370 370 300 /* NS,AU,U,E */+ 370 370 370 370 300 /* NS,AU,U,A */+ 370 370 370 370 300 /* NS,AU,U,C */+ 370 370 370 370 300 /* NS,AU,U,G */+ 300 300 300 300 300 /* NS,AU,U,U */+ 370 370 370 370 370 /* NS,UA,E,E */+ 370 370 370 370 370 /* NS,UA,E,A */+ 370 370 370 370 370 /* NS,UA,E,C */+ 370 370 370 370 370 /* NS,UA,E,G */+ 370 370 370 370 370 /* NS,UA,E,U */+ 370 370 370 370 370 /* NS,UA,A,E */+ 370 370 370 370 370 /* NS,UA,A,A */+ 370 370 370 370 370 /* NS,UA,A,C */+ 260 260 260 260 260 /* NS,UA,A,G */+ 370 370 370 370 370 /* NS,UA,A,U */+ 370 370 370 370 370 /* NS,UA,C,E */+ 370 370 370 370 370 /* NS,UA,C,A */+ 370 370 370 370 370 /* NS,UA,C,C */+ 370 370 370 370 370 /* NS,UA,C,G */+ 370 370 370 370 370 /* NS,UA,C,U */+ 370 260 370 260 370 /* NS,UA,G,E */+ 260 260 260 260 260 /* NS,UA,G,A */+ 370 260 370 260 370 /* NS,UA,G,C */+ 260 260 260 260 260 /* NS,UA,G,G */+ 370 260 370 260 370 /* NS,UA,G,U */+ 370 370 370 370 300 /* NS,UA,U,E */+ 370 370 370 370 300 /* NS,UA,U,A */+ 370 370 370 370 300 /* NS,UA,U,C */+ 370 370 370 370 300 /* NS,UA,U,G */+ 300 300 300 300 300 /* NS,UA,U,U */+ 370 370 370 370 370 /* NS,NS,E,E */+ 370 370 370 370 370 /* NS,NS,E,A */+ 370 370 370 370 370 /* NS,NS,E,C */+ 370 370 370 370 370 /* NS,NS,E,G */+ 370 370 370 370 370 /* NS,NS,E,U */+ 370 370 370 370 370 /* NS,NS,A,E */+ 370 370 370 370 370 /* NS,NS,A,A */+ 370 370 370 370 370 /* NS,NS,A,C */+ 260 260 260 260 260 /* NS,NS,A,G */+ 370 370 370 370 370 /* NS,NS,A,U */+ 370 370 370 370 370 /* NS,NS,C,E */+ 370 370 370 370 370 /* NS,NS,C,A */+ 370 370 370 370 370 /* NS,NS,C,C */+ 370 370 370 370 370 /* NS,NS,C,G */+ 370 370 370 370 370 /* NS,NS,C,U */+ 370 260 370 260 370 /* NS,NS,G,E */+ 370 260 370 260 370 /* NS,NS,G,A */+ 370 260 370 260 370 /* NS,NS,G,C */+ 260 260 260 260 260 /* NS,NS,G,G */+ 370 260 370 260 370 /* NS,NS,G,U */+ 370 370 370 370 300 /* NS,NS,U,E */+ 370 370 370 370 300 /* NS,NS,U,A */+ 370 370 370 370 300 /* NS,NS,U,C */+ 370 370 370 370 300 /* NS,NS,U,G */+ 300 300 300 300 300 /* NS,NS,U,U */++# int21_enthalpies+ 350 350 350 350 350 /* CG,CG,E,E */+ 350 350 350 350 350 /* CG,CG,E,A */+ 350 350 350 350 350 /* CG,CG,E,C */+ 350 350 350 350 350 /* CG,CG,E,G */+ 350 350 350 350 350 /* CG,CG,E,U */+ 350 350 350 -230 350 /* CG,CG,A,E */+ 350 350 350 -230 350 /* CG,CG,A,A */+ 350 350 350 -230 350 /* CG,CG,A,C */+ -230 -230 -230 -230 -230 /* CG,CG,A,G */+ 350 350 350 -230 350 /* CG,CG,A,U */+ 350 350 350 350 350 /* CG,CG,C,E */+ 350 350 350 350 350 /* CG,CG,C,A */+ 350 350 350 350 350 /* CG,CG,C,C */+ 350 350 350 350 350 /* CG,CG,C,G */+ 350 350 350 350 350 /* CG,CG,C,U */+ 350 -230 350 -230 350 /* CG,CG,G,E */+ -230 -230 -230 -230 -230 /* CG,CG,G,A */+ 350 -230 350 -230 350 /* CG,CG,G,C */+ -230 -230 -230 -230 -230 /* CG,CG,G,G */+ 350 -230 350 -230 350 /* CG,CG,G,U */+ 350 350 350 350 -670 /* CG,CG,U,E */+ 350 350 350 350 -670 /* CG,CG,U,A */+ 350 350 350 350 -670 /* CG,CG,U,C */+ 350 350 350 350 -670 /* CG,CG,U,G */+ -670 -670 -670 -670 -670 /* CG,CG,U,U */+ 780 640 780 350 350 /* CG,GC,E,E */+ 350 350 350 350 350 /* CG,GC,E,A */+ 780 350 780 350 350 /* CG,GC,E,C */+ 350 350 350 350 350 /* CG,GC,E,G */+ 640 640 350 350 350 /* CG,GC,E,U */+ 350 350 350 250 350 /* CG,GC,A,E */+ 350 260 350 250 350 /* CG,GC,A,A */+ 350 350 -250 -230 350 /* CG,GC,A,C */+ -230 -230 -230 -230 -230 /* CG,GC,A,G */+ 350 350 350 -230 350 /* CG,GC,A,U */+ 780 640 780 350 350 /* CG,GC,C,E */+ 350 160 350 350 350 /* CG,GC,C,A */+ 780 350 780 350 350 /* CG,GC,C,C */+ 350 350 350 350 350 /* CG,GC,C,G */+ 640 640 350 350 350 /* CG,GC,C,U */+ 350 -160 350 -230 350 /* CG,GC,G,E */+ 350 -160 350 -410 350 /* CG,GC,G,A */+ 350 -230 350 -230 350 /* CG,GC,G,C */+ -230 -310 -230 -230 -230 /* CG,GC,G,G */+ 350 -230 350 -230 350 /* CG,GC,G,U */+ 580 350 580 350 -580 /* CG,GC,U,E */+ 350 350 350 350 -670 /* CG,GC,U,A */+ 580 350 580 350 -580 /* CG,GC,U,C */+ 350 350 350 350 -670 /* CG,GC,U,G */+ -670 -670 -690 -670 -700 /* CG,GC,U,U */+ 850 850 850 850 850 /* CG,GU,E,E */+ 850 850 850 850 850 /* CG,GU,E,A */+ 850 850 850 850 850 /* CG,GU,E,C */+ 850 850 850 850 850 /* CG,GU,E,G */+ 850 850 850 850 850 /* CG,GU,E,U */+ 850 850 850 280 850 /* CG,GU,A,E */+ 850 850 850 280 850 /* CG,GU,A,A */+ 850 850 850 280 850 /* CG,GU,A,C */+ 280 280 280 280 280 /* CG,GU,A,G */+ 850 850 850 280 850 /* CG,GU,A,U */+ 850 850 850 850 850 /* CG,GU,C,E */+ 850 850 850 850 850 /* CG,GU,C,A */+ 850 850 850 850 850 /* CG,GU,C,C */+ 850 850 850 850 850 /* CG,GU,C,G */+ 850 850 850 850 850 /* CG,GU,C,U */+ 850 280 850 280 850 /* CG,GU,G,E */+ 850 280 850 280 850 /* CG,GU,G,A */+ 850 280 850 280 850 /* CG,GU,G,C */+ 280 280 280 280 280 /* CG,GU,G,G */+ 850 280 850 280 850 /* CG,GU,G,U */+ 850 850 850 850 -160 /* CG,GU,U,E */+ 850 850 850 850 -160 /* CG,GU,U,A */+ 850 850 850 850 -160 /* CG,GU,U,C */+ 850 850 850 850 -160 /* CG,GU,U,G */+ -160 -160 -160 -160 -160 /* CG,GU,U,U */+ 850 850 850 850 850 /* CG,UG,E,E */+ 850 850 850 850 850 /* CG,UG,E,A */+ 850 850 850 850 850 /* CG,UG,E,C */+ 850 850 850 850 850 /* CG,UG,E,G */+ 850 850 850 850 850 /* CG,UG,E,U */+ 850 850 850 280 850 /* CG,UG,A,E */+ 850 850 850 280 850 /* CG,UG,A,A */+ 850 850 850 280 850 /* CG,UG,A,C */+ 280 280 280 280 280 /* CG,UG,A,G */+ 850 850 850 280 850 /* CG,UG,A,U */+ 850 850 850 850 850 /* CG,UG,C,E */+ 850 850 850 850 850 /* CG,UG,C,A */+ 850 850 850 850 850 /* CG,UG,C,C */+ 850 850 850 850 850 /* CG,UG,C,G */+ 850 850 850 850 850 /* CG,UG,C,U */+ 850 280 850 280 850 /* CG,UG,G,E */+ 280 280 280 280 280 /* CG,UG,G,A */+ 850 280 850 280 850 /* CG,UG,G,C */+ 280 280 280 280 280 /* CG,UG,G,G */+ 850 280 850 280 850 /* CG,UG,G,U */+ 850 850 850 850 -160 /* CG,UG,U,E */+ 850 850 850 850 -160 /* CG,UG,U,A */+ 850 850 850 850 -160 /* CG,UG,U,C */+ 850 850 850 850 -160 /* CG,UG,U,G */+ -160 -160 -160 -160 -160 /* CG,UG,U,U */+ 850 850 850 850 850 /* CG,AU,E,E */+ 850 850 850 850 850 /* CG,AU,E,A */+ 850 850 850 850 850 /* CG,AU,E,C */+ 850 850 850 850 850 /* CG,AU,E,G */+ 850 850 850 850 850 /* CG,AU,E,U */+ 850 850 850 280 850 /* CG,AU,A,E */+ 850 850 850 280 850 /* CG,AU,A,A */+ 850 850 850 280 850 /* CG,AU,A,C */+ 280 280 280 280 280 /* CG,AU,A,G */+ 850 850 850 280 850 /* CG,AU,A,U */+ 850 850 850 850 850 /* CG,AU,C,E */+ 850 850 850 850 850 /* CG,AU,C,A */+ 850 850 850 850 850 /* CG,AU,C,C */+ 850 850 850 850 850 /* CG,AU,C,G */+ 850 850 850 850 850 /* CG,AU,C,U */+ 850 280 850 280 850 /* CG,AU,G,E */+ 850 280 850 280 850 /* CG,AU,G,A */+ 850 280 850 280 850 /* CG,AU,G,C */+ 280 280 280 280 280 /* CG,AU,G,G */+ 850 280 850 280 850 /* CG,AU,G,U */+ 850 850 850 850 -160 /* CG,AU,U,E */+ 850 850 850 850 -160 /* CG,AU,U,A */+ 850 850 850 850 -160 /* CG,AU,U,C */+ 850 850 850 850 -160 /* CG,AU,U,G */+ -160 -160 -160 -160 -160 /* CG,AU,U,U */+ 850 850 850 850 850 /* CG,UA,E,E */+ 850 850 850 850 850 /* CG,UA,E,A */+ 850 850 850 850 850 /* CG,UA,E,C */+ 850 850 850 850 850 /* CG,UA,E,G */+ 850 850 850 850 850 /* CG,UA,E,U */+ 850 850 850 280 850 /* CG,UA,A,E */+ 850 850 850 280 850 /* CG,UA,A,A */+ 850 850 850 280 850 /* CG,UA,A,C */+ 280 280 280 280 280 /* CG,UA,A,G */+ 850 850 850 280 850 /* CG,UA,A,U */+ 850 850 850 850 850 /* CG,UA,C,E */+ 850 850 850 850 850 /* CG,UA,C,A */+ 850 850 850 850 850 /* CG,UA,C,C */+ 850 850 850 850 850 /* CG,UA,C,G */+ 850 850 850 850 850 /* CG,UA,C,U */+ 850 280 850 280 850 /* CG,UA,G,E */+ 280 280 280 280 280 /* CG,UA,G,A */+ 850 280 850 280 850 /* CG,UA,G,C */+ 280 280 280 280 280 /* CG,UA,G,G */+ 850 280 850 280 850 /* CG,UA,G,U */+ 850 850 850 850 -160 /* CG,UA,U,E */+ 850 850 850 850 -160 /* CG,UA,U,A */+ 850 850 850 850 -160 /* CG,UA,U,C */+ 850 850 850 850 -160 /* CG,UA,U,G */+ -160 -160 -160 -160 -160 /* CG,UA,U,U */+ 850 850 850 850 850 /* CG,NS,E,E */+ 850 850 850 850 850 /* CG,NS,E,A */+ 850 850 850 850 850 /* CG,NS,E,C */+ 850 850 850 850 850 /* CG,NS,E,G */+ 850 850 850 850 850 /* CG,NS,E,U */+ 850 850 850 280 850 /* CG,NS,A,E */+ 850 850 850 280 850 /* CG,NS,A,A */+ 850 850 850 280 850 /* CG,NS,A,C */+ 280 280 280 280 280 /* CG,NS,A,G */+ 850 850 850 280 850 /* CG,NS,A,U */+ 850 850 850 850 850 /* CG,NS,C,E */+ 850 850 850 850 850 /* CG,NS,C,A */+ 850 850 850 850 850 /* CG,NS,C,C */+ 850 850 850 850 850 /* CG,NS,C,G */+ 850 850 850 850 850 /* CG,NS,C,U */+ 850 280 850 280 850 /* CG,NS,G,E */+ 850 280 850 280 850 /* CG,NS,G,A */+ 850 280 850 280 850 /* CG,NS,G,C */+ 280 280 280 280 280 /* CG,NS,G,G */+ 850 280 850 280 850 /* CG,NS,G,U */+ 850 850 850 850 -160 /* CG,NS,U,E */+ 850 850 850 850 -160 /* CG,NS,U,A */+ 850 850 850 850 -160 /* CG,NS,U,C */+ 850 850 850 850 -160 /* CG,NS,U,G */+ -160 -160 -160 -160 -160 /* CG,NS,U,U */+ 690 690 350 350 350 /* GC,CG,E,E */+ 690 690 350 350 350 /* GC,CG,E,A */+ 350 350 350 350 350 /* GC,CG,E,C */+ 350 350 350 350 350 /* GC,CG,E,G */+ 350 350 350 350 350 /* GC,CG,E,U */+ 690 690 350 350 350 /* GC,CG,A,E */+ 690 690 350 240 350 /* GC,CG,A,A */+ 350 350 350 350 350 /* GC,CG,A,C */+ -230 -500 -230 -230 -230 /* GC,CG,A,G */+ 350 350 350 350 350 /* GC,CG,A,U */+ 350 350 350 350 350 /* GC,CG,C,E */+ 350 350 350 350 350 /* GC,CG,C,A */+ 350 350 350 350 350 /* GC,CG,C,C */+ 350 350 350 350 350 /* GC,CG,C,G */+ 350 350 130 350 350 /* GC,CG,C,U */+ 350 -230 350 -230 350 /* GC,CG,G,E */+ -230 -230 -230 -230 -230 /* GC,CG,G,A */+ 350 -230 350 -230 350 /* GC,CG,G,C */+ -230 -230 -230 -230 -230 /* GC,CG,G,G */+ 350 -230 350 -230 350 /* GC,CG,G,U */+ 350 350 350 350 -670 /* GC,CG,U,E */+ 350 350 350 350 -670 /* GC,CG,U,A */+ 350 350 350 350 -670 /* GC,CG,U,C */+ 350 350 350 350 -670 /* GC,CG,U,G */+ -670 -670 -670 -670 -670 /* GC,CG,U,U */+ 350 350 350 350 350 /* GC,GC,E,E */+ 350 350 350 350 350 /* GC,GC,E,A */+ 350 350 350 350 350 /* GC,GC,E,C */+ 350 350 350 350 350 /* GC,GC,E,G */+ 350 350 350 350 350 /* GC,GC,E,U */+ 350 350 350 350 350 /* GC,GC,A,E */+ 350 350 350 350 350 /* GC,GC,A,A */+ 350 350 350 350 350 /* GC,GC,A,C */+ -230 -230 -230 -230 -230 /* GC,GC,A,G */+ 350 350 350 350 350 /* GC,GC,A,U */+ 350 350 350 350 350 /* GC,GC,C,E */+ 350 350 350 350 350 /* GC,GC,C,A */+ 350 350 350 350 350 /* GC,GC,C,C */+ 350 350 350 350 350 /* GC,GC,C,G */+ 350 350 350 350 350 /* GC,GC,C,U */+ 350 -230 350 -230 350 /* GC,GC,G,E */+ 350 -230 350 -230 350 /* GC,GC,G,A */+ 350 -230 350 -230 350 /* GC,GC,G,C */+ -230 -230 -230 -230 -230 /* GC,GC,G,G */+ 350 -230 350 -230 350 /* GC,GC,G,U */+ 350 350 350 350 -670 /* GC,GC,U,E */+ 350 350 350 350 -670 /* GC,GC,U,A */+ 350 350 350 350 -670 /* GC,GC,U,C */+ 350 350 350 350 -670 /* GC,GC,U,G */+ -670 -670 -670 -670 -670 /* GC,GC,U,U */+ 850 850 850 850 850 /* GC,GU,E,E */+ 850 850 850 850 850 /* GC,GU,E,A */+ 850 850 850 850 850 /* GC,GU,E,C */+ 850 850 850 850 850 /* GC,GU,E,G */+ 850 850 850 850 850 /* GC,GU,E,U */+ 850 850 850 850 850 /* GC,GU,A,E */+ 850 850 850 850 850 /* GC,GU,A,A */+ 850 850 850 850 850 /* GC,GU,A,C */+ 280 280 280 280 280 /* GC,GU,A,G */+ 850 850 850 850 850 /* GC,GU,A,U */+ 850 850 850 850 850 /* GC,GU,C,E */+ 850 850 850 850 850 /* GC,GU,C,A */+ 850 850 850 850 850 /* GC,GU,C,C */+ 850 850 850 850 850 /* GC,GU,C,G */+ 850 850 850 850 850 /* GC,GU,C,U */+ 850 280 850 280 850 /* GC,GU,G,E */+ 850 280 850 280 850 /* GC,GU,G,A */+ 850 280 850 280 850 /* GC,GU,G,C */+ 280 280 280 280 280 /* GC,GU,G,G */+ 850 280 850 280 850 /* GC,GU,G,U */+ 850 850 850 850 -160 /* GC,GU,U,E */+ 850 850 850 850 -160 /* GC,GU,U,A */+ 850 850 850 850 -160 /* GC,GU,U,C */+ 850 850 850 850 -160 /* GC,GU,U,G */+ -160 -160 -160 -160 -160 /* GC,GU,U,U */+ 850 850 850 850 850 /* GC,UG,E,E */+ 850 850 850 850 850 /* GC,UG,E,A */+ 850 850 850 850 850 /* GC,UG,E,C */+ 850 850 850 850 850 /* GC,UG,E,G */+ 850 850 850 850 850 /* GC,UG,E,U */+ 850 850 850 850 850 /* GC,UG,A,E */+ 850 690 850 240 850 /* GC,UG,A,A */+ 850 850 850 850 850 /* GC,UG,A,C */+ 280 -500 280 280 280 /* GC,UG,A,G */+ 850 850 850 850 850 /* GC,UG,A,U */+ 850 850 850 850 850 /* GC,UG,C,E */+ 850 850 850 850 850 /* GC,UG,C,A */+ 850 850 850 850 850 /* GC,UG,C,C */+ 850 850 850 850 850 /* GC,UG,C,G */+ 850 850 130 850 850 /* GC,UG,C,U */+ 850 280 850 280 850 /* GC,UG,G,E */+ 280 280 280 280 280 /* GC,UG,G,A */+ 850 280 850 280 850 /* GC,UG,G,C */+ 280 280 280 280 280 /* GC,UG,G,G */+ 850 280 850 280 850 /* GC,UG,G,U */+ 850 850 850 850 -160 /* GC,UG,U,E */+ 850 850 850 850 -160 /* GC,UG,U,A */+ 850 850 850 850 -160 /* GC,UG,U,C */+ 850 850 850 850 -160 /* GC,UG,U,G */+ -160 -160 -160 -160 -160 /* GC,UG,U,U */+ 850 850 850 850 850 /* GC,AU,E,E */+ 850 850 850 850 850 /* GC,AU,E,A */+ 850 850 850 850 850 /* GC,AU,E,C */+ 850 850 850 850 850 /* GC,AU,E,G */+ 850 850 850 850 850 /* GC,AU,E,U */+ 850 850 850 850 850 /* GC,AU,A,E */+ 850 850 850 850 850 /* GC,AU,A,A */+ 850 850 850 850 850 /* GC,AU,A,C */+ 280 280 280 280 280 /* GC,AU,A,G */+ 850 850 850 850 850 /* GC,AU,A,U */+ 850 850 850 850 850 /* GC,AU,C,E */+ 850 850 850 850 850 /* GC,AU,C,A */+ 850 850 850 850 850 /* GC,AU,C,C */+ 850 850 850 850 850 /* GC,AU,C,G */+ 850 850 850 850 850 /* GC,AU,C,U */+ 850 280 850 280 850 /* GC,AU,G,E */+ 850 280 850 280 850 /* GC,AU,G,A */+ 850 280 850 280 850 /* GC,AU,G,C */+ 280 280 280 280 280 /* GC,AU,G,G */+ 850 280 850 280 850 /* GC,AU,G,U */+ 850 850 850 850 -160 /* GC,AU,U,E */+ 850 850 850 850 -160 /* GC,AU,U,A */+ 850 850 850 850 -160 /* GC,AU,U,C */+ 850 850 850 850 -160 /* GC,AU,U,G */+ -160 -160 -160 -160 -160 /* GC,AU,U,U */+ 850 850 850 850 850 /* GC,UA,E,E */+ 850 850 850 850 850 /* GC,UA,E,A */+ 850 850 850 850 850 /* GC,UA,E,C */+ 850 850 850 850 850 /* GC,UA,E,G */+ 850 850 850 850 850 /* GC,UA,E,U */+ 850 850 850 850 850 /* GC,UA,A,E */+ 850 850 850 850 850 /* GC,UA,A,A */+ 850 850 850 850 850 /* GC,UA,A,C */+ 280 280 280 280 280 /* GC,UA,A,G */+ 850 850 850 850 850 /* GC,UA,A,U */+ 850 850 850 850 850 /* GC,UA,C,E */+ 850 850 850 850 850 /* GC,UA,C,A */+ 850 850 850 850 850 /* GC,UA,C,C */+ 850 850 850 850 850 /* GC,UA,C,G */+ 850 850 850 850 850 /* GC,UA,C,U */+ 850 280 850 280 850 /* GC,UA,G,E */+ 280 280 280 280 280 /* GC,UA,G,A */+ 850 280 850 280 850 /* GC,UA,G,C */+ 280 280 280 280 280 /* GC,UA,G,G */+ 850 280 850 280 850 /* GC,UA,G,U */+ 850 850 850 850 -160 /* GC,UA,U,E */+ 850 850 850 850 -160 /* GC,UA,U,A */+ 850 850 850 850 -160 /* GC,UA,U,C */+ 850 850 850 850 -160 /* GC,UA,U,G */+ -160 -160 -160 -160 -160 /* GC,UA,U,U */+ 850 850 850 850 850 /* GC,NS,E,E */+ 850 850 850 850 850 /* GC,NS,E,A */+ 850 850 850 850 850 /* GC,NS,E,C */+ 850 850 850 850 850 /* GC,NS,E,G */+ 850 850 850 850 850 /* GC,NS,E,U */+ 850 850 850 850 850 /* GC,NS,A,E */+ 850 850 850 850 850 /* GC,NS,A,A */+ 850 850 850 850 850 /* GC,NS,A,C */+ 280 280 280 280 280 /* GC,NS,A,G */+ 850 850 850 850 850 /* GC,NS,A,U */+ 850 850 850 850 850 /* GC,NS,C,E */+ 850 850 850 850 850 /* GC,NS,C,A */+ 850 850 850 850 850 /* GC,NS,C,C */+ 850 850 850 850 850 /* GC,NS,C,G */+ 850 850 850 850 850 /* GC,NS,C,U */+ 850 280 850 280 850 /* GC,NS,G,E */+ 850 280 850 280 850 /* GC,NS,G,A */+ 850 280 850 280 850 /* GC,NS,G,C */+ 280 280 280 280 280 /* GC,NS,G,G */+ 850 280 850 280 850 /* GC,NS,G,U */+ 850 850 850 850 -160 /* GC,NS,U,E */+ 850 850 850 850 -160 /* GC,NS,U,A */+ 850 850 850 850 -160 /* GC,NS,U,C */+ 850 850 850 850 -160 /* GC,NS,U,G */+ -160 -160 -160 -160 -160 /* GC,NS,U,U */+ 850 850 850 850 850 /* GU,CG,E,E */+ 850 850 850 850 850 /* GU,CG,E,A */+ 850 850 850 850 850 /* GU,CG,E,C */+ 850 850 850 850 850 /* GU,CG,E,G */+ 850 850 850 850 850 /* GU,CG,E,U */+ 850 850 850 850 850 /* GU,CG,A,E */+ 850 690 850 240 850 /* GU,CG,A,A */+ 850 850 850 850 850 /* GU,CG,A,C */+ 280 -500 280 280 280 /* GU,CG,A,G */+ 850 850 850 850 850 /* GU,CG,A,U */+ 850 850 850 850 850 /* GU,CG,C,E */+ 850 850 850 850 850 /* GU,CG,C,A */+ 850 850 850 850 850 /* GU,CG,C,C */+ 850 850 850 850 850 /* GU,CG,C,G */+ 850 850 130 850 850 /* GU,CG,C,U */+ 850 280 850 280 850 /* GU,CG,G,E */+ 280 280 280 280 280 /* GU,CG,G,A */+ 850 280 850 280 850 /* GU,CG,G,C */+ 280 280 280 280 280 /* GU,CG,G,G */+ 850 280 850 280 850 /* GU,CG,G,U */+ 850 850 850 850 -160 /* GU,CG,U,E */+ 850 850 850 850 -160 /* GU,CG,U,A */+ 850 850 850 850 -160 /* GU,CG,U,C */+ 850 850 850 850 -160 /* GU,CG,U,G */+ -160 -160 -160 -160 -160 /* GU,CG,U,U */+ 850 850 850 850 850 /* GU,GC,E,E */+ 850 850 850 850 850 /* GU,GC,E,A */+ 850 850 850 850 850 /* GU,GC,E,C */+ 850 850 850 850 850 /* GU,GC,E,G */+ 850 850 850 850 850 /* GU,GC,E,U */+ 850 850 850 850 850 /* GU,GC,A,E */+ 850 850 850 850 850 /* GU,GC,A,A */+ 850 850 850 850 850 /* GU,GC,A,C */+ 280 280 280 280 280 /* GU,GC,A,G */+ 850 850 850 850 850 /* GU,GC,A,U */+ 850 850 850 850 850 /* GU,GC,C,E */+ 850 850 850 850 850 /* GU,GC,C,A */+ 850 850 850 850 850 /* GU,GC,C,C */+ 850 850 850 850 850 /* GU,GC,C,G */+ 850 850 850 850 850 /* GU,GC,C,U */+ 850 280 850 280 850 /* GU,GC,G,E */+ 850 280 850 280 850 /* GU,GC,G,A */+ 850 280 850 280 850 /* GU,GC,G,C */+ 280 280 280 280 280 /* GU,GC,G,G */+ 850 280 850 280 850 /* GU,GC,G,U */+ 850 850 850 850 -160 /* GU,GC,U,E */+ 850 850 850 850 -160 /* GU,GC,U,A */+ 850 850 850 850 -160 /* GU,GC,U,C */+ 850 850 850 850 -160 /* GU,GC,U,G */+ -160 -160 -160 -160 -160 /* GU,GC,U,U */+ 1350 1350 1350 1350 1350 /* GU,GU,E,E */+ 1350 1350 1350 1350 1350 /* GU,GU,E,A */+ 1350 1350 1350 1350 1350 /* GU,GU,E,C */+ 1350 1350 1350 1350 1350 /* GU,GU,E,G */+ 1350 1350 1350 1350 1350 /* GU,GU,E,U */+ 1350 1350 1350 1350 1350 /* GU,GU,A,E */+ 1350 1350 1350 1350 1350 /* GU,GU,A,A */+ 1350 1350 1350 1350 1350 /* GU,GU,A,C */+ 780 780 780 780 780 /* GU,GU,A,G */+ 1350 1350 1350 1350 1350 /* GU,GU,A,U */+ 1350 1350 1350 1350 1350 /* GU,GU,C,E */+ 1350 1350 1350 1350 1350 /* GU,GU,C,A */+ 1350 1350 1350 1350 1350 /* GU,GU,C,C */+ 1350 1350 1350 1350 1350 /* GU,GU,C,G */+ 1350 1350 1350 1350 1350 /* GU,GU,C,U */+ 1350 780 1350 780 1350 /* GU,GU,G,E */+ 1350 780 1350 780 1350 /* GU,GU,G,A */+ 1350 780 1350 780 1350 /* GU,GU,G,C */+ 780 780 780 780 780 /* GU,GU,G,G */+ 1350 780 1350 780 1350 /* GU,GU,G,U */+ 1350 1350 1350 1350 340 /* GU,GU,U,E */+ 1350 1350 1350 1350 340 /* GU,GU,U,A */+ 1350 1350 1350 1350 340 /* GU,GU,U,C */+ 1350 1350 1350 1350 340 /* GU,GU,U,G */+ 340 340 340 340 340 /* GU,GU,U,U */+ 1350 1350 1350 1350 1350 /* GU,UG,E,E */+ 1350 1350 1350 1350 1350 /* GU,UG,E,A */+ 1350 1350 1350 1350 1350 /* GU,UG,E,C */+ 1350 1350 1350 1350 1350 /* GU,UG,E,G */+ 1350 1350 1350 1350 1350 /* GU,UG,E,U */+ 1350 1350 1350 1350 1350 /* GU,UG,A,E */+ 1350 690 1350 240 1350 /* GU,UG,A,A */+ 1350 1350 1350 1350 1350 /* GU,UG,A,C */+ 780 -500 780 780 780 /* GU,UG,A,G */+ 1350 1350 1350 1350 1350 /* GU,UG,A,U */+ 1350 1350 1350 1350 1350 /* GU,UG,C,E */+ 1350 1350 1350 1350 1350 /* GU,UG,C,A */+ 1350 1350 1350 1350 1350 /* GU,UG,C,C */+ 1350 1350 1350 1350 1350 /* GU,UG,C,G */+ 1350 1350 130 1350 1350 /* GU,UG,C,U */+ 1350 780 1350 780 1350 /* GU,UG,G,E */+ 780 780 780 780 780 /* GU,UG,G,A */+ 1350 780 1350 780 1350 /* GU,UG,G,C */+ 780 780 780 780 780 /* GU,UG,G,G */+ 1350 780 1350 780 1350 /* GU,UG,G,U */+ 1350 1350 1350 1350 340 /* GU,UG,U,E */+ 1350 1350 1350 1350 340 /* GU,UG,U,A */+ 1350 1350 1350 1350 340 /* GU,UG,U,C */+ 1350 1350 1350 1350 340 /* GU,UG,U,G */+ 340 340 340 340 340 /* GU,UG,U,U */+ 1350 1350 1350 1350 1350 /* GU,AU,E,E */+ 1350 1350 1350 1350 1350 /* GU,AU,E,A */+ 1350 1350 1350 1350 1350 /* GU,AU,E,C */+ 1350 1350 1350 1350 1350 /* GU,AU,E,G */+ 1350 1350 1350 1350 1350 /* GU,AU,E,U */+ 1350 1350 1350 1350 1350 /* GU,AU,A,E */+ 1350 1350 1350 1350 1350 /* GU,AU,A,A */+ 1350 1350 1350 1350 1350 /* GU,AU,A,C */+ 780 780 780 780 780 /* GU,AU,A,G */+ 1350 1350 1350 1350 1350 /* GU,AU,A,U */+ 1350 1350 1350 1350 1350 /* GU,AU,C,E */+ 1350 1350 1350 1350 1350 /* GU,AU,C,A */+ 1350 1350 1350 1350 1350 /* GU,AU,C,C */+ 1350 1350 1350 1350 1350 /* GU,AU,C,G */+ 1350 1350 1350 1350 1350 /* GU,AU,C,U */+ 1350 780 1350 780 1350 /* GU,AU,G,E */+ 1350 780 1350 780 1350 /* GU,AU,G,A */+ 1350 780 1350 780 1350 /* GU,AU,G,C */+ 780 780 780 780 780 /* GU,AU,G,G */+ 1350 780 1350 780 1350 /* GU,AU,G,U */+ 1350 1350 1350 1350 340 /* GU,AU,U,E */+ 1350 1350 1350 1350 340 /* GU,AU,U,A */+ 1350 1350 1350 1350 340 /* GU,AU,U,C */+ 1350 1350 1350 1350 340 /* GU,AU,U,G */+ 340 340 340 340 340 /* GU,AU,U,U */+ 1350 1350 1350 1350 1350 /* GU,UA,E,E */+ 1350 1350 1350 1350 1350 /* GU,UA,E,A */+ 1350 1350 1350 1350 1350 /* GU,UA,E,C */+ 1350 1350 1350 1350 1350 /* GU,UA,E,G */+ 1350 1350 1350 1350 1350 /* GU,UA,E,U */+ 1350 1350 1350 1350 1350 /* GU,UA,A,E */+ 1350 1350 1350 1350 1350 /* GU,UA,A,A */+ 1350 1350 1350 1350 1350 /* GU,UA,A,C */+ 780 780 780 780 780 /* GU,UA,A,G */+ 1350 1350 1350 1350 1350 /* GU,UA,A,U */+ 1350 1350 1350 1350 1350 /* GU,UA,C,E */+ 1350 1350 1350 1350 1350 /* GU,UA,C,A */+ 1350 1350 1350 1350 1350 /* GU,UA,C,C */+ 1350 1350 1350 1350 1350 /* GU,UA,C,G */+ 1350 1350 1350 1350 1350 /* GU,UA,C,U */+ 1350 780 1350 780 1350 /* GU,UA,G,E */+ 780 780 780 780 780 /* GU,UA,G,A */+ 1350 780 1350 780 1350 /* GU,UA,G,C */+ 780 780 780 780 780 /* GU,UA,G,G */+ 1350 780 1350 780 1350 /* GU,UA,G,U */+ 1350 1350 1350 1350 340 /* GU,UA,U,E */+ 1350 1350 1350 1350 340 /* GU,UA,U,A */+ 1350 1350 1350 1350 340 /* GU,UA,U,C */+ 1350 1350 1350 1350 340 /* GU,UA,U,G */+ 340 340 340 340 340 /* GU,UA,U,U */+ 1350 1350 1350 1350 1350 /* GU,NS,E,E */+ 1350 1350 1350 1350 1350 /* GU,NS,E,A */+ 1350 1350 1350 1350 1350 /* GU,NS,E,C */+ 1350 1350 1350 1350 1350 /* GU,NS,E,G */+ 1350 1350 1350 1350 1350 /* GU,NS,E,U */+ 1350 1350 1350 1350 1350 /* GU,NS,A,E */+ 1350 1350 1350 1350 1350 /* GU,NS,A,A */+ 1350 1350 1350 1350 1350 /* GU,NS,A,C */+ 780 780 780 780 780 /* GU,NS,A,G */+ 1350 1350 1350 1350 1350 /* GU,NS,A,U */+ 1350 1350 1350 1350 1350 /* GU,NS,C,E */+ 1350 1350 1350 1350 1350 /* GU,NS,C,A */+ 1350 1350 1350 1350 1350 /* GU,NS,C,C */+ 1350 1350 1350 1350 1350 /* GU,NS,C,G */+ 1350 1350 1350 1350 1350 /* GU,NS,C,U */+ 1350 780 1350 780 1350 /* GU,NS,G,E */+ 1350 780 1350 780 1350 /* GU,NS,G,A */+ 1350 780 1350 780 1350 /* GU,NS,G,C */+ 780 780 780 780 780 /* GU,NS,G,G */+ 1350 780 1350 780 1350 /* GU,NS,G,U */+ 1350 1350 1350 1350 340 /* GU,NS,U,E */+ 1350 1350 1350 1350 340 /* GU,NS,U,A */+ 1350 1350 1350 1350 340 /* GU,NS,U,C */+ 1350 1350 1350 1350 340 /* GU,NS,U,G */+ 340 340 340 340 340 /* GU,NS,U,U */+ 850 850 850 850 850 /* UG,CG,E,E */+ 850 850 850 850 850 /* UG,CG,E,A */+ 850 850 850 850 850 /* UG,CG,E,C */+ 850 850 850 850 850 /* UG,CG,E,G */+ 850 850 850 850 850 /* UG,CG,E,U */+ 850 850 850 280 850 /* UG,CG,A,E */+ 850 850 850 280 850 /* UG,CG,A,A */+ 850 850 850 280 850 /* UG,CG,A,C */+ 280 280 280 280 280 /* UG,CG,A,G */+ 850 850 850 280 850 /* UG,CG,A,U */+ 850 850 850 850 850 /* UG,CG,C,E */+ 850 850 850 850 850 /* UG,CG,C,A */+ 850 850 850 850 850 /* UG,CG,C,C */+ 850 850 850 850 850 /* UG,CG,C,G */+ 850 850 850 850 850 /* UG,CG,C,U */+ 850 280 850 280 850 /* UG,CG,G,E */+ 280 280 280 280 280 /* UG,CG,G,A */+ 850 280 850 280 850 /* UG,CG,G,C */+ 280 280 280 280 280 /* UG,CG,G,G */+ 850 280 850 280 850 /* UG,CG,G,U */+ 850 850 850 850 -160 /* UG,CG,U,E */+ 850 850 850 850 -160 /* UG,CG,U,A */+ 850 850 850 850 -160 /* UG,CG,U,C */+ 850 850 850 850 -160 /* UG,CG,U,G */+ -160 -160 -160 -160 -160 /* UG,CG,U,U */+ 850 850 850 850 850 /* UG,GC,E,E */+ 850 850 850 850 850 /* UG,GC,E,A */+ 850 850 850 850 850 /* UG,GC,E,C */+ 850 850 850 850 850 /* UG,GC,E,G */+ 850 850 850 850 850 /* UG,GC,E,U */+ 850 850 850 280 850 /* UG,GC,A,E */+ 850 850 850 280 850 /* UG,GC,A,A */+ 850 850 850 280 850 /* UG,GC,A,C */+ 280 280 280 280 280 /* UG,GC,A,G */+ 850 850 850 280 850 /* UG,GC,A,U */+ 850 850 850 850 850 /* UG,GC,C,E */+ 850 850 850 850 850 /* UG,GC,C,A */+ 850 850 850 850 850 /* UG,GC,C,C */+ 850 850 850 850 850 /* UG,GC,C,G */+ 850 850 850 850 850 /* UG,GC,C,U */+ 850 280 850 280 850 /* UG,GC,G,E */+ 850 280 850 280 850 /* UG,GC,G,A */+ 850 280 850 280 850 /* UG,GC,G,C */+ 280 280 280 280 280 /* UG,GC,G,G */+ 850 280 850 280 850 /* UG,GC,G,U */+ 850 850 850 850 -160 /* UG,GC,U,E */+ 850 850 850 850 -160 /* UG,GC,U,A */+ 850 850 850 850 -160 /* UG,GC,U,C */+ 850 850 850 850 -160 /* UG,GC,U,G */+ -160 -160 -160 -160 -160 /* UG,GC,U,U */+ 1350 1350 1350 1350 1350 /* UG,GU,E,E */+ 1350 1350 1350 1350 1350 /* UG,GU,E,A */+ 1350 1350 1350 1350 1350 /* UG,GU,E,C */+ 1350 1350 1350 1350 1350 /* UG,GU,E,G */+ 1350 1350 1350 1350 1350 /* UG,GU,E,U */+ 1350 1350 1350 780 1350 /* UG,GU,A,E */+ 1350 1350 1350 780 1350 /* UG,GU,A,A */+ 1350 1350 1350 780 1350 /* UG,GU,A,C */+ 780 780 780 780 780 /* UG,GU,A,G */+ 1350 1350 1350 780 1350 /* UG,GU,A,U */+ 1350 1350 1350 1350 1350 /* UG,GU,C,E */+ 1350 1350 1350 1350 1350 /* UG,GU,C,A */+ 1350 1350 1350 1350 1350 /* UG,GU,C,C */+ 1350 1350 1350 1350 1350 /* UG,GU,C,G */+ 1350 1350 1350 1350 1350 /* UG,GU,C,U */+ 1350 780 1350 780 1350 /* UG,GU,G,E */+ 1350 780 1350 780 1350 /* UG,GU,G,A */+ 1350 780 1350 780 1350 /* UG,GU,G,C */+ 780 780 780 780 780 /* UG,GU,G,G */+ 1350 780 1350 780 1350 /* UG,GU,G,U */+ 1350 1350 1350 1350 340 /* UG,GU,U,E */+ 1350 1350 1350 1350 340 /* UG,GU,U,A */+ 1350 1350 1350 1350 340 /* UG,GU,U,C */+ 1350 1350 1350 1350 340 /* UG,GU,U,G */+ 340 340 340 340 340 /* UG,GU,U,U */+ 1350 1350 1350 1350 1350 /* UG,UG,E,E */+ 1350 1350 1350 1350 1350 /* UG,UG,E,A */+ 1350 1350 1350 1350 1350 /* UG,UG,E,C */+ 1350 1350 1350 1350 1350 /* UG,UG,E,G */+ 1350 1350 1350 1350 1350 /* UG,UG,E,U */+ 1350 1350 1350 780 1350 /* UG,UG,A,E */+ 1350 1350 1350 780 1350 /* UG,UG,A,A */+ 1350 1350 1350 780 1350 /* UG,UG,A,C */+ 780 780 780 780 780 /* UG,UG,A,G */+ 1350 1350 1350 780 1350 /* UG,UG,A,U */+ 1350 1350 1350 1350 1350 /* UG,UG,C,E */+ 1350 1350 1350 1350 1350 /* UG,UG,C,A */+ 1350 1350 1350 1350 1350 /* UG,UG,C,C */+ 1350 1350 1350 1350 1350 /* UG,UG,C,G */+ 1350 1350 1350 1350 1350 /* UG,UG,C,U */+ 1350 780 1350 780 1350 /* UG,UG,G,E */+ 780 780 780 780 780 /* UG,UG,G,A */+ 1350 780 1350 780 1350 /* UG,UG,G,C */+ 780 780 780 780 780 /* UG,UG,G,G */+ 1350 780 1350 780 1350 /* UG,UG,G,U */+ 1350 1350 1350 1350 340 /* UG,UG,U,E */+ 1350 1350 1350 1350 340 /* UG,UG,U,A */+ 1350 1350 1350 1350 340 /* UG,UG,U,C */+ 1350 1350 1350 1350 340 /* UG,UG,U,G */+ 340 340 340 340 340 /* UG,UG,U,U */+ 1350 1350 1350 1350 1350 /* UG,AU,E,E */+ 1350 1350 1350 1350 1350 /* UG,AU,E,A */+ 1350 1350 1350 1350 1350 /* UG,AU,E,C */+ 1350 1350 1350 1350 1350 /* UG,AU,E,G */+ 1350 1350 1350 1350 1350 /* UG,AU,E,U */+ 1350 1350 1350 780 1350 /* UG,AU,A,E */+ 1350 1350 1350 780 1350 /* UG,AU,A,A */+ 1350 1350 1350 780 1350 /* UG,AU,A,C */+ 780 780 780 780 780 /* UG,AU,A,G */+ 1350 1350 1350 780 1350 /* UG,AU,A,U */+ 1350 1350 1350 1350 1350 /* UG,AU,C,E */+ 1350 1350 1350 1350 1350 /* UG,AU,C,A */+ 1350 1350 1350 1350 1350 /* UG,AU,C,C */+ 1350 1350 1350 1350 1350 /* UG,AU,C,G */+ 1350 1350 1350 1350 1350 /* UG,AU,C,U */+ 1350 780 1350 780 1350 /* UG,AU,G,E */+ 1350 780 1350 780 1350 /* UG,AU,G,A */+ 1350 780 1350 780 1350 /* UG,AU,G,C */+ 780 780 780 780 780 /* UG,AU,G,G */+ 1350 780 1350 780 1350 /* UG,AU,G,U */+ 1350 1350 1350 1350 340 /* UG,AU,U,E */+ 1350 1350 1350 1350 340 /* UG,AU,U,A */+ 1350 1350 1350 1350 340 /* UG,AU,U,C */+ 1350 1350 1350 1350 340 /* UG,AU,U,G */+ 340 340 340 340 340 /* UG,AU,U,U */+ 1350 1350 1350 1350 1350 /* UG,UA,E,E */+ 1350 1350 1350 1350 1350 /* UG,UA,E,A */+ 1350 1350 1350 1350 1350 /* UG,UA,E,C */+ 1350 1350 1350 1350 1350 /* UG,UA,E,G */+ 1350 1350 1350 1350 1350 /* UG,UA,E,U */+ 1350 1350 1350 780 1350 /* UG,UA,A,E */+ 1350 1350 1350 780 1350 /* UG,UA,A,A */+ 1350 1350 1350 780 1350 /* UG,UA,A,C */+ 780 780 780 780 780 /* UG,UA,A,G */+ 1350 1350 1350 780 1350 /* UG,UA,A,U */+ 1350 1350 1350 1350 1350 /* UG,UA,C,E */+ 1350 1350 1350 1350 1350 /* UG,UA,C,A */+ 1350 1350 1350 1350 1350 /* UG,UA,C,C */+ 1350 1350 1350 1350 1350 /* UG,UA,C,G */+ 1350 1350 1350 1350 1350 /* UG,UA,C,U */+ 1350 780 1350 780 1350 /* UG,UA,G,E */+ 780 780 780 780 780 /* UG,UA,G,A */+ 1350 780 1350 780 1350 /* UG,UA,G,C */+ 780 780 780 780 780 /* UG,UA,G,G */+ 1350 780 1350 780 1350 /* UG,UA,G,U */+ 1350 1350 1350 1350 340 /* UG,UA,U,E */+ 1350 1350 1350 1350 340 /* UG,UA,U,A */+ 1350 1350 1350 1350 340 /* UG,UA,U,C */+ 1350 1350 1350 1350 340 /* UG,UA,U,G */+ 340 340 340 340 340 /* UG,UA,U,U */+ 1350 1350 1350 1350 1350 /* UG,NS,E,E */+ 1350 1350 1350 1350 1350 /* UG,NS,E,A */+ 1350 1350 1350 1350 1350 /* UG,NS,E,C */+ 1350 1350 1350 1350 1350 /* UG,NS,E,G */+ 1350 1350 1350 1350 1350 /* UG,NS,E,U */+ 1350 1350 1350 780 1350 /* UG,NS,A,E */+ 1350 1350 1350 780 1350 /* UG,NS,A,A */+ 1350 1350 1350 780 1350 /* UG,NS,A,C */+ 780 780 780 780 780 /* UG,NS,A,G */+ 1350 1350 1350 780 1350 /* UG,NS,A,U */+ 1350 1350 1350 1350 1350 /* UG,NS,C,E */+ 1350 1350 1350 1350 1350 /* UG,NS,C,A */+ 1350 1350 1350 1350 1350 /* UG,NS,C,C */+ 1350 1350 1350 1350 1350 /* UG,NS,C,G */+ 1350 1350 1350 1350 1350 /* UG,NS,C,U */+ 1350 780 1350 780 1350 /* UG,NS,G,E */+ 1350 780 1350 780 1350 /* UG,NS,G,A */+ 1350 780 1350 780 1350 /* UG,NS,G,C */+ 780 780 780 780 780 /* UG,NS,G,G */+ 1350 780 1350 780 1350 /* UG,NS,G,U */+ 1350 1350 1350 1350 340 /* UG,NS,U,E */+ 1350 1350 1350 1350 340 /* UG,NS,U,A */+ 1350 1350 1350 1350 340 /* UG,NS,U,C */+ 1350 1350 1350 1350 340 /* UG,NS,U,G */+ 340 340 340 340 340 /* UG,NS,U,U */+ 850 850 850 850 850 /* AU,CG,E,E */+ 850 850 850 850 850 /* AU,CG,E,A */+ 850 850 850 850 850 /* AU,CG,E,C */+ 850 850 850 850 850 /* AU,CG,E,G */+ 850 850 850 850 850 /* AU,CG,E,U */+ 850 850 850 850 850 /* AU,CG,A,E */+ 850 850 850 850 850 /* AU,CG,A,A */+ 850 850 850 850 850 /* AU,CG,A,C */+ 280 280 280 280 280 /* AU,CG,A,G */+ 850 850 850 850 850 /* AU,CG,A,U */+ 850 850 850 850 850 /* AU,CG,C,E */+ 850 850 850 850 850 /* AU,CG,C,A */+ 850 850 850 850 850 /* AU,CG,C,C */+ 850 850 850 850 850 /* AU,CG,C,G */+ 850 850 850 850 850 /* AU,CG,C,U */+ 850 280 850 280 850 /* AU,CG,G,E */+ 280 280 280 280 280 /* AU,CG,G,A */+ 850 280 850 280 850 /* AU,CG,G,C */+ 280 280 280 280 280 /* AU,CG,G,G */+ 850 280 850 280 850 /* AU,CG,G,U */+ 850 850 850 850 -160 /* AU,CG,U,E */+ 850 850 850 850 -160 /* AU,CG,U,A */+ 850 850 850 850 -160 /* AU,CG,U,C */+ 850 850 850 850 -160 /* AU,CG,U,G */+ -160 -160 -160 -160 -160 /* AU,CG,U,U */+ 850 850 850 850 850 /* AU,GC,E,E */+ 850 850 850 850 850 /* AU,GC,E,A */+ 850 850 850 850 850 /* AU,GC,E,C */+ 850 850 850 850 850 /* AU,GC,E,G */+ 850 850 850 850 850 /* AU,GC,E,U */+ 850 850 850 850 850 /* AU,GC,A,E */+ 850 850 850 850 850 /* AU,GC,A,A */+ 850 850 850 850 850 /* AU,GC,A,C */+ 280 280 280 280 280 /* AU,GC,A,G */+ 850 850 850 850 850 /* AU,GC,A,U */+ 850 850 850 850 850 /* AU,GC,C,E */+ 850 850 850 850 850 /* AU,GC,C,A */+ 850 850 850 850 850 /* AU,GC,C,C */+ 850 850 850 850 850 /* AU,GC,C,G */+ 850 850 850 850 850 /* AU,GC,C,U */+ 850 280 850 280 850 /* AU,GC,G,E */+ 850 280 850 280 850 /* AU,GC,G,A */+ 850 280 850 280 850 /* AU,GC,G,C */+ 280 280 280 280 280 /* AU,GC,G,G */+ 850 280 850 280 850 /* AU,GC,G,U */+ 850 850 850 850 -160 /* AU,GC,U,E */+ 850 850 850 850 -160 /* AU,GC,U,A */+ 850 850 850 850 -160 /* AU,GC,U,C */+ 850 850 850 850 -160 /* AU,GC,U,G */+ -160 -160 -160 -160 -160 /* AU,GC,U,U */+ 1350 1350 1350 1350 1350 /* AU,GU,E,E */+ 1350 1350 1350 1350 1350 /* AU,GU,E,A */+ 1350 1350 1350 1350 1350 /* AU,GU,E,C */+ 1350 1350 1350 1350 1350 /* AU,GU,E,G */+ 1350 1350 1350 1350 1350 /* AU,GU,E,U */+ 1350 1350 1350 1350 1350 /* AU,GU,A,E */+ 1350 1350 1350 1350 1350 /* AU,GU,A,A */+ 1350 1350 1350 1350 1350 /* AU,GU,A,C */+ 780 780 780 780 780 /* AU,GU,A,G */+ 1350 1350 1350 1350 1350 /* AU,GU,A,U */+ 1350 1350 1350 1350 1350 /* AU,GU,C,E */+ 1350 1350 1350 1350 1350 /* AU,GU,C,A */+ 1350 1350 1350 1350 1350 /* AU,GU,C,C */+ 1350 1350 1350 1350 1350 /* AU,GU,C,G */+ 1350 1350 1350 1350 1350 /* AU,GU,C,U */+ 1350 780 1350 780 1350 /* AU,GU,G,E */+ 1350 780 1350 780 1350 /* AU,GU,G,A */+ 1350 780 1350 780 1350 /* AU,GU,G,C */+ 780 780 780 780 780 /* AU,GU,G,G */+ 1350 780 1350 780 1350 /* AU,GU,G,U */+ 1350 1350 1350 1350 340 /* AU,GU,U,E */+ 1350 1350 1350 1350 340 /* AU,GU,U,A */+ 1350 1350 1350 1350 340 /* AU,GU,U,C */+ 1350 1350 1350 1350 340 /* AU,GU,U,G */+ 340 340 340 340 340 /* AU,GU,U,U */+ 1350 1350 1350 1350 1350 /* AU,UG,E,E */+ 1350 1350 1350 1350 1350 /* AU,UG,E,A */+ 1350 1350 1350 1350 1350 /* AU,UG,E,C */+ 1350 1350 1350 1350 1350 /* AU,UG,E,G */+ 1350 1350 1350 1350 1350 /* AU,UG,E,U */+ 1350 1350 1350 1350 1350 /* AU,UG,A,E */+ 1350 1350 1350 1350 1350 /* AU,UG,A,A */+ 1350 1350 1350 1350 1350 /* AU,UG,A,C */+ 780 780 780 780 780 /* AU,UG,A,G */+ 1350 1350 1350 1350 1350 /* AU,UG,A,U */+ 1350 1350 1350 1350 1350 /* AU,UG,C,E */+ 1350 1350 1350 1350 1350 /* AU,UG,C,A */+ 1350 1350 1350 1350 1350 /* AU,UG,C,C */+ 1350 1350 1350 1350 1350 /* AU,UG,C,G */+ 1350 1350 1350 1350 1350 /* AU,UG,C,U */+ 1350 780 1350 780 1350 /* AU,UG,G,E */+ 780 780 780 780 780 /* AU,UG,G,A */+ 1350 780 1350 780 1350 /* AU,UG,G,C */+ 780 780 780 780 780 /* AU,UG,G,G */+ 1350 780 1350 780 1350 /* AU,UG,G,U */+ 1350 1350 1350 1350 340 /* AU,UG,U,E */+ 1350 1350 1350 1350 340 /* AU,UG,U,A */+ 1350 1350 1350 1350 340 /* AU,UG,U,C */+ 1350 1350 1350 1350 340 /* AU,UG,U,G */+ 340 340 340 340 340 /* AU,UG,U,U */+ 1350 1350 1350 1350 1350 /* AU,AU,E,E */+ 1350 1350 1350 1350 1350 /* AU,AU,E,A */+ 1350 1350 1350 1350 1350 /* AU,AU,E,C */+ 1350 1350 1350 1350 1350 /* AU,AU,E,G */+ 1350 1350 1350 1350 1350 /* AU,AU,E,U */+ 1350 1350 1350 1350 1350 /* AU,AU,A,E */+ 1350 1350 1350 1350 1350 /* AU,AU,A,A */+ 1350 1350 1350 1350 1350 /* AU,AU,A,C */+ 780 780 780 780 780 /* AU,AU,A,G */+ 1350 1350 1350 1350 1350 /* AU,AU,A,U */+ 1350 1350 1350 1350 1350 /* AU,AU,C,E */+ 1350 1350 1350 1350 1350 /* AU,AU,C,A */+ 1350 1350 1350 1350 1350 /* AU,AU,C,C */+ 1350 1350 1350 1350 1350 /* AU,AU,C,G */+ 1350 1350 1350 1350 1350 /* AU,AU,C,U */+ 1350 780 1350 780 1350 /* AU,AU,G,E */+ 1350 780 1350 780 1350 /* AU,AU,G,A */+ 1350 780 1350 780 1350 /* AU,AU,G,C */+ 780 780 780 780 780 /* AU,AU,G,G */+ 1350 780 1350 780 1350 /* AU,AU,G,U */+ 1350 1350 1350 1350 340 /* AU,AU,U,E */+ 1350 1350 1350 1350 340 /* AU,AU,U,A */+ 1350 1350 1350 1350 340 /* AU,AU,U,C */+ 1350 1350 1350 1350 340 /* AU,AU,U,G */+ 340 340 340 340 340 /* AU,AU,U,U */+ 1350 1350 1350 1350 1350 /* AU,UA,E,E */+ 1350 1350 1350 1350 1350 /* AU,UA,E,A */+ 1350 1350 1350 1350 1350 /* AU,UA,E,C */+ 1350 1350 1350 1350 1350 /* AU,UA,E,G */+ 1350 1350 1350 1350 1350 /* AU,UA,E,U */+ 1350 1350 1350 1350 1350 /* AU,UA,A,E */+ 1350 1350 1350 1350 1350 /* AU,UA,A,A */+ 1350 1350 1350 1350 1350 /* AU,UA,A,C */+ 780 780 780 780 780 /* AU,UA,A,G */+ 1350 1350 1350 1350 1350 /* AU,UA,A,U */+ 1350 1350 1350 1350 1350 /* AU,UA,C,E */+ 1350 1350 1350 1350 1350 /* AU,UA,C,A */+ 1350 1350 1350 1350 1350 /* AU,UA,C,C */+ 1350 1350 1350 1350 1350 /* AU,UA,C,G */+ 1350 1350 1350 1350 1350 /* AU,UA,C,U */+ 1350 780 1350 780 1350 /* AU,UA,G,E */+ 780 780 780 780 780 /* AU,UA,G,A */+ 1350 780 1350 780 1350 /* AU,UA,G,C */+ 780 780 780 780 780 /* AU,UA,G,G */+ 1350 780 1350 780 1350 /* AU,UA,G,U */+ 1350 1350 1350 1350 340 /* AU,UA,U,E */+ 1350 1350 1350 1350 340 /* AU,UA,U,A */+ 1350 1350 1350 1350 340 /* AU,UA,U,C */+ 1350 1350 1350 1350 340 /* AU,UA,U,G */+ 340 340 340 340 340 /* AU,UA,U,U */+ 1350 1350 1350 1350 1350 /* AU,NS,E,E */+ 1350 1350 1350 1350 1350 /* AU,NS,E,A */+ 1350 1350 1350 1350 1350 /* AU,NS,E,C */+ 1350 1350 1350 1350 1350 /* AU,NS,E,G */+ 1350 1350 1350 1350 1350 /* AU,NS,E,U */+ 1350 1350 1350 1350 1350 /* AU,NS,A,E */+ 1350 1350 1350 1350 1350 /* AU,NS,A,A */+ 1350 1350 1350 1350 1350 /* AU,NS,A,C */+ 780 780 780 780 780 /* AU,NS,A,G */+ 1350 1350 1350 1350 1350 /* AU,NS,A,U */+ 1350 1350 1350 1350 1350 /* AU,NS,C,E */+ 1350 1350 1350 1350 1350 /* AU,NS,C,A */+ 1350 1350 1350 1350 1350 /* AU,NS,C,C */+ 1350 1350 1350 1350 1350 /* AU,NS,C,G */+ 1350 1350 1350 1350 1350 /* AU,NS,C,U */+ 1350 780 1350 780 1350 /* AU,NS,G,E */+ 1350 780 1350 780 1350 /* AU,NS,G,A */+ 1350 780 1350 780 1350 /* AU,NS,G,C */+ 780 780 780 780 780 /* AU,NS,G,G */+ 1350 780 1350 780 1350 /* AU,NS,G,U */+ 1350 1350 1350 1350 340 /* AU,NS,U,E */+ 1350 1350 1350 1350 340 /* AU,NS,U,A */+ 1350 1350 1350 1350 340 /* AU,NS,U,C */+ 1350 1350 1350 1350 340 /* AU,NS,U,G */+ 340 340 340 340 340 /* AU,NS,U,U */+ 850 850 850 850 850 /* UA,CG,E,E */+ 850 850 850 850 850 /* UA,CG,E,A */+ 850 850 850 850 850 /* UA,CG,E,C */+ 850 850 850 850 850 /* UA,CG,E,G */+ 850 850 850 850 850 /* UA,CG,E,U */+ 850 850 850 280 850 /* UA,CG,A,E */+ 850 850 850 280 850 /* UA,CG,A,A */+ 850 850 850 280 850 /* UA,CG,A,C */+ 280 280 280 280 280 /* UA,CG,A,G */+ 850 850 850 280 850 /* UA,CG,A,U */+ 850 850 850 850 850 /* UA,CG,C,E */+ 850 850 850 850 850 /* UA,CG,C,A */+ 850 850 850 850 850 /* UA,CG,C,C */+ 850 850 850 850 850 /* UA,CG,C,G */+ 850 850 850 850 850 /* UA,CG,C,U */+ 850 280 850 280 850 /* UA,CG,G,E */+ 280 280 280 280 280 /* UA,CG,G,A */+ 850 280 850 280 850 /* UA,CG,G,C */+ 280 280 280 280 280 /* UA,CG,G,G */+ 850 280 850 280 850 /* UA,CG,G,U */+ 850 850 850 850 -160 /* UA,CG,U,E */+ 850 850 850 850 -160 /* UA,CG,U,A */+ 850 850 850 850 -160 /* UA,CG,U,C */+ 850 850 850 850 -160 /* UA,CG,U,G */+ -160 -160 -160 -160 -160 /* UA,CG,U,U */+ 850 850 850 850 850 /* UA,GC,E,E */+ 850 850 850 850 850 /* UA,GC,E,A */+ 850 850 850 850 850 /* UA,GC,E,C */+ 850 850 850 850 850 /* UA,GC,E,G */+ 850 850 850 850 850 /* UA,GC,E,U */+ 850 850 850 280 850 /* UA,GC,A,E */+ 850 850 850 280 850 /* UA,GC,A,A */+ 850 850 850 280 850 /* UA,GC,A,C */+ 280 280 280 280 280 /* UA,GC,A,G */+ 850 850 850 280 850 /* UA,GC,A,U */+ 850 850 850 850 850 /* UA,GC,C,E */+ 850 850 850 850 850 /* UA,GC,C,A */+ 850 850 850 850 850 /* UA,GC,C,C */+ 850 850 850 850 850 /* UA,GC,C,G */+ 850 850 850 850 850 /* UA,GC,C,U */+ 850 280 850 280 850 /* UA,GC,G,E */+ 850 280 850 280 850 /* UA,GC,G,A */+ 850 280 850 280 850 /* UA,GC,G,C */+ 280 280 280 280 280 /* UA,GC,G,G */+ 850 280 850 280 850 /* UA,GC,G,U */+ 850 850 850 850 -160 /* UA,GC,U,E */+ 850 850 850 850 -160 /* UA,GC,U,A */+ 850 850 850 850 -160 /* UA,GC,U,C */+ 850 850 850 850 -160 /* UA,GC,U,G */+ -160 -160 -160 -160 -160 /* UA,GC,U,U */+ 1350 1350 1350 1350 1350 /* UA,GU,E,E */+ 1350 1350 1350 1350 1350 /* UA,GU,E,A */+ 1350 1350 1350 1350 1350 /* UA,GU,E,C */+ 1350 1350 1350 1350 1350 /* UA,GU,E,G */+ 1350 1350 1350 1350 1350 /* UA,GU,E,U */+ 1350 1350 1350 780 1350 /* UA,GU,A,E */+ 1350 1350 1350 780 1350 /* UA,GU,A,A */+ 1350 1350 1350 780 1350 /* UA,GU,A,C */+ 780 780 780 780 780 /* UA,GU,A,G */+ 1350 1350 1350 780 1350 /* UA,GU,A,U */+ 1350 1350 1350 1350 1350 /* UA,GU,C,E */+ 1350 1350 1350 1350 1350 /* UA,GU,C,A */+ 1350 1350 1350 1350 1350 /* UA,GU,C,C */+ 1350 1350 1350 1350 1350 /* UA,GU,C,G */+ 1350 1350 1350 1350 1350 /* UA,GU,C,U */+ 1350 780 1350 780 1350 /* UA,GU,G,E */+ 1350 780 1350 780 1350 /* UA,GU,G,A */+ 1350 780 1350 780 1350 /* UA,GU,G,C */+ 780 780 780 780 780 /* UA,GU,G,G */+ 1350 780 1350 780 1350 /* UA,GU,G,U */+ 1350 1350 1350 1350 340 /* UA,GU,U,E */+ 1350 1350 1350 1350 340 /* UA,GU,U,A */+ 1350 1350 1350 1350 340 /* UA,GU,U,C */+ 1350 1350 1350 1350 340 /* UA,GU,U,G */+ 340 340 340 340 340 /* UA,GU,U,U */+ 1350 1350 1350 1350 1350 /* UA,UG,E,E */+ 1350 1350 1350 1350 1350 /* UA,UG,E,A */+ 1350 1350 1350 1350 1350 /* UA,UG,E,C */+ 1350 1350 1350 1350 1350 /* UA,UG,E,G */+ 1350 1350 1350 1350 1350 /* UA,UG,E,U */+ 1350 1350 1350 780 1350 /* UA,UG,A,E */+ 1350 1350 1350 780 1350 /* UA,UG,A,A */+ 1350 1350 1350 780 1350 /* UA,UG,A,C */+ 780 780 780 780 780 /* UA,UG,A,G */+ 1350 1350 1350 780 1350 /* UA,UG,A,U */+ 1350 1350 1350 1350 1350 /* UA,UG,C,E */+ 1350 1350 1350 1350 1350 /* UA,UG,C,A */+ 1350 1350 1350 1350 1350 /* UA,UG,C,C */+ 1350 1350 1350 1350 1350 /* UA,UG,C,G */+ 1350 1350 1350 1350 1350 /* UA,UG,C,U */+ 1350 780 1350 780 1350 /* UA,UG,G,E */+ 780 780 780 780 780 /* UA,UG,G,A */+ 1350 780 1350 780 1350 /* UA,UG,G,C */+ 780 780 780 780 780 /* UA,UG,G,G */+ 1350 780 1350 780 1350 /* UA,UG,G,U */+ 1350 1350 1350 1350 340 /* UA,UG,U,E */+ 1350 1350 1350 1350 340 /* UA,UG,U,A */+ 1350 1350 1350 1350 340 /* UA,UG,U,C */+ 1350 1350 1350 1350 340 /* UA,UG,U,G */+ 340 340 340 340 340 /* UA,UG,U,U */+ 1350 1350 1350 1350 1350 /* UA,AU,E,E */+ 1350 1350 1350 1350 1350 /* UA,AU,E,A */+ 1350 1350 1350 1350 1350 /* UA,AU,E,C */+ 1350 1350 1350 1350 1350 /* UA,AU,E,G */+ 1350 1350 1350 1350 1350 /* UA,AU,E,U */+ 1350 1350 1350 780 1350 /* UA,AU,A,E */+ 1350 1350 1350 780 1350 /* UA,AU,A,A */+ 1350 1350 1350 780 1350 /* UA,AU,A,C */+ 780 780 780 780 780 /* UA,AU,A,G */+ 1350 1350 1350 780 1350 /* UA,AU,A,U */+ 1350 1350 1350 1350 1350 /* UA,AU,C,E */+ 1350 1350 1350 1350 1350 /* UA,AU,C,A */+ 1350 1350 1350 1350 1350 /* UA,AU,C,C */+ 1350 1350 1350 1350 1350 /* UA,AU,C,G */+ 1350 1350 1350 1350 1350 /* UA,AU,C,U */+ 1350 780 1350 780 1350 /* UA,AU,G,E */+ 1350 780 1350 780 1350 /* UA,AU,G,A */+ 1350 780 1350 780 1350 /* UA,AU,G,C */+ 780 780 780 780 780 /* UA,AU,G,G */+ 1350 780 1350 780 1350 /* UA,AU,G,U */+ 1350 1350 1350 1350 340 /* UA,AU,U,E */+ 1350 1350 1350 1350 340 /* UA,AU,U,A */+ 1350 1350 1350 1350 340 /* UA,AU,U,C */+ 1350 1350 1350 1350 340 /* UA,AU,U,G */+ 340 340 340 340 340 /* UA,AU,U,U */+ 1350 1350 1350 1350 1350 /* UA,UA,E,E */+ 1350 1350 1350 1350 1350 /* UA,UA,E,A */+ 1350 1350 1350 1350 1350 /* UA,UA,E,C */+ 1350 1350 1350 1350 1350 /* UA,UA,E,G */+ 1350 1350 1350 1350 1350 /* UA,UA,E,U */+ 1350 1350 1350 780 1350 /* UA,UA,A,E */+ 1350 1350 1350 780 1350 /* UA,UA,A,A */+ 1350 1350 1350 780 1350 /* UA,UA,A,C */+ 780 780 780 780 780 /* UA,UA,A,G */+ 1350 1350 1350 780 1350 /* UA,UA,A,U */+ 1350 1350 1350 1350 1350 /* UA,UA,C,E */+ 1350 1350 1350 1350 1350 /* UA,UA,C,A */+ 1350 1350 1350 1350 1350 /* UA,UA,C,C */+ 1350 1350 1350 1350 1350 /* UA,UA,C,G */+ 1350 1350 1350 1350 1350 /* UA,UA,C,U */+ 1350 780 1350 780 1350 /* UA,UA,G,E */+ 780 780 780 780 780 /* UA,UA,G,A */+ 1350 780 1350 780 1350 /* UA,UA,G,C */+ 780 780 780 780 780 /* UA,UA,G,G */+ 1350 780 1350 780 1350 /* UA,UA,G,U */+ 1350 1350 1350 1350 340 /* UA,UA,U,E */+ 1350 1350 1350 1350 340 /* UA,UA,U,A */+ 1350 1350 1350 1350 340 /* UA,UA,U,C */+ 1350 1350 1350 1350 340 /* UA,UA,U,G */+ 340 340 340 340 340 /* UA,UA,U,U */+ 1350 1350 1350 1350 1350 /* UA,NS,E,E */+ 1350 1350 1350 1350 1350 /* UA,NS,E,A */+ 1350 1350 1350 1350 1350 /* UA,NS,E,C */+ 1350 1350 1350 1350 1350 /* UA,NS,E,G */+ 1350 1350 1350 1350 1350 /* UA,NS,E,U */+ 1350 1350 1350 780 1350 /* UA,NS,A,E */+ 1350 1350 1350 780 1350 /* UA,NS,A,A */+ 1350 1350 1350 780 1350 /* UA,NS,A,C */+ 780 780 780 780 780 /* UA,NS,A,G */+ 1350 1350 1350 780 1350 /* UA,NS,A,U */+ 1350 1350 1350 1350 1350 /* UA,NS,C,E */+ 1350 1350 1350 1350 1350 /* UA,NS,C,A */+ 1350 1350 1350 1350 1350 /* UA,NS,C,C */+ 1350 1350 1350 1350 1350 /* UA,NS,C,G */+ 1350 1350 1350 1350 1350 /* UA,NS,C,U */+ 1350 780 1350 780 1350 /* UA,NS,G,E */+ 1350 780 1350 780 1350 /* UA,NS,G,A */+ 1350 780 1350 780 1350 /* UA,NS,G,C */+ 780 780 780 780 780 /* UA,NS,G,G */+ 1350 780 1350 780 1350 /* UA,NS,G,U */+ 1350 1350 1350 1350 340 /* UA,NS,U,E */+ 1350 1350 1350 1350 340 /* UA,NS,U,A */+ 1350 1350 1350 1350 340 /* UA,NS,U,C */+ 1350 1350 1350 1350 340 /* UA,NS,U,G */+ 340 340 340 340 340 /* UA,NS,U,U */+ 850 850 850 850 850 /* NS,CG,E,E */+ 850 850 850 850 850 /* NS,CG,E,A */+ 850 850 850 850 850 /* NS,CG,E,C */+ 850 850 850 850 850 /* NS,CG,E,G */+ 850 850 850 850 850 /* NS,CG,E,U */+ 850 850 850 850 850 /* NS,CG,A,E */+ 850 850 850 850 850 /* NS,CG,A,A */+ 850 850 850 850 850 /* NS,CG,A,C */+ 280 280 280 280 280 /* NS,CG,A,G */+ 850 850 850 850 850 /* NS,CG,A,U */+ 850 850 850 850 850 /* NS,CG,C,E */+ 850 850 850 850 850 /* NS,CG,C,A */+ 850 850 850 850 850 /* NS,CG,C,C */+ 850 850 850 850 850 /* NS,CG,C,G */+ 850 850 850 850 850 /* NS,CG,C,U */+ 850 280 850 280 850 /* NS,CG,G,E */+ 280 280 280 280 280 /* NS,CG,G,A */+ 850 280 850 280 850 /* NS,CG,G,C */+ 280 280 280 280 280 /* NS,CG,G,G */+ 850 280 850 280 850 /* NS,CG,G,U */+ 850 850 850 850 -160 /* NS,CG,U,E */+ 850 850 850 850 -160 /* NS,CG,U,A */+ 850 850 850 850 -160 /* NS,CG,U,C */+ 850 850 850 850 -160 /* NS,CG,U,G */+ -160 -160 -160 -160 -160 /* NS,CG,U,U */+ 850 850 850 850 850 /* NS,GC,E,E */+ 850 850 850 850 850 /* NS,GC,E,A */+ 850 850 850 850 850 /* NS,GC,E,C */+ 850 850 850 850 850 /* NS,GC,E,G */+ 850 850 850 850 850 /* NS,GC,E,U */+ 850 850 850 850 850 /* NS,GC,A,E */+ 850 850 850 850 850 /* NS,GC,A,A */+ 850 850 850 850 850 /* NS,GC,A,C */+ 280 280 280 280 280 /* NS,GC,A,G */+ 850 850 850 850 850 /* NS,GC,A,U */+ 850 850 850 850 850 /* NS,GC,C,E */+ 850 850 850 850 850 /* NS,GC,C,A */+ 850 850 850 850 850 /* NS,GC,C,C */+ 850 850 850 850 850 /* NS,GC,C,G */+ 850 850 850 850 850 /* NS,GC,C,U */+ 850 280 850 280 850 /* NS,GC,G,E */+ 850 280 850 280 850 /* NS,GC,G,A */+ 850 280 850 280 850 /* NS,GC,G,C */+ 280 280 280 280 280 /* NS,GC,G,G */+ 850 280 850 280 850 /* NS,GC,G,U */+ 850 850 850 850 -160 /* NS,GC,U,E */+ 850 850 850 850 -160 /* NS,GC,U,A */+ 850 850 850 850 -160 /* NS,GC,U,C */+ 850 850 850 850 -160 /* NS,GC,U,G */+ -160 -160 -160 -160 -160 /* NS,GC,U,U */+ 1350 1350 1350 1350 1350 /* NS,GU,E,E */+ 1350 1350 1350 1350 1350 /* NS,GU,E,A */+ 1350 1350 1350 1350 1350 /* NS,GU,E,C */+ 1350 1350 1350 1350 1350 /* NS,GU,E,G */+ 1350 1350 1350 1350 1350 /* NS,GU,E,U */+ 1350 1350 1350 1350 1350 /* NS,GU,A,E */+ 1350 1350 1350 1350 1350 /* NS,GU,A,A */+ 1350 1350 1350 1350 1350 /* NS,GU,A,C */+ 780 780 780 780 780 /* NS,GU,A,G */+ 1350 1350 1350 1350 1350 /* NS,GU,A,U */+ 1350 1350 1350 1350 1350 /* NS,GU,C,E */+ 1350 1350 1350 1350 1350 /* NS,GU,C,A */+ 1350 1350 1350 1350 1350 /* NS,GU,C,C */+ 1350 1350 1350 1350 1350 /* NS,GU,C,G */+ 1350 1350 1350 1350 1350 /* NS,GU,C,U */+ 1350 780 1350 780 1350 /* NS,GU,G,E */+ 1350 780 1350 780 1350 /* NS,GU,G,A */+ 1350 780 1350 780 1350 /* NS,GU,G,C */+ 780 780 780 780 780 /* NS,GU,G,G */+ 1350 780 1350 780 1350 /* NS,GU,G,U */+ 1350 1350 1350 1350 340 /* NS,GU,U,E */+ 1350 1350 1350 1350 340 /* NS,GU,U,A */+ 1350 1350 1350 1350 340 /* NS,GU,U,C */+ 1350 1350 1350 1350 340 /* NS,GU,U,G */+ 340 340 340 340 340 /* NS,GU,U,U */+ 1350 1350 1350 1350 1350 /* NS,UG,E,E */+ 1350 1350 1350 1350 1350 /* NS,UG,E,A */+ 1350 1350 1350 1350 1350 /* NS,UG,E,C */+ 1350 1350 1350 1350 1350 /* NS,UG,E,G */+ 1350 1350 1350 1350 1350 /* NS,UG,E,U */+ 1350 1350 1350 1350 1350 /* NS,UG,A,E */+ 1350 1350 1350 1350 1350 /* NS,UG,A,A */+ 1350 1350 1350 1350 1350 /* NS,UG,A,C */+ 780 780 780 780 780 /* NS,UG,A,G */+ 1350 1350 1350 1350 1350 /* NS,UG,A,U */+ 1350 1350 1350 1350 1350 /* NS,UG,C,E */+ 1350 1350 1350 1350 1350 /* NS,UG,C,A */+ 1350 1350 1350 1350 1350 /* NS,UG,C,C */+ 1350 1350 1350 1350 1350 /* NS,UG,C,G */+ 1350 1350 1350 1350 1350 /* NS,UG,C,U */+ 1350 780 1350 780 1350 /* NS,UG,G,E */+ 780 780 780 780 780 /* NS,UG,G,A */+ 1350 780 1350 780 1350 /* NS,UG,G,C */+ 780 780 780 780 780 /* NS,UG,G,G */+ 1350 780 1350 780 1350 /* NS,UG,G,U */+ 1350 1350 1350 1350 340 /* NS,UG,U,E */+ 1350 1350 1350 1350 340 /* NS,UG,U,A */+ 1350 1350 1350 1350 340 /* NS,UG,U,C */+ 1350 1350 1350 1350 340 /* NS,UG,U,G */+ 340 340 340 340 340 /* NS,UG,U,U */+ 1350 1350 1350 1350 1350 /* NS,AU,E,E */+ 1350 1350 1350 1350 1350 /* NS,AU,E,A */+ 1350 1350 1350 1350 1350 /* NS,AU,E,C */+ 1350 1350 1350 1350 1350 /* NS,AU,E,G */+ 1350 1350 1350 1350 1350 /* NS,AU,E,U */+ 1350 1350 1350 1350 1350 /* NS,AU,A,E */+ 1350 1350 1350 1350 1350 /* NS,AU,A,A */+ 1350 1350 1350 1350 1350 /* NS,AU,A,C */+ 780 780 780 780 780 /* NS,AU,A,G */+ 1350 1350 1350 1350 1350 /* NS,AU,A,U */+ 1350 1350 1350 1350 1350 /* NS,AU,C,E */+ 1350 1350 1350 1350 1350 /* NS,AU,C,A */+ 1350 1350 1350 1350 1350 /* NS,AU,C,C */+ 1350 1350 1350 1350 1350 /* NS,AU,C,G */+ 1350 1350 1350 1350 1350 /* NS,AU,C,U */+ 1350 780 1350 780 1350 /* NS,AU,G,E */+ 1350 780 1350 780 1350 /* NS,AU,G,A */+ 1350 780 1350 780 1350 /* NS,AU,G,C */+ 780 780 780 780 780 /* NS,AU,G,G */+ 1350 780 1350 780 1350 /* NS,AU,G,U */+ 1350 1350 1350 1350 340 /* NS,AU,U,E */+ 1350 1350 1350 1350 340 /* NS,AU,U,A */+ 1350 1350 1350 1350 340 /* NS,AU,U,C */+ 1350 1350 1350 1350 340 /* NS,AU,U,G */+ 340 340 340 340 340 /* NS,AU,U,U */+ 1350 1350 1350 1350 1350 /* NS,UA,E,E */+ 1350 1350 1350 1350 1350 /* NS,UA,E,A */+ 1350 1350 1350 1350 1350 /* NS,UA,E,C */+ 1350 1350 1350 1350 1350 /* NS,UA,E,G */+ 1350 1350 1350 1350 1350 /* NS,UA,E,U */+ 1350 1350 1350 1350 1350 /* NS,UA,A,E */+ 1350 1350 1350 1350 1350 /* NS,UA,A,A */+ 1350 1350 1350 1350 1350 /* NS,UA,A,C */+ 780 780 780 780 780 /* NS,UA,A,G */+ 1350 1350 1350 1350 1350 /* NS,UA,A,U */+ 1350 1350 1350 1350 1350 /* NS,UA,C,E */+ 1350 1350 1350 1350 1350 /* NS,UA,C,A */+ 1350 1350 1350 1350 1350 /* NS,UA,C,C */+ 1350 1350 1350 1350 1350 /* NS,UA,C,G */+ 1350 1350 1350 1350 1350 /* NS,UA,C,U */+ 1350 780 1350 780 1350 /* NS,UA,G,E */+ 780 780 780 780 780 /* NS,UA,G,A */+ 1350 780 1350 780 1350 /* NS,UA,G,C */+ 780 780 780 780 780 /* NS,UA,G,G */+ 1350 780 1350 780 1350 /* NS,UA,G,U */+ 1350 1350 1350 1350 340 /* NS,UA,U,E */+ 1350 1350 1350 1350 340 /* NS,UA,U,A */+ 1350 1350 1350 1350 340 /* NS,UA,U,C */+ 1350 1350 1350 1350 340 /* NS,UA,U,G */+ 340 340 340 340 340 /* NS,UA,U,U */+ 1350 1350 1350 1350 1350 /* NS,NS,E,E */+ 1350 1350 1350 1350 1350 /* NS,NS,E,A */+ 1350 1350 1350 1350 1350 /* NS,NS,E,C */+ 1350 1350 1350 1350 1350 /* NS,NS,E,G */+ 1350 1350 1350 1350 1350 /* NS,NS,E,U */+ 1350 1350 1350 1350 1350 /* NS,NS,A,E */+ 1350 1350 1350 1350 1350 /* NS,NS,A,A */+ 1350 1350 1350 1350 1350 /* NS,NS,A,C */+ 780 780 780 780 780 /* NS,NS,A,G */+ 1350 1350 1350 1350 1350 /* NS,NS,A,U */+ 1350 1350 1350 1350 1350 /* NS,NS,C,E */+ 1350 1350 1350 1350 1350 /* NS,NS,C,A */+ 1350 1350 1350 1350 1350 /* NS,NS,C,C */+ 1350 1350 1350 1350 1350 /* NS,NS,C,G */+ 1350 1350 1350 1350 1350 /* NS,NS,C,U */+ 1350 780 1350 780 1350 /* NS,NS,G,E */+ 1350 780 1350 780 1350 /* NS,NS,G,A */+ 1350 780 1350 780 1350 /* NS,NS,G,C */+ 780 780 780 780 780 /* NS,NS,G,G */+ 1350 780 1350 780 1350 /* NS,NS,G,U */+ 1350 1350 1350 1350 340 /* NS,NS,U,E */+ 1350 1350 1350 1350 340 /* NS,NS,U,A */+ 1350 1350 1350 1350 340 /* NS,NS,U,C */+ 1350 1350 1350 1350 340 /* NS,NS,U,G */+ 340 340 340 340 340 /* NS,NS,U,U */++# int22+ 120 160 20 160 /* CG,CG,A,A,A */+ 110 150 20 150 /* CG,CG,A,A,C */+ 20 60 -70 60 /* CG,CG,A,A,G */+ 110 150 20 150 /* CG,CG,A,A,U */+ 160 200 60 200 /* CG,CG,A,C,A */+ 140 180 110 180 /* CG,CG,A,C,C */+ 160 200 60 200 /* CG,CG,A,C,G */+ 130 170 90 170 /* CG,CG,A,C,U */+ 20 60 -70 60 /* CG,CG,A,G,A */+ 110 150 20 150 /* CG,CG,A,G,C */+ -30 10 0 10 /* CG,CG,A,G,G */+ 110 150 20 150 /* CG,CG,A,G,U */+ 160 200 60 200 /* CG,CG,A,U,A */+ 130 170 90 170 /* CG,CG,A,U,C */+ 160 200 60 200 /* CG,CG,A,U,G */+ 100 80 -50 80 /* CG,CG,A,U,U */+ 110 140 110 130 /* CG,CG,C,A,A */+ 110 140 110 120 /* CG,CG,C,A,C */+ 20 110 20 90 /* CG,CG,C,A,G */+ 110 140 110 120 /* CG,CG,C,A,U */+ 150 180 150 170 /* CG,CG,C,C,A */+ 140 170 140 150 /* CG,CG,C,C,C */+ 150 180 150 170 /* CG,CG,C,C,G */+ 120 150 120 140 /* CG,CG,C,C,U */+ 20 110 20 90 /* CG,CG,C,G,A */+ 110 140 110 120 /* CG,CG,C,G,C */+ -40 -10 -40 -20 /* CG,CG,C,G,G */+ 110 140 110 120 /* CG,CG,C,G,U */+ 150 180 150 170 /* CG,CG,C,U,A */+ 120 150 120 140 /* CG,CG,C,U,C */+ 150 180 150 170 /* CG,CG,C,U,G */+ 30 60 30 50 /* CG,CG,C,U,U */+ 20 160 -30 160 /* CG,CG,G,A,A */+ 20 150 -40 150 /* CG,CG,G,A,C */+ -70 60 0 60 /* CG,CG,G,A,G */+ 20 150 -40 150 /* CG,CG,G,A,U */+ 60 200 10 200 /* CG,CG,G,C,A */+ 110 180 -10 180 /* CG,CG,G,C,C */+ 60 200 10 200 /* CG,CG,G,C,G */+ 90 170 -20 170 /* CG,CG,G,C,U */+ -70 60 0 60 /* CG,CG,G,G,A */+ 20 150 -40 150 /* CG,CG,G,G,C */+ 0 10 80 10 /* CG,CG,G,G,G */+ 20 150 -40 150 /* CG,CG,G,G,U */+ 60 200 10 200 /* CG,CG,G,U,A */+ 90 170 -20 170 /* CG,CG,G,U,C */+ 60 200 10 200 /* CG,CG,G,U,G */+ -50 80 20 80 /* CG,CG,G,U,U */+ 110 130 110 100 /* CG,CG,U,A,A */+ 110 120 110 30 /* CG,CG,U,A,C */+ 20 90 20 -50 /* CG,CG,U,A,G */+ 110 120 110 30 /* CG,CG,U,A,U */+ 150 170 150 80 /* CG,CG,U,C,A */+ 140 150 140 60 /* CG,CG,U,C,C */+ 150 170 150 80 /* CG,CG,U,C,G */+ 120 140 120 50 /* CG,CG,U,C,U */+ 20 90 20 -50 /* CG,CG,U,G,A */+ 110 120 110 30 /* CG,CG,U,G,C */+ -40 -20 -40 20 /* CG,CG,U,G,G */+ 110 120 110 30 /* CG,CG,U,G,U */+ 150 170 150 80 /* CG,CG,U,U,A */+ 120 140 120 50 /* CG,CG,U,U,C */+ 150 170 150 80 /* CG,CG,U,U,G */+ 30 50 30 -40 /* CG,CG,U,U,U */+ 130 60 0 170 /* CG,GC,A,A,A */+ 110 150 -70 150 /* CG,GC,A,A,C */+ -30 10 -160 -30 /* CG,GC,A,A,G */+ 110 150 10 150 /* CG,GC,A,A,U */+ 100 50 -100 140 /* CG,GC,A,C,A */+ 110 150 -60 150 /* CG,GC,A,C,C */+ 100 140 10 140 /* CG,GC,A,C,G */+ 110 150 70 150 /* CG,GC,A,C,U */+ 40 30 -70 30 /* CG,GC,A,G,A */+ 110 150 10 150 /* CG,GC,A,G,C */+ -30 -30 0 10 /* CG,GC,A,G,G */+ 110 150 10 150 /* CG,GC,A,G,U */+ 100 140 10 140 /* CG,GC,A,U,A */+ 110 150 80 150 /* CG,GC,A,U,C */+ 100 140 10 140 /* CG,GC,A,U,G */+ 150 0 90 70 /* CG,GC,A,U,U */+ 130 220 130 140 /* CG,GC,C,A,A */+ 100 130 100 120 /* CG,GC,C,A,C */+ -70 70 -70 0 /* CG,GC,C,A,G */+ 100 130 100 120 /* CG,GC,C,A,U */+ 110 190 100 110 /* CG,GC,C,C,A */+ 100 130 100 120 /* CG,GC,C,C,C */+ 100 130 100 110 /* CG,GC,C,C,G */+ 100 130 100 170 /* CG,GC,C,C,U */+ 70 70 -10 60 /* CG,GC,C,G,A */+ 100 130 100 120 /* CG,GC,C,G,C */+ -40 -10 -40 20 /* CG,GC,C,G,G */+ 100 130 100 120 /* CG,GC,C,G,U */+ 100 130 100 110 /* CG,GC,C,U,A */+ 110 140 110 120 /* CG,GC,C,U,C */+ 100 130 100 110 /* CG,GC,C,U,G */+ -20 -10 30 20 /* CG,GC,C,U,U */+ -20 170 -10 170 /* CG,GC,G,A,A */+ -40 150 -40 150 /* CG,GC,G,A,C */+ -170 -30 -90 -30 /* CG,GC,G,A,G */+ 10 150 -40 150 /* CG,GC,G,A,U */+ 70 140 -50 140 /* CG,GC,G,C,A */+ 70 150 -40 150 /* CG,GC,G,C,C */+ 10 140 -50 140 /* CG,GC,G,C,G */+ 70 150 20 150 /* CG,GC,G,C,U */+ -50 30 -30 30 /* CG,GC,G,G,A */+ 10 150 -40 150 /* CG,GC,G,G,C */+ -30 10 80 10 /* CG,GC,G,G,G */+ 10 150 -40 150 /* CG,GC,G,G,U */+ 10 140 -50 140 /* CG,GC,G,U,A */+ 80 150 -50 150 /* CG,GC,G,U,C */+ 10 140 -50 140 /* CG,GC,G,U,G */+ 90 70 140 70 /* CG,GC,G,U,U */+ 130 140 130 140 /* CG,GC,U,A,A */+ 100 120 100 30 /* CG,GC,U,A,C */+ -70 0 -70 50 /* CG,GC,U,A,G */+ 100 120 100 30 /* CG,GC,U,A,U */+ 100 110 100 30 /* CG,GC,U,C,A */+ 100 120 100 30 /* CG,GC,U,C,C */+ 100 110 100 20 /* CG,GC,U,C,G */+ 100 120 100 30 /* CG,GC,U,C,U */+ -10 50 -10 140 /* CG,GC,U,G,A */+ 100 120 100 30 /* CG,GC,U,G,C */+ -40 -60 -40 70 /* CG,GC,U,G,G */+ 100 120 100 30 /* CG,GC,U,G,U */+ 100 110 100 20 /* CG,GC,U,U,A */+ 110 120 110 30 /* CG,GC,U,U,C */+ 100 110 100 20 /* CG,GC,U,U,G */+ 30 40 30 -60 /* CG,GC,U,U,U */+ 270 300 170 300 /* CG,GU,A,A,A */+ 230 270 130 270 /* CG,GU,A,A,C */+ 150 190 50 190 /* CG,GU,A,A,G */+ 230 270 130 270 /* CG,GU,A,A,U */+ 230 270 130 270 /* CG,GU,A,C,A */+ 230 270 190 270 /* CG,GU,A,C,C */+ 230 270 130 270 /* CG,GU,A,C,G */+ 230 270 190 270 /* CG,GU,A,C,U */+ 190 230 90 230 /* CG,GU,A,G,A */+ 230 270 130 270 /* CG,GU,A,G,C */+ 100 140 130 140 /* CG,GU,A,G,G */+ 230 270 130 270 /* CG,GU,A,G,U */+ 230 270 130 270 /* CG,GU,A,U,A */+ 230 270 190 270 /* CG,GU,A,U,C */+ 230 270 130 270 /* CG,GU,A,U,G */+ 290 270 130 270 /* CG,GU,A,U,U */+ 260 290 260 270 /* CG,GU,C,A,A */+ 220 250 220 240 /* CG,GU,C,A,C */+ 140 230 140 220 /* CG,GU,C,A,G */+ 220 250 220 240 /* CG,GU,C,A,U */+ 220 250 220 240 /* CG,GU,C,C,A */+ 220 250 220 240 /* CG,GU,C,C,C */+ 220 250 220 240 /* CG,GU,C,C,G */+ 220 250 220 240 /* CG,GU,C,C,U */+ 180 270 180 260 /* CG,GU,C,G,A */+ 220 250 220 240 /* CG,GU,C,G,C */+ 90 120 90 110 /* CG,GU,C,G,G */+ 220 250 220 240 /* CG,GU,C,G,U */+ 220 250 220 240 /* CG,GU,C,U,A */+ 220 250 220 240 /* CG,GU,C,U,C */+ 220 250 220 240 /* CG,GU,C,U,G */+ 220 250 220 240 /* CG,GU,C,U,U */+ 170 300 110 300 /* CG,GU,G,A,A */+ 130 270 80 270 /* CG,GU,G,A,C */+ 50 190 130 190 /* CG,GU,G,A,G */+ 130 270 80 270 /* CG,GU,G,A,U */+ 130 270 80 270 /* CG,GU,G,C,A */+ 190 270 80 270 /* CG,GU,G,C,C */+ 130 270 80 270 /* CG,GU,G,C,G */+ 190 270 80 270 /* CG,GU,G,C,U */+ 90 230 170 230 /* CG,GU,G,G,A */+ 130 270 80 270 /* CG,GU,G,G,C */+ 130 140 210 140 /* CG,GU,G,G,G */+ 130 270 80 270 /* CG,GU,G,G,U */+ 130 270 80 270 /* CG,GU,G,U,A */+ 190 270 80 270 /* CG,GU,G,U,C */+ 130 270 80 270 /* CG,GU,G,U,G */+ 130 270 210 270 /* CG,GU,G,U,U */+ 260 270 260 240 /* CG,GU,U,A,A */+ 220 240 220 150 /* CG,GU,U,A,C */+ 140 220 140 70 /* CG,GU,U,A,G */+ 220 240 220 150 /* CG,GU,U,A,U */+ 220 240 220 150 /* CG,GU,U,C,A */+ 220 240 220 150 /* CG,GU,U,C,C */+ 220 240 220 150 /* CG,GU,U,C,G */+ 220 240 220 150 /* CG,GU,U,C,U */+ 180 260 180 110 /* CG,GU,U,G,A */+ 220 240 220 150 /* CG,GU,U,G,C */+ 90 110 90 150 /* CG,GU,U,G,G */+ 220 240 220 150 /* CG,GU,U,G,U */+ 220 240 220 150 /* CG,GU,U,U,A */+ 220 240 220 150 /* CG,GU,U,U,C */+ 220 240 220 150 /* CG,GU,U,U,G */+ 220 240 220 150 /* CG,GU,U,U,U */+ 160 200 70 200 /* CG,UG,A,A,A */+ 200 240 100 240 /* CG,UG,A,A,C */+ 60 100 -30 100 /* CG,UG,A,A,G */+ 200 240 100 240 /* CG,UG,A,A,U */+ 200 240 100 240 /* CG,UG,A,C,A */+ 200 240 160 240 /* CG,UG,A,C,C */+ 200 240 100 240 /* CG,UG,A,C,G */+ 200 240 160 240 /* CG,UG,A,C,U */+ 230 270 130 270 /* CG,UG,A,G,A */+ 200 240 100 240 /* CG,UG,A,G,C */+ 70 110 100 110 /* CG,UG,A,G,G */+ 200 240 100 240 /* CG,UG,A,G,U */+ 200 240 100 240 /* CG,UG,A,U,A */+ 200 240 160 240 /* CG,UG,A,U,C */+ 200 240 100 240 /* CG,UG,A,U,G */+ 260 240 100 240 /* CG,UG,A,U,U */+ 160 190 160 170 /* CG,UG,C,A,A */+ 190 220 190 210 /* CG,UG,C,A,C */+ 60 150 60 130 /* CG,UG,C,A,G */+ 190 220 190 210 /* CG,UG,C,A,U */+ 190 220 190 210 /* CG,UG,C,C,A */+ 190 220 190 210 /* CG,UG,C,C,C */+ 190 220 190 210 /* CG,UG,C,C,G */+ 190 220 190 210 /* CG,UG,C,C,U */+ 220 310 220 300 /* CG,UG,C,G,A */+ 190 220 190 210 /* CG,UG,C,G,C */+ 60 90 60 80 /* CG,UG,C,G,G */+ 190 220 190 210 /* CG,UG,C,G,U */+ 190 220 190 210 /* CG,UG,C,U,A */+ 190 220 190 210 /* CG,UG,C,U,C */+ 190 220 190 210 /* CG,UG,C,U,G */+ 190 220 190 210 /* CG,UG,C,U,U */+ 70 200 10 200 /* CG,UG,G,A,A */+ 100 240 50 240 /* CG,UG,G,A,C */+ -30 100 40 100 /* CG,UG,G,A,G */+ 100 240 50 240 /* CG,UG,G,A,U */+ 100 240 50 240 /* CG,UG,G,C,A */+ 160 240 50 240 /* CG,UG,G,C,C */+ 100 240 50 240 /* CG,UG,G,C,G */+ 160 240 50 240 /* CG,UG,G,C,U */+ 130 270 210 270 /* CG,UG,G,G,A */+ 100 240 50 240 /* CG,UG,G,G,C */+ 100 110 180 110 /* CG,UG,G,G,G */+ 100 240 50 240 /* CG,UG,G,G,U */+ 100 240 50 240 /* CG,UG,G,U,A */+ 160 240 50 240 /* CG,UG,G,U,C */+ 100 240 50 240 /* CG,UG,G,U,G */+ 100 240 180 240 /* CG,UG,G,U,U */+ 160 170 160 140 /* CG,UG,U,A,A */+ 190 210 190 120 /* CG,UG,U,A,C */+ 60 130 60 -10 /* CG,UG,U,A,G */+ 190 210 190 120 /* CG,UG,U,A,U */+ 190 210 190 120 /* CG,UG,U,C,A */+ 190 210 190 120 /* CG,UG,U,C,C */+ 190 210 190 120 /* CG,UG,U,C,G */+ 190 210 190 120 /* CG,UG,U,C,U */+ 220 300 220 150 /* CG,UG,U,G,A */+ 190 210 190 120 /* CG,UG,U,G,C */+ 60 80 60 120 /* CG,UG,U,G,G */+ 190 210 190 120 /* CG,UG,U,G,U */+ 190 210 190 120 /* CG,UG,U,U,A */+ 190 210 190 120 /* CG,UG,U,U,C */+ 190 210 190 120 /* CG,UG,U,U,G */+ 190 210 190 120 /* CG,UG,U,U,U */+ 200 240 100 240 /* CG,AU,A,A,A */+ 170 210 80 210 /* CG,AU,A,A,C */+ 70 110 -20 110 /* CG,AU,A,A,G */+ 170 210 80 210 /* CG,AU,A,A,U */+ 180 220 90 220 /* CG,AU,A,C,A */+ 180 220 140 220 /* CG,AU,A,C,C */+ 180 220 90 220 /* CG,AU,A,C,G */+ 180 220 140 220 /* CG,AU,A,C,U */+ 140 180 50 180 /* CG,AU,A,G,A */+ 170 210 80 210 /* CG,AU,A,G,C */+ 20 60 60 60 /* CG,AU,A,G,G */+ 170 210 80 210 /* CG,AU,A,G,U */+ 180 220 90 220 /* CG,AU,A,U,A */+ 180 220 140 220 /* CG,AU,A,U,C */+ 180 220 90 220 /* CG,AU,A,U,G */+ 150 130 0 130 /* CG,AU,A,U,U */+ 190 220 190 210 /* CG,AU,C,A,A */+ 170 200 170 180 /* CG,AU,C,A,C */+ 70 160 70 140 /* CG,AU,C,A,G */+ 170 200 170 180 /* CG,AU,C,A,U */+ 180 210 180 190 /* CG,AU,C,C,A */+ 170 200 170 190 /* CG,AU,C,C,C */+ 180 210 180 190 /* CG,AU,C,C,G */+ 170 200 170 190 /* CG,AU,C,C,U */+ 140 230 140 210 /* CG,AU,C,G,A */+ 170 200 170 180 /* CG,AU,C,G,C */+ 20 50 20 30 /* CG,AU,C,G,G */+ 170 200 170 180 /* CG,AU,C,G,U */+ 180 210 180 190 /* CG,AU,C,U,A */+ 170 200 170 190 /* CG,AU,C,U,C */+ 180 210 180 190 /* CG,AU,C,U,G */+ 80 110 80 100 /* CG,AU,C,U,U */+ 100 240 50 240 /* CG,AU,G,A,A */+ 80 210 20 210 /* CG,AU,G,A,C */+ -20 110 50 110 /* CG,AU,G,A,G */+ 80 210 20 210 /* CG,AU,G,A,U */+ 90 220 30 220 /* CG,AU,G,C,A */+ 140 220 30 220 /* CG,AU,G,C,C */+ 90 220 30 220 /* CG,AU,G,C,G */+ 140 220 30 220 /* CG,AU,G,C,U */+ 50 180 120 180 /* CG,AU,G,G,A */+ 80 210 20 210 /* CG,AU,G,G,C */+ 60 60 130 60 /* CG,AU,G,G,G */+ 80 210 20 210 /* CG,AU,G,G,U */+ 90 220 30 220 /* CG,AU,G,U,A */+ 140 220 30 220 /* CG,AU,G,U,C */+ 90 220 30 220 /* CG,AU,G,U,G */+ 0 130 70 130 /* CG,AU,G,U,U */+ 190 210 190 180 /* CG,AU,U,A,A */+ 170 180 170 90 /* CG,AU,U,A,C */+ 70 140 70 0 /* CG,AU,U,A,G */+ 170 180 170 90 /* CG,AU,U,A,U */+ 180 190 180 100 /* CG,AU,U,C,A */+ 170 190 170 100 /* CG,AU,U,C,C */+ 180 190 180 100 /* CG,AU,U,C,G */+ 170 190 170 100 /* CG,AU,U,C,U */+ 140 210 140 60 /* CG,AU,U,G,A */+ 170 180 170 90 /* CG,AU,U,G,C */+ 20 30 20 70 /* CG,AU,U,G,G */+ 170 180 170 90 /* CG,AU,U,G,U */+ 180 190 180 100 /* CG,AU,U,U,A */+ 170 190 170 100 /* CG,AU,U,U,C */+ 180 190 180 100 /* CG,AU,U,U,G */+ 80 100 80 10 /* CG,AU,U,U,U */+ 200 240 100 240 /* CG,UA,A,A,A */+ 150 190 60 190 /* CG,UA,A,A,C */+ 90 130 0 130 /* CG,UA,A,A,G */+ 150 190 60 190 /* CG,UA,A,A,U */+ 200 240 100 240 /* CG,UA,A,C,A */+ 200 240 160 240 /* CG,UA,A,C,C */+ 200 240 100 240 /* CG,UA,A,C,G */+ 200 240 160 240 /* CG,UA,A,C,U */+ 100 140 10 140 /* CG,UA,A,G,A */+ 150 190 60 190 /* CG,UA,A,G,C */+ 40 80 80 80 /* CG,UA,A,G,G */+ 150 190 60 190 /* CG,UA,A,G,U */+ 200 240 100 240 /* CG,UA,A,U,A */+ 170 210 130 210 /* CG,UA,A,U,C */+ 200 240 100 240 /* CG,UA,A,U,G */+ 170 150 20 150 /* CG,UA,A,U,U */+ 190 220 190 210 /* CG,UA,C,A,A */+ 150 180 150 160 /* CG,UA,C,A,C */+ 90 180 90 160 /* CG,UA,C,A,G */+ 150 180 150 160 /* CG,UA,C,A,U */+ 190 220 190 210 /* CG,UA,C,C,A */+ 190 220 190 210 /* CG,UA,C,C,C */+ 190 220 190 210 /* CG,UA,C,C,G */+ 190 220 190 210 /* CG,UA,C,C,U */+ 100 190 100 170 /* CG,UA,C,G,A */+ 150 180 150 160 /* CG,UA,C,G,C */+ 40 70 40 50 /* CG,UA,C,G,G */+ 150 180 150 160 /* CG,UA,C,G,U */+ 190 220 190 210 /* CG,UA,C,U,A */+ 160 190 160 180 /* CG,UA,C,U,C */+ 190 220 190 210 /* CG,UA,C,U,G */+ 110 140 110 120 /* CG,UA,C,U,U */+ 100 240 50 240 /* CG,UA,G,A,A */+ 60 190 0 190 /* CG,UA,G,A,C */+ 0 130 70 130 /* CG,UA,G,A,G */+ 60 190 0 190 /* CG,UA,G,A,U */+ 100 240 50 240 /* CG,UA,G,C,A */+ 160 240 50 240 /* CG,UA,G,C,C */+ 100 240 50 240 /* CG,UA,G,C,G */+ 160 240 50 240 /* CG,UA,G,C,U */+ 10 140 80 140 /* CG,UA,G,G,A */+ 60 190 0 190 /* CG,UA,G,G,C */+ 80 80 150 80 /* CG,UA,G,G,G */+ 60 190 0 190 /* CG,UA,G,G,U */+ 100 240 50 240 /* CG,UA,G,U,A */+ 130 210 20 210 /* CG,UA,G,U,C */+ 100 240 50 240 /* CG,UA,G,U,G */+ 20 150 90 150 /* CG,UA,G,U,U */+ 190 210 190 180 /* CG,UA,U,A,A */+ 150 160 150 70 /* CG,UA,U,A,C */+ 90 160 90 10 /* CG,UA,U,A,G */+ 150 160 150 70 /* CG,UA,U,A,U */+ 190 210 190 120 /* CG,UA,U,C,A */+ 190 210 190 120 /* CG,UA,U,C,C */+ 190 210 190 120 /* CG,UA,U,C,G */+ 190 210 190 120 /* CG,UA,U,C,U */+ 100 170 100 20 /* CG,UA,U,G,A */+ 150 160 150 70 /* CG,UA,U,G,C */+ 40 50 40 90 /* CG,UA,U,G,G */+ 150 160 150 70 /* CG,UA,U,G,U */+ 190 210 190 120 /* CG,UA,U,U,A */+ 160 180 160 90 /* CG,UA,U,U,C */+ 190 210 190 120 /* CG,UA,U,U,G */+ 110 120 110 30 /* CG,UA,U,U,U */+ 130 100 40 100 /* GC,CG,A,A,A */+ 130 110 70 100 /* GC,CG,A,A,C */+ -20 70 -50 10 /* GC,CG,A,A,G */+ 130 100 -10 100 /* GC,CG,A,A,U */+ 60 50 30 140 /* GC,CG,A,C,A */+ 220 190 70 130 /* GC,CG,A,C,C */+ 170 140 30 140 /* GC,CG,A,C,G */+ 140 110 50 110 /* GC,CG,A,C,U */+ 0 -100 -70 10 /* GC,CG,A,G,A */+ 130 100 -10 100 /* GC,CG,A,G,C */+ -10 -50 -30 -50 /* GC,CG,A,G,G */+ 130 100 -10 100 /* GC,CG,A,G,U */+ 170 140 30 140 /* GC,CG,A,U,A */+ 140 110 60 110 /* GC,CG,A,U,C */+ 170 140 30 140 /* GC,CG,A,U,G */+ 140 30 140 20 /* GC,CG,A,U,U */+ 110 110 110 110 /* GC,CG,C,A,A */+ 100 100 100 110 /* GC,CG,C,A,C */+ -40 70 10 80 /* GC,CG,C,A,G */+ 100 100 100 110 /* GC,CG,C,A,U */+ 150 150 150 150 /* GC,CG,C,C,A */+ 130 130 130 140 /* GC,CG,C,C,C */+ 150 150 150 150 /* GC,CG,C,C,G */+ 120 120 120 120 /* GC,CG,C,C,U */+ -70 -60 10 80 /* GC,CG,C,G,A */+ 100 100 100 110 /* GC,CG,C,G,C */+ -40 -40 -40 -50 /* GC,CG,C,G,G */+ 100 100 100 110 /* GC,CG,C,G,U */+ 150 150 150 150 /* GC,CG,C,U,A */+ 120 120 120 120 /* GC,CG,C,U,C */+ 150 150 150 150 /* GC,CG,C,U,G */+ 30 30 30 30 /* GC,CG,C,U,U */+ -30 100 -30 100 /* GC,CG,G,A,A */+ -70 100 -40 100 /* GC,CG,G,A,C */+ -170 10 -30 10 /* GC,CG,G,A,G */+ -70 100 -40 100 /* GC,CG,G,A,U */+ 10 140 -30 140 /* GC,CG,G,C,A */+ 70 130 -10 130 /* GC,CG,G,C,C */+ -30 140 10 140 /* GC,CG,G,C,G */+ 0 110 -60 110 /* GC,CG,G,C,U */+ -160 10 0 10 /* GC,CG,G,G,A */+ -70 100 -40 100 /* GC,CG,G,G,C */+ -90 -50 80 -50 /* GC,CG,G,G,G */+ -70 100 -40 100 /* GC,CG,G,G,U */+ -30 140 10 140 /* GC,CG,G,U,A */+ 0 110 20 110 /* GC,CG,G,U,C */+ -30 140 10 140 /* GC,CG,G,U,G */+ 50 20 70 20 /* GC,CG,G,U,U */+ 110 110 110 150 /* GC,CG,U,A,A */+ 100 100 100 -20 /* GC,CG,U,A,C */+ 10 70 10 90 /* GC,CG,U,A,G */+ 100 100 100 30 /* GC,CG,U,A,U */+ 150 150 150 0 /* GC,CG,U,C,A */+ 130 130 130 -10 /* GC,CG,U,C,C */+ 150 150 150 70 /* GC,CG,U,C,G */+ 120 120 120 40 /* GC,CG,U,C,U */+ 10 70 10 90 /* GC,CG,U,G,A */+ 100 100 100 30 /* GC,CG,U,G,C */+ -40 20 -40 140 /* GC,CG,U,G,G */+ 100 100 100 30 /* GC,CG,U,G,U */+ 150 150 150 70 /* GC,CG,U,U,A */+ 120 170 120 20 /* GC,CG,U,U,C */+ 150 150 150 70 /* GC,CG,U,U,G */+ 30 30 30 -60 /* GC,CG,U,U,U */+ 150 120 10 120 /* GC,GC,A,A,A */+ 120 90 -10 90 /* GC,GC,A,A,C */+ -50 -80 -190 -80 /* GC,GC,A,A,G */+ 120 90 -10 90 /* GC,GC,A,A,U */+ 120 90 -20 90 /* GC,GC,A,C,A */+ 120 90 50 90 /* GC,GC,A,C,C */+ 120 90 -20 90 /* GC,GC,A,C,G */+ 120 90 50 90 /* GC,GC,A,C,U */+ 10 -20 -130 -20 /* GC,GC,A,G,A */+ 120 90 -10 90 /* GC,GC,A,G,C */+ -20 -50 -20 -50 /* GC,GC,A,G,G */+ 120 90 -10 90 /* GC,GC,A,G,U */+ 120 90 -20 90 /* GC,GC,A,U,A */+ 130 100 50 100 /* GC,GC,A,U,C */+ 120 90 -20 90 /* GC,GC,A,U,G */+ 110 20 -90 20 /* GC,GC,A,U,U */+ 120 120 120 130 /* GC,GC,C,A,A */+ 100 100 100 100 /* GC,GC,C,A,C */+ -80 -20 -80 -10 /* GC,GC,C,A,G */+ 100 100 100 100 /* GC,GC,C,A,U */+ 90 90 90 100 /* GC,GC,C,C,A */+ 100 100 100 100 /* GC,GC,C,C,C */+ 90 90 90 100 /* GC,GC,C,C,G */+ 100 100 100 100 /* GC,GC,C,C,U */+ -10 50 -10 50 /* GC,GC,C,G,A */+ 100 100 100 100 /* GC,GC,C,G,C */+ -40 -40 -40 -40 /* GC,GC,C,G,G */+ 100 100 100 100 /* GC,GC,C,G,U */+ 90 90 90 100 /* GC,GC,C,U,A */+ 100 100 100 110 /* GC,GC,C,U,C */+ 90 90 90 100 /* GC,GC,C,U,G */+ 20 20 20 30 /* GC,GC,C,U,U */+ -50 120 -20 120 /* GC,GC,G,A,A */+ -80 90 -40 90 /* GC,GC,G,A,C */+ -260 -80 -90 -80 /* GC,GC,G,A,G */+ -80 90 -40 90 /* GC,GC,G,A,U */+ -80 90 -50 90 /* GC,GC,G,C,A */+ -20 90 -40 90 /* GC,GC,G,C,C */+ -80 90 -50 90 /* GC,GC,G,C,G */+ -20 90 -40 90 /* GC,GC,G,C,U */+ -190 -20 -20 -20 /* GC,GC,G,G,A */+ -80 90 -40 90 /* GC,GC,G,G,C */+ -90 -50 80 -50 /* GC,GC,G,G,G */+ -80 90 -40 90 /* GC,GC,G,G,U */+ -80 90 -50 90 /* GC,GC,G,U,A */+ -10 100 -40 100 /* GC,GC,G,U,C */+ -80 90 -50 90 /* GC,GC,G,U,G */+ -150 20 10 20 /* GC,GC,G,U,U */+ 120 120 120 110 /* GC,GC,U,A,A */+ 100 100 100 20 /* GC,GC,U,A,C */+ -80 -20 -80 -150 /* GC,GC,U,A,G */+ 100 100 100 20 /* GC,GC,U,A,U */+ 90 90 90 20 /* GC,GC,U,C,A */+ 100 100 100 20 /* GC,GC,U,C,C */+ 90 90 90 20 /* GC,GC,U,C,G */+ 100 100 100 20 /* GC,GC,U,C,U */+ -10 50 -10 -90 /* GC,GC,U,G,A */+ 100 100 100 20 /* GC,GC,U,G,C */+ -40 -40 -40 10 /* GC,GC,U,G,G */+ 100 100 100 20 /* GC,GC,U,G,U */+ 90 90 90 20 /* GC,GC,U,U,A */+ 100 100 100 30 /* GC,GC,U,U,C */+ 90 90 90 20 /* GC,GC,U,U,G */+ 20 20 20 -50 /* GC,GC,U,U,U */+ 280 250 140 250 /* GC,GU,A,A,A */+ 240 210 100 210 /* GC,GU,A,A,C */+ 160 130 20 130 /* GC,GU,A,A,G */+ 240 210 100 210 /* GC,GU,A,A,U */+ 240 210 100 210 /* GC,GU,A,C,A */+ 240 210 160 210 /* GC,GU,A,C,C */+ 240 210 100 210 /* GC,GU,A,C,G */+ 240 210 160 210 /* GC,GU,A,C,U */+ 200 170 60 170 /* GC,GU,A,G,A */+ 240 210 100 210 /* GC,GU,A,G,C */+ 110 80 100 80 /* GC,GU,A,G,G */+ 240 210 100 210 /* GC,GU,A,G,U */+ 240 210 100 210 /* GC,GU,A,U,A */+ 240 210 160 210 /* GC,GU,A,U,C */+ 240 210 100 210 /* GC,GU,A,U,G */+ 300 210 100 210 /* GC,GU,A,U,U */+ 250 250 250 260 /* GC,GU,C,A,A */+ 220 220 220 220 /* GC,GU,C,A,C */+ 140 200 140 200 /* GC,GU,C,A,G */+ 220 220 220 220 /* GC,GU,C,A,U */+ 220 220 220 220 /* GC,GU,C,C,A */+ 220 220 220 220 /* GC,GU,C,C,C */+ 220 220 220 220 /* GC,GU,C,C,G */+ 220 220 220 220 /* GC,GU,C,C,U */+ 180 240 180 240 /* GC,GU,C,G,A */+ 220 220 220 220 /* GC,GU,C,G,C */+ 90 90 90 90 /* GC,GU,C,G,G */+ 220 220 220 220 /* GC,GU,C,G,U */+ 220 220 220 220 /* GC,GU,C,U,A */+ 220 220 220 220 /* GC,GU,C,U,C */+ 220 220 220 220 /* GC,GU,C,U,G */+ 220 220 220 220 /* GC,GU,C,U,U */+ 70 250 110 250 /* GC,GU,G,A,A */+ 40 210 80 210 /* GC,GU,G,A,C */+ -40 130 130 130 /* GC,GU,G,A,G */+ 40 210 80 210 /* GC,GU,G,A,U */+ 40 210 80 210 /* GC,GU,G,C,A */+ 100 210 80 210 /* GC,GU,G,C,C */+ 40 210 80 210 /* GC,GU,G,C,G */+ 100 210 80 210 /* GC,GU,G,C,U */+ 0 170 170 170 /* GC,GU,G,G,A */+ 40 210 80 210 /* GC,GU,G,G,C */+ 40 80 210 80 /* GC,GU,G,G,G */+ 40 210 80 210 /* GC,GU,G,G,U */+ 40 210 80 210 /* GC,GU,G,U,A */+ 100 210 80 210 /* GC,GU,G,U,C */+ 40 210 80 210 /* GC,GU,G,U,G */+ 40 210 210 210 /* GC,GU,G,U,U */+ 250 250 250 240 /* GC,GU,U,A,A */+ 220 220 220 140 /* GC,GU,U,A,C */+ 140 200 140 60 /* GC,GU,U,A,G */+ 220 220 220 140 /* GC,GU,U,A,U */+ 220 220 220 140 /* GC,GU,U,C,A */+ 220 220 220 140 /* GC,GU,U,C,C */+ 220 220 220 140 /* GC,GU,U,C,G */+ 220 220 220 140 /* GC,GU,U,C,U */+ 180 240 180 100 /* GC,GU,U,G,A */+ 220 220 220 140 /* GC,GU,U,G,C */+ 90 90 90 140 /* GC,GU,U,G,G */+ 220 220 220 140 /* GC,GU,U,G,U */+ 220 220 220 140 /* GC,GU,U,U,A */+ 220 220 220 140 /* GC,GU,U,U,C */+ 220 220 220 140 /* GC,GU,U,U,G */+ 220 220 220 140 /* GC,GU,U,U,U */+ 190 150 40 150 /* GC,UG,A,A,A */+ 210 180 70 180 /* GC,UG,A,A,C */+ 80 50 -60 50 /* GC,UG,A,A,G */+ 210 180 70 180 /* GC,UG,A,A,U */+ 210 180 70 180 /* GC,UG,A,C,A */+ 210 180 130 180 /* GC,UG,A,C,C */+ 210 180 70 180 /* GC,UG,A,C,G */+ 210 180 130 180 /* GC,UG,A,C,U */+ 240 210 100 210 /* GC,UG,A,G,A */+ 210 180 70 180 /* GC,UG,A,G,C */+ 80 50 70 50 /* GC,UG,A,G,G */+ 210 180 70 180 /* GC,UG,A,G,U */+ 210 180 70 180 /* GC,UG,A,U,A */+ 210 180 130 180 /* GC,UG,A,U,C */+ 210 180 70 180 /* GC,UG,A,U,G */+ 270 180 70 180 /* GC,UG,A,U,U */+ 150 150 150 160 /* GC,UG,C,A,A */+ 190 190 190 190 /* GC,UG,C,A,C */+ 50 110 50 120 /* GC,UG,C,A,G */+ 190 190 190 190 /* GC,UG,C,A,U */+ 190 190 190 190 /* GC,UG,C,C,A */+ 190 190 190 190 /* GC,UG,C,C,C */+ 190 190 190 190 /* GC,UG,C,C,G */+ 190 190 190 190 /* GC,UG,C,C,U */+ 220 280 220 280 /* GC,UG,C,G,A */+ 190 190 190 190 /* GC,UG,C,G,C */+ 60 60 60 60 /* GC,UG,C,G,G */+ 190 190 190 190 /* GC,UG,C,G,U */+ 190 190 190 190 /* GC,UG,C,U,A */+ 190 190 190 190 /* GC,UG,C,U,C */+ 190 190 190 190 /* GC,UG,C,U,G */+ 190 190 190 190 /* GC,UG,C,U,U */+ -20 150 10 150 /* GC,UG,G,A,A */+ 10 180 50 180 /* GC,UG,G,A,C */+ -120 50 40 50 /* GC,UG,G,A,G */+ 10 180 50 180 /* GC,UG,G,A,U */+ 10 180 50 180 /* GC,UG,G,C,A */+ 70 180 50 180 /* GC,UG,G,C,C */+ 10 180 50 180 /* GC,UG,G,C,G */+ 70 180 50 180 /* GC,UG,G,C,U */+ 40 210 210 210 /* GC,UG,G,G,A */+ 10 180 50 180 /* GC,UG,G,G,C */+ 10 50 180 50 /* GC,UG,G,G,G */+ 10 180 50 180 /* GC,UG,G,G,U */+ 10 180 50 180 /* GC,UG,G,U,A */+ 70 180 50 180 /* GC,UG,G,U,C */+ 10 180 50 180 /* GC,UG,G,U,G */+ 10 180 180 180 /* GC,UG,G,U,U */+ 150 150 150 140 /* GC,UG,U,A,A */+ 190 190 190 110 /* GC,UG,U,A,C */+ 50 110 50 -20 /* GC,UG,U,A,G */+ 190 190 190 110 /* GC,UG,U,A,U */+ 190 190 190 110 /* GC,UG,U,C,A */+ 190 190 190 110 /* GC,UG,U,C,C */+ 190 190 190 110 /* GC,UG,U,C,G */+ 190 190 190 110 /* GC,UG,U,C,U */+ 220 280 220 140 /* GC,UG,U,G,A */+ 190 190 190 110 /* GC,UG,U,G,C */+ 60 60 60 110 /* GC,UG,U,G,G */+ 190 190 190 110 /* GC,UG,U,G,U */+ 190 190 190 110 /* GC,UG,U,U,A */+ 190 190 190 110 /* GC,UG,U,U,C */+ 190 190 190 110 /* GC,UG,U,U,G */+ 190 190 190 110 /* GC,UG,U,U,U */+ 210 180 70 180 /* GC,AU,A,A,A */+ 190 160 50 160 /* GC,AU,A,A,C */+ 90 60 -50 60 /* GC,AU,A,A,G */+ 190 160 50 160 /* GC,AU,A,A,U */+ 200 170 60 170 /* GC,AU,A,C,A */+ 190 160 110 160 /* GC,AU,A,C,C */+ 200 170 60 170 /* GC,AU,A,C,G */+ 190 160 110 160 /* GC,AU,A,C,U */+ 160 130 20 130 /* GC,AU,A,G,A */+ 190 160 50 160 /* GC,AU,A,G,C */+ 40 10 30 10 /* GC,AU,A,G,G */+ 190 160 50 160 /* GC,AU,A,G,U */+ 200 170 60 170 /* GC,AU,A,U,A */+ 190 160 110 160 /* GC,AU,A,U,C */+ 200 170 60 170 /* GC,AU,A,U,G */+ 160 70 -30 70 /* GC,AU,A,U,U */+ 190 190 190 190 /* GC,AU,C,A,A */+ 160 160 160 170 /* GC,AU,C,A,C */+ 60 120 60 130 /* GC,AU,C,A,G */+ 160 160 160 170 /* GC,AU,C,A,U */+ 170 170 170 180 /* GC,AU,C,C,A */+ 170 170 170 170 /* GC,AU,C,C,C */+ 170 170 170 180 /* GC,AU,C,C,G */+ 170 170 170 170 /* GC,AU,C,C,U */+ 130 190 130 200 /* GC,AU,C,G,A */+ 160 160 160 170 /* GC,AU,C,G,C */+ 10 10 10 20 /* GC,AU,C,G,G */+ 160 160 160 170 /* GC,AU,C,G,U */+ 170 170 170 180 /* GC,AU,C,U,A */+ 170 170 170 170 /* GC,AU,C,U,C */+ 170 170 170 180 /* GC,AU,C,U,G */+ 80 80 80 80 /* GC,AU,C,U,U */+ 10 180 50 180 /* GC,AU,G,A,A */+ -10 160 20 160 /* GC,AU,G,A,C */+ -110 60 50 60 /* GC,AU,G,A,G */+ -10 160 20 160 /* GC,AU,G,A,U */+ 0 170 30 170 /* GC,AU,G,C,A */+ 50 160 30 160 /* GC,AU,G,C,C */+ 0 170 30 170 /* GC,AU,G,C,G */+ 50 160 30 160 /* GC,AU,G,C,U */+ -40 130 120 130 /* GC,AU,G,G,A */+ -10 160 20 160 /* GC,AU,G,G,C */+ -30 10 130 10 /* GC,AU,G,G,G */+ -10 160 20 160 /* GC,AU,G,G,U */+ 0 170 30 170 /* GC,AU,G,U,A */+ 50 160 30 160 /* GC,AU,G,U,C */+ 0 170 30 170 /* GC,AU,G,U,G */+ -100 70 70 70 /* GC,AU,G,U,U */+ 190 190 190 170 /* GC,AU,U,A,A */+ 160 160 160 90 /* GC,AU,U,A,C */+ 60 120 60 -10 /* GC,AU,U,A,G */+ 160 160 160 90 /* GC,AU,U,A,U */+ 170 170 170 100 /* GC,AU,U,C,A */+ 170 170 170 90 /* GC,AU,U,C,C */+ 170 170 170 100 /* GC,AU,U,C,G */+ 170 170 170 90 /* GC,AU,U,C,U */+ 130 190 130 60 /* GC,AU,U,G,A */+ 160 160 160 90 /* GC,AU,U,G,C */+ 10 10 10 70 /* GC,AU,U,G,G */+ 160 160 160 90 /* GC,AU,U,G,U */+ 170 170 170 100 /* GC,AU,U,U,A */+ 170 170 170 90 /* GC,AU,U,U,C */+ 170 170 170 100 /* GC,AU,U,U,G */+ 80 80 80 0 /* GC,AU,U,U,U */+ 210 180 70 180 /* GC,UA,A,A,A */+ 170 140 30 140 /* GC,UA,A,A,C */+ 110 80 -30 80 /* GC,UA,A,A,G */+ 170 140 30 140 /* GC,UA,A,A,U */+ 210 180 70 180 /* GC,UA,A,C,A */+ 210 180 130 180 /* GC,UA,A,C,C */+ 210 180 70 180 /* GC,UA,A,C,G */+ 210 180 130 180 /* GC,UA,A,C,U */+ 120 90 -20 90 /* GC,UA,A,G,A */+ 170 140 30 140 /* GC,UA,A,G,C */+ 60 30 50 30 /* GC,UA,A,G,G */+ 170 140 30 140 /* GC,UA,A,G,U */+ 210 180 70 180 /* GC,UA,A,U,A */+ 180 150 100 150 /* GC,UA,A,U,C */+ 210 180 70 180 /* GC,UA,A,U,G */+ 190 100 -10 100 /* GC,UA,A,U,U */+ 190 190 190 190 /* GC,UA,C,A,A */+ 140 140 140 150 /* GC,UA,C,A,C */+ 80 140 80 150 /* GC,UA,C,A,G */+ 140 140 140 150 /* GC,UA,C,A,U */+ 190 190 190 190 /* GC,UA,C,C,A */+ 190 190 190 190 /* GC,UA,C,C,C */+ 190 190 190 190 /* GC,UA,C,C,G */+ 190 190 190 190 /* GC,UA,C,C,U */+ 90 150 90 160 /* GC,UA,C,G,A */+ 140 140 140 150 /* GC,UA,C,G,C */+ 30 30 30 40 /* GC,UA,C,G,G */+ 140 140 140 150 /* GC,UA,C,G,U */+ 190 190 190 190 /* GC,UA,C,U,A */+ 160 160 160 160 /* GC,UA,C,U,C */+ 190 190 190 190 /* GC,UA,C,U,G */+ 100 100 100 110 /* GC,UA,C,U,U */+ 10 180 50 180 /* GC,UA,G,A,A */+ -30 140 0 140 /* GC,UA,G,A,C */+ -90 80 70 80 /* GC,UA,G,A,G */+ -30 140 0 140 /* GC,UA,G,A,U */+ 10 180 50 180 /* GC,UA,G,C,A */+ 70 180 50 180 /* GC,UA,G,C,C */+ 10 180 50 180 /* GC,UA,G,C,G */+ 70 180 50 180 /* GC,UA,G,C,U */+ -80 90 80 90 /* GC,UA,G,G,A */+ -30 140 0 140 /* GC,UA,G,G,C */+ -10 30 150 30 /* GC,UA,G,G,G */+ -30 140 0 140 /* GC,UA,G,G,U */+ 10 180 50 180 /* GC,UA,G,U,A */+ 40 150 20 150 /* GC,UA,G,U,C */+ 10 180 50 180 /* GC,UA,G,U,G */+ -70 100 90 100 /* GC,UA,G,U,U */+ 190 190 190 170 /* GC,UA,U,A,A */+ 140 140 140 70 /* GC,UA,U,A,C */+ 80 140 80 10 /* GC,UA,U,A,G */+ 140 140 140 70 /* GC,UA,U,A,U */+ 190 190 190 110 /* GC,UA,U,C,A */+ 190 190 190 110 /* GC,UA,U,C,C */+ 190 190 190 110 /* GC,UA,U,C,G */+ 190 190 190 110 /* GC,UA,U,C,U */+ 90 150 90 20 /* GC,UA,U,G,A */+ 140 140 140 70 /* GC,UA,U,G,C */+ 30 30 30 90 /* GC,UA,U,G,G */+ 140 140 140 70 /* GC,UA,U,G,U */+ 190 190 190 110 /* GC,UA,U,U,A */+ 160 160 160 80 /* GC,UA,U,U,C */+ 190 190 190 110 /* GC,UA,U,U,G */+ 100 100 100 30 /* GC,UA,U,U,U */+ 270 230 190 230 /* GU,CG,A,A,A */+ 260 220 180 220 /* GU,CG,A,A,C */+ 170 130 90 130 /* GU,CG,A,A,G */+ 260 220 180 220 /* GU,CG,A,A,U */+ 300 270 230 270 /* GU,CG,A,C,A */+ 290 250 270 250 /* GU,CG,A,C,C */+ 300 270 230 270 /* GU,CG,A,C,G */+ 270 240 260 240 /* GU,CG,A,C,U */+ 170 130 90 130 /* GU,CG,A,G,A */+ 260 220 180 220 /* GU,CG,A,G,C */+ 110 80 170 80 /* GU,CG,A,G,G */+ 260 220 180 220 /* GU,CG,A,G,U */+ 300 270 230 270 /* GU,CG,A,U,A */+ 270 240 260 240 /* GU,CG,A,U,C */+ 300 270 230 270 /* GU,CG,A,U,G */+ 240 150 110 150 /* GU,CG,A,U,U */+ 230 230 230 230 /* GU,CG,C,A,A */+ 220 220 220 220 /* GU,CG,C,A,C */+ 130 190 130 190 /* GU,CG,C,A,G */+ 220 220 220 220 /* GU,CG,C,A,U */+ 270 270 270 270 /* GU,CG,C,C,A */+ 250 250 250 250 /* GU,CG,C,C,C */+ 270 270 270 270 /* GU,CG,C,C,G */+ 240 240 240 240 /* GU,CG,C,C,U */+ 130 190 130 190 /* GU,CG,C,G,A */+ 220 220 220 220 /* GU,CG,C,G,C */+ 80 80 80 80 /* GU,CG,C,G,G */+ 220 220 220 220 /* GU,CG,C,G,U */+ 270 270 270 270 /* GU,CG,C,U,A */+ 240 240 240 240 /* GU,CG,C,U,C */+ 270 270 270 270 /* GU,CG,C,U,G */+ 150 150 150 150 /* GU,CG,C,U,U */+ 150 230 100 230 /* GU,CG,G,A,A */+ 140 220 90 220 /* GU,CG,G,A,C */+ 50 130 130 130 /* GU,CG,G,A,G */+ 140 220 90 220 /* GU,CG,G,A,U */+ 190 270 140 270 /* GU,CG,G,C,A */+ 230 250 120 250 /* GU,CG,G,C,C */+ 190 270 140 270 /* GU,CG,G,C,G */+ 220 240 110 240 /* GU,CG,G,C,U */+ 50 130 130 130 /* GU,CG,G,G,A */+ 140 220 90 220 /* GU,CG,G,G,C */+ 130 80 210 80 /* GU,CG,G,G,G */+ 140 220 90 220 /* GU,CG,G,G,U */+ 190 270 140 270 /* GU,CG,G,U,A */+ 220 240 110 240 /* GU,CG,G,U,C */+ 190 270 140 270 /* GU,CG,G,U,G */+ 70 150 150 150 /* GU,CG,G,U,U */+ 230 230 230 290 /* GU,CG,U,A,A */+ 220 220 220 220 /* GU,CG,U,A,C */+ 130 190 130 130 /* GU,CG,U,A,G */+ 220 220 220 220 /* GU,CG,U,A,U */+ 270 270 270 270 /* GU,CG,U,C,A */+ 250 250 250 250 /* GU,CG,U,C,C */+ 270 270 270 270 /* GU,CG,U,C,G */+ 240 240 240 240 /* GU,CG,U,C,U */+ 130 190 130 130 /* GU,CG,U,G,A */+ 220 220 220 220 /* GU,CG,U,G,C */+ 80 80 80 210 /* GU,CG,U,G,G */+ 220 220 220 220 /* GU,CG,U,G,U */+ 270 270 270 270 /* GU,CG,U,U,A */+ 240 240 240 240 /* GU,CG,U,U,C */+ 270 270 270 270 /* GU,CG,U,U,G */+ 150 150 150 150 /* GU,CG,U,U,U */+ 280 240 200 240 /* GU,GC,A,A,A */+ 250 220 180 220 /* GU,GC,A,A,C */+ 70 40 0 40 /* GU,GC,A,A,G */+ 250 220 180 220 /* GU,GC,A,A,U */+ 250 210 170 210 /* GU,GC,A,C,A */+ 250 220 240 220 /* GU,GC,A,C,C */+ 250 210 170 210 /* GU,GC,A,C,G */+ 250 220 240 220 /* GU,GC,A,C,U */+ 140 100 60 100 /* GU,GC,A,G,A */+ 250 220 180 220 /* GU,GC,A,G,C */+ 110 80 170 80 /* GU,GC,A,G,G */+ 250 220 180 220 /* GU,GC,A,G,U */+ 250 210 170 210 /* GU,GC,A,U,A */+ 260 220 240 220 /* GU,GC,A,U,C */+ 250 210 170 210 /* GU,GC,A,U,G */+ 240 140 100 140 /* GU,GC,A,U,U */+ 240 240 240 240 /* GU,GC,C,A,A */+ 220 220 220 220 /* GU,GC,C,A,C */+ 40 100 40 100 /* GU,GC,C,A,G */+ 220 220 220 220 /* GU,GC,C,A,U */+ 210 210 210 210 /* GU,GC,C,C,A */+ 220 220 220 220 /* GU,GC,C,C,C */+ 210 210 210 210 /* GU,GC,C,C,G */+ 220 220 220 220 /* GU,GC,C,C,U */+ 100 160 100 160 /* GU,GC,C,G,A */+ 220 220 220 220 /* GU,GC,C,G,C */+ 80 80 80 80 /* GU,GC,C,G,G */+ 220 220 220 220 /* GU,GC,C,G,U */+ 210 210 210 210 /* GU,GC,C,U,A */+ 220 220 220 220 /* GU,GC,C,U,C */+ 210 210 210 210 /* GU,GC,C,U,G */+ 140 140 140 140 /* GU,GC,C,U,U */+ 160 240 110 240 /* GU,GC,G,A,A */+ 140 220 90 220 /* GU,GC,G,A,C */+ -40 40 40 40 /* GU,GC,G,A,G */+ 140 220 90 220 /* GU,GC,G,A,U */+ 130 210 80 210 /* GU,GC,G,C,A */+ 200 220 90 220 /* GU,GC,G,C,C */+ 130 210 80 210 /* GU,GC,G,C,G */+ 200 220 90 220 /* GU,GC,G,C,U */+ 20 100 100 100 /* GU,GC,G,G,A */+ 140 220 90 220 /* GU,GC,G,G,C */+ 130 80 210 80 /* GU,GC,G,G,G */+ 140 220 90 220 /* GU,GC,G,G,U */+ 130 210 80 210 /* GU,GC,G,U,A */+ 200 220 90 220 /* GU,GC,G,U,C */+ 130 210 80 210 /* GU,GC,G,U,G */+ 60 140 140 140 /* GU,GC,G,U,U */+ 240 240 240 300 /* GU,GC,U,A,A */+ 220 220 220 220 /* GU,GC,U,A,C */+ 40 100 40 40 /* GU,GC,U,A,G */+ 220 220 220 220 /* GU,GC,U,A,U */+ 210 210 210 210 /* GU,GC,U,C,A */+ 220 220 220 220 /* GU,GC,U,C,C */+ 210 210 210 210 /* GU,GC,U,C,G */+ 220 220 220 220 /* GU,GC,U,C,U */+ 100 160 100 100 /* GU,GC,U,G,A */+ 220 220 220 220 /* GU,GC,U,G,C */+ 80 80 80 210 /* GU,GC,U,G,G */+ 220 220 220 220 /* GU,GC,U,G,U */+ 210 210 210 210 /* GU,GC,U,U,A */+ 220 220 220 220 /* GU,GC,U,U,C */+ 210 210 210 210 /* GU,GC,U,U,G */+ 140 140 140 140 /* GU,GC,U,U,U */+ 410 370 330 370 /* GU,GU,A,A,A */+ 370 340 300 340 /* GU,GU,A,A,C */+ 290 260 220 260 /* GU,GU,A,A,G */+ 370 340 300 340 /* GU,GU,A,A,U */+ 370 340 300 340 /* GU,GU,A,C,A */+ 370 340 360 340 /* GU,GU,A,C,C */+ 370 340 300 340 /* GU,GU,A,C,G */+ 370 340 360 340 /* GU,GU,A,C,U */+ 330 300 260 300 /* GU,GU,A,G,A */+ 370 340 300 340 /* GU,GU,A,G,C */+ 240 210 300 210 /* GU,GU,A,G,G */+ 370 340 300 340 /* GU,GU,A,G,U */+ 370 340 300 340 /* GU,GU,A,U,A */+ 370 340 360 340 /* GU,GU,A,U,C */+ 370 340 300 340 /* GU,GU,A,U,G */+ 430 340 300 340 /* GU,GU,A,U,U */+ 370 370 370 370 /* GU,GU,C,A,A */+ 340 340 340 340 /* GU,GU,C,A,C */+ 260 320 260 320 /* GU,GU,C,A,G */+ 340 340 340 340 /* GU,GU,C,A,U */+ 340 340 340 340 /* GU,GU,C,C,A */+ 340 340 340 340 /* GU,GU,C,C,C */+ 340 340 340 340 /* GU,GU,C,C,G */+ 340 340 340 340 /* GU,GU,C,C,U */+ 300 360 300 360 /* GU,GU,C,G,A */+ 340 340 340 340 /* GU,GU,C,G,C */+ 210 210 210 210 /* GU,GU,C,G,G */+ 340 340 340 340 /* GU,GU,C,G,U */+ 340 340 340 340 /* GU,GU,C,U,A */+ 340 340 340 340 /* GU,GU,C,U,C */+ 340 340 340 340 /* GU,GU,C,U,G */+ 340 340 340 340 /* GU,GU,C,U,U */+ 290 370 240 370 /* GU,GU,G,A,A */+ 260 340 210 340 /* GU,GU,G,A,C */+ 180 260 260 260 /* GU,GU,G,A,G */+ 260 340 210 340 /* GU,GU,G,A,U */+ 260 340 210 340 /* GU,GU,G,C,A */+ 320 340 210 340 /* GU,GU,G,C,C */+ 260 340 210 340 /* GU,GU,G,C,G */+ 320 340 210 340 /* GU,GU,G,C,U */+ 220 300 300 300 /* GU,GU,G,G,A */+ 260 340 210 340 /* GU,GU,G,G,C */+ 260 210 340 210 /* GU,GU,G,G,G */+ 260 340 210 340 /* GU,GU,G,G,U */+ 260 340 210 340 /* GU,GU,G,U,A */+ 320 340 210 340 /* GU,GU,G,U,C */+ 260 340 210 340 /* GU,GU,G,U,G */+ 260 340 340 340 /* GU,GU,G,U,U */+ 370 370 370 430 /* GU,GU,U,A,A */+ 340 340 340 340 /* GU,GU,U,A,C */+ 260 320 260 260 /* GU,GU,U,A,G */+ 340 340 340 340 /* GU,GU,U,A,U */+ 340 340 340 340 /* GU,GU,U,C,A */+ 340 340 340 340 /* GU,GU,U,C,C */+ 340 340 340 340 /* GU,GU,U,C,G */+ 340 340 340 340 /* GU,GU,U,C,U */+ 300 360 300 300 /* GU,GU,U,G,A */+ 340 340 340 340 /* GU,GU,U,G,C */+ 210 210 210 340 /* GU,GU,U,G,G */+ 340 340 340 340 /* GU,GU,U,G,U */+ 340 340 340 340 /* GU,GU,U,U,A */+ 340 340 340 340 /* GU,GU,U,U,C */+ 340 340 340 340 /* GU,GU,U,U,G */+ 340 340 340 340 /* GU,GU,U,U,U */+ 360 270 360 270 /* GU,UG,A,A,A */+ 340 310 270 310 /* GU,UG,A,A,C */+ 220 170 130 170 /* GU,UG,A,A,G */+ 340 310 270 310 /* GU,UG,A,A,U */+ 340 310 270 310 /* GU,UG,A,C,A */+ 340 310 330 310 /* GU,UG,A,C,C */+ 340 310 270 310 /* GU,UG,A,C,G */+ 340 310 330 310 /* GU,UG,A,C,U */+ 370 340 300 340 /* GU,UG,A,G,A */+ 340 310 270 310 /* GU,UG,A,G,C */+ 210 180 270 180 /* GU,UG,A,G,G */+ 340 310 270 310 /* GU,UG,A,G,U */+ 340 310 270 310 /* GU,UG,A,U,A */+ 340 310 330 310 /* GU,UG,A,U,C */+ 340 310 270 310 /* GU,UG,A,U,G */+ 400 310 270 310 /* GU,UG,A,U,U */+ 270 270 270 270 /* GU,UG,C,A,A */+ 310 310 310 310 /* GU,UG,C,A,C */+ 170 230 170 230 /* GU,UG,C,A,G */+ 310 310 310 310 /* GU,UG,C,A,U */+ 310 310 310 310 /* GU,UG,C,C,A */+ 310 310 310 310 /* GU,UG,C,C,C */+ 310 310 310 310 /* GU,UG,C,C,G */+ 310 310 310 310 /* GU,UG,C,C,U */+ 340 400 340 400 /* GU,UG,C,G,A */+ 310 310 310 310 /* GU,UG,C,G,C */+ 180 180 180 180 /* GU,UG,C,G,G */+ 310 310 310 310 /* GU,UG,C,G,U */+ 310 310 310 310 /* GU,UG,C,U,A */+ 310 310 310 310 /* GU,UG,C,U,C */+ 310 310 310 310 /* GU,UG,C,U,G */+ 310 310 310 310 /* GU,UG,C,U,U */+ 190 270 140 270 /* GU,UG,G,A,A */+ 230 310 180 310 /* GU,UG,G,A,C */+ 20 170 170 170 /* GU,UG,G,A,G */+ 230 310 180 310 /* GU,UG,G,A,U */+ 230 310 180 310 /* GU,UG,G,C,A */+ 290 310 180 310 /* GU,UG,G,C,C */+ 230 310 180 310 /* GU,UG,G,C,G */+ 290 310 180 310 /* GU,UG,G,C,U */+ 260 340 340 340 /* GU,UG,G,G,A */+ 230 310 180 310 /* GU,UG,G,G,C */+ 230 180 310 180 /* GU,UG,G,G,G */+ 230 310 180 310 /* GU,UG,G,G,U */+ 230 310 180 310 /* GU,UG,G,U,A */+ 290 310 180 310 /* GU,UG,G,U,C */+ 230 310 180 310 /* GU,UG,G,U,G */+ 230 310 310 310 /* GU,UG,G,U,U */+ 270 270 270 330 /* GU,UG,U,A,A */+ 310 310 310 310 /* GU,UG,U,A,C */+ 170 230 170 170 /* GU,UG,U,A,G */+ 310 310 310 310 /* GU,UG,U,A,U */+ 310 310 310 310 /* GU,UG,U,C,A */+ 310 310 310 310 /* GU,UG,U,C,C */+ 310 310 310 310 /* GU,UG,U,C,G */+ 310 310 310 310 /* GU,UG,U,C,U */+ 340 400 340 340 /* GU,UG,U,G,A */+ 310 310 310 310 /* GU,UG,U,G,C */+ 180 180 180 310 /* GU,UG,U,G,G */+ 310 310 310 310 /* GU,UG,U,G,U */+ 310 310 310 310 /* GU,UG,U,U,A */+ 310 310 310 310 /* GU,UG,U,U,C */+ 310 310 310 310 /* GU,UG,U,U,G */+ 310 310 310 310 /* GU,UG,U,U,U */+ 340 310 270 310 /* GU,AU,A,A,A */+ 320 280 240 280 /* GU,AU,A,A,C */+ 220 180 140 180 /* GU,AU,A,A,G */+ 320 280 240 280 /* GU,AU,A,A,U */+ 330 290 250 290 /* GU,AU,A,C,A */+ 320 290 310 290 /* GU,AU,A,C,C */+ 330 290 250 290 /* GU,AU,A,C,G */+ 320 290 310 290 /* GU,AU,A,C,U */+ 290 250 210 250 /* GU,AU,A,G,A */+ 320 280 240 280 /* GU,AU,A,G,C */+ 170 130 220 130 /* GU,AU,A,G,G */+ 320 280 240 280 /* GU,AU,A,G,U */+ 330 290 250 290 /* GU,AU,A,U,A */+ 320 290 310 290 /* GU,AU,A,U,C */+ 330 290 250 290 /* GU,AU,A,U,G */+ 290 200 160 200 /* GU,AU,A,U,U */+ 310 310 310 310 /* GU,AU,C,A,A */+ 280 280 280 280 /* GU,AU,C,A,C */+ 180 240 180 240 /* GU,AU,C,A,G */+ 280 280 280 280 /* GU,AU,C,A,U */+ 290 290 290 290 /* GU,AU,C,C,A */+ 290 290 290 290 /* GU,AU,C,C,C */+ 290 290 290 290 /* GU,AU,C,C,G */+ 290 290 290 290 /* GU,AU,C,C,U */+ 250 310 250 310 /* GU,AU,C,G,A */+ 280 280 280 280 /* GU,AU,C,G,C */+ 130 130 130 130 /* GU,AU,C,G,G */+ 280 280 280 280 /* GU,AU,C,G,U */+ 290 290 290 290 /* GU,AU,C,U,A */+ 290 290 290 290 /* GU,AU,C,U,C */+ 290 290 290 290 /* GU,AU,C,U,G */+ 200 200 200 200 /* GU,AU,C,U,U */+ 230 310 180 310 /* GU,AU,G,A,A */+ 200 280 150 280 /* GU,AU,G,A,C */+ 100 180 180 180 /* GU,AU,G,A,G */+ 200 280 150 280 /* GU,AU,G,A,U */+ 210 290 160 290 /* GU,AU,G,C,A */+ 270 290 160 290 /* GU,AU,G,C,C */+ 210 290 160 290 /* GU,AU,G,C,G */+ 270 290 160 290 /* GU,AU,G,C,U */+ 170 250 250 250 /* GU,AU,G,G,A */+ 200 280 150 280 /* GU,AU,G,G,C */+ 180 130 260 130 /* GU,AU,G,G,G */+ 200 280 150 280 /* GU,AU,G,G,U */+ 210 290 160 290 /* GU,AU,G,U,A */+ 270 290 160 290 /* GU,AU,G,U,C */+ 210 290 160 290 /* GU,AU,G,U,G */+ 120 200 200 200 /* GU,AU,G,U,U */+ 310 310 310 370 /* GU,AU,U,A,A */+ 280 280 280 280 /* GU,AU,U,A,C */+ 180 240 180 180 /* GU,AU,U,A,G */+ 280 280 280 280 /* GU,AU,U,A,U */+ 290 290 290 290 /* GU,AU,U,C,A */+ 290 290 290 290 /* GU,AU,U,C,C */+ 290 290 290 290 /* GU,AU,U,C,G */+ 290 290 290 290 /* GU,AU,U,C,U */+ 250 310 250 250 /* GU,AU,U,G,A */+ 280 280 280 280 /* GU,AU,U,G,C */+ 130 130 130 260 /* GU,AU,U,G,G */+ 280 280 280 280 /* GU,AU,U,G,U */+ 290 290 290 290 /* GU,AU,U,U,A */+ 290 290 290 290 /* GU,AU,U,U,C */+ 290 290 290 290 /* GU,AU,U,U,G */+ 200 200 200 200 /* GU,AU,U,U,U */+ 340 310 270 310 /* GU,UA,A,A,A */+ 300 260 220 260 /* GU,UA,A,A,C */+ 240 200 160 200 /* GU,UA,A,A,G */+ 300 260 220 260 /* GU,UA,A,A,U */+ 340 310 270 310 /* GU,UA,A,C,A */+ 340 310 330 310 /* GU,UA,A,C,C */+ 340 310 270 310 /* GU,UA,A,C,G */+ 340 310 330 310 /* GU,UA,A,C,U */+ 250 210 170 210 /* GU,UA,A,G,A */+ 300 260 220 260 /* GU,UA,A,G,C */+ 190 150 240 150 /* GU,UA,A,G,G */+ 300 260 220 260 /* GU,UA,A,G,U */+ 340 310 270 310 /* GU,UA,A,U,A */+ 310 280 300 280 /* GU,UA,A,U,C */+ 340 310 270 310 /* GU,UA,A,U,G */+ 320 220 180 220 /* GU,UA,A,U,U */+ 310 310 310 310 /* GU,UA,C,A,A */+ 260 260 260 260 /* GU,UA,C,A,C */+ 200 260 200 260 /* GU,UA,C,A,G */+ 260 260 260 260 /* GU,UA,C,A,U */+ 310 310 310 310 /* GU,UA,C,C,A */+ 310 310 310 310 /* GU,UA,C,C,C */+ 310 310 310 310 /* GU,UA,C,C,G */+ 310 310 310 310 /* GU,UA,C,C,U */+ 210 270 210 270 /* GU,UA,C,G,A */+ 260 260 260 260 /* GU,UA,C,G,C */+ 150 150 150 150 /* GU,UA,C,G,G */+ 260 260 260 260 /* GU,UA,C,G,U */+ 310 310 310 310 /* GU,UA,C,U,A */+ 280 280 280 280 /* GU,UA,C,U,C */+ 310 310 310 310 /* GU,UA,C,U,G */+ 220 220 220 220 /* GU,UA,C,U,U */+ 230 310 180 310 /* GU,UA,G,A,A */+ 180 260 130 260 /* GU,UA,G,A,C */+ 120 200 200 200 /* GU,UA,G,A,G */+ 180 260 130 260 /* GU,UA,G,A,U */+ 230 310 180 310 /* GU,UA,G,C,A */+ 290 310 180 310 /* GU,UA,G,C,C */+ 230 310 180 310 /* GU,UA,G,C,G */+ 290 310 180 310 /* GU,UA,G,C,U */+ 130 210 210 210 /* GU,UA,G,G,A */+ 180 260 130 260 /* GU,UA,G,G,C */+ 200 150 280 150 /* GU,UA,G,G,G */+ 180 260 130 260 /* GU,UA,G,G,U */+ 230 310 180 310 /* GU,UA,G,U,A */+ 260 280 150 280 /* GU,UA,G,U,C */+ 230 310 180 310 /* GU,UA,G,U,G */+ 140 220 220 220 /* GU,UA,G,U,U */+ 310 310 310 370 /* GU,UA,U,A,A */+ 260 260 260 260 /* GU,UA,U,A,C */+ 200 260 200 200 /* GU,UA,U,A,G */+ 260 260 260 260 /* GU,UA,U,A,U */+ 310 310 310 310 /* GU,UA,U,C,A */+ 310 310 310 310 /* GU,UA,U,C,C */+ 310 310 310 310 /* GU,UA,U,C,G */+ 310 310 310 310 /* GU,UA,U,C,U */+ 210 270 210 210 /* GU,UA,U,G,A */+ 260 260 260 260 /* GU,UA,U,G,C */+ 150 150 150 280 /* GU,UA,U,G,G */+ 260 260 260 260 /* GU,UA,U,G,U */+ 310 310 310 310 /* GU,UA,U,U,A */+ 280 280 280 280 /* GU,UA,U,U,C */+ 310 310 310 310 /* GU,UA,U,U,G */+ 220 220 220 220 /* GU,UA,U,U,U */+ 160 200 230 200 /* UG,CG,A,A,A */+ 160 190 220 190 /* UG,CG,A,A,C */+ 70 100 130 100 /* UG,CG,A,A,G */+ 160 190 220 190 /* UG,CG,A,A,U */+ 200 240 270 240 /* UG,CG,A,C,A */+ 190 220 310 220 /* UG,CG,A,C,C */+ 200 240 270 240 /* UG,CG,A,C,G */+ 170 210 300 210 /* UG,CG,A,C,U */+ 70 100 130 100 /* UG,CG,A,G,A */+ 160 190 220 190 /* UG,CG,A,G,C */+ 10 50 210 50 /* UG,CG,A,G,G */+ 160 190 220 190 /* UG,CG,A,G,U */+ 200 240 270 240 /* UG,CG,A,U,A */+ 170 210 300 210 /* UG,CG,A,U,C */+ 200 240 270 240 /* UG,CG,A,U,G */+ 140 120 150 120 /* UG,CG,A,U,U */+ 200 200 200 200 /* UG,CG,C,A,A */+ 190 190 190 190 /* UG,CG,C,A,C */+ 100 160 100 160 /* UG,CG,C,A,G */+ 190 190 190 190 /* UG,CG,C,A,U */+ 240 240 240 240 /* UG,CG,C,C,A */+ 220 220 220 220 /* UG,CG,C,C,C */+ 240 240 240 240 /* UG,CG,C,C,G */+ 210 210 210 210 /* UG,CG,C,C,U */+ 100 160 100 160 /* UG,CG,C,G,A */+ 190 190 190 190 /* UG,CG,C,G,C */+ 50 50 50 50 /* UG,CG,C,G,G */+ 190 190 190 190 /* UG,CG,C,G,U */+ 240 240 240 240 /* UG,CG,C,U,A */+ 210 210 210 210 /* UG,CG,C,U,C */+ 240 240 240 240 /* UG,CG,C,U,G */+ 120 120 120 120 /* UG,CG,C,U,U */+ 60 200 70 200 /* UG,CG,G,A,A */+ 60 190 60 190 /* UG,CG,G,A,C */+ -30 100 100 100 /* UG,CG,G,A,G */+ 60 190 60 190 /* UG,CG,G,A,U */+ 100 240 110 240 /* UG,CG,G,C,A */+ 150 220 90 220 /* UG,CG,G,C,C */+ 100 240 110 240 /* UG,CG,G,C,G */+ 130 210 80 210 /* UG,CG,G,C,U */+ -30 100 100 100 /* UG,CG,G,G,A */+ 60 190 60 190 /* UG,CG,G,G,C */+ 40 50 180 50 /* UG,CG,G,G,G */+ 60 190 60 190 /* UG,CG,G,G,U */+ 100 240 110 240 /* UG,CG,G,U,A */+ 130 210 80 210 /* UG,CG,G,U,C */+ 100 240 110 240 /* UG,CG,G,U,G */+ -10 120 120 120 /* UG,CG,G,U,U */+ 200 200 200 260 /* UG,CG,U,A,A */+ 190 190 190 190 /* UG,CG,U,A,C */+ 100 160 100 100 /* UG,CG,U,A,G */+ 190 190 190 190 /* UG,CG,U,A,U */+ 240 240 240 240 /* UG,CG,U,C,A */+ 220 220 220 220 /* UG,CG,U,C,C */+ 240 240 240 240 /* UG,CG,U,C,G */+ 210 210 210 210 /* UG,CG,U,C,U */+ 100 160 100 100 /* UG,CG,U,G,A */+ 190 190 190 190 /* UG,CG,U,G,C */+ 50 50 50 180 /* UG,CG,U,G,G */+ 190 190 190 190 /* UG,CG,U,G,U */+ 240 240 240 240 /* UG,CG,U,U,A */+ 210 210 210 210 /* UG,CG,U,U,C */+ 240 240 240 240 /* UG,CG,U,U,G */+ 120 120 120 120 /* UG,CG,U,U,U */+ 190 210 240 210 /* UG,GC,A,A,A */+ 150 190 220 190 /* UG,GC,A,A,C */+ -20 10 40 10 /* UG,GC,A,A,G */+ 150 190 220 190 /* UG,GC,A,A,U */+ 150 180 210 180 /* UG,GC,A,C,A */+ 150 190 280 190 /* UG,GC,A,C,C */+ 150 180 210 180 /* UG,GC,A,C,G */+ 150 190 280 190 /* UG,GC,A,C,U */+ 40 70 100 70 /* UG,GC,A,G,A */+ 150 190 220 190 /* UG,GC,A,G,C */+ 10 50 210 50 /* UG,GC,A,G,G */+ 150 190 220 190 /* UG,GC,A,G,U */+ 150 180 210 180 /* UG,GC,A,U,A */+ 160 190 280 190 /* UG,GC,A,U,C */+ 150 180 210 180 /* UG,GC,A,U,G */+ 140 110 140 110 /* UG,GC,A,U,U */+ 210 210 210 210 /* UG,GC,C,A,A */+ 190 190 190 190 /* UG,GC,C,A,C */+ 10 70 10 70 /* UG,GC,C,A,G */+ 190 190 190 190 /* UG,GC,C,A,U */+ 180 180 180 180 /* UG,GC,C,C,A */+ 190 190 190 190 /* UG,GC,C,C,C */+ 180 180 180 180 /* UG,GC,C,C,G */+ 190 190 190 190 /* UG,GC,C,C,U */+ 70 130 70 130 /* UG,GC,C,G,A */+ 190 190 190 190 /* UG,GC,C,G,C */+ 50 50 50 50 /* UG,GC,C,G,G */+ 190 190 190 190 /* UG,GC,C,G,U */+ 180 180 180 180 /* UG,GC,C,U,A */+ 190 190 190 190 /* UG,GC,C,U,C */+ 180 180 180 180 /* UG,GC,C,U,G */+ 110 110 110 110 /* UG,GC,C,U,U */+ 80 210 80 210 /* UG,GC,G,A,A */+ 50 190 60 190 /* UG,GC,G,A,C */+ -120 10 10 10 /* UG,GC,G,A,G */+ 50 190 60 190 /* UG,GC,G,A,U */+ 50 180 50 180 /* UG,GC,G,C,A */+ 110 190 60 190 /* UG,GC,G,C,C */+ 50 180 50 180 /* UG,GC,G,C,G */+ 110 190 60 190 /* UG,GC,G,C,U */+ -60 70 70 70 /* UG,GC,G,G,A */+ 50 190 60 190 /* UG,GC,G,G,C */+ 40 50 180 50 /* UG,GC,G,G,G */+ 50 190 60 190 /* UG,GC,G,G,U */+ 50 180 50 180 /* UG,GC,G,U,A */+ 120 190 60 190 /* UG,GC,G,U,C */+ 50 180 50 180 /* UG,GC,G,U,G */+ -20 110 110 110 /* UG,GC,G,U,U */+ 210 210 210 270 /* UG,GC,U,A,A */+ 190 190 190 190 /* UG,GC,U,A,C */+ 10 70 10 10 /* UG,GC,U,A,G */+ 190 190 190 190 /* UG,GC,U,A,U */+ 180 180 180 180 /* UG,GC,U,C,A */+ 190 190 190 190 /* UG,GC,U,C,C */+ 180 180 180 180 /* UG,GC,U,C,G */+ 190 190 190 190 /* UG,GC,U,C,U */+ 70 130 70 70 /* UG,GC,U,G,A */+ 190 190 190 190 /* UG,GC,U,G,C */+ 50 50 50 180 /* UG,GC,U,G,G */+ 190 190 190 190 /* UG,GC,U,G,U */+ 180 180 180 180 /* UG,GC,U,U,A */+ 190 190 190 190 /* UG,GC,U,U,C */+ 180 180 180 180 /* UG,GC,U,U,G */+ 110 110 110 110 /* UG,GC,U,U,U */+ 360 340 370 340 /* UG,GU,A,A,A */+ 270 310 340 310 /* UG,GU,A,A,C */+ 190 230 260 230 /* UG,GU,A,A,G */+ 270 310 340 310 /* UG,GU,A,A,U */+ 270 310 340 310 /* UG,GU,A,C,A */+ 270 310 400 310 /* UG,GU,A,C,C */+ 270 310 340 310 /* UG,GU,A,C,G */+ 270 310 400 310 /* UG,GU,A,C,U */+ 360 270 300 270 /* UG,GU,A,G,A */+ 270 310 340 310 /* UG,GU,A,G,C */+ 140 180 340 180 /* UG,GU,A,G,G */+ 270 310 340 310 /* UG,GU,A,G,U */+ 270 310 340 310 /* UG,GU,A,U,A */+ 270 310 400 310 /* UG,GU,A,U,C */+ 270 310 340 310 /* UG,GU,A,U,G */+ 330 310 340 310 /* UG,GU,A,U,U */+ 340 340 340 340 /* UG,GU,C,A,A */+ 310 310 310 310 /* UG,GU,C,A,C */+ 230 290 230 290 /* UG,GU,C,A,G */+ 310 310 310 310 /* UG,GU,C,A,U */+ 310 310 310 310 /* UG,GU,C,C,A */+ 310 310 310 310 /* UG,GU,C,C,C */+ 310 310 310 310 /* UG,GU,C,C,G */+ 310 310 310 310 /* UG,GU,C,C,U */+ 270 330 270 330 /* UG,GU,C,G,A */+ 310 310 310 310 /* UG,GU,C,G,C */+ 180 180 180 180 /* UG,GU,C,G,G */+ 310 310 310 310 /* UG,GU,C,G,U */+ 310 310 310 310 /* UG,GU,C,U,A */+ 310 310 310 310 /* UG,GU,C,U,C */+ 310 310 310 310 /* UG,GU,C,U,G */+ 310 310 310 310 /* UG,GU,C,U,U */+ 220 340 210 340 /* UG,GU,G,A,A */+ 170 310 180 310 /* UG,GU,G,A,C */+ 20 230 230 230 /* UG,GU,G,A,G */+ 170 310 180 310 /* UG,GU,G,A,U */+ 170 310 180 310 /* UG,GU,G,C,A */+ 230 310 180 310 /* UG,GU,G,C,C */+ 170 310 180 310 /* UG,GU,G,C,G */+ 230 310 180 310 /* UG,GU,G,C,U */+ 130 270 270 270 /* UG,GU,G,G,A */+ 170 310 180 310 /* UG,GU,G,G,C */+ 170 180 310 180 /* UG,GU,G,G,G */+ 170 310 180 310 /* UG,GU,G,G,U */+ 170 310 180 310 /* UG,GU,G,U,A */+ 230 310 180 310 /* UG,GU,G,U,C */+ 170 310 180 310 /* UG,GU,G,U,G */+ 170 310 310 310 /* UG,GU,G,U,U */+ 340 340 340 400 /* UG,GU,U,A,A */+ 310 310 310 310 /* UG,GU,U,A,C */+ 230 290 230 230 /* UG,GU,U,A,G */+ 310 310 310 310 /* UG,GU,U,A,U */+ 310 310 310 310 /* UG,GU,U,C,A */+ 310 310 310 310 /* UG,GU,U,C,C */+ 310 310 310 310 /* UG,GU,U,C,G */+ 310 310 310 310 /* UG,GU,U,C,U */+ 270 330 270 270 /* UG,GU,U,G,A */+ 310 310 310 310 /* UG,GU,U,G,C */+ 180 180 180 310 /* UG,GU,U,G,G */+ 310 310 310 310 /* UG,GU,U,G,U */+ 310 310 310 310 /* UG,GU,U,U,A */+ 310 310 310 310 /* UG,GU,U,U,C */+ 310 310 310 310 /* UG,GU,U,U,G */+ 310 310 310 310 /* UG,GU,U,U,U */+ 210 240 270 240 /* UG,UG,A,A,A */+ 240 280 310 280 /* UG,UG,A,A,C */+ 110 140 170 140 /* UG,UG,A,A,G */+ 240 280 310 280 /* UG,UG,A,A,U */+ 240 280 310 280 /* UG,UG,A,C,A */+ 240 280 370 280 /* UG,UG,A,C,C */+ 240 280 310 280 /* UG,UG,A,C,G */+ 240 280 370 280 /* UG,UG,A,C,U */+ 270 310 340 310 /* UG,UG,A,G,A */+ 240 280 310 280 /* UG,UG,A,G,C */+ 110 150 310 150 /* UG,UG,A,G,G */+ 240 280 310 280 /* UG,UG,A,G,U */+ 240 280 310 280 /* UG,UG,A,U,A */+ 240 280 370 280 /* UG,UG,A,U,C */+ 240 280 310 280 /* UG,UG,A,U,G */+ 300 280 310 280 /* UG,UG,A,U,U */+ 240 240 240 240 /* UG,UG,C,A,A */+ 280 280 280 280 /* UG,UG,C,A,C */+ 140 200 140 200 /* UG,UG,C,A,G */+ 280 280 280 280 /* UG,UG,C,A,U */+ 280 280 280 280 /* UG,UG,C,C,A */+ 280 280 280 280 /* UG,UG,C,C,C */+ 280 280 280 280 /* UG,UG,C,C,G */+ 280 280 280 280 /* UG,UG,C,C,U */+ 310 370 310 370 /* UG,UG,C,G,A */+ 280 280 280 280 /* UG,UG,C,G,C */+ 150 150 150 150 /* UG,UG,C,G,G */+ 280 280 280 280 /* UG,UG,C,G,U */+ 280 280 280 280 /* UG,UG,C,U,A */+ 280 280 280 280 /* UG,UG,C,U,C */+ 280 280 280 280 /* UG,UG,C,U,G */+ 280 280 280 280 /* UG,UG,C,U,U */+ 110 240 110 240 /* UG,UG,G,A,A */+ 140 280 150 280 /* UG,UG,G,A,C */+ 10 140 140 140 /* UG,UG,G,A,G */+ 140 280 150 280 /* UG,UG,G,A,U */+ 140 280 150 280 /* UG,UG,G,C,A */+ 200 280 150 280 /* UG,UG,G,C,C */+ 140 280 150 280 /* UG,UG,G,C,G */+ 200 280 150 280 /* UG,UG,G,C,U */+ 170 310 310 310 /* UG,UG,G,G,A */+ 140 280 150 280 /* UG,UG,G,G,C */+ 140 150 280 150 /* UG,UG,G,G,G */+ 140 280 150 280 /* UG,UG,G,G,U */+ 140 280 150 280 /* UG,UG,G,U,A */+ 200 280 150 280 /* UG,UG,G,U,C */+ 140 280 150 280 /* UG,UG,G,U,G */+ 140 280 280 280 /* UG,UG,G,U,U */+ 240 240 240 300 /* UG,UG,U,A,A */+ 280 280 280 280 /* UG,UG,U,A,C */+ 140 200 140 140 /* UG,UG,U,A,G */+ 280 280 280 280 /* UG,UG,U,A,U */+ 280 280 280 280 /* UG,UG,U,C,A */+ 280 280 280 280 /* UG,UG,U,C,C */+ 280 280 280 280 /* UG,UG,U,C,G */+ 280 280 280 280 /* UG,UG,U,C,U */+ 310 370 310 310 /* UG,UG,U,G,A */+ 280 280 280 280 /* UG,UG,U,G,C */+ 150 150 150 280 /* UG,UG,U,G,G */+ 280 280 280 280 /* UG,UG,U,G,U */+ 280 280 280 280 /* UG,UG,U,U,A */+ 280 280 280 280 /* UG,UG,U,U,C */+ 280 280 280 280 /* UG,UG,U,U,G */+ 280 280 280 280 /* UG,UG,U,U,U */+ 240 280 310 280 /* UG,AU,A,A,A */+ 220 250 280 250 /* UG,AU,A,A,C */+ 120 150 180 150 /* UG,AU,A,A,G */+ 220 250 280 250 /* UG,AU,A,A,U */+ 230 260 290 260 /* UG,AU,A,C,A */+ 220 260 350 260 /* UG,AU,A,C,C */+ 230 260 290 260 /* UG,AU,A,C,G */+ 220 260 350 260 /* UG,AU,A,C,U */+ 190 220 250 220 /* UG,AU,A,G,A */+ 220 250 280 250 /* UG,AU,A,G,C */+ 70 100 260 100 /* UG,AU,A,G,G */+ 220 250 280 250 /* UG,AU,A,G,U */+ 230 260 290 260 /* UG,AU,A,U,A */+ 220 260 350 260 /* UG,AU,A,U,C */+ 230 260 290 260 /* UG,AU,A,U,G */+ 190 170 200 170 /* UG,AU,A,U,U */+ 280 280 280 280 /* UG,AU,C,A,A */+ 250 250 250 250 /* UG,AU,C,A,C */+ 150 210 150 210 /* UG,AU,C,A,G */+ 250 250 250 250 /* UG,AU,C,A,U */+ 260 260 260 260 /* UG,AU,C,C,A */+ 260 260 260 260 /* UG,AU,C,C,C */+ 260 260 260 260 /* UG,AU,C,C,G */+ 260 260 260 260 /* UG,AU,C,C,U */+ 220 280 220 280 /* UG,AU,C,G,A */+ 250 250 250 250 /* UG,AU,C,G,C */+ 100 100 100 100 /* UG,AU,C,G,G */+ 250 250 250 250 /* UG,AU,C,G,U */+ 260 260 260 260 /* UG,AU,C,U,A */+ 260 260 260 260 /* UG,AU,C,U,C */+ 260 260 260 260 /* UG,AU,C,U,G */+ 170 170 170 170 /* UG,AU,C,U,U */+ 140 280 150 280 /* UG,AU,G,A,A */+ 120 250 120 250 /* UG,AU,G,A,C */+ 20 150 150 150 /* UG,AU,G,A,G */+ 120 250 120 250 /* UG,AU,G,A,U */+ 130 260 130 260 /* UG,AU,G,C,A */+ 180 260 130 260 /* UG,AU,G,C,C */+ 130 260 130 260 /* UG,AU,G,C,G */+ 180 260 130 260 /* UG,AU,G,C,U */+ 90 220 220 220 /* UG,AU,G,G,A */+ 120 250 120 250 /* UG,AU,G,G,C */+ 100 100 230 100 /* UG,AU,G,G,G */+ 120 250 120 250 /* UG,AU,G,G,U */+ 130 260 130 260 /* UG,AU,G,U,A */+ 180 260 130 260 /* UG,AU,G,U,C */+ 130 260 130 260 /* UG,AU,G,U,G */+ 30 170 170 170 /* UG,AU,G,U,U */+ 280 280 280 340 /* UG,AU,U,A,A */+ 250 250 250 250 /* UG,AU,U,A,C */+ 150 210 150 150 /* UG,AU,U,A,G */+ 250 250 250 250 /* UG,AU,U,A,U */+ 260 260 260 260 /* UG,AU,U,C,A */+ 260 260 260 260 /* UG,AU,U,C,C */+ 260 260 260 260 /* UG,AU,U,C,G */+ 260 260 260 260 /* UG,AU,U,C,U */+ 220 280 220 220 /* UG,AU,U,G,A */+ 250 250 250 250 /* UG,AU,U,G,C */+ 100 100 100 230 /* UG,AU,U,G,G */+ 250 250 250 250 /* UG,AU,U,G,U */+ 260 260 260 260 /* UG,AU,U,U,A */+ 260 260 260 260 /* UG,AU,U,U,C */+ 260 260 260 260 /* UG,AU,U,U,G */+ 170 170 170 170 /* UG,AU,U,U,U */+ 240 280 310 280 /* UG,UA,A,A,A */+ 200 230 260 230 /* UG,UA,A,A,C */+ 140 170 200 170 /* UG,UA,A,A,G */+ 200 230 260 230 /* UG,UA,A,A,U */+ 240 280 310 280 /* UG,UA,A,C,A */+ 240 280 370 280 /* UG,UA,A,C,C */+ 240 280 310 280 /* UG,UA,A,C,G */+ 240 280 370 280 /* UG,UA,A,C,U */+ 150 180 210 180 /* UG,UA,A,G,A */+ 200 230 260 230 /* UG,UA,A,G,C */+ 90 120 280 120 /* UG,UA,A,G,G */+ 200 230 260 230 /* UG,UA,A,G,U */+ 240 280 310 280 /* UG,UA,A,U,A */+ 210 250 340 250 /* UG,UA,A,U,C */+ 240 280 310 280 /* UG,UA,A,U,G */+ 220 190 220 190 /* UG,UA,A,U,U */+ 280 280 280 280 /* UG,UA,C,A,A */+ 230 230 230 230 /* UG,UA,C,A,C */+ 170 230 170 230 /* UG,UA,C,A,G */+ 230 230 230 230 /* UG,UA,C,A,U */+ 280 280 280 280 /* UG,UA,C,C,A */+ 280 280 280 280 /* UG,UA,C,C,C */+ 280 280 280 280 /* UG,UA,C,C,G */+ 280 280 280 280 /* UG,UA,C,C,U */+ 180 240 180 240 /* UG,UA,C,G,A */+ 230 230 230 230 /* UG,UA,C,G,C */+ 120 120 120 120 /* UG,UA,C,G,G */+ 230 230 230 230 /* UG,UA,C,G,U */+ 280 280 280 280 /* UG,UA,C,U,A */+ 250 250 250 250 /* UG,UA,C,U,C */+ 280 280 280 280 /* UG,UA,C,U,G */+ 190 190 190 190 /* UG,UA,C,U,U */+ 140 280 150 280 /* UG,UA,G,A,A */+ 100 230 100 230 /* UG,UA,G,A,C */+ 40 170 170 170 /* UG,UA,G,A,G */+ 100 230 100 230 /* UG,UA,G,A,U */+ 140 280 150 280 /* UG,UA,G,C,A */+ 200 280 150 280 /* UG,UA,G,C,C */+ 140 280 150 280 /* UG,UA,G,C,G */+ 200 280 150 280 /* UG,UA,G,C,U */+ 50 180 180 180 /* UG,UA,G,G,A */+ 100 230 100 230 /* UG,UA,G,G,C */+ 120 120 250 120 /* UG,UA,G,G,G */+ 100 230 100 230 /* UG,UA,G,G,U */+ 140 280 150 280 /* UG,UA,G,U,A */+ 170 250 120 250 /* UG,UA,G,U,C */+ 140 280 150 280 /* UG,UA,G,U,G */+ 60 190 190 190 /* UG,UA,G,U,U */+ 280 280 280 340 /* UG,UA,U,A,A */+ 230 230 230 230 /* UG,UA,U,A,C */+ 170 230 170 170 /* UG,UA,U,A,G */+ 230 230 230 230 /* UG,UA,U,A,U */+ 280 280 280 280 /* UG,UA,U,C,A */+ 280 280 280 280 /* UG,UA,U,C,C */+ 280 280 280 280 /* UG,UA,U,C,G */+ 280 280 280 280 /* UG,UA,U,C,U */+ 180 240 180 180 /* UG,UA,U,G,A */+ 230 230 230 230 /* UG,UA,U,G,C */+ 120 120 120 250 /* UG,UA,U,G,G */+ 230 230 230 230 /* UG,UA,U,G,U */+ 280 280 280 280 /* UG,UA,U,U,A */+ 250 250 250 250 /* UG,UA,U,U,C */+ 280 280 280 280 /* UG,UA,U,U,G */+ 190 190 190 190 /* UG,UA,U,U,U */+ 200 180 140 180 /* AU,CG,A,A,A */+ 190 180 140 180 /* AU,CG,A,A,C */+ 100 90 50 90 /* AU,CG,A,A,G */+ 190 180 140 180 /* AU,CG,A,A,U */+ 240 220 180 220 /* AU,CG,A,C,A */+ 220 210 230 210 /* AU,CG,A,C,C */+ 240 220 180 220 /* AU,CG,A,C,G */+ 210 190 210 190 /* AU,CG,A,C,U */+ 100 90 50 90 /* AU,CG,A,G,A */+ 190 180 140 180 /* AU,CG,A,G,C */+ 50 30 120 30 /* AU,CG,A,G,G */+ 190 180 140 180 /* AU,CG,A,G,U */+ 240 220 180 220 /* AU,CG,A,U,A */+ 210 190 210 190 /* AU,CG,A,U,C */+ 240 220 180 220 /* AU,CG,A,U,G */+ 180 100 60 100 /* AU,CG,A,U,U */+ 170 180 170 180 /* AU,CG,C,A,A */+ 170 170 170 170 /* AU,CG,C,A,C */+ 80 140 80 140 /* AU,CG,C,A,G */+ 170 170 170 170 /* AU,CG,C,A,U */+ 210 220 210 220 /* AU,CG,C,C,A */+ 200 200 200 200 /* AU,CG,C,C,C */+ 210 220 210 220 /* AU,CG,C,C,G */+ 180 190 180 190 /* AU,CG,C,C,U */+ 80 140 80 140 /* AU,CG,C,G,A */+ 170 170 170 170 /* AU,CG,C,G,C */+ 20 30 20 30 /* AU,CG,C,G,G */+ 170 170 170 170 /* AU,CG,C,G,U */+ 210 220 210 220 /* AU,CG,C,U,A */+ 180 190 180 190 /* AU,CG,C,U,C */+ 210 220 210 220 /* AU,CG,C,U,G */+ 90 100 90 100 /* AU,CG,C,U,U */+ 70 180 20 180 /* AU,CG,G,A,A */+ 70 180 20 180 /* AU,CG,G,A,C */+ -20 90 60 90 /* AU,CG,G,A,G */+ 70 180 20 180 /* AU,CG,G,A,U */+ 110 220 60 220 /* AU,CG,G,C,A */+ 160 210 50 210 /* AU,CG,G,C,C */+ 110 220 60 220 /* AU,CG,G,C,G */+ 140 190 30 190 /* AU,CG,G,C,U */+ -20 90 60 90 /* AU,CG,G,G,A */+ 70 180 20 180 /* AU,CG,G,G,C */+ 50 30 130 30 /* AU,CG,G,G,G */+ 70 180 20 180 /* AU,CG,G,G,U */+ 110 220 60 220 /* AU,CG,G,U,A */+ 140 190 30 190 /* AU,CG,G,U,C */+ 110 220 60 220 /* AU,CG,G,U,G */+ 0 100 70 100 /* AU,CG,G,U,U */+ 170 180 170 150 /* AU,CG,U,A,A */+ 170 170 170 80 /* AU,CG,U,A,C */+ 80 140 80 0 /* AU,CG,U,A,G */+ 170 170 170 80 /* AU,CG,U,A,U */+ 210 220 210 130 /* AU,CG,U,C,A */+ 200 200 200 110 /* AU,CG,U,C,C */+ 210 220 210 130 /* AU,CG,U,C,G */+ 180 190 180 100 /* AU,CG,U,C,U */+ 80 140 80 0 /* AU,CG,U,G,A */+ 170 170 170 80 /* AU,CG,U,G,C */+ 20 30 20 70 /* AU,CG,U,G,G */+ 170 170 170 80 /* AU,CG,U,G,U */+ 210 220 210 130 /* AU,CG,U,U,A */+ 180 190 180 100 /* AU,CG,U,U,C */+ 210 220 210 130 /* AU,CG,U,U,G */+ 90 100 90 10 /* AU,CG,U,U,U */+ 210 200 160 200 /* AU,GC,A,A,A */+ 190 170 130 170 /* AU,GC,A,A,C */+ 10 0 -40 0 /* AU,GC,A,A,G */+ 190 170 130 170 /* AU,GC,A,A,U */+ 180 170 130 170 /* AU,GC,A,C,A */+ 190 170 190 170 /* AU,GC,A,C,C */+ 180 170 130 170 /* AU,GC,A,C,G */+ 190 170 190 170 /* AU,GC,A,C,U */+ 70 60 20 60 /* AU,GC,A,G,A */+ 190 170 130 170 /* AU,GC,A,G,C */+ 50 30 120 30 /* AU,GC,A,G,G */+ 190 170 130 170 /* AU,GC,A,G,U */+ 180 170 130 170 /* AU,GC,A,U,A */+ 190 180 200 180 /* AU,GC,A,U,C */+ 180 170 130 170 /* AU,GC,A,U,G */+ 170 100 60 100 /* AU,GC,A,U,U */+ 190 190 190 190 /* AU,GC,C,A,A */+ 160 170 160 170 /* AU,GC,C,A,C */+ -10 50 -10 50 /* AU,GC,C,A,G */+ 160 170 160 170 /* AU,GC,C,A,U */+ 160 160 160 160 /* AU,GC,C,C,A */+ 160 170 160 170 /* AU,GC,C,C,C */+ 160 160 160 160 /* AU,GC,C,C,G */+ 160 170 160 170 /* AU,GC,C,C,U */+ 50 110 50 110 /* AU,GC,C,G,A */+ 160 170 160 170 /* AU,GC,C,G,C */+ 20 30 20 30 /* AU,GC,C,G,G */+ 160 170 160 170 /* AU,GC,C,G,U */+ 160 160 160 160 /* AU,GC,C,U,A */+ 170 170 170 170 /* AU,GC,C,U,C */+ 160 160 160 160 /* AU,GC,C,U,G */+ 90 90 90 90 /* AU,GC,C,U,U */+ 90 200 40 200 /* AU,GC,G,A,A */+ 60 170 10 170 /* AU,GC,G,A,C */+ -110 0 -30 0 /* AU,GC,G,A,G */+ 60 170 10 170 /* AU,GC,G,A,U */+ 60 170 10 170 /* AU,GC,G,C,A */+ 120 170 10 170 /* AU,GC,G,C,C */+ 60 170 10 170 /* AU,GC,G,C,G */+ 120 170 10 170 /* AU,GC,G,C,U */+ -50 60 30 60 /* AU,GC,G,G,A */+ 60 170 10 170 /* AU,GC,G,G,C */+ 50 30 130 30 /* AU,GC,G,G,G */+ 60 170 10 170 /* AU,GC,G,G,U */+ 60 170 10 170 /* AU,GC,G,U,A */+ 130 180 20 180 /* AU,GC,G,U,C */+ 60 170 10 170 /* AU,GC,G,U,G */+ -10 100 70 100 /* AU,GC,G,U,U */+ 190 190 190 160 /* AU,GC,U,A,A */+ 160 170 160 80 /* AU,GC,U,A,C */+ -10 50 -10 -100 /* AU,GC,U,A,G */+ 160 170 160 80 /* AU,GC,U,A,U */+ 160 160 160 70 /* AU,GC,U,C,A */+ 160 170 160 80 /* AU,GC,U,C,C */+ 160 160 160 70 /* AU,GC,U,C,G */+ 160 170 160 80 /* AU,GC,U,C,U */+ 50 110 50 -30 /* AU,GC,U,G,A */+ 160 170 160 80 /* AU,GC,U,G,C */+ 20 30 20 70 /* AU,GC,U,G,G */+ 160 170 160 80 /* AU,GC,U,G,U */+ 160 160 160 70 /* AU,GC,U,U,A */+ 170 170 170 80 /* AU,GC,U,U,C */+ 160 160 160 70 /* AU,GC,U,U,G */+ 90 90 90 0 /* AU,GC,U,U,U */+ 340 330 290 330 /* AU,GU,A,A,A */+ 310 290 250 290 /* AU,GU,A,A,C */+ 230 210 170 210 /* AU,GU,A,A,G */+ 310 290 250 290 /* AU,GU,A,A,U */+ 310 290 250 290 /* AU,GU,A,C,A */+ 310 290 310 290 /* AU,GU,A,C,C */+ 310 290 250 290 /* AU,GU,A,C,G */+ 310 290 310 290 /* AU,GU,A,C,U */+ 270 250 210 250 /* AU,GU,A,G,A */+ 310 290 250 290 /* AU,GU,A,G,C */+ 180 160 250 160 /* AU,GU,A,G,G */+ 310 290 250 290 /* AU,GU,A,G,U */+ 310 290 250 290 /* AU,GU,A,U,A */+ 310 290 310 290 /* AU,GU,A,U,C */+ 310 290 250 290 /* AU,GU,A,U,G */+ 370 290 250 290 /* AU,GU,A,U,U */+ 320 320 320 320 /* AU,GU,C,A,A */+ 280 290 280 290 /* AU,GU,C,A,C */+ 200 270 200 270 /* AU,GU,C,A,G */+ 280 290 280 290 /* AU,GU,C,A,U */+ 280 290 280 290 /* AU,GU,C,C,A */+ 280 290 280 290 /* AU,GU,C,C,C */+ 280 290 280 290 /* AU,GU,C,C,G */+ 280 290 280 290 /* AU,GU,C,C,U */+ 240 310 240 310 /* AU,GU,C,G,A */+ 280 290 280 290 /* AU,GU,C,G,C */+ 150 160 150 160 /* AU,GU,C,G,G */+ 280 290 280 290 /* AU,GU,C,G,U */+ 280 290 280 290 /* AU,GU,C,U,A */+ 280 290 280 290 /* AU,GU,C,U,C */+ 280 290 280 290 /* AU,GU,C,U,G */+ 280 290 280 290 /* AU,GU,C,U,U */+ 220 330 170 330 /* AU,GU,G,A,A */+ 180 290 130 290 /* AU,GU,G,A,C */+ 100 210 180 210 /* AU,GU,G,A,G */+ 180 290 130 290 /* AU,GU,G,A,U */+ 180 290 130 290 /* AU,GU,G,C,A */+ 240 290 130 290 /* AU,GU,G,C,C */+ 180 290 130 290 /* AU,GU,G,C,G */+ 240 290 130 290 /* AU,GU,G,C,U */+ 140 250 220 250 /* AU,GU,G,G,A */+ 180 290 130 290 /* AU,GU,G,G,C */+ 180 160 260 160 /* AU,GU,G,G,G */+ 180 290 130 290 /* AU,GU,G,G,U */+ 180 290 130 290 /* AU,GU,G,U,A */+ 240 290 130 290 /* AU,GU,G,U,C */+ 180 290 130 290 /* AU,GU,G,U,G */+ 180 290 260 290 /* AU,GU,G,U,U */+ 320 320 320 290 /* AU,GU,U,A,A */+ 280 290 280 200 /* AU,GU,U,A,C */+ 200 270 200 120 /* AU,GU,U,A,G */+ 280 290 280 200 /* AU,GU,U,A,U */+ 280 290 280 200 /* AU,GU,U,C,A */+ 280 290 280 200 /* AU,GU,U,C,C */+ 280 290 280 200 /* AU,GU,U,C,G */+ 280 290 280 200 /* AU,GU,U,C,U */+ 240 310 240 160 /* AU,GU,U,G,A */+ 280 290 280 200 /* AU,GU,U,G,C */+ 150 160 150 200 /* AU,GU,U,G,G */+ 280 290 280 200 /* AU,GU,U,G,U */+ 280 290 280 200 /* AU,GU,U,U,A */+ 280 290 280 200 /* AU,GU,U,U,C */+ 280 290 280 200 /* AU,GU,U,U,G */+ 280 290 280 200 /* AU,GU,U,U,U */+ 240 230 190 230 /* AU,UG,A,A,A */+ 280 260 220 260 /* AU,UG,A,A,C */+ 140 130 90 130 /* AU,UG,A,A,G */+ 280 260 220 260 /* AU,UG,A,A,U */+ 280 260 220 260 /* AU,UG,A,C,A */+ 280 260 280 260 /* AU,UG,A,C,C */+ 280 260 220 260 /* AU,UG,A,C,G */+ 280 260 280 260 /* AU,UG,A,C,U */+ 310 290 250 290 /* AU,UG,A,G,A */+ 280 260 220 260 /* AU,UG,A,G,C */+ 150 130 220 130 /* AU,UG,A,G,G */+ 280 260 220 260 /* AU,UG,A,G,U */+ 280 260 220 260 /* AU,UG,A,U,A */+ 280 260 280 260 /* AU,UG,A,U,C */+ 280 260 220 260 /* AU,UG,A,U,G */+ 340 260 220 260 /* AU,UG,A,U,U */+ 220 220 220 220 /* AU,UG,C,A,A */+ 250 260 250 260 /* AU,UG,C,A,C */+ 120 180 120 180 /* AU,UG,C,A,G */+ 250 260 250 260 /* AU,UG,C,A,U */+ 250 260 250 260 /* AU,UG,C,C,A */+ 250 260 250 260 /* AU,UG,C,C,C */+ 250 260 250 260 /* AU,UG,C,C,G */+ 250 260 250 260 /* AU,UG,C,C,U */+ 280 350 280 350 /* AU,UG,C,G,A */+ 250 260 250 260 /* AU,UG,C,G,C */+ 120 130 120 130 /* AU,UG,C,G,G */+ 250 260 250 260 /* AU,UG,C,G,U */+ 250 260 250 260 /* AU,UG,C,U,A */+ 250 260 250 260 /* AU,UG,C,U,C */+ 250 260 250 260 /* AU,UG,C,U,G */+ 250 260 250 260 /* AU,UG,C,U,U */+ 120 230 70 230 /* AU,UG,G,A,A */+ 150 260 100 260 /* AU,UG,G,A,C */+ 20 130 100 130 /* AU,UG,G,A,G */+ 150 260 100 260 /* AU,UG,G,A,U */+ 150 260 100 260 /* AU,UG,G,C,A */+ 210 260 100 260 /* AU,UG,G,C,C */+ 150 260 100 260 /* AU,UG,G,C,G */+ 210 260 100 260 /* AU,UG,G,C,U */+ 180 290 260 290 /* AU,UG,G,G,A */+ 150 260 100 260 /* AU,UG,G,G,C */+ 150 130 230 130 /* AU,UG,G,G,G */+ 150 260 100 260 /* AU,UG,G,G,U */+ 150 260 100 260 /* AU,UG,G,U,A */+ 210 260 100 260 /* AU,UG,G,U,C */+ 150 260 100 260 /* AU,UG,G,U,G */+ 150 260 230 260 /* AU,UG,G,U,U */+ 220 220 220 190 /* AU,UG,U,A,A */+ 250 260 250 170 /* AU,UG,U,A,C */+ 120 180 120 30 /* AU,UG,U,A,G */+ 250 260 250 170 /* AU,UG,U,A,U */+ 250 260 250 170 /* AU,UG,U,C,A */+ 250 260 250 170 /* AU,UG,U,C,C */+ 250 260 250 170 /* AU,UG,U,C,G */+ 250 260 250 170 /* AU,UG,U,C,U */+ 280 350 280 200 /* AU,UG,U,G,A */+ 250 260 250 170 /* AU,UG,U,G,C */+ 120 130 120 170 /* AU,UG,U,G,G */+ 250 260 250 170 /* AU,UG,U,G,U */+ 250 260 250 170 /* AU,UG,U,U,A */+ 250 260 250 170 /* AU,UG,U,U,C */+ 250 260 250 170 /* AU,UG,U,U,G */+ 250 260 250 170 /* AU,UG,U,U,U */+ 280 260 220 260 /* AU,AU,A,A,A */+ 250 240 200 240 /* AU,AU,A,A,C */+ 150 140 100 140 /* AU,AU,A,A,G */+ 250 240 200 240 /* AU,AU,A,A,U */+ 260 250 210 250 /* AU,AU,A,C,A */+ 260 240 260 240 /* AU,AU,A,C,C */+ 260 250 210 250 /* AU,AU,A,C,G */+ 260 240 260 240 /* AU,AU,A,C,U */+ 220 210 170 210 /* AU,AU,A,G,A */+ 250 240 200 240 /* AU,AU,A,G,C */+ 100 90 180 90 /* AU,AU,A,G,G */+ 250 240 200 240 /* AU,AU,A,G,U */+ 260 250 210 250 /* AU,AU,A,U,A */+ 260 240 260 240 /* AU,AU,A,U,C */+ 260 250 210 250 /* AU,AU,A,U,G */+ 230 150 110 150 /* AU,AU,A,U,U */+ 250 260 250 260 /* AU,AU,C,A,A */+ 230 230 230 230 /* AU,AU,C,A,C */+ 130 190 130 190 /* AU,AU,C,A,G */+ 230 230 230 230 /* AU,AU,C,A,U */+ 240 240 240 240 /* AU,AU,C,C,A */+ 230 240 230 240 /* AU,AU,C,C,C */+ 240 240 240 240 /* AU,AU,C,C,G */+ 230 240 230 240 /* AU,AU,C,C,U */+ 200 260 200 260 /* AU,AU,C,G,A */+ 230 230 230 230 /* AU,AU,C,G,C */+ 80 80 80 80 /* AU,AU,C,G,G */+ 230 230 230 230 /* AU,AU,C,G,U */+ 240 240 240 240 /* AU,AU,C,U,A */+ 230 240 230 240 /* AU,AU,C,U,C */+ 240 240 240 240 /* AU,AU,C,U,G */+ 140 150 140 150 /* AU,AU,C,U,U */+ 150 260 100 260 /* AU,AU,G,A,A */+ 130 240 80 240 /* AU,AU,G,A,C */+ 30 140 110 140 /* AU,AU,G,A,G */+ 130 240 80 240 /* AU,AU,G,A,U */+ 140 250 90 250 /* AU,AU,G,C,A */+ 190 240 80 240 /* AU,AU,G,C,C */+ 140 250 90 250 /* AU,AU,G,C,G */+ 190 240 80 240 /* AU,AU,G,C,U */+ 100 210 180 210 /* AU,AU,G,G,A */+ 130 240 80 240 /* AU,AU,G,G,C */+ 110 90 190 90 /* AU,AU,G,G,G */+ 130 240 80 240 /* AU,AU,G,G,U */+ 140 250 90 250 /* AU,AU,G,U,A */+ 190 240 80 240 /* AU,AU,G,U,C */+ 140 250 90 250 /* AU,AU,G,U,G */+ 40 150 120 150 /* AU,AU,G,U,U */+ 250 260 250 230 /* AU,AU,U,A,A */+ 230 230 230 140 /* AU,AU,U,A,C */+ 130 190 130 40 /* AU,AU,U,A,G */+ 230 230 230 140 /* AU,AU,U,A,U */+ 240 240 240 150 /* AU,AU,U,C,A */+ 230 240 230 150 /* AU,AU,U,C,C */+ 240 240 240 150 /* AU,AU,U,C,G */+ 230 240 230 150 /* AU,AU,U,C,U */+ 200 260 200 110 /* AU,AU,U,G,A */+ 230 230 230 140 /* AU,AU,U,G,C */+ 80 80 80 120 /* AU,AU,U,G,G */+ 230 230 230 140 /* AU,AU,U,G,U */+ 240 240 240 150 /* AU,AU,U,U,A */+ 230 240 230 150 /* AU,AU,U,U,C */+ 240 240 240 150 /* AU,AU,U,U,G */+ 140 150 140 60 /* AU,AU,U,U,U */+ 280 260 220 260 /* AU,UA,A,A,A */+ 230 220 180 220 /* AU,UA,A,A,C */+ 170 160 120 160 /* AU,UA,A,A,G */+ 230 220 180 220 /* AU,UA,A,A,U */+ 280 260 220 260 /* AU,UA,A,C,A */+ 280 260 280 260 /* AU,UA,A,C,C */+ 280 260 220 260 /* AU,UA,A,C,G */+ 280 260 280 260 /* AU,UA,A,C,U */+ 180 170 130 170 /* AU,UA,A,G,A */+ 230 220 180 220 /* AU,UA,A,G,C */+ 120 110 200 110 /* AU,UA,A,G,G */+ 230 220 180 220 /* AU,UA,A,G,U */+ 280 260 220 260 /* AU,UA,A,U,A */+ 250 230 250 230 /* AU,UA,A,U,C */+ 280 260 220 260 /* AU,UA,A,U,G */+ 250 180 140 180 /* AU,UA,A,U,U */+ 250 260 250 260 /* AU,UA,C,A,A */+ 210 210 210 210 /* AU,UA,C,A,C */+ 150 210 150 210 /* AU,UA,C,A,G */+ 210 210 210 210 /* AU,UA,C,A,U */+ 250 260 250 260 /* AU,UA,C,C,A */+ 250 260 250 260 /* AU,UA,C,C,C */+ 250 260 250 260 /* AU,UA,C,C,G */+ 250 260 250 260 /* AU,UA,C,C,U */+ 160 220 160 220 /* AU,UA,C,G,A */+ 210 210 210 210 /* AU,UA,C,G,C */+ 100 100 100 100 /* AU,UA,C,G,G */+ 210 210 210 210 /* AU,UA,C,G,U */+ 250 260 250 260 /* AU,UA,C,U,A */+ 220 230 220 230 /* AU,UA,C,U,C */+ 250 260 250 260 /* AU,UA,C,U,G */+ 170 170 170 170 /* AU,UA,C,U,U */+ 150 260 100 260 /* AU,UA,G,A,A */+ 110 220 60 220 /* AU,UA,G,A,C */+ 50 160 130 160 /* AU,UA,G,A,G */+ 110 220 60 220 /* AU,UA,G,A,U */+ 150 260 100 260 /* AU,UA,G,C,A */+ 210 260 100 260 /* AU,UA,G,C,C */+ 150 260 100 260 /* AU,UA,G,C,G */+ 210 260 100 260 /* AU,UA,G,C,U */+ 60 170 140 170 /* AU,UA,G,G,A */+ 110 220 60 220 /* AU,UA,G,G,C */+ 130 110 210 110 /* AU,UA,G,G,G */+ 110 220 60 220 /* AU,UA,G,G,U */+ 150 260 100 260 /* AU,UA,G,U,A */+ 180 230 70 230 /* AU,UA,G,U,C */+ 150 260 100 260 /* AU,UA,G,U,G */+ 70 180 150 180 /* AU,UA,G,U,U */+ 250 260 250 230 /* AU,UA,U,A,A */+ 210 210 210 120 /* AU,UA,U,A,C */+ 150 210 150 60 /* AU,UA,U,A,G */+ 210 210 210 120 /* AU,UA,U,A,U */+ 250 260 250 170 /* AU,UA,U,C,A */+ 250 260 250 170 /* AU,UA,U,C,C */+ 250 260 250 170 /* AU,UA,U,C,G */+ 250 260 250 170 /* AU,UA,U,C,U */+ 160 220 160 70 /* AU,UA,U,G,A */+ 210 210 210 120 /* AU,UA,U,G,C */+ 100 100 100 140 /* AU,UA,U,G,G */+ 210 210 210 120 /* AU,UA,U,G,U */+ 250 260 250 170 /* AU,UA,U,U,A */+ 220 230 220 140 /* AU,UA,U,U,C */+ 250 260 250 170 /* AU,UA,U,U,G */+ 170 170 170 80 /* AU,UA,U,U,U */+ 200 200 100 200 /* UA,CG,A,A,A */+ 190 190 100 190 /* UA,CG,A,A,C */+ 100 100 10 100 /* UA,CG,A,A,G */+ 190 190 100 190 /* UA,CG,A,A,U */+ 240 240 140 240 /* UA,CG,A,C,A */+ 220 220 190 220 /* UA,CG,A,C,C */+ 240 240 140 240 /* UA,CG,A,C,G */+ 210 210 170 210 /* UA,CG,A,C,U */+ 100 100 10 100 /* UA,CG,A,G,A */+ 190 190 100 190 /* UA,CG,A,G,C */+ 50 50 80 50 /* UA,CG,A,G,G */+ 190 190 100 190 /* UA,CG,A,G,U */+ 240 240 140 240 /* UA,CG,A,U,A */+ 210 210 170 210 /* UA,CG,A,U,C */+ 240 240 140 240 /* UA,CG,A,U,G */+ 180 120 20 120 /* UA,CG,A,U,U */+ 150 200 150 170 /* UA,CG,C,A,A */+ 150 190 150 160 /* UA,CG,C,A,C */+ 60 160 60 130 /* UA,CG,C,A,G */+ 150 190 150 160 /* UA,CG,C,A,U */+ 190 240 190 210 /* UA,CG,C,C,A */+ 180 220 180 190 /* UA,CG,C,C,C */+ 190 240 190 210 /* UA,CG,C,C,G */+ 160 210 160 180 /* UA,CG,C,C,U */+ 60 160 60 130 /* UA,CG,C,G,A */+ 150 190 150 160 /* UA,CG,C,G,C */+ 0 50 0 20 /* UA,CG,C,G,G */+ 150 190 150 160 /* UA,CG,C,G,U */+ 190 240 190 210 /* UA,CG,C,U,A */+ 160 210 160 180 /* UA,CG,C,U,C */+ 190 240 190 210 /* UA,CG,C,U,G */+ 70 120 70 90 /* UA,CG,C,U,U */+ 90 200 40 200 /* UA,CG,G,A,A */+ 90 190 40 190 /* UA,CG,G,A,C */+ 0 100 80 100 /* UA,CG,G,A,G */+ 90 190 40 190 /* UA,CG,G,A,U */+ 130 240 80 240 /* UA,CG,G,C,A */+ 180 220 70 220 /* UA,CG,G,C,C */+ 130 240 80 240 /* UA,CG,G,C,G */+ 160 210 50 210 /* UA,CG,G,C,U */+ 0 100 80 100 /* UA,CG,G,G,A */+ 90 190 40 190 /* UA,CG,G,G,C */+ 70 50 150 50 /* UA,CG,G,G,G */+ 90 190 40 190 /* UA,CG,G,G,U */+ 130 240 80 240 /* UA,CG,G,U,A */+ 160 210 50 210 /* UA,CG,G,U,C */+ 130 240 80 240 /* UA,CG,G,U,G */+ 10 120 90 120 /* UA,CG,G,U,U */+ 150 200 150 170 /* UA,CG,U,A,A */+ 150 190 150 110 /* UA,CG,U,A,C */+ 60 160 60 20 /* UA,CG,U,A,G */+ 150 190 150 110 /* UA,CG,U,A,U */+ 190 240 190 150 /* UA,CG,U,C,A */+ 180 220 180 140 /* UA,CG,U,C,C */+ 190 240 190 150 /* UA,CG,U,C,G */+ 160 210 160 120 /* UA,CG,U,C,U */+ 60 160 60 20 /* UA,CG,U,G,A */+ 150 190 150 110 /* UA,CG,U,G,C */+ 0 50 0 90 /* UA,CG,U,G,G */+ 150 190 150 110 /* UA,CG,U,G,U */+ 190 240 190 150 /* UA,CG,U,U,A */+ 160 210 160 120 /* UA,CG,U,U,C */+ 190 240 190 150 /* UA,CG,U,U,G */+ 70 120 70 30 /* UA,CG,U,U,U */+ 210 210 120 210 /* UA,GC,A,A,A */+ 190 190 90 190 /* UA,GC,A,A,C */+ 10 10 -80 10 /* UA,GC,A,A,G */+ 190 190 90 190 /* UA,GC,A,A,U */+ 180 180 90 180 /* UA,GC,A,C,A */+ 190 190 150 190 /* UA,GC,A,C,C */+ 180 180 90 180 /* UA,GC,A,C,G */+ 190 190 150 190 /* UA,GC,A,C,U */+ 70 70 -20 70 /* UA,GC,A,G,A */+ 190 190 90 190 /* UA,GC,A,G,C */+ 50 50 80 50 /* UA,GC,A,G,G */+ 190 190 90 190 /* UA,GC,A,G,U */+ 180 180 90 180 /* UA,GC,A,U,A */+ 190 190 160 190 /* UA,GC,A,U,C */+ 180 180 90 180 /* UA,GC,A,U,G */+ 170 110 20 110 /* UA,GC,A,U,U */+ 170 210 170 180 /* UA,GC,C,A,A */+ 140 190 140 160 /* UA,GC,C,A,C */+ -30 70 -30 40 /* UA,GC,C,A,G */+ 140 190 140 160 /* UA,GC,C,A,U */+ 140 180 140 150 /* UA,GC,C,C,A */+ 140 190 140 160 /* UA,GC,C,C,C */+ 140 180 140 150 /* UA,GC,C,C,G */+ 140 190 140 160 /* UA,GC,C,C,U */+ 30 130 30 100 /* UA,GC,C,G,A */+ 140 190 140 160 /* UA,GC,C,G,C */+ 0 50 0 20 /* UA,GC,C,G,G */+ 140 190 140 160 /* UA,GC,C,G,U */+ 140 180 140 150 /* UA,GC,C,U,A */+ 150 190 150 160 /* UA,GC,C,U,C */+ 140 180 140 150 /* UA,GC,C,U,G */+ 70 110 70 80 /* UA,GC,C,U,U */+ 110 210 60 210 /* UA,GC,G,A,A */+ 80 190 30 190 /* UA,GC,G,A,C */+ -90 10 -10 10 /* UA,GC,G,A,G */+ 80 190 30 190 /* UA,GC,G,A,U */+ 80 180 30 180 /* UA,GC,G,C,A */+ 140 190 30 190 /* UA,GC,G,C,C */+ 80 180 30 180 /* UA,GC,G,C,G */+ 140 190 30 190 /* UA,GC,G,C,U */+ -30 70 50 70 /* UA,GC,G,G,A */+ 80 190 30 190 /* UA,GC,G,G,C */+ 70 50 150 50 /* UA,GC,G,G,G */+ 80 190 30 190 /* UA,GC,G,G,U */+ 80 180 30 180 /* UA,GC,G,U,A */+ 150 190 40 190 /* UA,GC,G,U,C */+ 80 180 30 180 /* UA,GC,G,U,G */+ 10 110 90 110 /* UA,GC,G,U,U */+ 170 210 170 190 /* UA,GC,U,A,A */+ 140 190 140 100 /* UA,GC,U,A,C */+ -30 70 -30 -70 /* UA,GC,U,A,G */+ 140 190 140 100 /* UA,GC,U,A,U */+ 140 180 140 100 /* UA,GC,U,C,A */+ 140 190 140 100 /* UA,GC,U,C,C */+ 140 180 140 100 /* UA,GC,U,C,G */+ 140 190 140 100 /* UA,GC,U,C,U */+ 30 130 30 -10 /* UA,GC,U,G,A */+ 140 190 140 100 /* UA,GC,U,G,C */+ 0 50 0 90 /* UA,GC,U,G,G */+ 140 190 140 100 /* UA,GC,U,G,U */+ 140 180 140 100 /* UA,GC,U,U,A */+ 150 190 150 110 /* UA,GC,U,U,C */+ 140 180 140 100 /* UA,GC,U,U,G */+ 70 110 70 30 /* UA,GC,U,U,U */+ 340 340 250 340 /* UA,GU,A,A,A */+ 310 310 210 310 /* UA,GU,A,A,C */+ 230 230 130 230 /* UA,GU,A,A,G */+ 310 310 210 310 /* UA,GU,A,A,U */+ 310 310 210 310 /* UA,GU,A,C,A */+ 310 310 270 310 /* UA,GU,A,C,C */+ 310 310 210 310 /* UA,GU,A,C,G */+ 310 310 270 310 /* UA,GU,A,C,U */+ 270 270 170 270 /* UA,GU,A,G,A */+ 310 310 210 310 /* UA,GU,A,G,C */+ 180 180 210 180 /* UA,GU,A,G,G */+ 310 310 210 310 /* UA,GU,A,G,U */+ 310 310 210 310 /* UA,GU,A,U,A */+ 310 310 270 310 /* UA,GU,A,U,C */+ 310 310 210 310 /* UA,GU,A,U,G */+ 370 310 210 310 /* UA,GU,A,U,U */+ 300 340 300 310 /* UA,GU,C,A,A */+ 260 310 260 280 /* UA,GU,C,A,C */+ 180 290 180 260 /* UA,GU,C,A,G */+ 260 310 260 280 /* UA,GU,C,A,U */+ 260 310 260 280 /* UA,GU,C,C,A */+ 260 310 260 280 /* UA,GU,C,C,C */+ 260 310 260 280 /* UA,GU,C,C,G */+ 260 310 260 280 /* UA,GU,C,C,U */+ 220 330 220 300 /* UA,GU,C,G,A */+ 260 310 260 280 /* UA,GU,C,G,C */+ 130 180 130 150 /* UA,GU,C,G,G */+ 260 310 260 280 /* UA,GU,C,G,U */+ 260 310 260 280 /* UA,GU,C,U,A */+ 260 310 260 280 /* UA,GU,C,U,C */+ 260 310 260 280 /* UA,GU,C,U,G */+ 260 310 260 280 /* UA,GU,C,U,U */+ 240 340 190 340 /* UA,GU,G,A,A */+ 200 310 150 310 /* UA,GU,G,A,C */+ 120 230 200 230 /* UA,GU,G,A,G */+ 200 310 150 310 /* UA,GU,G,A,U */+ 200 310 150 310 /* UA,GU,G,C,A */+ 260 310 150 310 /* UA,GU,G,C,C */+ 200 310 150 310 /* UA,GU,G,C,G */+ 260 310 150 310 /* UA,GU,G,C,U */+ 160 270 240 270 /* UA,GU,G,G,A */+ 200 310 150 310 /* UA,GU,G,G,C */+ 200 180 280 180 /* UA,GU,G,G,G */+ 200 310 150 310 /* UA,GU,G,G,U */+ 200 310 150 310 /* UA,GU,G,U,A */+ 260 310 150 310 /* UA,GU,G,U,C */+ 200 310 150 310 /* UA,GU,G,U,G */+ 200 310 280 310 /* UA,GU,G,U,U */+ 300 340 300 320 /* UA,GU,U,A,A */+ 260 310 260 220 /* UA,GU,U,A,C */+ 180 290 180 140 /* UA,GU,U,A,G */+ 260 310 260 220 /* UA,GU,U,A,U */+ 260 310 260 220 /* UA,GU,U,C,A */+ 260 310 260 220 /* UA,GU,U,C,C */+ 260 310 260 220 /* UA,GU,U,C,G */+ 260 310 260 220 /* UA,GU,U,C,U */+ 220 330 220 180 /* UA,GU,U,G,A */+ 260 310 260 220 /* UA,GU,U,G,C */+ 130 180 130 220 /* UA,GU,U,G,G */+ 260 310 260 220 /* UA,GU,U,G,U */+ 260 310 260 220 /* UA,GU,U,U,A */+ 260 310 260 220 /* UA,GU,U,U,C */+ 260 310 260 220 /* UA,GU,U,U,G */+ 260 310 260 220 /* UA,GU,U,U,U */+ 240 240 150 240 /* UA,UG,A,A,A */+ 280 280 180 280 /* UA,UG,A,A,C */+ 140 140 50 140 /* UA,UG,A,A,G */+ 280 280 180 280 /* UA,UG,A,A,U */+ 280 280 180 280 /* UA,UG,A,C,A */+ 280 280 240 280 /* UA,UG,A,C,C */+ 280 280 180 280 /* UA,UG,A,C,G */+ 280 280 240 280 /* UA,UG,A,C,U */+ 310 310 210 310 /* UA,UG,A,G,A */+ 280 280 180 280 /* UA,UG,A,G,C */+ 150 150 180 150 /* UA,UG,A,G,G */+ 280 280 180 280 /* UA,UG,A,G,U */+ 280 280 180 280 /* UA,UG,A,U,A */+ 280 280 240 280 /* UA,UG,A,U,C */+ 280 280 180 280 /* UA,UG,A,U,G */+ 340 280 180 280 /* UA,UG,A,U,U */+ 200 240 200 210 /* UA,UG,C,A,A */+ 230 280 230 250 /* UA,UG,C,A,C */+ 100 200 100 170 /* UA,UG,C,A,G */+ 230 280 230 250 /* UA,UG,C,A,U */+ 230 280 230 250 /* UA,UG,C,C,A */+ 230 280 230 250 /* UA,UG,C,C,C */+ 230 280 230 250 /* UA,UG,C,C,G */+ 230 280 230 250 /* UA,UG,C,C,U */+ 260 370 260 340 /* UA,UG,C,G,A */+ 230 280 230 250 /* UA,UG,C,G,C */+ 100 150 100 120 /* UA,UG,C,G,G */+ 230 280 230 250 /* UA,UG,C,G,U */+ 230 280 230 250 /* UA,UG,C,U,A */+ 230 280 230 250 /* UA,UG,C,U,C */+ 230 280 230 250 /* UA,UG,C,U,G */+ 230 280 230 250 /* UA,UG,C,U,U */+ 140 240 90 240 /* UA,UG,G,A,A */+ 170 280 120 280 /* UA,UG,G,A,C */+ 40 140 120 140 /* UA,UG,G,A,G */+ 170 280 120 280 /* UA,UG,G,A,U */+ 170 280 120 280 /* UA,UG,G,C,A */+ 230 280 120 280 /* UA,UG,G,C,C */+ 170 280 120 280 /* UA,UG,G,C,G */+ 230 280 120 280 /* UA,UG,G,C,U */+ 200 310 280 310 /* UA,UG,G,G,A */+ 170 280 120 280 /* UA,UG,G,G,C */+ 170 150 250 150 /* UA,UG,G,G,G */+ 170 280 120 280 /* UA,UG,G,G,U */+ 170 280 120 280 /* UA,UG,G,U,A */+ 230 280 120 280 /* UA,UG,G,U,C */+ 170 280 120 280 /* UA,UG,G,U,G */+ 170 280 250 280 /* UA,UG,G,U,U */+ 200 240 200 220 /* UA,UG,U,A,A */+ 230 280 230 190 /* UA,UG,U,A,C */+ 100 200 100 60 /* UA,UG,U,A,G */+ 230 280 230 190 /* UA,UG,U,A,U */+ 230 280 230 190 /* UA,UG,U,C,A */+ 230 280 230 190 /* UA,UG,U,C,C */+ 230 280 230 190 /* UA,UG,U,C,G */+ 230 280 230 190 /* UA,UG,U,C,U */+ 260 370 260 220 /* UA,UG,U,G,A */+ 230 280 230 190 /* UA,UG,U,G,C */+ 100 150 100 190 /* UA,UG,U,G,G */+ 230 280 230 190 /* UA,UG,U,G,U */+ 230 280 230 190 /* UA,UG,U,U,A */+ 230 280 230 190 /* UA,UG,U,U,C */+ 230 280 230 190 /* UA,UG,U,U,G */+ 230 280 230 190 /* UA,UG,U,U,U */+ 280 280 180 280 /* UA,AU,A,A,A */+ 250 250 160 250 /* UA,AU,A,A,C */+ 150 150 60 150 /* UA,AU,A,A,G */+ 250 250 160 250 /* UA,AU,A,A,U */+ 260 260 170 260 /* UA,AU,A,C,A */+ 260 260 220 260 /* UA,AU,A,C,C */+ 260 260 170 260 /* UA,AU,A,C,G */+ 260 260 220 260 /* UA,AU,A,C,U */+ 220 220 130 220 /* UA,AU,A,G,A */+ 250 250 160 250 /* UA,AU,A,G,C */+ 100 100 140 100 /* UA,AU,A,G,G */+ 250 250 160 250 /* UA,AU,A,G,U */+ 260 260 170 260 /* UA,AU,A,U,A */+ 260 260 220 260 /* UA,AU,A,U,C */+ 260 260 170 260 /* UA,AU,A,U,G */+ 230 170 70 170 /* UA,AU,A,U,U */+ 230 280 230 250 /* UA,AU,C,A,A */+ 210 250 210 220 /* UA,AU,C,A,C */+ 110 210 110 180 /* UA,AU,C,A,G */+ 210 250 210 220 /* UA,AU,C,A,U */+ 220 260 220 230 /* UA,AU,C,C,A */+ 210 260 210 230 /* UA,AU,C,C,C */+ 220 260 220 230 /* UA,AU,C,C,G */+ 210 260 210 230 /* UA,AU,C,C,U */+ 180 280 180 250 /* UA,AU,C,G,A */+ 210 250 210 220 /* UA,AU,C,G,C */+ 60 100 60 70 /* UA,AU,C,G,G */+ 210 250 210 220 /* UA,AU,C,G,U */+ 220 260 220 230 /* UA,AU,C,U,A */+ 210 260 210 230 /* UA,AU,C,U,C */+ 220 260 220 230 /* UA,AU,C,U,G */+ 120 170 120 140 /* UA,AU,C,U,U */+ 170 280 120 280 /* UA,AU,G,A,A */+ 150 250 100 250 /* UA,AU,G,A,C */+ 50 150 130 150 /* UA,AU,G,A,G */+ 150 250 100 250 /* UA,AU,G,A,U */+ 160 260 110 260 /* UA,AU,G,C,A */+ 210 260 100 260 /* UA,AU,G,C,C */+ 160 260 110 260 /* UA,AU,G,C,G */+ 210 260 100 260 /* UA,AU,G,C,U */+ 120 220 200 220 /* UA,AU,G,G,A */+ 150 250 100 250 /* UA,AU,G,G,C */+ 130 100 210 100 /* UA,AU,G,G,G */+ 150 250 100 250 /* UA,AU,G,G,U */+ 160 260 110 260 /* UA,AU,G,U,A */+ 210 260 100 260 /* UA,AU,G,U,C */+ 160 260 110 260 /* UA,AU,G,U,G */+ 60 170 140 170 /* UA,AU,G,U,U */+ 230 280 230 250 /* UA,AU,U,A,A */+ 210 250 210 170 /* UA,AU,U,A,C */+ 110 210 110 70 /* UA,AU,U,A,G */+ 210 250 210 170 /* UA,AU,U,A,U */+ 220 260 220 180 /* UA,AU,U,C,A */+ 210 260 210 170 /* UA,AU,U,C,C */+ 220 260 220 180 /* UA,AU,U,C,G */+ 210 260 210 170 /* UA,AU,U,C,U */+ 180 280 180 140 /* UA,AU,U,G,A */+ 210 250 210 170 /* UA,AU,U,G,C */+ 60 100 60 150 /* UA,AU,U,G,G */+ 210 250 210 170 /* UA,AU,U,G,U */+ 220 260 220 180 /* UA,AU,U,U,A */+ 210 260 210 170 /* UA,AU,U,U,C */+ 220 260 220 180 /* UA,AU,U,U,G */+ 120 170 120 80 /* UA,AU,U,U,U */+ 280 280 180 280 /* UA,UA,A,A,A */+ 230 230 140 230 /* UA,UA,A,A,C */+ 170 170 80 170 /* UA,UA,A,A,G */+ 230 230 140 230 /* UA,UA,A,A,U */+ 280 280 180 280 /* UA,UA,A,C,A */+ 280 280 240 280 /* UA,UA,A,C,C */+ 280 280 180 280 /* UA,UA,A,C,G */+ 280 280 240 280 /* UA,UA,A,C,U */+ 180 180 90 180 /* UA,UA,A,G,A */+ 230 230 140 230 /* UA,UA,A,G,C */+ 120 120 160 120 /* UA,UA,A,G,G */+ 230 230 140 230 /* UA,UA,A,G,U */+ 280 280 180 280 /* UA,UA,A,U,A */+ 250 250 210 250 /* UA,UA,A,U,C */+ 280 280 180 280 /* UA,UA,A,U,G */+ 250 190 100 190 /* UA,UA,A,U,U */+ 230 280 230 250 /* UA,UA,C,A,A */+ 190 230 190 200 /* UA,UA,C,A,C */+ 130 230 130 200 /* UA,UA,C,A,G */+ 190 230 190 200 /* UA,UA,C,A,U */+ 230 280 230 250 /* UA,UA,C,C,A */+ 230 280 230 250 /* UA,UA,C,C,C */+ 230 280 230 250 /* UA,UA,C,C,G */+ 230 280 230 250 /* UA,UA,C,C,U */+ 140 240 140 210 /* UA,UA,C,G,A */+ 190 230 190 200 /* UA,UA,C,G,C */+ 80 120 80 90 /* UA,UA,C,G,G */+ 190 230 190 200 /* UA,UA,C,G,U */+ 230 280 230 250 /* UA,UA,C,U,A */+ 200 250 200 220 /* UA,UA,C,U,C */+ 230 280 230 250 /* UA,UA,C,U,G */+ 150 190 150 160 /* UA,UA,C,U,U */+ 170 280 120 280 /* UA,UA,G,A,A */+ 130 230 80 230 /* UA,UA,G,A,C */+ 70 170 150 170 /* UA,UA,G,A,G */+ 130 230 80 230 /* UA,UA,G,A,U */+ 170 280 120 280 /* UA,UA,G,C,A */+ 230 280 120 280 /* UA,UA,G,C,C */+ 170 280 120 280 /* UA,UA,G,C,G */+ 230 280 120 280 /* UA,UA,G,C,U */+ 80 180 160 180 /* UA,UA,G,G,A */+ 130 230 80 230 /* UA,UA,G,G,C */+ 150 120 230 120 /* UA,UA,G,G,G */+ 130 230 80 230 /* UA,UA,G,G,U */+ 170 280 120 280 /* UA,UA,G,U,A */+ 200 250 90 250 /* UA,UA,G,U,C */+ 170 280 120 280 /* UA,UA,G,U,G */+ 90 190 170 190 /* UA,UA,G,U,U */+ 230 280 230 250 /* UA,UA,U,A,A */+ 190 230 190 150 /* UA,UA,U,A,C */+ 130 230 130 90 /* UA,UA,U,A,G */+ 190 230 190 150 /* UA,UA,U,A,U */+ 230 280 230 190 /* UA,UA,U,C,A */+ 230 280 230 190 /* UA,UA,U,C,C */+ 230 280 230 190 /* UA,UA,U,C,G */+ 230 280 230 190 /* UA,UA,U,C,U */+ 140 240 140 100 /* UA,UA,U,G,A */+ 190 230 190 150 /* UA,UA,U,G,C */+ 80 120 80 170 /* UA,UA,U,G,G */+ 190 230 190 150 /* UA,UA,U,G,U */+ 230 280 230 190 /* UA,UA,U,U,A */+ 200 250 200 160 /* UA,UA,U,U,C */+ 230 280 230 190 /* UA,UA,U,U,G */+ 150 190 150 110 /* UA,UA,U,U,U */++# int22_enthalpies+ -460 -310 -960 -310 /* CG,CG,A,A,A */+ -770 -620 -1270 -620 /* CG,CG,A,A,C */+ -670 -530 -1170 -530 /* CG,CG,A,A,G */+ -770 -620 -1270 -620 /* CG,CG,A,A,U */+ -310 -170 -810 -170 /* CG,CG,A,C,A */+ -320 -170 -580 -170 /* CG,CG,A,C,C */+ -310 -170 -810 -170 /* CG,CG,A,C,G */+ -370 -220 -630 -220 /* CG,CG,A,C,U */+ -960 -810 -1460 -810 /* CG,CG,A,G,A */+ -770 -620 -1270 -620 /* CG,CG,A,G,C */+ -120 30 -1870 30 /* CG,CG,A,G,G */+ -770 -620 -1270 -620 /* CG,CG,A,G,U */+ -310 -170 -810 -170 /* CG,CG,A,U,A */+ -260 -110 -520 -110 /* CG,CG,A,U,C */+ -310 -170 -810 -170 /* CG,CG,A,U,G */+ -860 -960 -1600 -960 /* CG,CG,A,U,U */+ -770 -320 -770 -260 /* CG,CG,C,A,A */+ -1080 -630 -1080 -570 /* CG,CG,C,A,C */+ -980 -290 -980 -230 /* CG,CG,C,A,G */+ -1080 -630 -1080 -570 /* CG,CG,C,A,U */+ -620 -170 -620 -110 /* CG,CG,C,C,A */+ -630 -180 -630 -120 /* CG,CG,C,C,C */+ -620 -170 -620 -110 /* CG,CG,C,C,G */+ -680 -230 -680 -170 /* CG,CG,C,C,U */+ -1270 -580 -1270 -520 /* CG,CG,C,G,A */+ -1080 -630 -1080 -570 /* CG,CG,C,G,C */+ -430 20 -430 80 /* CG,CG,C,G,G */+ -1080 -630 -1080 -570 /* CG,CG,C,G,U */+ -620 -170 -620 -110 /* CG,CG,C,U,A */+ -570 -120 -570 -60 /* CG,CG,C,U,C */+ -620 -170 -620 -110 /* CG,CG,C,U,G */+ -1410 -960 -1410 -900 /* CG,CG,C,U,U */+ -670 -310 -120 -310 /* CG,CG,G,A,A */+ -980 -620 -430 -620 /* CG,CG,G,A,C */+ -890 -530 -1580 -530 /* CG,CG,G,A,G */+ -980 -620 -430 -620 /* CG,CG,G,A,U */+ -530 -170 30 -170 /* CG,CG,G,C,A */+ -290 -170 20 -170 /* CG,CG,G,C,C */+ -530 -170 30 -170 /* CG,CG,G,C,G */+ -340 -220 -30 -220 /* CG,CG,G,C,U */+ -1170 -810 -1870 -810 /* CG,CG,G,G,A */+ -980 -620 -430 -620 /* CG,CG,G,G,C */+ -1580 30 -2280 30 /* CG,CG,G,G,G */+ -980 -620 -430 -620 /* CG,CG,G,G,U */+ -530 -170 30 -170 /* CG,CG,G,U,A */+ -230 -110 80 -110 /* CG,CG,G,U,C */+ -530 -170 30 -170 /* CG,CG,G,U,G */+ -1320 -960 -2010 -960 /* CG,CG,G,U,U */+ -770 -370 -770 -860 /* CG,CG,U,A,A */+ -1080 -680 -1080 -1410 /* CG,CG,U,A,C */+ -980 -340 -980 -1320 /* CG,CG,U,A,G */+ -1080 -680 -1080 -1410 /* CG,CG,U,A,U */+ -620 -220 -620 -960 /* CG,CG,U,C,A */+ -630 -230 -630 -960 /* CG,CG,U,C,C */+ -620 -220 -620 -960 /* CG,CG,U,C,G */+ -680 -280 -680 -1010 /* CG,CG,U,C,U */+ -1270 -630 -1270 -1600 /* CG,CG,U,G,A */+ -1080 -680 -1080 -1410 /* CG,CG,U,G,C */+ -430 -30 -430 -2010 /* CG,CG,U,G,G */+ -1080 -680 -1080 -1410 /* CG,CG,U,G,U */+ -620 -220 -620 -960 /* CG,CG,U,U,A */+ -570 -170 -570 -900 /* CG,CG,U,U,C */+ -620 -220 -620 -960 /* CG,CG,U,U,G */+ -1410 -1010 -1410 -1750 /* CG,CG,U,U,U */+ -580 -220 -970 -150 /* CG,GC,A,A,A */+ -740 -600 -100 -600 /* CG,GC,A,A,C */+ -2010 -1650 -1980 -1340 /* CG,GC,A,A,G */+ -740 -600 -1240 -600 /* CG,GC,A,A,U */+ -660 -1150 10 -510 /* CG,GC,A,C,A */+ -960 -820 540 -820 /* CG,GC,A,C,C */+ -660 -510 -1160 -510 /* CG,GC,A,C,G */+ -960 -820 -1220 -820 /* CG,GC,A,C,U */+ -1340 -860 -2450 -860 /* CG,GC,A,G,A */+ -740 -600 -1240 -600 /* CG,GC,A,G,C */+ 180 -390 -1870 30 /* CG,GC,A,G,G */+ -740 -600 -1240 -600 /* CG,GC,A,G,U */+ -660 -510 -1160 -510 /* CG,GC,A,U,A */+ -1270 -1130 -1530 -1130 /* CG,GC,A,U,C */+ -660 -510 -1160 -510 /* CG,GC,A,U,G */+ -1240 -90 -810 -800 /* CG,GC,A,U,U */+ -600 -1070 -600 -90 /* CG,GC,C,A,A */+ -1050 -600 -1050 -540 /* CG,GC,C,A,C */+ -1790 -630 -1790 -1040 /* CG,GC,C,A,G */+ -1050 -600 -1050 -540 /* CG,GC,C,A,U */+ -970 -750 -970 -460 /* CG,GC,C,C,A */+ -1270 -820 -1270 -760 /* CG,GC,C,C,C */+ -970 -520 -970 -460 /* CG,GC,C,C,G */+ -1270 -820 -1270 -550 /* CG,GC,C,C,U */+ -1070 -500 -1320 -570 /* CG,GC,C,G,A */+ -1050 -600 -1050 -540 /* CG,GC,C,G,C */+ -430 20 -430 180 /* CG,GC,C,G,G */+ -1050 -600 -1050 -540 /* CG,GC,C,G,U */+ -970 -520 -970 -460 /* CG,GC,C,U,A */+ -1580 -1130 -1580 -1070 /* CG,GC,C,U,C */+ -970 -520 -970 -460 /* CG,GC,C,U,G */+ -830 -1710 -1260 -1460 /* CG,GC,C,U,U */+ -1600 -150 -200 -150 /* CG,GC,G,A,A */+ -350 -600 -440 -600 /* CG,GC,G,A,C */+ -3070 -1340 -2390 -1340 /* CG,GC,G,A,G */+ -960 -600 -400 -600 /* CG,GC,G,A,U */+ -1110 -510 -320 -510 /* CG,GC,G,C,A */+ -940 -820 -620 -820 /* CG,GC,G,C,C */+ -870 -510 -320 -510 /* CG,GC,G,C,G */+ -940 -820 -260 -820 /* CG,GC,G,C,U */+ -1880 -860 -1080 -860 /* CG,GC,G,G,A */+ -960 -600 -400 -600 /* CG,GC,G,G,C */+ -1370 30 -2280 30 /* CG,GC,G,G,G */+ -960 -600 -400 -600 /* CG,GC,G,G,U */+ -870 -510 -320 -510 /* CG,GC,G,U,A */+ -1250 -1130 -210 -1130 /* CG,GC,G,U,C */+ -870 -510 -320 -510 /* CG,GC,G,U,G */+ -1360 -800 -1550 -800 /* CG,GC,G,U,U */+ -600 -200 -600 -1490 /* CG,GC,U,A,A */+ -1050 -650 -1050 -1390 /* CG,GC,U,A,C */+ -1790 -1150 -1790 -1520 /* CG,GC,U,A,G */+ -1050 -650 -1050 -1390 /* CG,GC,U,A,U */+ -970 -570 -970 -400 /* CG,GC,U,C,A */+ -1270 -870 -1270 -1610 /* CG,GC,U,C,C */+ -970 -570 -970 -1300 /* CG,GC,U,C,G */+ -1270 -870 -1270 -1610 /* CG,GC,U,C,U */+ -1320 -1750 -1320 -1300 /* CG,GC,U,G,A */+ -1050 -650 -1050 -1390 /* CG,GC,U,G,C */+ -430 -880 -430 -230 /* CG,GC,U,G,G */+ -1050 -650 -1050 -1390 /* CG,GC,U,G,U */+ -970 -570 -970 -1300 /* CG,GC,U,U,A */+ -1580 -1180 -1580 -1920 /* CG,GC,U,U,C */+ -970 -570 -970 -1300 /* CG,GC,U,U,G */+ -1260 -860 -1260 -2350 /* CG,GC,U,U,U */+ -1370 -1240 -1890 -1240 /* CG,GU,A,A,A */+ -1210 -1060 -1710 -1060 /* CG,GU,A,A,C */+ -1220 -1080 -1720 -1080 /* CG,GU,A,A,G */+ -1210 -1060 -1710 -1060 /* CG,GU,A,A,U */+ -1210 -1060 -1710 -1060 /* CG,GU,A,C,A */+ -1210 -1060 -1470 -1060 /* CG,GU,A,C,C */+ -1210 -1060 -1710 -1060 /* CG,GU,A,C,G */+ -1210 -1060 -1470 -1060 /* CG,GU,A,C,U */+ -1030 -890 -1530 -890 /* CG,GU,A,G,A */+ -1210 -1060 -1710 -1060 /* CG,GU,A,G,C */+ 40 190 -1710 190 /* CG,GU,A,G,G */+ -1210 -1060 -1710 -1060 /* CG,GU,A,G,U */+ -1210 -1060 -1710 -1060 /* CG,GU,A,U,A */+ -1210 -1060 -1470 -1060 /* CG,GU,A,U,C */+ -1210 -1060 -1710 -1060 /* CG,GU,A,U,G */+ -970 -1060 -1710 -1060 /* CG,GU,A,U,U */+ -1700 -1250 -1700 -1190 /* CG,GU,C,A,A */+ -1520 -1070 -1520 -1010 /* CG,GU,C,A,C */+ -1530 -840 -1530 -780 /* CG,GU,C,A,G */+ -1520 -1070 -1520 -1010 /* CG,GU,C,A,U */+ -1520 -1070 -1520 -1010 /* CG,GU,C,C,A */+ -1520 -1070 -1520 -1010 /* CG,GU,C,C,C */+ -1520 -1070 -1520 -1010 /* CG,GU,C,C,G */+ -1520 -1070 -1520 -1010 /* CG,GU,C,C,U */+ -1340 -650 -1340 -590 /* CG,GU,C,G,A */+ -1520 -1070 -1520 -1010 /* CG,GU,C,G,C */+ -270 180 -270 240 /* CG,GU,C,G,G */+ -1520 -1070 -1520 -1010 /* CG,GU,C,G,U */+ -1520 -1070 -1520 -1010 /* CG,GU,C,U,A */+ -1520 -1070 -1520 -1010 /* CG,GU,C,U,C */+ -1520 -1070 -1520 -1010 /* CG,GU,C,U,G */+ -1520 -1070 -1520 -1010 /* CG,GU,C,U,U */+ -1600 -1240 -1050 -1240 /* CG,GU,G,A,A */+ -1420 -1060 -870 -1060 /* CG,GU,G,A,C */+ -1440 -1080 -2130 -1080 /* CG,GU,G,A,G */+ -1420 -1060 -870 -1060 /* CG,GU,G,A,U */+ -1420 -1060 -870 -1060 /* CG,GU,G,C,A */+ -1180 -1060 -870 -1060 /* CG,GU,G,C,C */+ -1420 -1060 -870 -1060 /* CG,GU,G,C,G */+ -1180 -1060 -870 -1060 /* CG,GU,G,C,U */+ -1250 -890 -1940 -890 /* CG,GU,G,G,A */+ -1420 -1060 -870 -1060 /* CG,GU,G,G,C */+ -1420 190 -2120 190 /* CG,GU,G,G,G */+ -1420 -1060 -870 -1060 /* CG,GU,G,G,U */+ -1420 -1060 -870 -1060 /* CG,GU,G,U,A */+ -1180 -1060 -870 -1060 /* CG,GU,G,U,C */+ -1420 -1060 -870 -1060 /* CG,GU,G,U,G */+ -1420 -1060 -2120 -1060 /* CG,GU,G,U,U */+ -1700 -1300 -1700 -1790 /* CG,GU,U,A,A */+ -1520 -1120 -1520 -1850 /* CG,GU,U,A,C */+ -1530 -890 -1530 -1870 /* CG,GU,U,A,G */+ -1520 -1120 -1520 -1850 /* CG,GU,U,A,U */+ -1520 -1120 -1520 -1850 /* CG,GU,U,C,A */+ -1520 -1120 -1520 -1850 /* CG,GU,U,C,C */+ -1520 -1120 -1520 -1850 /* CG,GU,U,C,G */+ -1520 -1120 -1520 -1850 /* CG,GU,U,C,U */+ -1340 -700 -1340 -1680 /* CG,GU,U,G,A */+ -1520 -1120 -1520 -1850 /* CG,GU,U,G,C */+ -270 130 -270 -1850 /* CG,GU,U,G,G */+ -1520 -1120 -1520 -1850 /* CG,GU,U,G,U */+ -1520 -1120 -1520 -1850 /* CG,GU,U,U,A */+ -1520 -1120 -1520 -1850 /* CG,GU,U,U,C */+ -1520 -1120 -1520 -1850 /* CG,GU,U,U,G */+ -1520 -1120 -1520 -1850 /* CG,GU,U,U,U */+ -140 0 -640 0 /* CG,UG,A,A,A */+ -650 -510 -1150 -510 /* CG,UG,A,A,C */+ -990 -850 -1490 -850 /* CG,UG,A,A,G */+ -650 -510 -1150 -510 /* CG,UG,A,A,U */+ -650 -510 -1150 -510 /* CG,UG,A,C,A */+ -650 -510 -910 -510 /* CG,UG,A,C,C */+ -650 -510 -1150 -510 /* CG,UG,A,C,G */+ -650 -510 -910 -510 /* CG,UG,A,C,U */+ -1160 -1020 -1660 -1020 /* CG,UG,A,G,A */+ -650 -510 -1150 -510 /* CG,UG,A,G,C */+ 600 740 -1150 740 /* CG,UG,A,G,G */+ -650 -510 -1150 -510 /* CG,UG,A,G,U */+ -650 -510 -1150 -510 /* CG,UG,A,U,A */+ -650 -510 -910 -510 /* CG,UG,A,U,C */+ -650 -510 -1150 -510 /* CG,UG,A,U,G */+ -410 -510 -1150 -510 /* CG,UG,A,U,U */+ -450 0 -450 50 /* CG,UG,C,A,A */+ -960 -510 -960 -450 /* CG,UG,C,A,C */+ -1300 -610 -1300 -550 /* CG,UG,C,A,G */+ -960 -510 -960 -450 /* CG,UG,C,A,U */+ -960 -510 -960 -450 /* CG,UG,C,C,A */+ -960 -510 -960 -450 /* CG,UG,C,C,C */+ -960 -510 -960 -450 /* CG,UG,C,C,G */+ -960 -510 -960 -450 /* CG,UG,C,C,U */+ -1470 -780 -1470 -720 /* CG,UG,C,G,A */+ -960 -510 -960 -450 /* CG,UG,C,G,C */+ 290 740 290 800 /* CG,UG,C,G,G */+ -960 -510 -960 -450 /* CG,UG,C,G,U */+ -960 -510 -960 -450 /* CG,UG,C,U,A */+ -960 -510 -960 -450 /* CG,UG,C,U,C */+ -960 -510 -960 -450 /* CG,UG,C,U,G */+ -960 -510 -960 -450 /* CG,UG,C,U,U */+ -360 0 200 0 /* CG,UG,G,A,A */+ -870 -510 -310 -510 /* CG,UG,G,A,C */+ -1210 -850 -1900 -850 /* CG,UG,G,A,G */+ -870 -510 -310 -510 /* CG,UG,G,A,U */+ -870 -510 -310 -510 /* CG,UG,G,C,A */+ -630 -510 -310 -510 /* CG,UG,G,C,C */+ -870 -510 -310 -510 /* CG,UG,G,C,G */+ -630 -510 -310 -510 /* CG,UG,G,C,U */+ -1380 -1020 -2070 -1020 /* CG,UG,G,G,A */+ -870 -510 -310 -510 /* CG,UG,G,G,C */+ -870 740 -1560 740 /* CG,UG,G,G,G */+ -870 -510 -310 -510 /* CG,UG,G,G,U */+ -870 -510 -310 -510 /* CG,UG,G,U,A */+ -630 -510 -310 -510 /* CG,UG,G,U,C */+ -870 -510 -310 -510 /* CG,UG,G,U,G */+ -870 -510 -1560 -510 /* CG,UG,G,U,U */+ -450 -50 -450 -550 /* CG,UG,U,A,A */+ -960 -560 -960 -1300 /* CG,UG,U,A,C */+ -1300 -660 -1300 -1640 /* CG,UG,U,A,G */+ -960 -560 -960 -1300 /* CG,UG,U,A,U */+ -960 -560 -960 -1300 /* CG,UG,U,C,A */+ -960 -560 -960 -1300 /* CG,UG,U,C,C */+ -960 -560 -960 -1300 /* CG,UG,U,C,G */+ -960 -560 -960 -1300 /* CG,UG,U,C,U */+ -1470 -830 -1470 -1810 /* CG,UG,U,G,A */+ -960 -560 -960 -1300 /* CG,UG,U,G,C */+ 290 690 290 -1300 /* CG,UG,U,G,G */+ -960 -560 -960 -1300 /* CG,UG,U,G,U */+ -960 -560 -960 -1300 /* CG,UG,U,U,A */+ -960 -560 -960 -1300 /* CG,UG,U,U,C */+ -960 -560 -960 -1300 /* CG,UG,U,U,G */+ -960 -560 -960 -1300 /* CG,UG,U,U,U */+ 440 580 -60 580 /* CG,AU,A,A,A */+ 130 270 -370 270 /* CG,AU,A,A,C */+ -950 -800 -1450 -800 /* CG,AU,A,A,G */+ 130 270 -370 270 /* CG,AU,A,A,U */+ 140 290 -350 290 /* CG,AU,A,C,A */+ 140 280 -120 280 /* CG,AU,A,C,C */+ 140 290 -350 290 /* CG,AU,A,C,G */+ 140 280 -120 280 /* CG,AU,A,C,U */+ -770 -620 -1270 -620 /* CG,AU,A,G,A */+ 130 270 -370 270 /* CG,AU,A,G,C */+ 970 1120 -780 1120 /* CG,AU,A,G,G */+ 130 270 -370 270 /* CG,AU,A,G,U */+ 140 290 -350 290 /* CG,AU,A,U,A */+ 140 280 -120 280 /* CG,AU,A,U,C */+ 140 290 -350 290 /* CG,AU,A,U,G */+ -600 -690 -1340 -690 /* CG,AU,A,U,U */+ 130 580 130 640 /* CG,AU,C,A,A */+ -180 270 -180 330 /* CG,AU,C,A,C */+ -1260 -570 -1260 -510 /* CG,AU,C,A,G */+ -180 270 -180 330 /* CG,AU,C,A,U */+ -160 280 -160 340 /* CG,AU,C,C,A */+ -170 280 -170 340 /* CG,AU,C,C,C */+ -160 280 -160 340 /* CG,AU,C,C,G */+ -170 280 -170 340 /* CG,AU,C,C,U */+ -1080 -390 -1080 -330 /* CG,AU,C,G,A */+ -180 270 -180 330 /* CG,AU,C,G,C */+ 660 1110 660 1170 /* CG,AU,C,G,G */+ -180 270 -180 330 /* CG,AU,C,G,U */+ -160 280 -160 340 /* CG,AU,C,U,A */+ -170 280 -170 340 /* CG,AU,C,U,C */+ -160 280 -160 340 /* CG,AU,C,U,G */+ -1150 -700 -1150 -640 /* CG,AU,C,U,U */+ 220 580 780 580 /* CG,AU,G,A,A */+ -80 270 470 270 /* CG,AU,G,A,C */+ -1160 -800 -1860 -800 /* CG,AU,G,A,G */+ -80 270 470 270 /* CG,AU,G,A,U */+ -70 290 490 290 /* CG,AU,G,C,A */+ 170 280 480 280 /* CG,AU,G,C,C */+ -70 290 490 290 /* CG,AU,G,C,G */+ 170 280 480 280 /* CG,AU,G,C,U */+ -980 -620 -1680 -620 /* CG,AU,G,G,A */+ -80 270 470 270 /* CG,AU,G,G,C */+ -490 1120 -1190 1120 /* CG,AU,G,G,G */+ -80 270 470 270 /* CG,AU,G,G,U */+ -70 290 490 290 /* CG,AU,G,U,A */+ 170 280 480 280 /* CG,AU,G,U,C */+ -70 290 490 290 /* CG,AU,G,U,G */+ -1050 -690 -1750 -690 /* CG,AU,G,U,U */+ 130 530 130 40 /* CG,AU,U,A,A */+ -180 220 -180 -510 /* CG,AU,U,A,C */+ -1260 -620 -1260 -1590 /* CG,AU,U,A,G */+ -180 220 -180 -510 /* CG,AU,U,A,U */+ -160 230 -160 -500 /* CG,AU,U,C,A */+ -170 230 -170 -500 /* CG,AU,U,C,C */+ -160 230 -160 -500 /* CG,AU,U,C,G */+ -170 230 -170 -500 /* CG,AU,U,C,U */+ -1080 -440 -1080 -1410 /* CG,AU,U,G,A */+ -180 220 -180 -510 /* CG,AU,U,G,C */+ 660 1060 660 -920 /* CG,AU,U,G,G */+ -180 220 -180 -510 /* CG,AU,U,G,U */+ -160 230 -160 -500 /* CG,AU,U,U,A */+ -170 230 -170 -500 /* CG,AU,U,U,C */+ -160 230 -160 -500 /* CG,AU,U,U,G */+ -1150 -750 -1150 -1480 /* CG,AU,U,U,U */+ 500 650 0 650 /* CG,UA,A,A,A */+ 220 370 -270 370 /* CG,UA,A,A,C */+ -900 -750 -1400 -750 /* CG,UA,A,A,G */+ 220 370 -270 370 /* CG,UA,A,A,U */+ 370 520 -120 520 /* CG,UA,A,C,A */+ 370 520 120 520 /* CG,UA,A,C,C */+ 370 520 -120 520 /* CG,UA,A,C,G */+ 240 390 -10 390 /* CG,UA,A,C,U */+ -1200 -1050 -1700 -1050 /* CG,UA,A,G,A */+ 220 370 -270 370 /* CG,UA,A,G,C */+ 1160 1300 -590 1300 /* CG,UA,A,G,G */+ 220 370 -270 370 /* CG,UA,A,G,U */+ 370 520 -120 520 /* CG,UA,A,U,A */+ -60 80 -320 80 /* CG,UA,A,U,C */+ 370 520 -120 520 /* CG,UA,A,U,G */+ -320 -420 -1060 -420 /* CG,UA,A,U,U */+ 190 640 190 700 /* CG,UA,C,A,A */+ -80 360 -80 420 /* CG,UA,C,A,C */+ -1210 -520 -1210 -460 /* CG,UA,C,A,G */+ -80 360 -80 420 /* CG,UA,C,A,U */+ 60 510 60 570 /* CG,UA,C,C,A */+ 60 510 60 570 /* CG,UA,C,C,C */+ 60 510 60 570 /* CG,UA,C,C,G */+ -60 380 -60 440 /* CG,UA,C,C,U */+ -1510 -820 -1510 -760 /* CG,UA,C,G,A */+ -80 360 -80 420 /* CG,UA,C,G,C */+ 850 1290 850 1350 /* CG,UA,C,G,G */+ -80 360 -80 420 /* CG,UA,C,G,U */+ 60 510 60 570 /* CG,UA,C,U,A */+ -370 70 -370 130 /* CG,UA,C,U,C */+ 60 510 60 570 /* CG,UA,C,U,G */+ -870 -420 -870 -360 /* CG,UA,C,U,U */+ 290 650 850 650 /* CG,UA,G,A,A */+ 10 370 570 370 /* CG,UA,G,A,C */+ -1110 -750 -1810 -750 /* CG,UA,G,A,G */+ 10 370 570 370 /* CG,UA,G,A,U */+ 160 520 720 520 /* CG,UA,G,C,A */+ 400 520 720 520 /* CG,UA,G,C,C */+ 160 520 720 520 /* CG,UA,G,C,G */+ 270 390 590 390 /* CG,UA,G,C,U */+ -1410 -1050 -2110 -1050 /* CG,UA,G,G,A */+ 10 370 570 370 /* CG,UA,G,G,C */+ -310 1300 -1000 1300 /* CG,UA,G,G,G */+ 10 370 570 370 /* CG,UA,G,G,U */+ 160 520 720 520 /* CG,UA,G,U,A */+ -40 80 280 80 /* CG,UA,G,U,C */+ 160 520 720 520 /* CG,UA,G,U,G */+ -780 -420 -1470 -420 /* CG,UA,G,U,U */+ 190 590 190 100 /* CG,UA,U,A,A */+ -80 310 -80 -420 /* CG,UA,U,A,C */+ -1210 -570 -1210 -1540 /* CG,UA,U,A,G */+ -80 310 -80 -420 /* CG,UA,U,A,U */+ 60 460 60 -270 /* CG,UA,U,C,A */+ 60 460 60 -270 /* CG,UA,U,C,C */+ 60 460 60 -270 /* CG,UA,U,C,G */+ -60 330 -60 -400 /* CG,UA,U,C,U */+ -1510 -870 -1510 -1840 /* CG,UA,U,G,A */+ -80 310 -80 -420 /* CG,UA,U,G,C */+ 850 1250 850 -740 /* CG,UA,U,G,G */+ -80 310 -80 -420 /* CG,UA,U,G,U */+ 60 460 60 -270 /* CG,UA,U,U,A */+ -370 20 -370 -710 /* CG,UA,U,U,C */+ 60 460 60 -270 /* CG,UA,U,U,G */+ -870 -470 -870 -1210 /* CG,UA,U,U,U */+ -580 -660 -1340 -660 /* GC,CG,A,A,A */+ -600 -970 -1070 -970 /* GC,CG,A,A,C */+ -1600 -1110 -1880 -870 /* GC,CG,A,A,G */+ -600 -970 -1320 -970 /* GC,CG,A,A,U */+ -220 -1150 -860 -510 /* GC,CG,A,C,A */+ -1070 -750 -500 -520 /* GC,CG,A,C,C */+ -150 -510 -860 -510 /* GC,CG,A,C,G */+ -200 -570 -1750 -570 /* GC,CG,A,C,U */+ -970 10 -2450 -1160 /* GC,CG,A,G,A */+ -600 -970 -1320 -970 /* GC,CG,A,G,C */+ -200 -320 -1080 -320 /* GC,CG,A,G,G */+ -600 -970 -1320 -970 /* GC,CG,A,G,U */+ -150 -510 -860 -510 /* GC,CG,A,U,A */+ -90 -460 -570 -460 /* GC,CG,A,U,C */+ -150 -510 -860 -510 /* GC,CG,A,U,G */+ -1490 -400 -1300 -1300 /* GC,CG,A,U,U */+ -740 -960 -740 -1270 /* GC,CG,C,A,A */+ -1050 -1270 -1050 -1580 /* GC,CG,C,A,C */+ -350 -940 -960 -1250 /* GC,CG,C,A,G */+ -1050 -1270 -1050 -1580 /* GC,CG,C,A,U */+ -600 -820 -600 -1130 /* GC,CG,C,C,A */+ -600 -820 -600 -1130 /* GC,CG,C,C,C */+ -600 -820 -600 -1130 /* GC,CG,C,C,G */+ -650 -870 -650 -1180 /* GC,CG,C,C,U */+ -100 540 -1240 -1530 /* GC,CG,C,G,A */+ -1050 -1270 -1050 -1580 /* GC,CG,C,G,C */+ -440 -620 -400 -210 /* GC,CG,C,G,G */+ -1050 -1270 -1050 -1580 /* GC,CG,C,G,U */+ -600 -820 -600 -1130 /* GC,CG,C,U,A */+ -540 -760 -540 -1070 /* GC,CG,C,U,C */+ -600 -820 -600 -1130 /* GC,CG,C,U,G */+ -1390 -1610 -1390 -1920 /* GC,CG,C,U,U */+ -2010 -660 180 -660 /* GC,CG,G,A,A */+ -1790 -970 -430 -970 /* GC,CG,G,A,C */+ -3070 -870 -1370 -870 /* GC,CG,G,A,G */+ -1790 -970 -430 -970 /* GC,CG,G,A,U */+ -1650 -510 -390 -510 /* GC,CG,G,C,A */+ -630 -520 20 -520 /* GC,CG,G,C,C */+ -1340 -510 30 -510 /* GC,CG,G,C,G */+ -1150 -570 -880 -570 /* GC,CG,G,C,U */+ -1980 -1160 -1870 -1160 /* GC,CG,G,G,A */+ -1790 -970 -430 -970 /* GC,CG,G,G,C */+ -2390 -320 -2280 -320 /* GC,CG,G,G,G */+ -1790 -970 -430 -970 /* GC,CG,G,G,U */+ -1340 -510 30 -510 /* GC,CG,G,U,A */+ -1040 -460 180 -460 /* GC,CG,G,U,C */+ -1340 -510 30 -510 /* GC,CG,G,U,G */+ -1520 -1300 -230 -1300 /* GC,CG,G,U,U */+ -740 -960 -740 -1240 /* GC,CG,U,A,A */+ -1050 -1270 -1050 -830 /* GC,CG,U,A,C */+ -960 -940 -960 -1360 /* GC,CG,U,A,G */+ -1050 -1270 -1050 -1260 /* GC,CG,U,A,U */+ -600 -820 -600 -90 /* GC,CG,U,C,A */+ -600 -820 -600 -1710 /* GC,CG,U,C,C */+ -600 -820 -600 -800 /* GC,CG,U,C,G */+ -650 -870 -650 -860 /* GC,CG,U,C,U */+ -1240 -1220 -1240 -810 /* GC,CG,U,G,A */+ -1050 -1270 -1050 -1260 /* GC,CG,U,G,C */+ -400 -260 -400 -1550 /* GC,CG,U,G,G */+ -1050 -1270 -1050 -1260 /* GC,CG,U,G,U */+ -600 -820 -600 -800 /* GC,CG,U,U,A */+ -540 -550 -540 -1460 /* GC,CG,U,U,C */+ -600 -820 -600 -800 /* GC,CG,U,U,G */+ -1390 -1610 -1390 -2350 /* GC,CG,U,U,U */+ -130 -490 -840 -490 /* GC,GC,A,A,A */+ -580 -940 -1290 -940 /* GC,GC,A,A,C */+ -1320 -1680 -2030 -1680 /* GC,GC,A,A,G */+ -580 -940 -1290 -940 /* GC,GC,A,A,U */+ -490 -860 -1210 -860 /* GC,GC,A,C,A */+ -800 -1160 -1270 -1160 /* GC,GC,A,C,C */+ -490 -860 -1210 -860 /* GC,GC,A,C,G */+ -800 -1160 -1270 -1160 /* GC,GC,A,C,U */+ -840 -1210 -1560 -1210 /* GC,GC,A,G,A */+ -580 -940 -1290 -940 /* GC,GC,A,G,C */+ 50 -320 -1920 -320 /* GC,GC,A,G,G */+ -580 -940 -1290 -940 /* GC,GC,A,G,U */+ -490 -860 -1210 -860 /* GC,GC,A,U,A */+ -1110 -1470 -1580 -1470 /* GC,GC,A,U,C */+ -490 -860 -1210 -860 /* GC,GC,A,U,G */+ -540 -1150 -1500 -1150 /* GC,GC,A,U,U */+ -580 -800 -580 -1110 /* GC,GC,C,A,A */+ -1030 -1250 -1030 -1560 /* GC,GC,C,A,C */+ -1770 -1750 -1770 -2060 /* GC,GC,C,A,G */+ -1030 -1250 -1030 -1560 /* GC,GC,C,A,U */+ -940 -1160 -940 -1470 /* GC,GC,C,C,A */+ -1250 -1470 -1250 -1780 /* GC,GC,C,C,C */+ -940 -1160 -940 -1470 /* GC,GC,C,C,G */+ -1250 -1470 -1250 -1780 /* GC,GC,C,C,U */+ -1290 -1270 -1290 -1580 /* GC,GC,C,G,A */+ -1030 -1250 -1030 -1560 /* GC,GC,C,G,C */+ -400 -620 -400 -930 /* GC,GC,C,G,G */+ -1030 -1250 -1030 -1560 /* GC,GC,C,G,U */+ -940 -1160 -940 -1470 /* GC,GC,C,U,A */+ -1560 -1780 -1560 -2090 /* GC,GC,C,U,C */+ -940 -1160 -940 -1470 /* GC,GC,C,U,G */+ -1230 -1450 -1230 -1760 /* GC,GC,C,U,U */+ -1320 -490 50 -490 /* GC,GC,G,A,A */+ -1770 -940 -400 -940 /* GC,GC,G,A,C */+ -2510 -1680 -2390 -1680 /* GC,GC,G,A,G */+ -1770 -940 -400 -940 /* GC,GC,G,A,U */+ -1680 -860 -320 -860 /* GC,GC,G,C,A */+ -1750 -1160 -620 -1160 /* GC,GC,G,C,C */+ -1680 -860 -320 -860 /* GC,GC,G,C,G */+ -1750 -1160 -620 -1160 /* GC,GC,G,C,U */+ -2030 -1210 -1920 -1210 /* GC,GC,G,G,A */+ -1770 -940 -400 -940 /* GC,GC,G,G,C */+ -2390 -320 -2280 -320 /* GC,GC,G,G,G */+ -1770 -940 -400 -940 /* GC,GC,G,G,U */+ -1680 -860 -320 -860 /* GC,GC,G,U,A */+ -2060 -1470 -930 -1470 /* GC,GC,G,U,C */+ -1680 -860 -320 -860 /* GC,GC,G,U,G */+ -1970 -1150 -1860 -1150 /* GC,GC,G,U,U */+ -580 -800 -580 -540 /* GC,GC,U,A,A */+ -1030 -1250 -1030 -1230 /* GC,GC,U,A,C */+ -1770 -1750 -1770 -1970 /* GC,GC,U,A,G */+ -1030 -1250 -1030 -1230 /* GC,GC,U,A,U */+ -940 -1160 -940 -1150 /* GC,GC,U,C,A */+ -1250 -1470 -1250 -1450 /* GC,GC,U,C,C */+ -940 -1160 -940 -1150 /* GC,GC,U,C,G */+ -1250 -1470 -1250 -1450 /* GC,GC,U,C,U */+ -1290 -1270 -1290 -1500 /* GC,GC,U,G,A */+ -1030 -1250 -1030 -1230 /* GC,GC,U,G,C */+ -400 -620 -400 -1860 /* GC,GC,U,G,G */+ -1030 -1250 -1030 -1230 /* GC,GC,U,G,U */+ -940 -1160 -940 -1150 /* GC,GC,U,U,A */+ -1560 -1780 -1560 -1760 /* GC,GC,U,U,C */+ -940 -1160 -940 -1150 /* GC,GC,U,U,G */+ -1230 -1450 -1230 -1440 /* GC,GC,U,U,U */+ -1220 -1590 -1940 -1590 /* GC,GU,A,A,A */+ -1040 -1410 -1760 -1410 /* GC,GU,A,A,C */+ -1060 -1420 -1770 -1420 /* GC,GU,A,A,G */+ -1040 -1410 -1760 -1410 /* GC,GU,A,A,U */+ -1040 -1410 -1760 -1410 /* GC,GU,A,C,A */+ -1040 -1410 -1520 -1410 /* GC,GU,A,C,C */+ -1040 -1410 -1760 -1410 /* GC,GU,A,C,G */+ -1040 -1410 -1520 -1410 /* GC,GU,A,C,U */+ -870 -1230 -1580 -1230 /* GC,GU,A,G,A */+ -1040 -1410 -1760 -1410 /* GC,GU,A,G,C */+ 210 -160 -1760 -160 /* GC,GU,A,G,G */+ -1040 -1410 -1760 -1410 /* GC,GU,A,G,U */+ -1040 -1410 -1760 -1410 /* GC,GU,A,U,A */+ -1040 -1410 -1520 -1410 /* GC,GU,A,U,C */+ -1040 -1410 -1760 -1410 /* GC,GU,A,U,G */+ -800 -1410 -1760 -1410 /* GC,GU,A,U,U */+ -1670 -1890 -1670 -2200 /* GC,GU,C,A,A */+ -1490 -1710 -1490 -2020 /* GC,GU,C,A,C */+ -1510 -1490 -1510 -1800 /* GC,GU,C,A,G */+ -1490 -1710 -1490 -2020 /* GC,GU,C,A,U */+ -1490 -1710 -1490 -2020 /* GC,GU,C,C,A */+ -1490 -1710 -1490 -2020 /* GC,GU,C,C,C */+ -1490 -1710 -1490 -2020 /* GC,GU,C,C,G */+ -1490 -1710 -1490 -2020 /* GC,GU,C,C,U */+ -1320 -1300 -1320 -1610 /* GC,GU,C,G,A */+ -1490 -1710 -1490 -2020 /* GC,GU,C,G,C */+ -240 -460 -240 -770 /* GC,GU,C,G,G */+ -1490 -1710 -1490 -2020 /* GC,GU,C,G,U */+ -1490 -1710 -1490 -2020 /* GC,GU,C,U,A */+ -1490 -1710 -1490 -2020 /* GC,GU,C,U,C */+ -1490 -1710 -1490 -2020 /* GC,GU,C,U,G */+ -1490 -1710 -1490 -2020 /* GC,GU,C,U,U */+ -2410 -1590 -1050 -1590 /* GC,GU,G,A,A */+ -2230 -1410 -870 -1410 /* GC,GU,G,A,C */+ -2250 -1420 -2130 -1420 /* GC,GU,G,A,G */+ -2230 -1410 -870 -1410 /* GC,GU,G,A,U */+ -2230 -1410 -870 -1410 /* GC,GU,G,C,A */+ -1990 -1410 -870 -1410 /* GC,GU,G,C,C */+ -2230 -1410 -870 -1410 /* GC,GU,G,C,G */+ -1990 -1410 -870 -1410 /* GC,GU,G,C,U */+ -2060 -1230 -1940 -1230 /* GC,GU,G,G,A */+ -2230 -1410 -870 -1410 /* GC,GU,G,G,C */+ -2230 -160 -2120 -160 /* GC,GU,G,G,G */+ -2230 -1410 -870 -1410 /* GC,GU,G,G,U */+ -2230 -1410 -870 -1410 /* GC,GU,G,U,A */+ -1990 -1410 -870 -1410 /* GC,GU,G,U,C */+ -2230 -1410 -870 -1410 /* GC,GU,G,U,G */+ -2230 -1410 -2120 -1410 /* GC,GU,G,U,U */+ -1670 -1890 -1670 -1640 /* GC,GU,U,A,A */+ -1490 -1710 -1490 -1700 /* GC,GU,U,A,C */+ -1510 -1490 -1510 -1710 /* GC,GU,U,A,G */+ -1490 -1710 -1490 -1700 /* GC,GU,U,A,U */+ -1490 -1710 -1490 -1700 /* GC,GU,U,C,A */+ -1490 -1710 -1490 -1700 /* GC,GU,U,C,C */+ -1490 -1710 -1490 -1700 /* GC,GU,U,C,G */+ -1490 -1710 -1490 -1700 /* GC,GU,U,C,U */+ -1320 -1300 -1320 -1520 /* GC,GU,U,G,A */+ -1490 -1710 -1490 -1700 /* GC,GU,U,G,C */+ -240 -460 -240 -1700 /* GC,GU,U,G,G */+ -1490 -1710 -1490 -1700 /* GC,GU,U,G,U */+ -1490 -1710 -1490 -1700 /* GC,GU,U,U,A */+ -1490 -1710 -1490 -1700 /* GC,GU,U,U,C */+ -1490 -1710 -1490 -1700 /* GC,GU,U,U,G */+ -1490 -1710 -1490 -1700 /* GC,GU,U,U,U */+ -2040 -340 -690 -340 /* GC,UG,A,A,A */+ -490 -850 -1200 -850 /* GC,UG,A,A,C */+ -830 -1190 -1540 -1190 /* GC,UG,A,A,G */+ -490 -850 -1200 -850 /* GC,UG,A,A,U */+ -490 -850 -1200 -850 /* GC,UG,A,C,A */+ -490 -850 -960 -850 /* GC,UG,A,C,C */+ -490 -850 -1200 -850 /* GC,UG,A,C,G */+ -490 -850 -960 -850 /* GC,UG,A,C,U */+ -1000 -1360 -1710 -1360 /* GC,UG,A,G,A */+ -490 -850 -1200 -850 /* GC,UG,A,G,C */+ 760 400 -1200 400 /* GC,UG,A,G,G */+ -490 -850 -1200 -850 /* GC,UG,A,G,U */+ -490 -850 -1200 -850 /* GC,UG,A,U,A */+ -490 -850 -960 -850 /* GC,UG,A,U,C */+ -490 -850 -1200 -850 /* GC,UG,A,U,G */+ -250 -850 -1200 -850 /* GC,UG,A,U,U */+ -430 -650 -430 -960 /* GC,UG,C,A,A */+ -940 -1160 -940 -1470 /* GC,UG,C,A,C */+ -1280 -1260 -1280 -1570 /* GC,UG,C,A,G */+ -940 -1160 -940 -1470 /* GC,UG,C,A,U */+ -940 -1160 -940 -1470 /* GC,UG,C,C,A */+ -940 -1160 -940 -1470 /* GC,UG,C,C,C */+ -940 -1160 -940 -1470 /* GC,UG,C,C,G */+ -940 -1160 -940 -1470 /* GC,UG,C,C,U */+ -1450 -1430 -1450 -1740 /* GC,UG,C,G,A */+ -940 -1160 -940 -1470 /* GC,UG,C,G,C */+ 310 90 310 -220 /* GC,UG,C,G,G */+ -940 -1160 -940 -1470 /* GC,UG,C,G,U */+ -940 -1160 -940 -1470 /* GC,UG,C,U,A */+ -940 -1160 -940 -1470 /* GC,UG,C,U,C */+ -940 -1160 -940 -1470 /* GC,UG,C,U,G */+ -940 -1160 -940 -1470 /* GC,UG,C,U,U */+ -1170 -340 200 -340 /* GC,UG,G,A,A */+ -1680 -850 -310 -850 /* GC,UG,G,A,C */+ -2020 -1190 -1900 -1190 /* GC,UG,G,A,G */+ -1680 -850 -310 -850 /* GC,UG,G,A,U */+ -1680 -850 -310 -850 /* GC,UG,G,C,A */+ -1440 -850 -310 -850 /* GC,UG,G,C,C */+ -1680 -850 -310 -850 /* GC,UG,G,C,G */+ -1440 -850 -310 -850 /* GC,UG,G,C,U */+ -2190 -1360 -2070 -1360 /* GC,UG,G,G,A */+ -1680 -850 -310 -850 /* GC,UG,G,G,C */+ -1680 400 -1560 400 /* GC,UG,G,G,G */+ -1680 -850 -310 -850 /* GC,UG,G,G,U */+ -1680 -850 -310 -850 /* GC,UG,G,U,A */+ -1440 -850 -310 -850 /* GC,UG,G,U,C */+ -1680 -850 -310 -850 /* GC,UG,G,U,G */+ -1680 -850 -1560 -850 /* GC,UG,G,U,U */+ -430 -650 -430 -390 /* GC,UG,U,A,A */+ -940 -1160 -940 -1140 /* GC,UG,U,A,C */+ -1280 -1260 -1280 -1480 /* GC,UG,U,A,G */+ -940 -1160 -940 -1140 /* GC,UG,U,A,U */+ -940 -1160 -940 -1140 /* GC,UG,U,C,A */+ -940 -1160 -940 -1140 /* GC,UG,U,C,C */+ -940 -1160 -940 -1140 /* GC,UG,U,C,G */+ -940 -1160 -940 -1140 /* GC,UG,U,C,U */+ -1450 -1430 -1450 -1650 /* GC,UG,U,G,A */+ -940 -1160 -940 -1140 /* GC,UG,U,G,C */+ 310 90 310 -1140 /* GC,UG,U,G,G */+ -940 -1160 -940 -1140 /* GC,UG,U,G,U */+ -940 -1160 -940 -1140 /* GC,UG,U,U,A */+ -940 -1160 -940 -1140 /* GC,UG,U,U,C */+ -940 -1160 -940 -1140 /* GC,UG,U,U,G */+ -940 -1160 -940 -1140 /* GC,UG,U,U,U */+ 600 240 -110 240 /* GC,AU,A,A,A */+ 290 -70 -420 -70 /* GC,AU,A,A,C */+ -780 -1150 -1500 -1150 /* GC,AU,A,A,G */+ 290 -70 -420 -70 /* GC,AU,A,A,U */+ 310 -50 -400 -50 /* GC,AU,A,C,A */+ 300 -60 -170 -60 /* GC,AU,A,C,C */+ 310 -50 -400 -50 /* GC,AU,A,C,G */+ 300 -60 -170 -60 /* GC,AU,A,C,U */+ -600 -970 -1320 -970 /* GC,AU,A,G,A */+ 290 -70 -420 -70 /* GC,AU,A,G,C */+ 1140 770 -830 770 /* GC,AU,A,G,G */+ 290 -70 -420 -70 /* GC,AU,A,G,U */+ 310 -50 -400 -50 /* GC,AU,A,U,A */+ 300 -60 -170 -60 /* GC,AU,A,U,C */+ 310 -50 -400 -50 /* GC,AU,A,U,G */+ -430 -1040 -1390 -1040 /* GC,AU,A,U,U */+ 150 -60 150 -370 /* GC,AU,C,A,A */+ -150 -370 -150 -680 /* GC,AU,C,A,C */+ -1230 -1210 -1230 -1520 /* GC,AU,C,A,G */+ -150 -370 -150 -680 /* GC,AU,C,A,U */+ -140 -360 -140 -670 /* GC,AU,C,C,A */+ -140 -360 -140 -670 /* GC,AU,C,C,C */+ -140 -360 -140 -670 /* GC,AU,C,C,G */+ -140 -360 -140 -670 /* GC,AU,C,C,U */+ -1050 -1030 -1050 -1340 /* GC,AU,C,G,A */+ -150 -370 -150 -680 /* GC,AU,C,G,C */+ 690 470 690 160 /* GC,AU,C,G,G */+ -150 -370 -150 -680 /* GC,AU,C,G,U */+ -140 -360 -140 -670 /* GC,AU,C,U,A */+ -140 -360 -140 -670 /* GC,AU,C,U,C */+ -140 -360 -140 -670 /* GC,AU,C,U,G */+ -1120 -1340 -1120 -1650 /* GC,AU,C,U,U */+ -580 240 780 240 /* GC,AU,G,A,A */+ -890 -70 470 -70 /* GC,AU,G,A,C */+ -1970 -1150 -1860 -1150 /* GC,AU,G,A,G */+ -890 -70 470 -70 /* GC,AU,G,A,U */+ -880 -50 490 -50 /* GC,AU,G,C,A */+ -640 -60 480 -60 /* GC,AU,G,C,C */+ -880 -50 490 -50 /* GC,AU,G,C,G */+ -640 -60 480 -60 /* GC,AU,G,C,U */+ -1790 -970 -1680 -970 /* GC,AU,G,G,A */+ -890 -70 470 -70 /* GC,AU,G,G,C */+ -1300 770 -1190 770 /* GC,AU,G,G,G */+ -890 -70 470 -70 /* GC,AU,G,G,U */+ -880 -50 490 -50 /* GC,AU,G,U,A */+ -640 -60 480 -60 /* GC,AU,G,U,C */+ -880 -50 490 -50 /* GC,AU,G,U,G */+ -1860 -1040 -1750 -1040 /* GC,AU,G,U,U */+ 150 -60 150 190 /* GC,AU,U,A,A */+ -150 -370 -150 -360 /* GC,AU,U,A,C */+ -1230 -1210 -1230 -1440 /* GC,AU,U,A,G */+ -150 -370 -150 -360 /* GC,AU,U,A,U */+ -140 -360 -140 -340 /* GC,AU,U,C,A */+ -140 -360 -140 -350 /* GC,AU,U,C,C */+ -140 -360 -140 -340 /* GC,AU,U,C,G */+ -140 -360 -140 -350 /* GC,AU,U,C,U */+ -1050 -1030 -1050 -1260 /* GC,AU,U,G,A */+ -150 -370 -150 -360 /* GC,AU,U,G,C */+ 690 470 690 -770 /* GC,AU,U,G,G */+ -150 -370 -150 -360 /* GC,AU,U,G,U */+ -140 -360 -140 -340 /* GC,AU,U,U,A */+ -140 -360 -140 -350 /* GC,AU,U,U,C */+ -140 -360 -140 -340 /* GC,AU,U,U,G */+ -1120 -1340 -1120 -1330 /* GC,AU,U,U,U */+ 670 300 -40 300 /* GC,UA,A,A,A */+ 390 20 -320 20 /* GC,UA,A,A,C */+ -730 -1100 -1450 -1100 /* GC,UA,A,A,G */+ 390 20 -320 20 /* GC,UA,A,A,U */+ 540 170 -170 170 /* GC,UA,A,C,A */+ 540 170 70 170 /* GC,UA,A,C,C */+ 540 170 -170 170 /* GC,UA,A,C,G */+ 410 40 -60 40 /* GC,UA,A,C,U */+ -1030 -1400 -1750 -1400 /* GC,UA,A,G,A */+ 390 20 -320 20 /* GC,UA,A,G,C */+ 1320 960 -640 960 /* GC,UA,A,G,G */+ 390 20 -320 20 /* GC,UA,A,G,U */+ 540 170 -170 170 /* GC,UA,A,U,A */+ 100 -260 -370 -260 /* GC,UA,A,U,C */+ 540 170 -170 170 /* GC,UA,A,U,G */+ -160 -760 -1110 -760 /* GC,UA,A,U,U */+ 220 0 220 -310 /* GC,UA,C,A,A */+ -60 -280 -60 -590 /* GC,UA,C,A,C */+ -1180 -1160 -1180 -1470 /* GC,UA,C,A,G */+ -60 -280 -60 -590 /* GC,UA,C,A,U */+ 90 -130 90 -440 /* GC,UA,C,C,A */+ 90 -130 90 -440 /* GC,UA,C,C,C */+ 90 -130 90 -440 /* GC,UA,C,C,G */+ -40 -260 -40 -570 /* GC,UA,C,C,U */+ -1480 -1460 -1480 -1770 /* GC,UA,C,G,A */+ -60 -280 -60 -590 /* GC,UA,C,G,C */+ 870 650 870 340 /* GC,UA,C,G,G */+ -60 -280 -60 -590 /* GC,UA,C,G,U */+ 90 -130 90 -440 /* GC,UA,C,U,A */+ -350 -570 -350 -880 /* GC,UA,C,U,C */+ 90 -130 90 -440 /* GC,UA,C,U,G */+ -850 -1070 -850 -1380 /* GC,UA,C,U,U */+ -520 300 850 300 /* GC,UA,G,A,A */+ -800 20 570 20 /* GC,UA,G,A,C */+ -1920 -1100 -1810 -1100 /* GC,UA,G,A,G */+ -800 20 570 20 /* GC,UA,G,A,U */+ -650 170 720 170 /* GC,UA,G,C,A */+ -410 170 720 170 /* GC,UA,G,C,C */+ -650 170 720 170 /* GC,UA,G,C,G */+ -540 40 590 40 /* GC,UA,G,C,U */+ -2220 -1400 -2110 -1400 /* GC,UA,G,G,A */+ -800 20 570 20 /* GC,UA,G,G,C */+ -1120 960 -1000 960 /* GC,UA,G,G,G */+ -800 20 570 20 /* GC,UA,G,G,U */+ -650 170 720 170 /* GC,UA,G,U,A */+ -850 -260 280 -260 /* GC,UA,G,U,C */+ -650 170 720 170 /* GC,UA,G,U,G */+ -1590 -760 -1470 -760 /* GC,UA,G,U,U */+ 220 0 220 250 /* GC,UA,U,A,A */+ -60 -280 -60 -260 /* GC,UA,U,A,C */+ -1180 -1160 -1180 -1390 /* GC,UA,U,A,G */+ -60 -280 -60 -260 /* GC,UA,U,A,U */+ 90 -130 90 -110 /* GC,UA,U,C,A */+ 90 -130 90 -110 /* GC,UA,U,C,C */+ 90 -130 90 -110 /* GC,UA,U,C,G */+ -40 -260 -40 -240 /* GC,UA,U,C,U */+ -1480 -1460 -1480 -1690 /* GC,UA,U,G,A */+ -60 -280 -60 -260 /* GC,UA,U,G,C */+ 870 650 870 -580 /* GC,UA,U,G,G */+ -60 -280 -60 -260 /* GC,UA,U,G,U */+ 90 -130 90 -110 /* GC,UA,U,U,A */+ -350 -570 -350 -550 /* GC,UA,U,U,C */+ 90 -130 90 -110 /* GC,UA,U,U,G */+ -850 -1070 -850 -1050 /* GC,UA,U,U,U */+ -1370 -1210 -1030 -1210 /* GU,CG,A,A,A */+ -1700 -1520 -1340 -1520 /* GU,CG,A,A,C */+ -1600 -1420 -1250 -1420 /* GU,CG,A,A,G */+ -1700 -1520 -1340 -1520 /* GU,CG,A,A,U */+ -1240 -1060 -890 -1060 /* GU,CG,A,C,A */+ -1250 -1070 -650 -1070 /* GU,CG,A,C,C */+ -1240 -1060 -890 -1060 /* GU,CG,A,C,G */+ -1300 -1120 -700 -1120 /* GU,CG,A,C,U */+ -1890 -1710 -1530 -1710 /* GU,CG,A,G,A */+ -1700 -1520 -1340 -1520 /* GU,CG,A,G,C */+ -1050 -870 -1940 -870 /* GU,CG,A,G,G */+ -1700 -1520 -1340 -1520 /* GU,CG,A,G,U */+ -1240 -1060 -890 -1060 /* GU,CG,A,U,A */+ -1190 -1010 -590 -1010 /* GU,CG,A,U,C */+ -1240 -1060 -890 -1060 /* GU,CG,A,U,G */+ -1790 -1850 -1680 -1850 /* GU,CG,A,U,U */+ -1210 -1210 -1210 -1210 /* GU,CG,C,A,A */+ -1520 -1520 -1520 -1520 /* GU,CG,C,A,C */+ -1420 -1180 -1420 -1180 /* GU,CG,C,A,G */+ -1520 -1520 -1520 -1520 /* GU,CG,C,A,U */+ -1060 -1060 -1060 -1060 /* GU,CG,C,C,A */+ -1070 -1070 -1070 -1070 /* GU,CG,C,C,C */+ -1060 -1060 -1060 -1060 /* GU,CG,C,C,G */+ -1120 -1120 -1120 -1120 /* GU,CG,C,C,U */+ -1710 -1470 -1710 -1470 /* GU,CG,C,G,A */+ -1520 -1520 -1520 -1520 /* GU,CG,C,G,C */+ -870 -870 -870 -870 /* GU,CG,C,G,G */+ -1520 -1520 -1520 -1520 /* GU,CG,C,G,U */+ -1060 -1060 -1060 -1060 /* GU,CG,C,U,A */+ -1010 -1010 -1010 -1010 /* GU,CG,C,U,C */+ -1060 -1060 -1060 -1060 /* GU,CG,C,U,G */+ -1850 -1850 -1850 -1850 /* GU,CG,C,U,U */+ -1220 -1210 40 -1210 /* GU,CG,G,A,A */+ -1530 -1520 -270 -1520 /* GU,CG,G,A,C */+ -1440 -1420 -1420 -1420 /* GU,CG,G,A,G */+ -1530 -1520 -270 -1520 /* GU,CG,G,A,U */+ -1080 -1060 190 -1060 /* GU,CG,G,C,A */+ -840 -1070 180 -1070 /* GU,CG,G,C,C */+ -1080 -1060 190 -1060 /* GU,CG,G,C,G */+ -890 -1120 130 -1120 /* GU,CG,G,C,U */+ -1720 -1710 -1710 -1710 /* GU,CG,G,G,A */+ -1530 -1520 -270 -1520 /* GU,CG,G,G,C */+ -2130 -870 -2120 -870 /* GU,CG,G,G,G */+ -1530 -1520 -270 -1520 /* GU,CG,G,G,U */+ -1080 -1060 190 -1060 /* GU,CG,G,U,A */+ -780 -1010 240 -1010 /* GU,CG,G,U,C */+ -1080 -1060 190 -1060 /* GU,CG,G,U,G */+ -1870 -1850 -1850 -1850 /* GU,CG,G,U,U */+ -1210 -1210 -1210 -970 /* GU,CG,U,A,A */+ -1520 -1520 -1520 -1520 /* GU,CG,U,A,C */+ -1420 -1180 -1420 -1420 /* GU,CG,U,A,G */+ -1520 -1520 -1520 -1520 /* GU,CG,U,A,U */+ -1060 -1060 -1060 -1060 /* GU,CG,U,C,A */+ -1070 -1070 -1070 -1070 /* GU,CG,U,C,C */+ -1060 -1060 -1060 -1060 /* GU,CG,U,C,G */+ -1120 -1120 -1120 -1120 /* GU,CG,U,C,U */+ -1710 -1470 -1710 -1710 /* GU,CG,U,G,A */+ -1520 -1520 -1520 -1520 /* GU,CG,U,G,C */+ -870 -870 -870 -2120 /* GU,CG,U,G,G */+ -1520 -1520 -1520 -1520 /* GU,CG,U,G,U */+ -1060 -1060 -1060 -1060 /* GU,CG,U,U,A */+ -1010 -1010 -1010 -1010 /* GU,CG,U,U,C */+ -1060 -1060 -1060 -1060 /* GU,CG,U,U,G */+ -1850 -1850 -1850 -1850 /* GU,CG,U,U,U */+ -1220 -1040 -870 -1040 /* GU,GC,A,A,A */+ -1670 -1490 -1320 -1490 /* GU,GC,A,A,C */+ -2410 -2230 -2060 -2230 /* GU,GC,A,A,G */+ -1670 -1490 -1320 -1490 /* GU,GC,A,A,U */+ -1590 -1410 -1230 -1410 /* GU,GC,A,C,A */+ -1890 -1710 -1300 -1710 /* GU,GC,A,C,C */+ -1590 -1410 -1230 -1410 /* GU,GC,A,C,G */+ -1890 -1710 -1300 -1710 /* GU,GC,A,C,U */+ -1940 -1760 -1580 -1760 /* GU,GC,A,G,A */+ -1670 -1490 -1320 -1490 /* GU,GC,A,G,C */+ -1050 -870 -1940 -870 /* GU,GC,A,G,G */+ -1670 -1490 -1320 -1490 /* GU,GC,A,G,U */+ -1590 -1410 -1230 -1410 /* GU,GC,A,U,A */+ -2200 -2020 -1610 -2020 /* GU,GC,A,U,C */+ -1590 -1410 -1230 -1410 /* GU,GC,A,U,G */+ -1640 -1700 -1520 -1700 /* GU,GC,A,U,U */+ -1040 -1040 -1040 -1040 /* GU,GC,C,A,A */+ -1490 -1490 -1490 -1490 /* GU,GC,C,A,C */+ -2230 -1990 -2230 -1990 /* GU,GC,C,A,G */+ -1490 -1490 -1490 -1490 /* GU,GC,C,A,U */+ -1410 -1410 -1410 -1410 /* GU,GC,C,C,A */+ -1710 -1710 -1710 -1710 /* GU,GC,C,C,C */+ -1410 -1410 -1410 -1410 /* GU,GC,C,C,G */+ -1710 -1710 -1710 -1710 /* GU,GC,C,C,U */+ -1760 -1520 -1760 -1520 /* GU,GC,C,G,A */+ -1490 -1490 -1490 -1490 /* GU,GC,C,G,C */+ -870 -870 -870 -870 /* GU,GC,C,G,G */+ -1490 -1490 -1490 -1490 /* GU,GC,C,G,U */+ -1410 -1410 -1410 -1410 /* GU,GC,C,U,A */+ -2020 -2020 -2020 -2020 /* GU,GC,C,U,C */+ -1410 -1410 -1410 -1410 /* GU,GC,C,U,G */+ -1700 -1700 -1700 -1700 /* GU,GC,C,U,U */+ -1060 -1040 210 -1040 /* GU,GC,G,A,A */+ -1510 -1490 -240 -1490 /* GU,GC,G,A,C */+ -2250 -2230 -2230 -2230 /* GU,GC,G,A,G */+ -1510 -1490 -240 -1490 /* GU,GC,G,A,U */+ -1420 -1410 -160 -1410 /* GU,GC,G,C,A */+ -1490 -1710 -460 -1710 /* GU,GC,G,C,C */+ -1420 -1410 -160 -1410 /* GU,GC,G,C,G */+ -1490 -1710 -460 -1710 /* GU,GC,G,C,U */+ -1770 -1760 -1760 -1760 /* GU,GC,G,G,A */+ -1510 -1490 -240 -1490 /* GU,GC,G,G,C */+ -2130 -870 -2120 -870 /* GU,GC,G,G,G */+ -1510 -1490 -240 -1490 /* GU,GC,G,G,U */+ -1420 -1410 -160 -1410 /* GU,GC,G,U,A */+ -1800 -2020 -770 -2020 /* GU,GC,G,U,C */+ -1420 -1410 -160 -1410 /* GU,GC,G,U,G */+ -1710 -1700 -1700 -1700 /* GU,GC,G,U,U */+ -1040 -1040 -1040 -800 /* GU,GC,U,A,A */+ -1490 -1490 -1490 -1490 /* GU,GC,U,A,C */+ -2230 -1990 -2230 -2230 /* GU,GC,U,A,G */+ -1490 -1490 -1490 -1490 /* GU,GC,U,A,U */+ -1410 -1410 -1410 -1410 /* GU,GC,U,C,A */+ -1710 -1710 -1710 -1710 /* GU,GC,U,C,C */+ -1410 -1410 -1410 -1410 /* GU,GC,U,C,G */+ -1710 -1710 -1710 -1710 /* GU,GC,U,C,U */+ -1760 -1520 -1760 -1760 /* GU,GC,U,G,A */+ -1490 -1490 -1490 -1490 /* GU,GC,U,G,C */+ -870 -870 -870 -2120 /* GU,GC,U,G,G */+ -1490 -1490 -1490 -1490 /* GU,GC,U,G,U */+ -1410 -1410 -1410 -1410 /* GU,GC,U,U,A */+ -2020 -2020 -2020 -2020 /* GU,GC,U,U,C */+ -1410 -1410 -1410 -1410 /* GU,GC,U,U,G */+ -1700 -1700 -1700 -1700 /* GU,GC,U,U,U */+ -2320 -2140 -1960 -2140 /* GU,GU,A,A,A */+ -2140 -1960 -1780 -1960 /* GU,GU,A,A,C */+ -2150 -1970 -1800 -1970 /* GU,GU,A,A,G */+ -2140 -1960 -1780 -1960 /* GU,GU,A,A,U */+ -2140 -1960 -1780 -1960 /* GU,GU,A,C,A */+ -2140 -1960 -1540 -1960 /* GU,GU,A,C,C */+ -2140 -1960 -1780 -1960 /* GU,GU,A,C,G */+ -2140 -1960 -1540 -1960 /* GU,GU,A,C,U */+ -1960 -1780 -1610 -1780 /* GU,GU,A,G,A */+ -2140 -1960 -1780 -1960 /* GU,GU,A,G,C */+ -890 -710 -1780 -710 /* GU,GU,A,G,G */+ -2140 -1960 -1780 -1960 /* GU,GU,A,G,U */+ -2140 -1960 -1780 -1960 /* GU,GU,A,U,A */+ -2140 -1960 -1540 -1960 /* GU,GU,A,U,C */+ -2140 -1960 -1780 -1960 /* GU,GU,A,U,G */+ -1900 -1960 -1780 -1960 /* GU,GU,A,U,U */+ -2140 -2140 -2140 -2140 /* GU,GU,C,A,A */+ -1960 -1960 -1960 -1960 /* GU,GU,C,A,C */+ -1970 -1730 -1970 -1730 /* GU,GU,C,A,G */+ -1960 -1960 -1960 -1960 /* GU,GU,C,A,U */+ -1960 -1960 -1960 -1960 /* GU,GU,C,C,A */+ -1960 -1960 -1960 -1960 /* GU,GU,C,C,C */+ -1960 -1960 -1960 -1960 /* GU,GU,C,C,G */+ -1960 -1960 -1960 -1960 /* GU,GU,C,C,U */+ -1780 -1540 -1780 -1540 /* GU,GU,C,G,A */+ -1960 -1960 -1960 -1960 /* GU,GU,C,G,C */+ -710 -710 -710 -710 /* GU,GU,C,G,G */+ -1960 -1960 -1960 -1960 /* GU,GU,C,G,U */+ -1960 -1960 -1960 -1960 /* GU,GU,C,U,A */+ -1960 -1960 -1960 -1960 /* GU,GU,C,U,C */+ -1960 -1960 -1960 -1960 /* GU,GU,C,U,G */+ -1960 -1960 -1960 -1960 /* GU,GU,C,U,U */+ -2150 -2140 -890 -2140 /* GU,GU,G,A,A */+ -1970 -1960 -710 -1960 /* GU,GU,G,A,C */+ -1990 -1970 -1970 -1970 /* GU,GU,G,A,G */+ -1970 -1960 -710 -1960 /* GU,GU,G,A,U */+ -1970 -1960 -710 -1960 /* GU,GU,G,C,A */+ -1730 -1960 -710 -1960 /* GU,GU,G,C,C */+ -1970 -1960 -710 -1960 /* GU,GU,G,C,G */+ -1730 -1960 -710 -1960 /* GU,GU,G,C,U */+ -1800 -1780 -1780 -1780 /* GU,GU,G,G,A */+ -1970 -1960 -710 -1960 /* GU,GU,G,G,C */+ -1970 -710 -1960 -710 /* GU,GU,G,G,G */+ -1970 -1960 -710 -1960 /* GU,GU,G,G,U */+ -1970 -1960 -710 -1960 /* GU,GU,G,U,A */+ -1730 -1960 -710 -1960 /* GU,GU,G,U,C */+ -1970 -1960 -710 -1960 /* GU,GU,G,U,G */+ -1970 -1960 -1960 -1960 /* GU,GU,G,U,U */+ -2140 -2140 -2140 -1900 /* GU,GU,U,A,A */+ -1960 -1960 -1960 -1960 /* GU,GU,U,A,C */+ -1970 -1730 -1970 -1970 /* GU,GU,U,A,G */+ -1960 -1960 -1960 -1960 /* GU,GU,U,A,U */+ -1960 -1960 -1960 -1960 /* GU,GU,U,C,A */+ -1960 -1960 -1960 -1960 /* GU,GU,U,C,C */+ -1960 -1960 -1960 -1960 /* GU,GU,U,C,G */+ -1960 -1960 -1960 -1960 /* GU,GU,U,C,U */+ -1780 -1540 -1780 -1780 /* GU,GU,U,G,A */+ -1960 -1960 -1960 -1960 /* GU,GU,U,G,C */+ -710 -710 -710 -1960 /* GU,GU,U,G,G */+ -1960 -1960 -1960 -1960 /* GU,GU,U,G,U */+ -1960 -1960 -1960 -1960 /* GU,GU,U,U,A */+ -1960 -1960 -1960 -1960 /* GU,GU,U,U,C */+ -1960 -1960 -1960 -1960 /* GU,GU,U,U,G */+ -1960 -1960 -1960 -1960 /* GU,GU,U,U,U */+ -70 -890 -30 -890 /* GU,UG,A,A,A */+ -1580 -1400 -1230 -1400 /* GU,UG,A,A,C */+ -1600 -1740 -1570 -1740 /* GU,UG,A,A,G */+ -1580 -1400 -1230 -1400 /* GU,UG,A,A,U */+ -1580 -1400 -1230 -1400 /* GU,UG,A,C,A */+ -1580 -1400 -990 -1400 /* GU,UG,A,C,C */+ -1580 -1400 -1230 -1400 /* GU,UG,A,C,G */+ -1580 -1400 -990 -1400 /* GU,UG,A,C,U */+ -2090 -1910 -1740 -1910 /* GU,UG,A,G,A */+ -1580 -1400 -1230 -1400 /* GU,UG,A,G,C */+ -330 -150 -1230 -150 /* GU,UG,A,G,G */+ -1580 -1400 -1230 -1400 /* GU,UG,A,G,U */+ -1580 -1400 -1230 -1400 /* GU,UG,A,U,A */+ -1580 -1400 -990 -1400 /* GU,UG,A,U,C */+ -1580 -1400 -1230 -1400 /* GU,UG,A,U,G */+ -1340 -1400 -1230 -1400 /* GU,UG,A,U,U */+ -890 -890 -890 -890 /* GU,UG,C,A,A */+ -1400 -1400 -1400 -1400 /* GU,UG,C,A,C */+ -1740 -1500 -1740 -1500 /* GU,UG,C,A,G */+ -1400 -1400 -1400 -1400 /* GU,UG,C,A,U */+ -1400 -1400 -1400 -1400 /* GU,UG,C,C,A */+ -1400 -1400 -1400 -1400 /* GU,UG,C,C,C */+ -1400 -1400 -1400 -1400 /* GU,UG,C,C,G */+ -1400 -1400 -1400 -1400 /* GU,UG,C,C,U */+ -1910 -1670 -1910 -1670 /* GU,UG,C,G,A */+ -1400 -1400 -1400 -1400 /* GU,UG,C,G,C */+ -150 -150 -150 -150 /* GU,UG,C,G,G */+ -1400 -1400 -1400 -1400 /* GU,UG,C,G,U */+ -1400 -1400 -1400 -1400 /* GU,UG,C,U,A */+ -1400 -1400 -1400 -1400 /* GU,UG,C,U,C */+ -1400 -1400 -1400 -1400 /* GU,UG,C,U,G */+ -1400 -1400 -1400 -1400 /* GU,UG,C,U,U */+ -910 -890 360 -890 /* GU,UG,G,A,A */+ -1420 -1400 -150 -1400 /* GU,UG,G,A,C */+ -3040 -1740 -1740 -1740 /* GU,UG,G,A,G */+ -1420 -1400 -150 -1400 /* GU,UG,G,A,U */+ -1420 -1400 -150 -1400 /* GU,UG,G,C,A */+ -1180 -1400 -150 -1400 /* GU,UG,G,C,C */+ -1420 -1400 -150 -1400 /* GU,UG,G,C,G */+ -1180 -1400 -150 -1400 /* GU,UG,G,C,U */+ -1930 -1910 -1910 -1910 /* GU,UG,G,G,A */+ -1420 -1400 -150 -1400 /* GU,UG,G,G,C */+ -1420 -150 -1400 -150 /* GU,UG,G,G,G */+ -1420 -1400 -150 -1400 /* GU,UG,G,G,U */+ -1420 -1400 -150 -1400 /* GU,UG,G,U,A */+ -1180 -1400 -150 -1400 /* GU,UG,G,U,C */+ -1420 -1400 -150 -1400 /* GU,UG,G,U,G */+ -1420 -1400 -1400 -1400 /* GU,UG,G,U,U */+ -890 -890 -890 -650 /* GU,UG,U,A,A */+ -1400 -1400 -1400 -1400 /* GU,UG,U,A,C */+ -1740 -1500 -1740 -1740 /* GU,UG,U,A,G */+ -1400 -1400 -1400 -1400 /* GU,UG,U,A,U */+ -1400 -1400 -1400 -1400 /* GU,UG,U,C,A */+ -1400 -1400 -1400 -1400 /* GU,UG,U,C,C */+ -1400 -1400 -1400 -1400 /* GU,UG,U,C,G */+ -1400 -1400 -1400 -1400 /* GU,UG,U,C,U */+ -1910 -1670 -1910 -1910 /* GU,UG,U,G,A */+ -1400 -1400 -1400 -1400 /* GU,UG,U,G,C */+ -150 -150 -150 -1400 /* GU,UG,U,G,G */+ -1400 -1400 -1400 -1400 /* GU,UG,U,G,U */+ -1400 -1400 -1400 -1400 /* GU,UG,U,U,A */+ -1400 -1400 -1400 -1400 /* GU,UG,U,U,C */+ -1400 -1400 -1400 -1400 /* GU,UG,U,U,G */+ -1400 -1400 -1400 -1400 /* GU,UG,U,U,U */+ -490 -310 -130 -310 /* GU,AU,A,A,A */+ -800 -620 -440 -620 /* GU,AU,A,A,C */+ -1880 -1700 -1520 -1700 /* GU,AU,A,A,G */+ -800 -620 -440 -620 /* GU,AU,A,A,U */+ -780 -600 -430 -600 /* GU,AU,A,C,A */+ -790 -610 -190 -610 /* GU,AU,A,C,C */+ -780 -600 -430 -600 /* GU,AU,A,C,G */+ -790 -610 -190 -610 /* GU,AU,A,C,U */+ -1700 -1520 -1340 -1520 /* GU,AU,A,G,A */+ -800 -620 -440 -620 /* GU,AU,A,G,C */+ 40 220 -850 220 /* GU,AU,A,G,G */+ -800 -620 -440 -620 /* GU,AU,A,G,U */+ -780 -600 -430 -600 /* GU,AU,A,U,A */+ -790 -610 -190 -610 /* GU,AU,A,U,C */+ -780 -600 -430 -600 /* GU,AU,A,U,G */+ -1530 -1590 -1410 -1590 /* GU,AU,A,U,U */+ -310 -310 -310 -310 /* GU,AU,C,A,A */+ -620 -620 -620 -620 /* GU,AU,C,A,C */+ -1700 -1460 -1700 -1460 /* GU,AU,C,A,G */+ -620 -620 -620 -620 /* GU,AU,C,A,U */+ -600 -600 -600 -600 /* GU,AU,C,C,A */+ -610 -610 -610 -610 /* GU,AU,C,C,C */+ -600 -600 -600 -600 /* GU,AU,C,C,G */+ -610 -610 -610 -610 /* GU,AU,C,C,U */+ -1520 -1280 -1520 -1280 /* GU,AU,C,G,A */+ -620 -620 -620 -620 /* GU,AU,C,G,C */+ 220 220 220 220 /* GU,AU,C,G,G */+ -620 -620 -620 -620 /* GU,AU,C,G,U */+ -600 -600 -600 -600 /* GU,AU,C,U,A */+ -610 -610 -610 -610 /* GU,AU,C,U,C */+ -600 -600 -600 -600 /* GU,AU,C,U,G */+ -1590 -1590 -1590 -1590 /* GU,AU,C,U,U */+ -320 -310 940 -310 /* GU,AU,G,A,A */+ -630 -620 630 -620 /* GU,AU,G,A,C */+ -1710 -1700 -1700 -1700 /* GU,AU,G,A,G */+ -630 -620 630 -620 /* GU,AU,G,A,U */+ -620 -600 650 -600 /* GU,AU,G,C,A */+ -380 -610 640 -610 /* GU,AU,G,C,C */+ -620 -600 650 -600 /* GU,AU,G,C,G */+ -380 -610 640 -610 /* GU,AU,G,C,U */+ -1530 -1520 -1520 -1520 /* GU,AU,G,G,A */+ -630 -620 630 -620 /* GU,AU,G,G,C */+ -1040 220 -1030 220 /* GU,AU,G,G,G */+ -630 -620 630 -620 /* GU,AU,G,G,U */+ -620 -600 650 -600 /* GU,AU,G,U,A */+ -380 -610 640 -610 /* GU,AU,G,U,C */+ -620 -600 650 -600 /* GU,AU,G,U,G */+ -1600 -1590 -1590 -1590 /* GU,AU,G,U,U */+ -310 -310 -310 -70 /* GU,AU,U,A,A */+ -620 -620 -620 -620 /* GU,AU,U,A,C */+ -1700 -1460 -1700 -1700 /* GU,AU,U,A,G */+ -620 -620 -620 -620 /* GU,AU,U,A,U */+ -600 -600 -600 -600 /* GU,AU,U,C,A */+ -610 -610 -610 -610 /* GU,AU,U,C,C */+ -600 -600 -600 -600 /* GU,AU,U,C,G */+ -610 -610 -610 -610 /* GU,AU,U,C,U */+ -1520 -1280 -1520 -1520 /* GU,AU,U,G,A */+ -620 -620 -620 -620 /* GU,AU,U,G,C */+ 220 220 220 -1030 /* GU,AU,U,G,G */+ -620 -620 -620 -620 /* GU,AU,U,G,U */+ -600 -600 -600 -600 /* GU,AU,U,U,A */+ -610 -610 -610 -610 /* GU,AU,U,U,C */+ -600 -600 -600 -600 /* GU,AU,U,U,G */+ -1590 -1590 -1590 -1590 /* GU,AU,U,U,U */+ -420 -240 -70 -240 /* GU,UA,A,A,A */+ -700 -520 -350 -520 /* GU,UA,A,A,C */+ -1830 -1650 -1470 -1650 /* GU,UA,A,A,G */+ -700 -520 -350 -520 /* GU,UA,A,A,U */+ -550 -370 -200 -370 /* GU,UA,A,C,A */+ -550 -370 40 -370 /* GU,UA,A,C,C */+ -550 -370 -200 -370 /* GU,UA,A,C,G */+ -680 -500 -90 -500 /* GU,UA,A,C,U */+ -2130 -1950 -1770 -1950 /* GU,UA,A,G,A */+ -700 -520 -350 -520 /* GU,UA,A,G,C */+ 230 410 -670 410 /* GU,UA,A,G,G */+ -700 -520 -350 -520 /* GU,UA,A,G,U */+ -550 -370 -200 -370 /* GU,UA,A,U,A */+ -990 -810 -400 -810 /* GU,UA,A,U,C */+ -550 -370 -200 -370 /* GU,UA,A,U,G */+ -1250 -1310 -1140 -1310 /* GU,UA,A,U,U */+ -240 -240 -240 -240 /* GU,UA,C,A,A */+ -520 -520 -520 -520 /* GU,UA,C,A,C */+ -1650 -1410 -1650 -1410 /* GU,UA,C,A,G */+ -520 -520 -520 -520 /* GU,UA,C,A,U */+ -370 -370 -370 -370 /* GU,UA,C,C,A */+ -370 -370 -370 -370 /* GU,UA,C,C,C */+ -370 -370 -370 -370 /* GU,UA,C,C,G */+ -500 -500 -500 -500 /* GU,UA,C,C,U */+ -1950 -1710 -1950 -1710 /* GU,UA,C,G,A */+ -520 -520 -520 -520 /* GU,UA,C,G,C */+ 410 410 410 410 /* GU,UA,C,G,G */+ -520 -520 -520 -520 /* GU,UA,C,G,U */+ -370 -370 -370 -370 /* GU,UA,C,U,A */+ -810 -810 -810 -810 /* GU,UA,C,U,C */+ -370 -370 -370 -370 /* GU,UA,C,U,G */+ -1310 -1310 -1310 -1310 /* GU,UA,C,U,U */+ -260 -240 1010 -240 /* GU,UA,G,A,A */+ -540 -520 730 -520 /* GU,UA,G,A,C */+ -1660 -1650 -1650 -1650 /* GU,UA,G,A,G */+ -540 -520 730 -520 /* GU,UA,G,A,U */+ -390 -370 880 -370 /* GU,UA,G,C,A */+ -150 -370 880 -370 /* GU,UA,G,C,C */+ -390 -370 880 -370 /* GU,UA,G,C,G */+ -280 -500 750 -500 /* GU,UA,G,C,U */+ -1960 -1950 -1950 -1950 /* GU,UA,G,G,A */+ -540 -520 730 -520 /* GU,UA,G,G,C */+ -860 410 -840 410 /* GU,UA,G,G,G */+ -540 -520 730 -520 /* GU,UA,G,G,U */+ -390 -370 880 -370 /* GU,UA,G,U,A */+ -590 -810 440 -810 /* GU,UA,G,U,C */+ -390 -370 880 -370 /* GU,UA,G,U,G */+ -1330 -1310 -1310 -1310 /* GU,UA,G,U,U */+ -240 -240 -240 0 /* GU,UA,U,A,A */+ -520 -520 -520 -520 /* GU,UA,U,A,C */+ -1650 -1410 -1650 -1650 /* GU,UA,U,A,G */+ -520 -520 -520 -520 /* GU,UA,U,A,U */+ -370 -370 -370 -370 /* GU,UA,U,C,A */+ -370 -370 -370 -370 /* GU,UA,U,C,C */+ -370 -370 -370 -370 /* GU,UA,U,C,G */+ -500 -500 -500 -500 /* GU,UA,U,C,U */+ -1950 -1710 -1950 -1950 /* GU,UA,U,G,A */+ -520 -520 -520 -520 /* GU,UA,U,G,C */+ 410 410 410 -840 /* GU,UA,U,G,G */+ -520 -520 -520 -520 /* GU,UA,U,G,U */+ -370 -370 -370 -370 /* GU,UA,U,U,A */+ -810 -810 -810 -810 /* GU,UA,U,U,C */+ -370 -370 -370 -370 /* GU,UA,U,U,G */+ -1310 -1310 -1310 -1310 /* GU,UA,U,U,U */+ -140 -650 -1160 -650 /* UG,CG,A,A,A */+ -450 -960 -1470 -960 /* UG,CG,A,A,C */+ -360 -870 -1380 -870 /* UG,CG,A,A,G */+ -450 -960 -1470 -960 /* UG,CG,A,A,U */+ 0 -510 -1020 -510 /* UG,CG,A,C,A */+ 0 -510 -780 -510 /* UG,CG,A,C,C */+ 0 -510 -1020 -510 /* UG,CG,A,C,G */+ -50 -560 -830 -560 /* UG,CG,A,C,U */+ -640 -1150 -1660 -1150 /* UG,CG,A,G,A */+ -450 -960 -1470 -960 /* UG,CG,A,G,C */+ 200 -310 -2070 -310 /* UG,CG,A,G,G */+ -450 -960 -1470 -960 /* UG,CG,A,G,U */+ 0 -510 -1020 -510 /* UG,CG,A,U,A */+ 50 -450 -720 -450 /* UG,CG,A,U,C */+ 0 -510 -1020 -510 /* UG,CG,A,U,G */+ -550 -1300 -1810 -1300 /* UG,CG,A,U,U */+ -650 -650 -650 -650 /* UG,CG,C,A,A */+ -960 -960 -960 -960 /* UG,CG,C,A,C */+ -870 -630 -870 -630 /* UG,CG,C,A,G */+ -960 -960 -960 -960 /* UG,CG,C,A,U */+ -510 -510 -510 -510 /* UG,CG,C,C,A */+ -510 -510 -510 -510 /* UG,CG,C,C,C */+ -510 -510 -510 -510 /* UG,CG,C,C,G */+ -560 -560 -560 -560 /* UG,CG,C,C,U */+ -1150 -910 -1150 -910 /* UG,CG,C,G,A */+ -960 -960 -960 -960 /* UG,CG,C,G,C */+ -310 -310 -310 -310 /* UG,CG,C,G,G */+ -960 -960 -960 -960 /* UG,CG,C,G,U */+ -510 -510 -510 -510 /* UG,CG,C,U,A */+ -450 -450 -450 -450 /* UG,CG,C,U,C */+ -510 -510 -510 -510 /* UG,CG,C,U,G */+ -1300 -1300 -1300 -1300 /* UG,CG,C,U,U */+ -990 -650 600 -650 /* UG,CG,G,A,A */+ -1300 -960 290 -960 /* UG,CG,G,A,C */+ -1210 -870 -870 -870 /* UG,CG,G,A,G */+ -1300 -960 290 -960 /* UG,CG,G,A,U */+ -850 -510 740 -510 /* UG,CG,G,C,A */+ -610 -510 740 -510 /* UG,CG,G,C,C */+ -850 -510 740 -510 /* UG,CG,G,C,G */+ -660 -560 690 -560 /* UG,CG,G,C,U */+ -1490 -1150 -1150 -1150 /* UG,CG,G,G,A */+ -1300 -960 290 -960 /* UG,CG,G,G,C */+ -1900 -310 -1560 -310 /* UG,CG,G,G,G */+ -1300 -960 290 -960 /* UG,CG,G,G,U */+ -850 -510 740 -510 /* UG,CG,G,U,A */+ -550 -450 800 -450 /* UG,CG,G,U,C */+ -850 -510 740 -510 /* UG,CG,G,U,G */+ -1640 -1300 -1300 -1300 /* UG,CG,G,U,U */+ -650 -650 -650 -410 /* UG,CG,U,A,A */+ -960 -960 -960 -960 /* UG,CG,U,A,C */+ -870 -630 -870 -870 /* UG,CG,U,A,G */+ -960 -960 -960 -960 /* UG,CG,U,A,U */+ -510 -510 -510 -510 /* UG,CG,U,C,A */+ -510 -510 -510 -510 /* UG,CG,U,C,C */+ -510 -510 -510 -510 /* UG,CG,U,C,G */+ -560 -560 -560 -560 /* UG,CG,U,C,U */+ -1150 -910 -1150 -1150 /* UG,CG,U,G,A */+ -960 -960 -960 -960 /* UG,CG,U,G,C */+ -310 -310 -310 -1560 /* UG,CG,U,G,G */+ -960 -960 -960 -960 /* UG,CG,U,G,U */+ -510 -510 -510 -510 /* UG,CG,U,U,A */+ -450 -450 -450 -450 /* UG,CG,U,U,C */+ -510 -510 -510 -510 /* UG,CG,U,U,G */+ -1300 -1300 -1300 -1300 /* UG,CG,U,U,U */+ -2040 -490 -1000 -490 /* UG,GC,A,A,A */+ -430 -940 -1450 -940 /* UG,GC,A,A,C */+ -1170 -1680 -2190 -1680 /* UG,GC,A,A,G */+ -430 -940 -1450 -940 /* UG,GC,A,A,U */+ -340 -850 -1360 -850 /* UG,GC,A,C,A */+ -650 -1160 -1430 -1160 /* UG,GC,A,C,C */+ -340 -850 -1360 -850 /* UG,GC,A,C,G */+ -650 -1160 -1430 -1160 /* UG,GC,A,C,U */+ -690 -1200 -1710 -1200 /* UG,GC,A,G,A */+ -430 -940 -1450 -940 /* UG,GC,A,G,C */+ 200 -310 -2070 -310 /* UG,GC,A,G,G */+ -430 -940 -1450 -940 /* UG,GC,A,G,U */+ -340 -850 -1360 -850 /* UG,GC,A,U,A */+ -960 -1470 -1740 -1470 /* UG,GC,A,U,C */+ -340 -850 -1360 -850 /* UG,GC,A,U,G */+ -390 -1140 -1650 -1140 /* UG,GC,A,U,U */+ -490 -490 -490 -490 /* UG,GC,C,A,A */+ -940 -940 -940 -940 /* UG,GC,C,A,C */+ -1680 -1440 -1680 -1440 /* UG,GC,C,A,G */+ -940 -940 -940 -940 /* UG,GC,C,A,U */+ -850 -850 -850 -850 /* UG,GC,C,C,A */+ -1160 -1160 -1160 -1160 /* UG,GC,C,C,C */+ -850 -850 -850 -850 /* UG,GC,C,C,G */+ -1160 -1160 -1160 -1160 /* UG,GC,C,C,U */+ -1200 -960 -1200 -960 /* UG,GC,C,G,A */+ -940 -940 -940 -940 /* UG,GC,C,G,C */+ -310 -310 -310 -310 /* UG,GC,C,G,G */+ -940 -940 -940 -940 /* UG,GC,C,G,U */+ -850 -850 -850 -850 /* UG,GC,C,U,A */+ -1470 -1470 -1470 -1470 /* UG,GC,C,U,C */+ -850 -850 -850 -850 /* UG,GC,C,U,G */+ -1140 -1140 -1140 -1140 /* UG,GC,C,U,U */+ -830 -490 760 -490 /* UG,GC,G,A,A */+ -1280 -940 310 -940 /* UG,GC,G,A,C */+ -2020 -1680 -1680 -1680 /* UG,GC,G,A,G */+ -1280 -940 310 -940 /* UG,GC,G,A,U */+ -1190 -850 400 -850 /* UG,GC,G,C,A */+ -1260 -1160 90 -1160 /* UG,GC,G,C,C */+ -1190 -850 400 -850 /* UG,GC,G,C,G */+ -1260 -1160 90 -1160 /* UG,GC,G,C,U */+ -1540 -1200 -1200 -1200 /* UG,GC,G,G,A */+ -1280 -940 310 -940 /* UG,GC,G,G,C */+ -1900 -310 -1560 -310 /* UG,GC,G,G,G */+ -1280 -940 310 -940 /* UG,GC,G,G,U */+ -1190 -850 400 -850 /* UG,GC,G,U,A */+ -1570 -1470 -220 -1470 /* UG,GC,G,U,C */+ -1190 -850 400 -850 /* UG,GC,G,U,G */+ -1480 -1140 -1140 -1140 /* UG,GC,G,U,U */+ -490 -490 -490 -250 /* UG,GC,U,A,A */+ -940 -940 -940 -940 /* UG,GC,U,A,C */+ -1680 -1440 -1680 -1680 /* UG,GC,U,A,G */+ -940 -940 -940 -940 /* UG,GC,U,A,U */+ -850 -850 -850 -850 /* UG,GC,U,C,A */+ -1160 -1160 -1160 -1160 /* UG,GC,U,C,C */+ -850 -850 -850 -850 /* UG,GC,U,C,G */+ -1160 -1160 -1160 -1160 /* UG,GC,U,C,U */+ -1200 -960 -1200 -1200 /* UG,GC,U,G,A */+ -940 -940 -940 -940 /* UG,GC,U,G,C */+ -310 -310 -310 -1560 /* UG,GC,U,G,G */+ -940 -940 -940 -940 /* UG,GC,U,G,U */+ -850 -850 -850 -850 /* UG,GC,U,U,A */+ -1470 -1470 -1470 -1470 /* UG,GC,U,U,C */+ -850 -850 -850 -850 /* UG,GC,U,U,G */+ -1140 -1140 -1140 -1140 /* UG,GC,U,U,U */+ -70 -1580 -2090 -1580 /* UG,GU,A,A,A */+ -890 -1400 -1910 -1400 /* UG,GU,A,A,C */+ -910 -1420 -1930 -1420 /* UG,GU,A,A,G */+ -890 -1400 -1910 -1400 /* UG,GU,A,A,U */+ -890 -1400 -1910 -1400 /* UG,GU,A,C,A */+ -890 -1400 -1670 -1400 /* UG,GU,A,C,C */+ -890 -1400 -1910 -1400 /* UG,GU,A,C,G */+ -890 -1400 -1670 -1400 /* UG,GU,A,C,U */+ -30 -1230 -1740 -1230 /* UG,GU,A,G,A */+ -890 -1400 -1910 -1400 /* UG,GU,A,G,C */+ 360 -150 -1910 -150 /* UG,GU,A,G,G */+ -890 -1400 -1910 -1400 /* UG,GU,A,G,U */+ -890 -1400 -1910 -1400 /* UG,GU,A,U,A */+ -890 -1400 -1670 -1400 /* UG,GU,A,U,C */+ -890 -1400 -1910 -1400 /* UG,GU,A,U,G */+ -650 -1400 -1910 -1400 /* UG,GU,A,U,U */+ -1580 -1580 -1580 -1580 /* UG,GU,C,A,A */+ -1400 -1400 -1400 -1400 /* UG,GU,C,A,C */+ -1420 -1180 -1420 -1180 /* UG,GU,C,A,G */+ -1400 -1400 -1400 -1400 /* UG,GU,C,A,U */+ -1400 -1400 -1400 -1400 /* UG,GU,C,C,A */+ -1400 -1400 -1400 -1400 /* UG,GU,C,C,C */+ -1400 -1400 -1400 -1400 /* UG,GU,C,C,G */+ -1400 -1400 -1400 -1400 /* UG,GU,C,C,U */+ -1230 -990 -1230 -990 /* UG,GU,C,G,A */+ -1400 -1400 -1400 -1400 /* UG,GU,C,G,C */+ -150 -150 -150 -150 /* UG,GU,C,G,G */+ -1400 -1400 -1400 -1400 /* UG,GU,C,G,U */+ -1400 -1400 -1400 -1400 /* UG,GU,C,U,A */+ -1400 -1400 -1400 -1400 /* UG,GU,C,U,C */+ -1400 -1400 -1400 -1400 /* UG,GU,C,U,G */+ -1400 -1400 -1400 -1400 /* UG,GU,C,U,U */+ -1600 -1580 -330 -1580 /* UG,GU,G,A,A */+ -1740 -1400 -150 -1400 /* UG,GU,G,A,C */+ -3040 -1420 -1420 -1420 /* UG,GU,G,A,G */+ -1740 -1400 -150 -1400 /* UG,GU,G,A,U */+ -1740 -1400 -150 -1400 /* UG,GU,G,C,A */+ -1500 -1400 -150 -1400 /* UG,GU,G,C,C */+ -1740 -1400 -150 -1400 /* UG,GU,G,C,G */+ -1500 -1400 -150 -1400 /* UG,GU,G,C,U */+ -1570 -1230 -1230 -1230 /* UG,GU,G,G,A */+ -1740 -1400 -150 -1400 /* UG,GU,G,G,C */+ -1740 -150 -1400 -150 /* UG,GU,G,G,G */+ -1740 -1400 -150 -1400 /* UG,GU,G,G,U */+ -1740 -1400 -150 -1400 /* UG,GU,G,U,A */+ -1500 -1400 -150 -1400 /* UG,GU,G,U,C */+ -1740 -1400 -150 -1400 /* UG,GU,G,U,G */+ -1740 -1400 -1400 -1400 /* UG,GU,G,U,U */+ -1580 -1580 -1580 -1340 /* UG,GU,U,A,A */+ -1400 -1400 -1400 -1400 /* UG,GU,U,A,C */+ -1420 -1180 -1420 -1420 /* UG,GU,U,A,G */+ -1400 -1400 -1400 -1400 /* UG,GU,U,A,U */+ -1400 -1400 -1400 -1400 /* UG,GU,U,C,A */+ -1400 -1400 -1400 -1400 /* UG,GU,U,C,C */+ -1400 -1400 -1400 -1400 /* UG,GU,U,C,G */+ -1400 -1400 -1400 -1400 /* UG,GU,U,C,U */+ -1230 -990 -1230 -1230 /* UG,GU,U,G,A */+ -1400 -1400 -1400 -1400 /* UG,GU,U,G,C */+ -150 -150 -150 -1400 /* UG,GU,U,G,G */+ -1400 -1400 -1400 -1400 /* UG,GU,U,G,U */+ -1400 -1400 -1400 -1400 /* UG,GU,U,U,A */+ -1400 -1400 -1400 -1400 /* UG,GU,U,U,C */+ -1400 -1400 -1400 -1400 /* UG,GU,U,U,G */+ -1400 -1400 -1400 -1400 /* UG,GU,U,U,U */+ 170 -340 -850 -340 /* UG,UG,A,A,A */+ -340 -850 -1360 -850 /* UG,UG,A,A,C */+ -680 -1190 -1700 -1190 /* UG,UG,A,A,G */+ -340 -850 -1360 -850 /* UG,UG,A,A,U */+ -340 -850 -1360 -850 /* UG,UG,A,C,A */+ -340 -850 -1120 -850 /* UG,UG,A,C,C */+ -340 -850 -1360 -850 /* UG,UG,A,C,G */+ -340 -850 -1120 -850 /* UG,UG,A,C,U */+ -850 -1360 -1870 -1360 /* UG,UG,A,G,A */+ -340 -850 -1360 -850 /* UG,UG,A,G,C */+ 910 400 -1360 400 /* UG,UG,A,G,G */+ -340 -850 -1360 -850 /* UG,UG,A,G,U */+ -340 -850 -1360 -850 /* UG,UG,A,U,A */+ -340 -850 -1120 -850 /* UG,UG,A,U,C */+ -340 -850 -1360 -850 /* UG,UG,A,U,G */+ -100 -850 -1360 -850 /* UG,UG,A,U,U */+ -340 -340 -340 -340 /* UG,UG,C,A,A */+ -850 -850 -850 -850 /* UG,UG,C,A,C */+ -1190 -950 -1190 -950 /* UG,UG,C,A,G */+ -850 -850 -850 -850 /* UG,UG,C,A,U */+ -850 -850 -850 -850 /* UG,UG,C,C,A */+ -850 -850 -850 -850 /* UG,UG,C,C,C */+ -850 -850 -850 -850 /* UG,UG,C,C,G */+ -850 -850 -850 -850 /* UG,UG,C,C,U */+ -1360 -1120 -1360 -1120 /* UG,UG,C,G,A */+ -850 -850 -850 -850 /* UG,UG,C,G,C */+ 400 400 400 400 /* UG,UG,C,G,G */+ -850 -850 -850 -850 /* UG,UG,C,G,U */+ -850 -850 -850 -850 /* UG,UG,C,U,A */+ -850 -850 -850 -850 /* UG,UG,C,U,C */+ -850 -850 -850 -850 /* UG,UG,C,U,G */+ -850 -850 -850 -850 /* UG,UG,C,U,U */+ -680 -340 910 -340 /* UG,UG,G,A,A */+ -1190 -850 400 -850 /* UG,UG,G,A,C */+ -1530 -1190 -1190 -1190 /* UG,UG,G,A,G */+ -1190 -850 400 -850 /* UG,UG,G,A,U */+ -1190 -850 400 -850 /* UG,UG,G,C,A */+ -950 -850 400 -850 /* UG,UG,G,C,C */+ -1190 -850 400 -850 /* UG,UG,G,C,G */+ -950 -850 400 -850 /* UG,UG,G,C,U */+ -1700 -1360 -1360 -1360 /* UG,UG,G,G,A */+ -1190 -850 400 -850 /* UG,UG,G,G,C */+ -1190 400 -850 400 /* UG,UG,G,G,G */+ -1190 -850 400 -850 /* UG,UG,G,G,U */+ -1190 -850 400 -850 /* UG,UG,G,U,A */+ -950 -850 400 -850 /* UG,UG,G,U,C */+ -1190 -850 400 -850 /* UG,UG,G,U,G */+ -1190 -850 -850 -850 /* UG,UG,G,U,U */+ -340 -340 -340 -100 /* UG,UG,U,A,A */+ -850 -850 -850 -850 /* UG,UG,U,A,C */+ -1190 -950 -1190 -1190 /* UG,UG,U,A,G */+ -850 -850 -850 -850 /* UG,UG,U,A,U */+ -850 -850 -850 -850 /* UG,UG,U,C,A */+ -850 -850 -850 -850 /* UG,UG,U,C,C */+ -850 -850 -850 -850 /* UG,UG,U,C,G */+ -850 -850 -850 -850 /* UG,UG,U,C,U */+ -1360 -1120 -1360 -1360 /* UG,UG,U,G,A */+ -850 -850 -850 -850 /* UG,UG,U,G,C */+ 400 400 400 -850 /* UG,UG,U,G,G */+ -850 -850 -850 -850 /* UG,UG,U,G,U */+ -850 -850 -850 -850 /* UG,UG,U,U,A */+ -850 -850 -850 -850 /* UG,UG,U,U,C */+ -850 -850 -850 -850 /* UG,UG,U,U,G */+ -850 -850 -850 -850 /* UG,UG,U,U,U */+ 750 240 -260 240 /* UG,AU,A,A,A */+ 440 -60 -570 -60 /* UG,AU,A,A,C */+ -630 -1140 -1650 -1140 /* UG,AU,A,A,G */+ 440 -60 -570 -60 /* UG,AU,A,A,U */+ 460 -50 -560 -50 /* UG,AU,A,C,A */+ 450 -50 -320 -50 /* UG,AU,A,C,C */+ 460 -50 -560 -50 /* UG,AU,A,C,G */+ 450 -50 -320 -50 /* UG,AU,A,C,U */+ -450 -960 -1470 -960 /* UG,AU,A,G,A */+ 440 -60 -570 -60 /* UG,AU,A,G,C */+ 1280 780 -980 780 /* UG,AU,A,G,G */+ 440 -60 -570 -60 /* UG,AU,A,G,U */+ 460 -50 -560 -50 /* UG,AU,A,U,A */+ 450 -50 -320 -50 /* UG,AU,A,U,C */+ 460 -50 -560 -50 /* UG,AU,A,U,G */+ -280 -1030 -1540 -1030 /* UG,AU,A,U,U */+ 240 240 240 240 /* UG,AU,C,A,A */+ -60 -60 -60 -60 /* UG,AU,C,A,C */+ -1140 -900 -1140 -900 /* UG,AU,C,A,G */+ -60 -60 -60 -60 /* UG,AU,C,A,U */+ -50 -50 -50 -50 /* UG,AU,C,C,A */+ -50 -50 -50 -50 /* UG,AU,C,C,C */+ -50 -50 -50 -50 /* UG,AU,C,C,G */+ -50 -50 -50 -50 /* UG,AU,C,C,U */+ -960 -720 -960 -720 /* UG,AU,C,G,A */+ -60 -60 -60 -60 /* UG,AU,C,G,C */+ 780 780 780 780 /* UG,AU,C,G,G */+ -60 -60 -60 -60 /* UG,AU,C,G,U */+ -50 -50 -50 -50 /* UG,AU,C,U,A */+ -50 -50 -50 -50 /* UG,AU,C,U,C */+ -50 -50 -50 -50 /* UG,AU,C,U,G */+ -1030 -1030 -1030 -1030 /* UG,AU,C,U,U */+ -90 240 1490 240 /* UG,AU,G,A,A */+ -400 -60 1190 -60 /* UG,AU,G,A,C */+ -1480 -1140 -1140 -1140 /* UG,AU,G,A,G */+ -400 -60 1190 -60 /* UG,AU,G,A,U */+ -390 -50 1200 -50 /* UG,AU,G,C,A */+ -150 -50 1200 -50 /* UG,AU,G,C,C */+ -390 -50 1200 -50 /* UG,AU,G,C,G */+ -150 -50 1200 -50 /* UG,AU,G,C,U */+ -1300 -960 -960 -960 /* UG,AU,G,G,A */+ -400 -60 1190 -60 /* UG,AU,G,G,C */+ -810 780 -470 780 /* UG,AU,G,G,G */+ -400 -60 1190 -60 /* UG,AU,G,G,U */+ -390 -50 1200 -50 /* UG,AU,G,U,A */+ -150 -50 1200 -50 /* UG,AU,G,U,C */+ -390 -50 1200 -50 /* UG,AU,G,U,G */+ -1370 -1030 -1030 -1030 /* UG,AU,G,U,U */+ 240 240 240 480 /* UG,AU,U,A,A */+ -60 -60 -60 -60 /* UG,AU,U,A,C */+ -1140 -900 -1140 -1140 /* UG,AU,U,A,G */+ -60 -60 -60 -60 /* UG,AU,U,A,U */+ -50 -50 -50 -50 /* UG,AU,U,C,A */+ -50 -50 -50 -50 /* UG,AU,U,C,C */+ -50 -50 -50 -50 /* UG,AU,U,C,G */+ -50 -50 -50 -50 /* UG,AU,U,C,U */+ -960 -720 -960 -960 /* UG,AU,U,G,A */+ -60 -60 -60 -60 /* UG,AU,U,G,C */+ 780 780 780 -470 /* UG,AU,U,G,G */+ -60 -60 -60 -60 /* UG,AU,U,G,U */+ -50 -50 -50 -50 /* UG,AU,U,U,A */+ -50 -50 -50 -50 /* UG,AU,U,U,C */+ -50 -50 -50 -50 /* UG,AU,U,U,G */+ -1030 -1030 -1030 -1030 /* UG,AU,U,U,U */+ 820 310 -200 310 /* UG,UA,A,A,A */+ 540 30 -480 30 /* UG,UA,A,A,C */+ -580 -1090 -1600 -1090 /* UG,UA,A,A,G */+ 540 30 -480 30 /* UG,UA,A,A,U */+ 690 180 -330 180 /* UG,UA,A,C,A */+ 690 180 -90 180 /* UG,UA,A,C,C */+ 690 180 -330 180 /* UG,UA,A,C,G */+ 560 50 -220 50 /* UG,UA,A,C,U */+ -880 -1390 -1900 -1390 /* UG,UA,A,G,A */+ 540 30 -480 30 /* UG,UA,A,G,C */+ 1470 960 -800 960 /* UG,UA,A,G,G */+ 540 30 -480 30 /* UG,UA,A,G,U */+ 690 180 -330 180 /* UG,UA,A,U,A */+ 250 -260 -530 -260 /* UG,UA,A,U,C */+ 690 180 -330 180 /* UG,UA,A,U,G */+ -10 -760 -1270 -760 /* UG,UA,A,U,U */+ 310 310 310 310 /* UG,UA,C,A,A */+ 30 30 30 30 /* UG,UA,C,A,C */+ -1090 -850 -1090 -850 /* UG,UA,C,A,G */+ 30 30 30 30 /* UG,UA,C,A,U */+ 180 180 180 180 /* UG,UA,C,C,A */+ 180 180 180 180 /* UG,UA,C,C,C */+ 180 180 180 180 /* UG,UA,C,C,G */+ 50 50 50 50 /* UG,UA,C,C,U */+ -1390 -1150 -1390 -1150 /* UG,UA,C,G,A */+ 30 30 30 30 /* UG,UA,C,G,C */+ 960 960 960 960 /* UG,UA,C,G,G */+ 30 30 30 30 /* UG,UA,C,G,U */+ 180 180 180 180 /* UG,UA,C,U,A */+ -260 -260 -260 -260 /* UG,UA,C,U,C */+ 180 180 180 180 /* UG,UA,C,U,G */+ -760 -760 -760 -760 /* UG,UA,C,U,U */+ -30 310 1560 310 /* UG,UA,G,A,A */+ -310 30 1280 30 /* UG,UA,G,A,C */+ -1430 -1090 -1090 -1090 /* UG,UA,G,A,G */+ -310 30 1280 30 /* UG,UA,G,A,U */+ -160 180 1430 180 /* UG,UA,G,C,A */+ 80 180 1430 180 /* UG,UA,G,C,C */+ -160 180 1430 180 /* UG,UA,G,C,G */+ -50 50 1300 50 /* UG,UA,G,C,U */+ -1730 -1390 -1390 -1390 /* UG,UA,G,G,A */+ -310 30 1280 30 /* UG,UA,G,G,C */+ -630 960 -290 960 /* UG,UA,G,G,G */+ -310 30 1280 30 /* UG,UA,G,G,U */+ -160 180 1430 180 /* UG,UA,G,U,A */+ -360 -260 990 -260 /* UG,UA,G,U,C */+ -160 180 1430 180 /* UG,UA,G,U,G */+ -1100 -760 -760 -760 /* UG,UA,G,U,U */+ 310 310 310 550 /* UG,UA,U,A,A */+ 30 30 30 30 /* UG,UA,U,A,C */+ -1090 -850 -1090 -1090 /* UG,UA,U,A,G */+ 30 30 30 30 /* UG,UA,U,A,U */+ 180 180 180 180 /* UG,UA,U,C,A */+ 180 180 180 180 /* UG,UA,U,C,C */+ 180 180 180 180 /* UG,UA,U,C,G */+ 50 50 50 50 /* UG,UA,U,C,U */+ -1390 -1150 -1390 -1390 /* UG,UA,U,G,A */+ 30 30 30 30 /* UG,UA,U,G,C */+ 960 960 960 -290 /* UG,UA,U,G,G */+ 30 30 30 30 /* UG,UA,U,G,U */+ 180 180 180 180 /* UG,UA,U,U,A */+ -260 -260 -260 -260 /* UG,UA,U,U,C */+ 180 180 180 180 /* UG,UA,U,U,G */+ -760 -760 -760 -760 /* UG,UA,U,U,U */+ 440 140 -770 140 /* AU,CG,A,A,A */+ 130 -160 -1080 -160 /* AU,CG,A,A,C */+ 220 -70 -980 -70 /* AU,CG,A,A,G */+ 130 -160 -1080 -160 /* AU,CG,A,A,U */+ 580 290 -620 290 /* AU,CG,A,C,A */+ 580 280 -390 280 /* AU,CG,A,C,C */+ 580 290 -620 290 /* AU,CG,A,C,G */+ 530 230 -440 230 /* AU,CG,A,C,U */+ -60 -350 -1270 -350 /* AU,CG,A,G,A */+ 130 -160 -1080 -160 /* AU,CG,A,G,C */+ 780 490 -1680 490 /* AU,CG,A,G,G */+ 130 -160 -1080 -160 /* AU,CG,A,G,U */+ 580 290 -620 290 /* AU,CG,A,U,A */+ 640 340 -330 340 /* AU,CG,A,U,C */+ 580 290 -620 290 /* AU,CG,A,U,G */+ 40 -500 -1410 -500 /* AU,CG,A,U,U */+ 130 140 130 140 /* AU,CG,C,A,A */+ -180 -170 -180 -170 /* AU,CG,C,A,C */+ -80 170 -80 170 /* AU,CG,C,A,G */+ -180 -170 -180 -170 /* AU,CG,C,A,U */+ 270 280 270 280 /* AU,CG,C,C,A */+ 270 280 270 280 /* AU,CG,C,C,C */+ 270 280 270 280 /* AU,CG,C,C,G */+ 220 230 220 230 /* AU,CG,C,C,U */+ -370 -120 -370 -120 /* AU,CG,C,G,A */+ -180 -170 -180 -170 /* AU,CG,C,G,C */+ 470 480 470 480 /* AU,CG,C,G,G */+ -180 -170 -180 -170 /* AU,CG,C,G,U */+ 270 280 270 280 /* AU,CG,C,U,A */+ 330 340 330 340 /* AU,CG,C,U,C */+ 270 280 270 280 /* AU,CG,C,U,G */+ -510 -500 -510 -500 /* AU,CG,C,U,U */+ -950 140 970 140 /* AU,CG,G,A,A */+ -1260 -160 660 -160 /* AU,CG,G,A,C */+ -1160 -70 -490 -70 /* AU,CG,G,A,G */+ -1260 -160 660 -160 /* AU,CG,G,A,U */+ -800 290 1120 290 /* AU,CG,G,C,A */+ -570 280 1110 280 /* AU,CG,G,C,C */+ -800 290 1120 290 /* AU,CG,G,C,G */+ -620 230 1060 230 /* AU,CG,G,C,U */+ -1450 -350 -780 -350 /* AU,CG,G,G,A */+ -1260 -160 660 -160 /* AU,CG,G,G,C */+ -1860 490 -1190 490 /* AU,CG,G,G,G */+ -1260 -160 660 -160 /* AU,CG,G,G,U */+ -800 290 1120 290 /* AU,CG,G,U,A */+ -510 340 1170 340 /* AU,CG,G,U,C */+ -800 290 1120 290 /* AU,CG,G,U,G */+ -1590 -500 -920 -500 /* AU,CG,G,U,U */+ 130 140 130 -600 /* AU,CG,U,A,A */+ -180 -170 -180 -1150 /* AU,CG,U,A,C */+ -80 170 -80 -1050 /* AU,CG,U,A,G */+ -180 -170 -180 -1150 /* AU,CG,U,A,U */+ 270 280 270 -690 /* AU,CG,U,C,A */+ 270 280 270 -700 /* AU,CG,U,C,C */+ 270 280 270 -690 /* AU,CG,U,C,G */+ 220 230 220 -750 /* AU,CG,U,C,U */+ -370 -120 -370 -1340 /* AU,CG,U,G,A */+ -180 -170 -180 -1150 /* AU,CG,U,G,C */+ 470 480 470 -1750 /* AU,CG,U,G,G */+ -180 -170 -180 -1150 /* AU,CG,U,G,U */+ 270 280 270 -690 /* AU,CG,U,U,A */+ 330 340 330 -640 /* AU,CG,U,U,C */+ 270 280 270 -690 /* AU,CG,U,U,G */+ -510 -500 -510 -1480 /* AU,CG,U,U,U */+ 600 310 -600 310 /* AU,GC,A,A,A */+ 150 -140 -1050 -140 /* AU,GC,A,A,C */+ -580 -880 -1790 -880 /* AU,GC,A,A,G */+ 150 -140 -1050 -140 /* AU,GC,A,A,U */+ 240 -50 -970 -50 /* AU,GC,A,C,A */+ -60 -360 -1030 -360 /* AU,GC,A,C,C */+ 240 -50 -970 -50 /* AU,GC,A,C,G */+ -60 -360 -1030 -360 /* AU,GC,A,C,U */+ -110 -400 -1320 -400 /* AU,GC,A,G,A */+ 150 -140 -1050 -140 /* AU,GC,A,G,C */+ 780 490 -1680 490 /* AU,GC,A,G,G */+ 150 -140 -1050 -140 /* AU,GC,A,G,U */+ 240 -50 -970 -50 /* AU,GC,A,U,A */+ -370 -670 -1340 -670 /* AU,GC,A,U,C */+ 240 -50 -970 -50 /* AU,GC,A,U,G */+ 190 -340 -1260 -340 /* AU,GC,A,U,U */+ 290 300 290 300 /* AU,GC,C,A,A */+ -150 -140 -150 -140 /* AU,GC,C,A,C */+ -890 -640 -890 -640 /* AU,GC,C,A,G */+ -150 -140 -150 -140 /* AU,GC,C,A,U */+ -70 -60 -70 -60 /* AU,GC,C,C,A */+ -370 -360 -370 -360 /* AU,GC,C,C,C */+ -70 -60 -70 -60 /* AU,GC,C,C,G */+ -370 -360 -370 -360 /* AU,GC,C,C,U */+ -420 -170 -420 -170 /* AU,GC,C,G,A */+ -150 -140 -150 -140 /* AU,GC,C,G,C */+ 470 480 470 480 /* AU,GC,C,G,G */+ -150 -140 -150 -140 /* AU,GC,C,G,U */+ -70 -60 -70 -60 /* AU,GC,C,U,A */+ -680 -670 -680 -670 /* AU,GC,C,U,C */+ -70 -60 -70 -60 /* AU,GC,C,U,G */+ -360 -350 -360 -350 /* AU,GC,C,U,U */+ -780 310 1140 310 /* AU,GC,G,A,A */+ -1230 -140 690 -140 /* AU,GC,G,A,C */+ -1970 -880 -1300 -880 /* AU,GC,G,A,G */+ -1230 -140 690 -140 /* AU,GC,G,A,U */+ -1150 -50 770 -50 /* AU,GC,G,C,A */+ -1210 -360 470 -360 /* AU,GC,G,C,C */+ -1150 -50 770 -50 /* AU,GC,G,C,G */+ -1210 -360 470 -360 /* AU,GC,G,C,U */+ -1500 -400 -830 -400 /* AU,GC,G,G,A */+ -1230 -140 690 -140 /* AU,GC,G,G,C */+ -1860 490 -1190 490 /* AU,GC,G,G,G */+ -1230 -140 690 -140 /* AU,GC,G,G,U */+ -1150 -50 770 -50 /* AU,GC,G,U,A */+ -1520 -670 160 -670 /* AU,GC,G,U,C */+ -1150 -50 770 -50 /* AU,GC,G,U,G */+ -1440 -340 -770 -340 /* AU,GC,G,U,U */+ 290 300 290 -430 /* AU,GC,U,A,A */+ -150 -140 -150 -1120 /* AU,GC,U,A,C */+ -890 -640 -890 -1860 /* AU,GC,U,A,G */+ -150 -140 -150 -1120 /* AU,GC,U,A,U */+ -70 -60 -70 -1040 /* AU,GC,U,C,A */+ -370 -360 -370 -1340 /* AU,GC,U,C,C */+ -70 -60 -70 -1040 /* AU,GC,U,C,G */+ -370 -360 -370 -1340 /* AU,GC,U,C,U */+ -420 -170 -420 -1390 /* AU,GC,U,G,A */+ -150 -140 -150 -1120 /* AU,GC,U,G,C */+ 470 480 470 -1750 /* AU,GC,U,G,G */+ -150 -140 -150 -1120 /* AU,GC,U,G,U */+ -70 -60 -70 -1040 /* AU,GC,U,U,A */+ -680 -670 -680 -1650 /* AU,GC,U,U,C */+ -70 -60 -70 -1040 /* AU,GC,U,U,G */+ -360 -350 -360 -1330 /* AU,GC,U,U,U */+ -490 -780 -1700 -780 /* AU,GU,A,A,A */+ -310 -600 -1520 -600 /* AU,GU,A,A,C */+ -320 -620 -1530 -620 /* AU,GU,A,A,G */+ -310 -600 -1520 -600 /* AU,GU,A,A,U */+ -310 -600 -1520 -600 /* AU,GU,A,C,A */+ -310 -600 -1280 -600 /* AU,GU,A,C,C */+ -310 -600 -1520 -600 /* AU,GU,A,C,G */+ -310 -600 -1280 -600 /* AU,GU,A,C,U */+ -130 -430 -1340 -430 /* AU,GU,A,G,A */+ -310 -600 -1520 -600 /* AU,GU,A,G,C */+ 940 650 -1520 650 /* AU,GU,A,G,G */+ -310 -600 -1520 -600 /* AU,GU,A,G,U */+ -310 -600 -1520 -600 /* AU,GU,A,U,A */+ -310 -600 -1280 -600 /* AU,GU,A,U,C */+ -310 -600 -1520 -600 /* AU,GU,A,U,G */+ -70 -600 -1520 -600 /* AU,GU,A,U,U */+ -800 -790 -800 -790 /* AU,GU,C,A,A */+ -620 -610 -620 -610 /* AU,GU,C,A,C */+ -630 -380 -630 -380 /* AU,GU,C,A,G */+ -620 -610 -620 -610 /* AU,GU,C,A,U */+ -620 -610 -620 -610 /* AU,GU,C,C,A */+ -620 -610 -620 -610 /* AU,GU,C,C,C */+ -620 -610 -620 -610 /* AU,GU,C,C,G */+ -620 -610 -620 -610 /* AU,GU,C,C,U */+ -440 -190 -440 -190 /* AU,GU,C,G,A */+ -620 -610 -620 -610 /* AU,GU,C,G,C */+ 630 640 630 640 /* AU,GU,C,G,G */+ -620 -610 -620 -610 /* AU,GU,C,G,U */+ -620 -610 -620 -610 /* AU,GU,C,U,A */+ -620 -610 -620 -610 /* AU,GU,C,U,C */+ -620 -610 -620 -610 /* AU,GU,C,U,G */+ -620 -610 -620 -610 /* AU,GU,C,U,U */+ -1880 -780 40 -780 /* AU,GU,G,A,A */+ -1700 -600 220 -600 /* AU,GU,G,A,C */+ -1710 -620 -1040 -620 /* AU,GU,G,A,G */+ -1700 -600 220 -600 /* AU,GU,G,A,U */+ -1700 -600 220 -600 /* AU,GU,G,C,A */+ -1460 -600 220 -600 /* AU,GU,G,C,C */+ -1700 -600 220 -600 /* AU,GU,G,C,G */+ -1460 -600 220 -600 /* AU,GU,G,C,U */+ -1520 -430 -850 -430 /* AU,GU,G,G,A */+ -1700 -600 220 -600 /* AU,GU,G,G,C */+ -1700 650 -1030 650 /* AU,GU,G,G,G */+ -1700 -600 220 -600 /* AU,GU,G,G,U */+ -1700 -600 220 -600 /* AU,GU,G,U,A */+ -1460 -600 220 -600 /* AU,GU,G,U,C */+ -1700 -600 220 -600 /* AU,GU,G,U,G */+ -1700 -600 -1030 -600 /* AU,GU,G,U,U */+ -800 -790 -800 -1530 /* AU,GU,U,A,A */+ -620 -610 -620 -1590 /* AU,GU,U,A,C */+ -630 -380 -630 -1600 /* AU,GU,U,A,G */+ -620 -610 -620 -1590 /* AU,GU,U,A,U */+ -620 -610 -620 -1590 /* AU,GU,U,C,A */+ -620 -610 -620 -1590 /* AU,GU,U,C,C */+ -620 -610 -620 -1590 /* AU,GU,U,C,G */+ -620 -610 -620 -1590 /* AU,GU,U,C,U */+ -440 -190 -440 -1410 /* AU,GU,U,G,A */+ -620 -610 -620 -1590 /* AU,GU,U,G,C */+ 630 640 630 -1590 /* AU,GU,U,G,G */+ -620 -610 -620 -1590 /* AU,GU,U,G,U */+ -620 -610 -620 -1590 /* AU,GU,U,U,A */+ -620 -610 -620 -1590 /* AU,GU,U,U,C */+ -620 -610 -620 -1590 /* AU,GU,U,U,G */+ -620 -610 -620 -1590 /* AU,GU,U,U,U */+ 750 460 -450 460 /* AU,UG,A,A,A */+ 240 -50 -960 -50 /* AU,UG,A,A,C */+ -90 -390 -1300 -390 /* AU,UG,A,A,G */+ 240 -50 -960 -50 /* AU,UG,A,A,U */+ 240 -50 -960 -50 /* AU,UG,A,C,A */+ 240 -50 -720 -50 /* AU,UG,A,C,C */+ 240 -50 -960 -50 /* AU,UG,A,C,G */+ 240 -50 -720 -50 /* AU,UG,A,C,U */+ -260 -560 -1470 -560 /* AU,UG,A,G,A */+ 240 -50 -960 -50 /* AU,UG,A,G,C */+ 1490 1200 -960 1200 /* AU,UG,A,G,G */+ 240 -50 -960 -50 /* AU,UG,A,G,U */+ 240 -50 -960 -50 /* AU,UG,A,U,A */+ 240 -50 -720 -50 /* AU,UG,A,U,C */+ 240 -50 -960 -50 /* AU,UG,A,U,G */+ 480 -50 -960 -50 /* AU,UG,A,U,U */+ 440 450 440 450 /* AU,UG,C,A,A */+ -60 -50 -60 -50 /* AU,UG,C,A,C */+ -400 -150 -400 -150 /* AU,UG,C,A,G */+ -60 -50 -60 -50 /* AU,UG,C,A,U */+ -60 -50 -60 -50 /* AU,UG,C,C,A */+ -60 -50 -60 -50 /* AU,UG,C,C,C */+ -60 -50 -60 -50 /* AU,UG,C,C,G */+ -60 -50 -60 -50 /* AU,UG,C,C,U */+ -570 -320 -570 -320 /* AU,UG,C,G,A */+ -60 -50 -60 -50 /* AU,UG,C,G,C */+ 1190 1200 1190 1200 /* AU,UG,C,G,G */+ -60 -50 -60 -50 /* AU,UG,C,G,U */+ -60 -50 -60 -50 /* AU,UG,C,U,A */+ -60 -50 -60 -50 /* AU,UG,C,U,C */+ -60 -50 -60 -50 /* AU,UG,C,U,G */+ -60 -50 -60 -50 /* AU,UG,C,U,U */+ -630 460 1280 460 /* AU,UG,G,A,A */+ -1140 -50 780 -50 /* AU,UG,G,A,C */+ -1480 -390 -810 -390 /* AU,UG,G,A,G */+ -1140 -50 780 -50 /* AU,UG,G,A,U */+ -1140 -50 780 -50 /* AU,UG,G,C,A */+ -900 -50 780 -50 /* AU,UG,G,C,C */+ -1140 -50 780 -50 /* AU,UG,G,C,G */+ -900 -50 780 -50 /* AU,UG,G,C,U */+ -1650 -560 -980 -560 /* AU,UG,G,G,A */+ -1140 -50 780 -50 /* AU,UG,G,G,C */+ -1140 1200 -470 1200 /* AU,UG,G,G,G */+ -1140 -50 780 -50 /* AU,UG,G,G,U */+ -1140 -50 780 -50 /* AU,UG,G,U,A */+ -900 -50 780 -50 /* AU,UG,G,U,C */+ -1140 -50 780 -50 /* AU,UG,G,U,G */+ -1140 -50 -470 -50 /* AU,UG,G,U,U */+ 440 450 440 -280 /* AU,UG,U,A,A */+ -60 -50 -60 -1030 /* AU,UG,U,A,C */+ -400 -150 -400 -1370 /* AU,UG,U,A,G */+ -60 -50 -60 -1030 /* AU,UG,U,A,U */+ -60 -50 -60 -1030 /* AU,UG,U,C,A */+ -60 -50 -60 -1030 /* AU,UG,U,C,C */+ -60 -50 -60 -1030 /* AU,UG,U,C,G */+ -60 -50 -60 -1030 /* AU,UG,U,C,U */+ -570 -320 -570 -1540 /* AU,UG,U,G,A */+ -60 -50 -60 -1030 /* AU,UG,U,G,C */+ 1190 1200 1190 -1030 /* AU,UG,U,G,G */+ -60 -50 -60 -1030 /* AU,UG,U,G,U */+ -60 -50 -60 -1030 /* AU,UG,U,U,A */+ -60 -50 -60 -1030 /* AU,UG,U,U,C */+ -60 -50 -60 -1030 /* AU,UG,U,U,G */+ -60 -50 -60 -1030 /* AU,UG,U,U,U */+ 1340 1040 130 1040 /* AU,AU,A,A,A */+ 1030 730 -180 730 /* AU,AU,A,A,C */+ -50 -340 -1260 -340 /* AU,AU,A,A,G */+ 1030 730 -180 730 /* AU,AU,A,A,U */+ 1040 750 -160 750 /* AU,AU,A,C,A */+ 1040 740 70 740 /* AU,AU,A,C,C */+ 1040 750 -160 750 /* AU,AU,A,C,G */+ 1040 740 70 740 /* AU,AU,A,C,U */+ 130 -160 -1080 -160 /* AU,AU,A,G,A */+ 1030 730 -180 730 /* AU,AU,A,G,C */+ 1870 1570 -590 1570 /* AU,AU,A,G,G */+ 1030 730 -180 730 /* AU,AU,A,G,U */+ 1040 750 -160 750 /* AU,AU,A,U,A */+ 1040 740 70 740 /* AU,AU,A,U,C */+ 1040 750 -160 750 /* AU,AU,A,U,G */+ 300 -230 -1150 -230 /* AU,AU,A,U,U */+ 1030 1040 1030 1040 /* AU,AU,C,A,A */+ 720 730 720 730 /* AU,AU,C,A,C */+ -360 -110 -360 -110 /* AU,AU,C,A,G */+ 720 730 720 730 /* AU,AU,C,A,U */+ 730 740 730 740 /* AU,AU,C,C,A */+ 730 740 730 740 /* AU,AU,C,C,C */+ 730 740 730 740 /* AU,AU,C,C,G */+ 730 740 730 740 /* AU,AU,C,C,U */+ -180 70 -180 70 /* AU,AU,C,G,A */+ 720 730 720 730 /* AU,AU,C,G,C */+ 1560 1570 1560 1570 /* AU,AU,C,G,G */+ 720 730 720 730 /* AU,AU,C,G,U */+ 730 740 730 740 /* AU,AU,C,U,A */+ 730 740 730 740 /* AU,AU,C,U,C */+ 730 740 730 740 /* AU,AU,C,U,G */+ -250 -240 -250 -240 /* AU,AU,C,U,U */+ -50 1040 1870 1040 /* AU,AU,G,A,A */+ -360 730 1560 730 /* AU,AU,G,A,C */+ -1440 -340 -770 -340 /* AU,AU,G,A,G */+ -360 730 1560 730 /* AU,AU,G,A,U */+ -340 750 1570 750 /* AU,AU,G,C,A */+ -110 740 1570 740 /* AU,AU,G,C,C */+ -340 750 1570 750 /* AU,AU,G,C,G */+ -110 740 1570 740 /* AU,AU,G,C,U */+ -1260 -160 -590 -160 /* AU,AU,G,G,A */+ -360 730 1560 730 /* AU,AU,G,G,C */+ -770 1570 -100 1570 /* AU,AU,G,G,G */+ -360 730 1560 730 /* AU,AU,G,G,U */+ -340 750 1570 750 /* AU,AU,G,U,A */+ -110 740 1570 740 /* AU,AU,G,U,C */+ -340 750 1570 750 /* AU,AU,G,U,G */+ -1330 -230 -660 -230 /* AU,AU,G,U,U */+ 1030 1040 1030 300 /* AU,AU,U,A,A */+ 720 730 720 -250 /* AU,AU,U,A,C */+ -360 -110 -360 -1330 /* AU,AU,U,A,G */+ 720 730 720 -250 /* AU,AU,U,A,U */+ 730 740 730 -230 /* AU,AU,U,C,A */+ 730 740 730 -240 /* AU,AU,U,C,C */+ 730 740 730 -230 /* AU,AU,U,C,G */+ 730 740 730 -240 /* AU,AU,U,C,U */+ -180 70 -180 -1150 /* AU,AU,U,G,A */+ 720 730 720 -250 /* AU,AU,U,G,C */+ 1560 1570 1560 -660 /* AU,AU,U,G,G */+ 720 730 720 -250 /* AU,AU,U,G,U */+ 730 740 730 -230 /* AU,AU,U,U,A */+ 730 740 730 -240 /* AU,AU,U,U,C */+ 730 740 730 -230 /* AU,AU,U,U,G */+ -250 -240 -250 -1220 /* AU,AU,U,U,U */+ 1400 1110 190 1110 /* AU,UA,A,A,A */+ 1120 830 -80 830 /* AU,UA,A,A,C */+ 0 -290 -1210 -290 /* AU,UA,A,A,G */+ 1120 830 -80 830 /* AU,UA,A,A,U */+ 1270 980 60 980 /* AU,UA,A,C,A */+ 1270 980 300 980 /* AU,UA,A,C,C */+ 1270 980 60 980 /* AU,UA,A,C,G */+ 1140 850 180 850 /* AU,UA,A,C,U */+ -300 -590 -1510 -590 /* AU,UA,A,G,A */+ 1120 830 -80 830 /* AU,UA,A,G,C */+ 2050 1760 -400 1760 /* AU,UA,A,G,G */+ 1120 830 -80 830 /* AU,UA,A,G,U */+ 1270 980 60 980 /* AU,UA,A,U,A */+ 830 540 -130 540 /* AU,UA,A,U,C */+ 1270 980 60 980 /* AU,UA,A,U,G */+ 570 40 -870 40 /* AU,UA,A,U,U */+ 1090 1100 1090 1100 /* AU,UA,C,A,A */+ 810 820 810 820 /* AU,UA,C,A,C */+ -310 -60 -310 -60 /* AU,UA,C,A,G */+ 810 820 810 820 /* AU,UA,C,A,U */+ 960 970 960 970 /* AU,UA,C,C,A */+ 960 970 960 970 /* AU,UA,C,C,C */+ 960 970 960 970 /* AU,UA,C,C,G */+ 830 840 830 840 /* AU,UA,C,C,U */+ -610 -360 -610 -360 /* AU,UA,C,G,A */+ 810 820 810 820 /* AU,UA,C,G,C */+ 1740 1750 1740 1750 /* AU,UA,C,G,G */+ 810 820 810 820 /* AU,UA,C,G,U */+ 960 970 960 970 /* AU,UA,C,U,A */+ 520 530 520 530 /* AU,UA,C,U,C */+ 960 970 960 970 /* AU,UA,C,U,G */+ 20 30 20 30 /* AU,UA,C,U,U */+ 10 1110 1930 1110 /* AU,UA,G,A,A */+ -260 830 1650 830 /* AU,UA,G,A,C */+ -1390 -290 -720 -290 /* AU,UA,G,A,G */+ -260 830 1650 830 /* AU,UA,G,A,U */+ -110 980 1800 980 /* AU,UA,G,C,A */+ 130 980 1800 980 /* AU,UA,G,C,C */+ -110 980 1800 980 /* AU,UA,G,C,G */+ 0 850 1670 850 /* AU,UA,G,C,U */+ -1690 -590 -1020 -590 /* AU,UA,G,G,A */+ -260 830 1650 830 /* AU,UA,G,G,C */+ -580 1760 80 1760 /* AU,UA,G,G,G */+ -260 830 1650 830 /* AU,UA,G,G,U */+ -110 980 1800 980 /* AU,UA,G,U,A */+ -310 540 1360 540 /* AU,UA,G,U,C */+ -110 980 1800 980 /* AU,UA,G,U,G */+ -1050 40 -380 40 /* AU,UA,G,U,U */+ 1090 1100 1090 360 /* AU,UA,U,A,A */+ 810 820 810 -150 /* AU,UA,U,A,C */+ -310 -60 -310 -1280 /* AU,UA,U,A,G */+ 810 820 810 -150 /* AU,UA,U,A,U */+ 960 970 960 0 /* AU,UA,U,C,A */+ 960 970 960 0 /* AU,UA,U,C,C */+ 960 970 960 0 /* AU,UA,U,C,G */+ 830 840 830 -130 /* AU,UA,U,C,U */+ -610 -360 -610 -1580 /* AU,UA,U,G,A */+ 810 820 810 -150 /* AU,UA,U,G,C */+ 1740 1750 1740 -470 /* AU,UA,U,G,G */+ 810 820 810 -150 /* AU,UA,U,G,U */+ 960 970 960 0 /* AU,UA,U,U,A */+ 520 530 520 -440 /* AU,UA,U,U,C */+ 960 970 960 0 /* AU,UA,U,U,G */+ 20 30 20 -940 /* AU,UA,U,U,U */+ 500 370 -1200 370 /* UA,CG,A,A,A */+ 190 60 -1510 60 /* UA,CG,A,A,C */+ 290 160 -1410 160 /* UA,CG,A,A,G */+ 190 60 -1510 60 /* UA,CG,A,A,U */+ 650 520 -1050 520 /* UA,CG,A,C,A */+ 640 510 -820 510 /* UA,CG,A,C,C */+ 650 520 -1050 520 /* UA,CG,A,C,G */+ 590 460 -870 460 /* UA,CG,A,C,U */+ 0 -120 -1700 -120 /* UA,CG,A,G,A */+ 190 60 -1510 60 /* UA,CG,A,G,C */+ 850 720 -2110 720 /* UA,CG,A,G,G */+ 190 60 -1510 60 /* UA,CG,A,G,U */+ 650 520 -1050 520 /* UA,CG,A,U,A */+ 700 570 -760 570 /* UA,CG,A,U,C */+ 650 520 -1050 520 /* UA,CG,A,U,G */+ 100 -270 -1840 -270 /* UA,CG,A,U,U */+ 220 370 220 -60 /* UA,CG,C,A,A */+ -80 60 -80 -370 /* UA,CG,C,A,C */+ 10 400 10 -40 /* UA,CG,C,A,G */+ -80 60 -80 -370 /* UA,CG,C,A,U */+ 370 520 370 80 /* UA,CG,C,C,A */+ 360 510 360 70 /* UA,CG,C,C,C */+ 370 520 370 80 /* UA,CG,C,C,G */+ 310 460 310 20 /* UA,CG,C,C,U */+ -270 120 -270 -320 /* UA,CG,C,G,A */+ -80 60 -80 -370 /* UA,CG,C,G,C */+ 570 720 570 280 /* UA,CG,C,G,G */+ -80 60 -80 -370 /* UA,CG,C,G,U */+ 370 520 370 80 /* UA,CG,C,U,A */+ 420 570 420 130 /* UA,CG,C,U,C */+ 370 520 370 80 /* UA,CG,C,U,G */+ -420 -270 -420 -710 /* UA,CG,C,U,U */+ -900 370 1160 370 /* UA,CG,G,A,A */+ -1210 60 850 60 /* UA,CG,G,A,C */+ -1110 160 -310 160 /* UA,CG,G,A,G */+ -1210 60 850 60 /* UA,CG,G,A,U */+ -750 520 1300 520 /* UA,CG,G,C,A */+ -520 510 1290 510 /* UA,CG,G,C,C */+ -750 520 1300 520 /* UA,CG,G,C,G */+ -570 460 1250 460 /* UA,CG,G,C,U */+ -1400 -120 -590 -120 /* UA,CG,G,G,A */+ -1210 60 850 60 /* UA,CG,G,G,C */+ -1810 720 -1000 720 /* UA,CG,G,G,G */+ -1210 60 850 60 /* UA,CG,G,G,U */+ -750 520 1300 520 /* UA,CG,G,U,A */+ -460 570 1350 570 /* UA,CG,G,U,C */+ -750 520 1300 520 /* UA,CG,G,U,G */+ -1540 -270 -740 -270 /* UA,CG,G,U,U */+ 220 240 220 -320 /* UA,CG,U,A,A */+ -80 -60 -80 -870 /* UA,CG,U,A,C */+ 10 270 10 -780 /* UA,CG,U,A,G */+ -80 -60 -80 -870 /* UA,CG,U,A,U */+ 370 390 370 -420 /* UA,CG,U,C,A */+ 360 380 360 -420 /* UA,CG,U,C,C */+ 370 390 370 -420 /* UA,CG,U,C,G */+ 310 330 310 -470 /* UA,CG,U,C,U */+ -270 -10 -270 -1060 /* UA,CG,U,G,A */+ -80 -60 -80 -870 /* UA,CG,U,G,C */+ 570 590 570 -1470 /* UA,CG,U,G,G */+ -80 -60 -80 -870 /* UA,CG,U,G,U */+ 370 390 370 -420 /* UA,CG,U,U,A */+ 420 440 420 -360 /* UA,CG,U,U,C */+ 370 390 370 -420 /* UA,CG,U,U,G */+ -420 -400 -420 -1210 /* UA,CG,U,U,U */+ 670 540 -1030 540 /* UA,GC,A,A,A */+ 220 90 -1480 90 /* UA,GC,A,A,C */+ -520 -650 -2220 -650 /* UA,GC,A,A,G */+ 220 90 -1480 90 /* UA,GC,A,A,U */+ 300 170 -1400 170 /* UA,GC,A,C,A */+ 0 -130 -1460 -130 /* UA,GC,A,C,C */+ 300 170 -1400 170 /* UA,GC,A,C,G */+ 0 -130 -1460 -130 /* UA,GC,A,C,U */+ -40 -170 -1750 -170 /* UA,GC,A,G,A */+ 220 90 -1480 90 /* UA,GC,A,G,C */+ 850 720 -2110 720 /* UA,GC,A,G,G */+ 220 90 -1480 90 /* UA,GC,A,G,U */+ 300 170 -1400 170 /* UA,GC,A,U,A */+ -310 -440 -1770 -440 /* UA,GC,A,U,C */+ 300 170 -1400 170 /* UA,GC,A,U,G */+ 250 -110 -1690 -110 /* UA,GC,A,U,U */+ 390 540 390 100 /* UA,GC,C,A,A */+ -60 90 -60 -350 /* UA,GC,C,A,C */+ -800 -410 -800 -850 /* UA,GC,C,A,G */+ -60 90 -60 -350 /* UA,GC,C,A,U */+ 20 170 20 -260 /* UA,GC,C,C,A */+ -280 -130 -280 -570 /* UA,GC,C,C,C */+ 20 170 20 -260 /* UA,GC,C,C,G */+ -280 -130 -280 -570 /* UA,GC,C,C,U */+ -320 70 -320 -370 /* UA,GC,C,G,A */+ -60 90 -60 -350 /* UA,GC,C,G,C */+ 570 720 570 280 /* UA,GC,C,G,G */+ -60 90 -60 -350 /* UA,GC,C,G,U */+ 20 170 20 -260 /* UA,GC,C,U,A */+ -590 -440 -590 -880 /* UA,GC,C,U,C */+ 20 170 20 -260 /* UA,GC,C,U,G */+ -260 -110 -260 -550 /* UA,GC,C,U,U */+ -730 540 1320 540 /* UA,GC,G,A,A */+ -1180 90 870 90 /* UA,GC,G,A,C */+ -1920 -650 -1120 -650 /* UA,GC,G,A,G */+ -1180 90 870 90 /* UA,GC,G,A,U */+ -1100 170 960 170 /* UA,GC,G,C,A */+ -1160 -130 650 -130 /* UA,GC,G,C,C */+ -1100 170 960 170 /* UA,GC,G,C,G */+ -1160 -130 650 -130 /* UA,GC,G,C,U */+ -1450 -170 -640 -170 /* UA,GC,G,G,A */+ -1180 90 870 90 /* UA,GC,G,G,C */+ -1810 720 -1000 720 /* UA,GC,G,G,G */+ -1180 90 870 90 /* UA,GC,G,G,U */+ -1100 170 960 170 /* UA,GC,G,U,A */+ -1470 -440 340 -440 /* UA,GC,G,U,C */+ -1100 170 960 170 /* UA,GC,G,U,G */+ -1390 -110 -580 -110 /* UA,GC,G,U,U */+ 390 410 390 -160 /* UA,GC,U,A,A */+ -60 -40 -60 -850 /* UA,GC,U,A,C */+ -800 -540 -800 -1590 /* UA,GC,U,A,G */+ -60 -40 -60 -850 /* UA,GC,U,A,U */+ 20 40 20 -760 /* UA,GC,U,C,A */+ -280 -260 -280 -1070 /* UA,GC,U,C,C */+ 20 40 20 -760 /* UA,GC,U,C,G */+ -280 -260 -280 -1070 /* UA,GC,U,C,U */+ -320 -60 -320 -1110 /* UA,GC,U,G,A */+ -60 -40 -60 -850 /* UA,GC,U,G,C */+ 570 590 570 -1470 /* UA,GC,U,G,G */+ -60 -40 -60 -850 /* UA,GC,U,G,U */+ 20 40 20 -760 /* UA,GC,U,U,A */+ -590 -570 -590 -1380 /* UA,GC,U,U,C */+ 20 40 20 -760 /* UA,GC,U,U,G */+ -260 -240 -260 -1050 /* UA,GC,U,U,U */+ -420 -550 -2130 -550 /* UA,GU,A,A,A */+ -240 -370 -1950 -370 /* UA,GU,A,A,C */+ -260 -390 -1960 -390 /* UA,GU,A,A,G */+ -240 -370 -1950 -370 /* UA,GU,A,A,U */+ -240 -370 -1950 -370 /* UA,GU,A,C,A */+ -240 -370 -1710 -370 /* UA,GU,A,C,C */+ -240 -370 -1950 -370 /* UA,GU,A,C,G */+ -240 -370 -1710 -370 /* UA,GU,A,C,U */+ -70 -200 -1770 -200 /* UA,GU,A,G,A */+ -240 -370 -1950 -370 /* UA,GU,A,G,C */+ 1010 880 -1950 880 /* UA,GU,A,G,G */+ -240 -370 -1950 -370 /* UA,GU,A,G,U */+ -240 -370 -1950 -370 /* UA,GU,A,U,A */+ -240 -370 -1710 -370 /* UA,GU,A,U,C */+ -240 -370 -1950 -370 /* UA,GU,A,U,G */+ 0 -370 -1950 -370 /* UA,GU,A,U,U */+ -700 -550 -700 -990 /* UA,GU,C,A,A */+ -520 -370 -520 -810 /* UA,GU,C,A,C */+ -540 -150 -540 -590 /* UA,GU,C,A,G */+ -520 -370 -520 -810 /* UA,GU,C,A,U */+ -520 -370 -520 -810 /* UA,GU,C,C,A */+ -520 -370 -520 -810 /* UA,GU,C,C,C */+ -520 -370 -520 -810 /* UA,GU,C,C,G */+ -520 -370 -520 -810 /* UA,GU,C,C,U */+ -350 40 -350 -400 /* UA,GU,C,G,A */+ -520 -370 -520 -810 /* UA,GU,C,G,C */+ 730 880 730 440 /* UA,GU,C,G,G */+ -520 -370 -520 -810 /* UA,GU,C,G,U */+ -520 -370 -520 -810 /* UA,GU,C,U,A */+ -520 -370 -520 -810 /* UA,GU,C,U,C */+ -520 -370 -520 -810 /* UA,GU,C,U,G */+ -520 -370 -520 -810 /* UA,GU,C,U,U */+ -1830 -550 230 -550 /* UA,GU,G,A,A */+ -1650 -370 410 -370 /* UA,GU,G,A,C */+ -1660 -390 -860 -390 /* UA,GU,G,A,G */+ -1650 -370 410 -370 /* UA,GU,G,A,U */+ -1650 -370 410 -370 /* UA,GU,G,C,A */+ -1410 -370 410 -370 /* UA,GU,G,C,C */+ -1650 -370 410 -370 /* UA,GU,G,C,G */+ -1410 -370 410 -370 /* UA,GU,G,C,U */+ -1470 -200 -670 -200 /* UA,GU,G,G,A */+ -1650 -370 410 -370 /* UA,GU,G,G,C */+ -1650 880 -840 880 /* UA,GU,G,G,G */+ -1650 -370 410 -370 /* UA,GU,G,G,U */+ -1650 -370 410 -370 /* UA,GU,G,U,A */+ -1410 -370 410 -370 /* UA,GU,G,U,C */+ -1650 -370 410 -370 /* UA,GU,G,U,G */+ -1650 -370 -840 -370 /* UA,GU,G,U,U */+ -700 -680 -700 -1250 /* UA,GU,U,A,A */+ -520 -500 -520 -1310 /* UA,GU,U,A,C */+ -540 -280 -540 -1330 /* UA,GU,U,A,G */+ -520 -500 -520 -1310 /* UA,GU,U,A,U */+ -520 -500 -520 -1310 /* UA,GU,U,C,A */+ -520 -500 -520 -1310 /* UA,GU,U,C,C */+ -520 -500 -520 -1310 /* UA,GU,U,C,G */+ -520 -500 -520 -1310 /* UA,GU,U,C,U */+ -350 -90 -350 -1140 /* UA,GU,U,G,A */+ -520 -500 -520 -1310 /* UA,GU,U,G,C */+ 730 750 730 -1310 /* UA,GU,U,G,G */+ -520 -500 -520 -1310 /* UA,GU,U,G,U */+ -520 -500 -520 -1310 /* UA,GU,U,U,A */+ -520 -500 -520 -1310 /* UA,GU,U,U,C */+ -520 -500 -520 -1310 /* UA,GU,U,U,G */+ -520 -500 -520 -1310 /* UA,GU,U,U,U */+ 820 690 -880 690 /* UA,UG,A,A,A */+ 310 180 -1390 180 /* UA,UG,A,A,C */+ -30 -160 -1730 -160 /* UA,UG,A,A,G */+ 310 180 -1390 180 /* UA,UG,A,A,U */+ 310 180 -1390 180 /* UA,UG,A,C,A */+ 310 180 -1150 180 /* UA,UG,A,C,C */+ 310 180 -1390 180 /* UA,UG,A,C,G */+ 310 180 -1150 180 /* UA,UG,A,C,U */+ -200 -330 -1900 -330 /* UA,UG,A,G,A */+ 310 180 -1390 180 /* UA,UG,A,G,C */+ 1560 1430 -1390 1430 /* UA,UG,A,G,G */+ 310 180 -1390 180 /* UA,UG,A,G,U */+ 310 180 -1390 180 /* UA,UG,A,U,A */+ 310 180 -1150 180 /* UA,UG,A,U,C */+ 310 180 -1390 180 /* UA,UG,A,U,G */+ 550 180 -1390 180 /* UA,UG,A,U,U */+ 540 690 540 250 /* UA,UG,C,A,A */+ 30 180 30 -260 /* UA,UG,C,A,C */+ -310 80 -310 -360 /* UA,UG,C,A,G */+ 30 180 30 -260 /* UA,UG,C,A,U */+ 30 180 30 -260 /* UA,UG,C,C,A */+ 30 180 30 -260 /* UA,UG,C,C,C */+ 30 180 30 -260 /* UA,UG,C,C,G */+ 30 180 30 -260 /* UA,UG,C,C,U */+ -480 -90 -480 -530 /* UA,UG,C,G,A */+ 30 180 30 -260 /* UA,UG,C,G,C */+ 1280 1430 1280 990 /* UA,UG,C,G,G */+ 30 180 30 -260 /* UA,UG,C,G,U */+ 30 180 30 -260 /* UA,UG,C,U,A */+ 30 180 30 -260 /* UA,UG,C,U,C */+ 30 180 30 -260 /* UA,UG,C,U,G */+ 30 180 30 -260 /* UA,UG,C,U,U */+ -580 690 1470 690 /* UA,UG,G,A,A */+ -1090 180 960 180 /* UA,UG,G,A,C */+ -1430 -160 -630 -160 /* UA,UG,G,A,G */+ -1090 180 960 180 /* UA,UG,G,A,U */+ -1090 180 960 180 /* UA,UG,G,C,A */+ -850 180 960 180 /* UA,UG,G,C,C */+ -1090 180 960 180 /* UA,UG,G,C,G */+ -850 180 960 180 /* UA,UG,G,C,U */+ -1600 -330 -800 -330 /* UA,UG,G,G,A */+ -1090 180 960 180 /* UA,UG,G,G,C */+ -1090 1430 -290 1430 /* UA,UG,G,G,G */+ -1090 180 960 180 /* UA,UG,G,G,U */+ -1090 180 960 180 /* UA,UG,G,U,A */+ -850 180 960 180 /* UA,UG,G,U,C */+ -1090 180 960 180 /* UA,UG,G,U,G */+ -1090 180 -290 180 /* UA,UG,G,U,U */+ 540 560 540 -10 /* UA,UG,U,A,A */+ 30 50 30 -760 /* UA,UG,U,A,C */+ -310 -50 -310 -1100 /* UA,UG,U,A,G */+ 30 50 30 -760 /* UA,UG,U,A,U */+ 30 50 30 -760 /* UA,UG,U,C,A */+ 30 50 30 -760 /* UA,UG,U,C,C */+ 30 50 30 -760 /* UA,UG,U,C,G */+ 30 50 30 -760 /* UA,UG,U,C,U */+ -480 -220 -480 -1270 /* UA,UG,U,G,A */+ 30 50 30 -760 /* UA,UG,U,G,C */+ 1280 1300 1280 -760 /* UA,UG,U,G,G */+ 30 50 30 -760 /* UA,UG,U,G,U */+ 30 50 30 -760 /* UA,UG,U,U,A */+ 30 50 30 -760 /* UA,UG,U,U,C */+ 30 50 30 -760 /* UA,UG,U,U,G */+ 30 50 30 -760 /* UA,UG,U,U,U */+ 1400 1270 -300 1270 /* UA,AU,A,A,A */+ 1090 960 -610 960 /* UA,AU,A,A,C */+ 10 -110 -1690 -110 /* UA,AU,A,A,G */+ 1090 960 -610 960 /* UA,AU,A,A,U */+ 1110 980 -590 980 /* UA,AU,A,C,A */+ 1100 970 -360 970 /* UA,AU,A,C,C */+ 1110 980 -590 980 /* UA,AU,A,C,G */+ 1100 970 -360 970 /* UA,AU,A,C,U */+ 190 60 -1510 60 /* UA,AU,A,G,A */+ 1090 960 -610 960 /* UA,AU,A,G,C */+ 1930 1800 -1020 1800 /* UA,AU,A,G,G */+ 1090 960 -610 960 /* UA,AU,A,G,U */+ 1110 980 -590 980 /* UA,AU,A,U,A */+ 1100 970 -360 970 /* UA,AU,A,U,C */+ 1110 980 -590 980 /* UA,AU,A,U,G */+ 360 0 -1580 0 /* UA,AU,A,U,U */+ 1120 1270 1120 830 /* UA,AU,C,A,A */+ 810 960 810 520 /* UA,AU,C,A,C */+ -260 130 -260 -310 /* UA,AU,C,A,G */+ 810 960 810 520 /* UA,AU,C,A,U */+ 830 980 830 540 /* UA,AU,C,C,A */+ 820 970 820 530 /* UA,AU,C,C,C */+ 830 980 830 540 /* UA,AU,C,C,G */+ 820 970 820 530 /* UA,AU,C,C,U */+ -80 300 -80 -130 /* UA,AU,C,G,A */+ 810 960 810 520 /* UA,AU,C,G,C */+ 1650 1800 1650 1360 /* UA,AU,C,G,G */+ 810 960 810 520 /* UA,AU,C,G,U */+ 830 980 830 540 /* UA,AU,C,U,A */+ 820 970 820 530 /* UA,AU,C,U,C */+ 830 980 830 540 /* UA,AU,C,U,G */+ -150 0 -150 -440 /* UA,AU,C,U,U */+ 0 1270 2050 1270 /* UA,AU,G,A,A */+ -310 960 1740 960 /* UA,AU,G,A,C */+ -1390 -110 -580 -110 /* UA,AU,G,A,G */+ -310 960 1740 960 /* UA,AU,G,A,U */+ -290 980 1760 980 /* UA,AU,G,C,A */+ -60 970 1750 970 /* UA,AU,G,C,C */+ -290 980 1760 980 /* UA,AU,G,C,G */+ -60 970 1750 970 /* UA,AU,G,C,U */+ -1210 60 -400 60 /* UA,AU,G,G,A */+ -310 960 1740 960 /* UA,AU,G,G,C */+ -720 1800 80 1800 /* UA,AU,G,G,G */+ -310 960 1740 960 /* UA,AU,G,G,U */+ -290 980 1760 980 /* UA,AU,G,U,A */+ -60 970 1750 970 /* UA,AU,G,U,C */+ -290 980 1760 980 /* UA,AU,G,U,G */+ -1280 0 -470 0 /* UA,AU,G,U,U */+ 1120 1140 1120 570 /* UA,AU,U,A,A */+ 810 830 810 20 /* UA,AU,U,A,C */+ -260 0 -260 -1050 /* UA,AU,U,A,G */+ 810 830 810 20 /* UA,AU,U,A,U */+ 830 850 830 40 /* UA,AU,U,C,A */+ 820 840 820 30 /* UA,AU,U,C,C */+ 830 850 830 40 /* UA,AU,U,C,G */+ 820 840 820 30 /* UA,AU,U,C,U */+ -80 180 -80 -870 /* UA,AU,U,G,A */+ 810 830 810 20 /* UA,AU,U,G,C */+ 1650 1670 1650 -380 /* UA,AU,U,G,G */+ 810 830 810 20 /* UA,AU,U,G,U */+ 830 850 830 40 /* UA,AU,U,U,A */+ 820 840 820 30 /* UA,AU,U,U,C */+ 830 850 830 40 /* UA,AU,U,U,G */+ -150 -130 -150 -940 /* UA,AU,U,U,U */+ 1470 1340 -230 1340 /* UA,UA,A,A,A */+ 1190 1060 -510 1060 /* UA,UA,A,A,C */+ 60 -60 -1640 -60 /* UA,UA,A,A,G */+ 1190 1060 -510 1060 /* UA,UA,A,A,U */+ 1340 1210 -360 1210 /* UA,UA,A,C,A */+ 1340 1210 -120 1210 /* UA,UA,A,C,C */+ 1340 1210 -360 1210 /* UA,UA,A,C,G */+ 1210 1080 -250 1080 /* UA,UA,A,C,U */+ -230 -360 -1940 -360 /* UA,UA,A,G,A */+ 1190 1060 -510 1060 /* UA,UA,A,G,C */+ 2120 1990 -830 1990 /* UA,UA,A,G,G */+ 1190 1060 -510 1060 /* UA,UA,A,G,U */+ 1340 1210 -360 1210 /* UA,UA,A,U,A */+ 900 770 -560 770 /* UA,UA,A,U,C */+ 1340 1210 -360 1210 /* UA,UA,A,U,G */+ 640 270 -1300 270 /* UA,UA,A,U,U */+ 1190 1340 1190 900 /* UA,UA,C,A,A */+ 910 1060 910 620 /* UA,UA,C,A,C */+ -210 180 -210 -260 /* UA,UA,C,A,G */+ 910 1060 910 620 /* UA,UA,C,A,U */+ 1060 1210 1060 770 /* UA,UA,C,C,A */+ 1060 1210 1060 770 /* UA,UA,C,C,C */+ 1060 1210 1060 770 /* UA,UA,C,C,G */+ 930 1080 930 640 /* UA,UA,C,C,U */+ -510 -120 -510 -560 /* UA,UA,C,G,A */+ 910 1060 910 620 /* UA,UA,C,G,C */+ 1840 1990 1840 1550 /* UA,UA,C,G,G */+ 910 1060 910 620 /* UA,UA,C,G,U */+ 1060 1210 1060 770 /* UA,UA,C,U,A */+ 620 770 620 330 /* UA,UA,C,U,C */+ 1060 1210 1060 770 /* UA,UA,C,U,G */+ 120 270 120 -170 /* UA,UA,C,U,U */+ 60 1340 2120 1340 /* UA,UA,G,A,A */+ -210 1060 1840 1060 /* UA,UA,G,A,C */+ -1340 -60 -530 -60 /* UA,UA,G,A,G */+ -210 1060 1840 1060 /* UA,UA,G,A,U */+ -60 1210 1990 1210 /* UA,UA,G,C,A */+ 180 1210 1990 1210 /* UA,UA,G,C,C */+ -60 1210 1990 1210 /* UA,UA,G,C,G */+ 50 1080 1860 1080 /* UA,UA,G,C,U */+ -1640 -360 -830 -360 /* UA,UA,G,G,A */+ -210 1060 1840 1060 /* UA,UA,G,G,C */+ -530 1990 270 1990 /* UA,UA,G,G,G */+ -210 1060 1840 1060 /* UA,UA,G,G,U */+ -60 1210 1990 1210 /* UA,UA,G,U,A */+ -260 770 1550 770 /* UA,UA,G,U,C */+ -60 1210 1990 1210 /* UA,UA,G,U,G */+ -1000 270 -200 270 /* UA,UA,G,U,U */+ 1190 1210 1190 640 /* UA,UA,U,A,A */+ 910 930 910 120 /* UA,UA,U,A,C */+ -210 50 -210 -1000 /* UA,UA,U,A,G */+ 910 930 910 120 /* UA,UA,U,A,U */+ 1060 1080 1060 270 /* UA,UA,U,C,A */+ 1060 1080 1060 270 /* UA,UA,U,C,C */+ 1060 1080 1060 270 /* UA,UA,U,C,G */+ 930 950 930 140 /* UA,UA,U,C,U */+ -510 -250 -510 -1300 /* UA,UA,U,G,A */+ 910 930 910 120 /* UA,UA,U,G,C */+ 1840 1860 1840 -200 /* UA,UA,U,G,G */+ 910 930 910 120 /* UA,UA,U,G,U */+ 1060 1080 1060 270 /* UA,UA,U,U,A */+ 620 640 620 -170 /* UA,UA,U,U,C */+ 1060 1080 1060 270 /* UA,UA,U,U,G */+ 120 140 120 -670 /* UA,UA,U,U,U */++# hairpin+ INF INF INF 540 560 570 540 600 550 640+ 650 660 670 680 690 690 700 710 710 720+ 720 730 730 740 740 750 750 750 760 760+ 770++# hairpin_enthalpies+ INF INF INF 130 480 360 -290 130 -290 500+ 500 500 500 500 500 500 500 500 500 500+ 500 500 500 500 500 500 500 500 500 500+ 500++# bulge+ INF 380 280 320 360 400 440 460 470 480+ 490 500 510 520 530 540 540 550 550 560+ 570 570 580 580 580 590 590 600 600 600+ 610++# bulge_enthalpies+ INF 1060 710 710 710 710 710 710 710 710+ 710 710 710 710 710 710 710 710 710 710+ 710 710 710 710 710 710 710 710 710 710+ 710++# interior+ INF INF INF INF 110 200 200 210 230 240+ 250 260 270 280 290 290 300 310 310 320+ 330 330 340 340 350 350 350 360 360 370+ 370++# interior_enthalpies+ INF INF INF INF -720 -680 -130 -130 -130 -130+ -130 -130 -130 -130 -130 -130 -130 -130 -130 -130+ -130 -130 -130 -130 -130 -130 -130 -130 -130 -130+ -130++# ML_params+ 0 0 930 3000 -90 -220++# NINIO+ 60 320 300++# Misc+ 410 360 50 370++# Triloops+CAACG 680 2370+GUUAC 690 1080++# Tetraloops+CAACGG 550 690+CCAAGG 330 -1030+CCACGG 370 -330+CCCAGG 340 -890+CCGAGG 350 -660+CCGCGG 360 -750+CCUAGG 370 -350+CCUCGG 250 -1390+CUAAGG 360 -760+CUACGG 280 -1070+CUCAGG 370 -660+CUCCGG 270 -1290+CUGCGG 280 -1070+CUUAGG 350 -620+CUUCGG 370 -1530+CUUUGG 370 -680++# Hexaloops+ACAGUACU 280 -1680+ACAGUGAU 360 -1140+ACAGUGCU 290 -1280+ACAGUGUU 180 -1540+++#END
+ templates/cheader view
@@ -0,0 +1,60 @@+++/*+ Automatically generated using the TurnerParser+ TurnerParser (c) 2008,2009,2010,2011+ Christian Hoener zu Siederdissen, TBI Vienna+ choener (at) tbi.univie.ac.at++ Important links:+ http://hackage.haskell.org/package/Biobase+ http://www.tbi.univie.ac.at/~choener/+ http://www.biohaskell.org/+*/++/*+ Current free energy parameters are summarized in:++ D.H.Mathews, J. Sabina, M. ZUker, D.H. Turner+ "Expanded sequence dependence of thermodynamic parameters improves+ prediction of RNA secondary structure"+ JMB, 288, pp 911-940, 1999++ Enthalpies taken from:++ A. Walter, D Turner, J Kim, M Lyttle, P M"uller, D Mathews, M Zuker+ "Coaxial stacking of helices enhances binding of oligoribonucleotides.."+ PNAS, 91, pp 9218-9222, 1994++ D.H. Turner, N. Sugimoto, and S.M. Freier.+ "RNA Structure Prediction",+ Ann. Rev. Biophys. Biophys. Chem. 17, 167-192, 1988.++ John A.Jaeger, Douglas H.Turner, and Michael Zuker.+ "Improved predictions of secondary structures for RNA",+ PNAS, 86, 7706-7710, October 1989.++ L. He, R. Kierzek, J. SantaLucia, A.E. Walter, D.H. Turner+ "Nearest-Neighbor Parameters for GU Mismatches...."+ Biochemistry 1991, 30 11124-11132++ A.E. Peritz, R. Kierzek, N, Sugimoto, D.H. Turner+ "Thermodynamic Study of Internal Loops in Oligoribonucleotides..."+ Biochemistry 1991, 30, 6428--6435+*/++++#include "energy_const.h"+/*@unused@*/+static char rcsid[] = "$Id: energy_par.c,v 1.6 2004/08/12 12:11:57 ivo Exp $";++#define NST 0 /* Energy for nonstandard stacked pairs */+#define DEF -50 /* Default terminal mismatch, used for I */+ /* and any non_pairing bases */+#define NSM 0 /* terminal mismatch for non standard pairs */++#define PUBLIC++PUBLIC double Tmeasure = 37+K0; /* temperature of param measurements */+