mirror of
https://github.com/TheAlgorithms/Python.git
synced 2024-11-27 23:11:09 +00:00
cbf3c6140a
* adding the dna algorithm * following bot recommendations following bot recommendations for the indentation * following bot recommendations following bot recommendations regarding indentation [ again ] * following bot recommendations following bot recommendations regarding indentation [ again. ] * following bot recommendations following bot recommendations.
27 lines
486 B
Python
27 lines
486 B
Python
import re
|
|
|
|
|
|
def dna(dna: str) -> str:
|
|
|
|
"""
|
|
https://en.wikipedia.org/wiki/DNA
|
|
Returns the second side of a DNA strand
|
|
|
|
>>> dna("GCTA")
|
|
'CGAT'
|
|
>>> dna("ATGC")
|
|
'TACG'
|
|
>>> dna("CTGA")
|
|
'GACT'
|
|
>>> dna("GFGG")
|
|
'Invalid Strand'
|
|
"""
|
|
|
|
r = len(re.findall("[ATCG]", dna)) != len(dna)
|
|
val = dna.translate(dna.maketrans("ATCG", "TAGC"))
|
|
return "Invalid Strand" if r else val
|
|
|
|
|
|
if __name__ == "__main__":
|
|
__import__("doctest").testmod()
|