elynx-seq-0.0.1: Handle molecular sequences

Copyright(c) Dominik Schrempf 2019
LicenseGPL-3
Maintainerdominik.schrempf@gmail.com
Stabilityunstable
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

ELynx.Data.Alphabet.Alphabet

Description

Creation date: Fri May 10 11:10:32 2019.

Hierarchy:

  1. Character type.
  2. Sets of Characters form Alphabets; each Alphabet has a specification AlphabetSpec.

New alphabets have to be added manually in this module.

This way of handling characters and alphabets IS NOT TYPE SAFE, but much, much faster. A second layer of modules such as Nucleotide depend on a Character type class. Hence, they provide a type safe way of handling alphabets. Conversion is possible, for instance, with fromCVec, and toCVec.

Synopsis

Documentation

data Alphabet Source #

Available alphabets; for details see alphabetSpec.

data AlphabetSpec Source #

Alphabet specification. Set is used because it provides fast lookups.

Constructors

AlphabetSpec 

Fields

alphabetSpec :: Alphabet -> AlphabetSpec Source #

Get the alphabet specification for a given alphabet.

alphabetNameVerbose :: Alphabet -> String Source #

Verbose alphabet name.

isStd :: Alphabet -> Character -> Bool Source #

Test if standard character.

isGap :: Alphabet -> Character -> Bool Source #

Test if gap.

isUnknown :: Alphabet -> Character -> Bool Source #

Test if unknown.

isIUPAC :: Alphabet -> Character -> Bool Source #

Test if extended IUPAC character (excluding gaps and unknowns).

isMember :: Alphabet -> Character -> Bool Source #

Test if member of alphabet.