group theory formal language theory mathematical modelling in dna computing bioinformatics and computational biology genomics dna splicing computation sequencing graphs theoretical computer science discrete mathematics gene expression