I hereby claim:
- I am amonshiz on github.
- I am amonshiz (https://keybase.io/amonshiz) on keybase.
- I have a public key whose fingerprint is 3C33 34F9 4FE4 0007 2172 D017 7D2B 3BD7 1BB9 BE71
To claim this, I am signing this object:
import qualified Bioinformatics.DNANucleotide as D | |
hammingDistance :: (Eq a) => [a] -> [a] -> Int | |
hammingDistance l1 l2 = length . filter (not) $ zipWith (==) l1 l2 | |
main = do | |
string1 <- getLine | |
string2 <- getLine | |
let dnaString1 = map D.charToDNANucleotide string1 | |
let dnaString2 = map D.charToDNANucleotide string2 |
expectedValue :: Fractional a => a -> a -> a -> a -> a -> a -> a | |
expectedValue n1 n2 n3 n4 n5 n6 = 2 * (n1 + n2 + n3) + 1.5 * n4 + n5 | |
main = do | |
numString <- getLine | |
let nums = map read $ words numString :: [Double] | |
putStrLn . show $ expectedValue (nums!!0) (nums!!1) (nums!!2) (nums!!3) (nums!!4) (nums!!5) |
nextMonth :: [Int] -> [Int] | |
nextMonth xs = (sum $ tail xs) : (init xs) | |
numRabbits :: Int -> Int -> Int | |
numRabbits _ 0 = 0 | |
numRabbits _ 1 = 1 | |
numRabbits m n = sum $ foldl (\prevM _ -> nextMonth prevM) (1 : take (m-1) (repeat 0)) [2..n] | |
main = do | |
n <- readLn :: IO Int |
import qualified Bioinformatics.Protein as P | |
import qualified Bioinformatics.RNANucleotide as R | |
import qualified Data.Map as M | |
codonRNATable = M.fromListWith (++) . map (\(k,v) -> (v, [k])) $ M.toList P.rnaCodonTable | |
codonLookup :: P.AminoAcid -> [R.RNAString] | |
codonLookup = maybe [] id . (flip M.lookup codonRNATable) | |
codonMappings :: [P.AminoAcid] -> [[R.RNAString]] |
import qualified Bioinformatics.Protein as P | |
import qualified Data.Map as M | |
calculateProteinMass :: P.Protein -> Double | |
calculateProteinMass ps = | |
let masses = map getValue ps | |
getValue aa = maybe 0.0 id (M.lookup aa P.monoisotopicMasses) | |
in sum masses | |
main = do |
import qualified Bioinformatics.Protein as P | |
import qualified Data.Map as M | |
import Control.Applicative | |
calculateProteinMass :: String -> Maybe Double | |
calculateProteinMass aas = sum <$> (sequence $ map (flip M.lookup P.monoisotopicMasses . P.charToAminoAcid) aas) | |
main = do | |
aas <- getLine | |
-- putStrLn . show . calculateProteinMass $ map P.charToAminoAcid aas |
module Bioinformatics.FASTA ( | |
FASTAFormatLine(..), | |
buildFASTALines, | |
buildFASTALinesWith | |
) where | |
import qualified Bioinformatics.DNANucleotide as D | |
import qualified Data.List.Split as S | |
-- type FASTAFormatLine = (String, [D.DNANucleotide]) |
import qualified Bioinformatics.DNANucleotide as D | |
import qualified Bioinformatics.FASTA as F | |
import qualified Data.Maybe as MB | |
import qualified Data.Map as M | |
import qualified Data.List as L | |
import Control.Applicative | |
getLines contents = do | |
line <- getLine | |
if null line |
I hereby claim:
To claim this, I am signing this object:
import qualified Bioinformatics.DNANucleotide as D | |
import qualified Bioinformatics.FASTA as F | |
import qualified Data.List as L | |
getLines contents = do | |
line <- getLine | |
if null line | |
then return contents | |
else getLines $ contents ++ line ++ "\n" |