TheAlgorithms-Python
30 строк · 555.0 Байт
1import re2
3
4def dna(dna: str) -> str:5"""6https://en.wikipedia.org/wiki/DNA
7Returns the second side of a DNA strand
8
9>>> dna("GCTA")
10'CGAT'
11>>> dna("ATGC")
12'TACG'
13>>> dna("CTGA")
14'GACT'
15>>> dna("GFGG")
16Traceback (most recent call last):
17...
18ValueError: Invalid Strand
19"""
20
21if len(re.findall("[ATCG]", dna)) != len(dna):22raise ValueError("Invalid Strand")23
24return dna.translate(dna.maketrans("ATCG", "TAGC"))25
26
27if __name__ == "__main__":28import doctest29
30doctest.testmod()31