mirror of
https://github.com/Xevion/exercism.git
synced 2025-12-15 00:11:42 -06:00
62 lines
1.5 KiB
Markdown
62 lines
1.5 KiB
Markdown
# RNA Transcription
|
|
|
|
Given a DNA strand, return its RNA complement (per RNA transcription).
|
|
|
|
Both DNA and RNA strands are a sequence of nucleotides.
|
|
|
|
The four nucleotides found in DNA are adenine (**A**), cytosine (**C**),
|
|
guanine (**G**) and thymine (**T**).
|
|
|
|
The four nucleotides found in RNA are adenine (**A**), cytosine (**C**),
|
|
guanine (**G**) and uracil (**U**).
|
|
|
|
Given a DNA strand, its transcribed RNA strand is formed by replacing
|
|
each nucleotide with its complement:
|
|
|
|
* `G` -> `C`
|
|
* `C` -> `G`
|
|
* `T` -> `A`
|
|
* `A` -> `U`
|
|
|
|
## Running tests
|
|
|
|
Execute the tests with:
|
|
|
|
```bash
|
|
$ mix test
|
|
```
|
|
|
|
### Pending tests
|
|
|
|
In the test suites, all but the first test have been skipped.
|
|
|
|
Once you get a test passing, you can unskip the next one by
|
|
commenting out the relevant `@tag :pending` with a `#` symbol.
|
|
|
|
For example:
|
|
|
|
```elixir
|
|
# @tag :pending
|
|
test "shouting" do
|
|
assert Bob.hey("WATCH OUT!") == "Whoa, chill out!"
|
|
end
|
|
```
|
|
|
|
Or, you can enable all the tests by commenting out the
|
|
`ExUnit.configure` line in the test suite.
|
|
|
|
```elixir
|
|
# ExUnit.configure exclude: :pending, trace: true
|
|
```
|
|
|
|
If you're stuck on something, it may help to look at some of
|
|
the [available resources](https://exercism.io/tracks/elixir/resources)
|
|
out there where answers might be found.
|
|
|
|
## Source
|
|
|
|
Hyperphysics [http://hyperphysics.phy-astr.gsu.edu/hbase/Organic/transcription.html](http://hyperphysics.phy-astr.gsu.edu/hbase/Organic/transcription.html)
|
|
|
|
## Submitting Incomplete Solutions
|
|
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|