def test_pattern2regex_repeat(): assert seq_utils.pattern2regex( 'FREDR(2)G(2,5)(KAI)(3,)[ILMV](4)', protein=True) == 'FREDR{2}G{2,5}(KAI){3,}[ILMV]{4}'
def test_pattern2regex_start(): assert seq_utils.pattern2regex('<FRED', protein=True) == '^FRED'
def test_pattern2regex_ambiguous(): assert seq_utils.pattern2regex('FRED[AB]{ZR}', protein=True) == 'FRED[ADN][^EQR]'
def test_pattern2regex_any_none(): assert seq_utils.pattern2regex('FRED[ANY]{ECPT}', protein=True) == 'FRED[ANY][^ECPT]'
def test_pattern2regex_prot(): assert seq_utils.pattern2regex('FREDZXBAR', protein=True) == 'FRED[EQ].[DN]AR'
def test_pattern2regex_nt(): assert seq_utils.pattern2regex( 'GARYSWKMBDHVNCT' ) == 'GA[AG][CT][CG][AT][GT][AC][CGT][AGT][ACT][ACG][ACGT]CT'
def test_pattern2regex_end(): assert seq_utils.pattern2regex('FRED>', protein=True) == 'FRED$'