You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
434 B
25 lines
434 B
4 years ago
|
defmodule RnaTranscription do
|
||
|
@doc """
|
||
|
Transcribes a character list representing DNA nucleotides to RNA
|
||
|
|
||
|
## Examples
|
||
|
|
||
|
iex> RnaTranscription.to_rna('ACTG')
|
||
|
'UGAC'
|
||
|
"""
|
||
|
@spec to_rna([char]) :: [char]
|
||
|
def to_rna(dna) do
|
||
|
Enum.map(dna, &(dna_to_rna(&1)))
|
||
|
end
|
||
|
|
||
|
@spec dna_to_rna(char) :: char
|
||
|
def dna_to_rna(strand) do
|
||
|
case strand do
|
||
|
?A -> ?U
|
||
|
?C -> ?G
|
||
|
?T -> ?A
|
||
|
?G -> ?C
|
||
|
end
|
||
|
end
|
||
|
end
|