gcPct seq = lenGC seq / (realToFrac $ T.length seq)
  where
    lenGC = T.foldr ((+) . countGC) 0 . copySeq
    countGC nt = case nt of
      'G' -> 1.0
      'C' -> 1.0
      _   -> 0

--need a function to test if the input format is good, or put it into IO? or it's too costful for data from fastq? (because most of the format actually is good in fastq file)
gcPct seq = lenGC seq / (realToFrac $ T.length seq)
  where
    lenGC = T.foldr ((+) . countGC) 0 . copySeq
    countGC nt = case nt of
      'G' -> 1.0
      'C' -> 1.0
      _   -> 0

--need a function to test if the input format is good, or put it into IO? or it's too costful for data from fastq? (because most of the format actually is good in fastq file)
gcPct seq = lenGC seq / (realToFrac $ T.length seq)
  where
    lenGC = T.foldr ((+) . countGC) 0 . copySeq
    countGC nt = case nt of
      'G' -> 1.0
      'C' -> 1.0
      _   -> 0

--need a function to test if the input format is good, or put it into IO? or it's too costful for data from fastq? (because most of the format actually is good in fastq file)