This is the result of discussions on the two (now closed) issues:
rna-transcription -- weird non-biological thing slipped into this problem #148
and
RNA Transcription: source gives slightly different problem definition #1078
Here is the first draft of the updated description.md:
# Nucleotide Transcription
In the fields of molecular biology and genetic engineering, DNA and RNA are key concepts.
DNA and RNA strands are both sequences 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 (on the left), complementary RNA transcription produces an RNA strand (on the right),
* `G` -> `C`
* `C` -> `G`
* `T` -> `U`
* `A` -> `T`
Given an RNA strand (on the left), complementary reverse transcription produces a DNA strand (on the right),
* `C` -> `G`
* `G` -> `C`
* `U` -> `T`
* `T` -> `A`
Write a program that, given a DNA strand, will return its RNA complement (per RNA transcription) and,
given an RNA strand, will return its DNA complement (per reverse transcription).
(When coding your solution, remember DRY - Do not Repeat Yourself)
Source: Rosalind [http://rosalind.info/problems/rna](http://rosalind.info/problems/rna)
Will submit the PRs after review here.
I don't think adding this specific exercise is a good idea.
Some questions for you:
What programming concept is this new exercise trying to demonstrate?
What is another domain that could be used to illustrate this concept?
What other Exercism exercises already include this concept?
@Insti This has already been resolved, see the other two issues.
This issue was created at the request of @kytrinyx and is designed to replace the useless RNA Transcription (and, as it happens, biologically incorrect) exercise.
The question for now is just the wording of the description.md
Ok.
I could not find the answer to my questions in the other two referenced issues.
I strongly disagree with modifying the existing RNA Transcription exercise to make it into a two-way mapping problem.
@Insti well that has already been discussed elsewhere in those issues.
I am not interested in discussing that here. Take it back to those two issues or start another one (e.g. "Dont deprecate RNA Transcription for Nucleotide Transcription")
This issue is just to deliver a biologically correct two-way mapping problem.
I have some questions regarding this specific proposal, these are:
What programming concept is this new exercise trying to demonstrate?
What is another domain that could be used to illustrate this concept?
What other Exercism exercises already include this concept?
What programming concept is this new exercise trying to demonstrate?
-Asymmetric Two-way mapping using DRY
What is another domain that could be used to illustrate this concept?
-Any that you can think of that require two-way mapping
What other Exercism exercises already include this concept?
-None that I have done.
There is a biological basis for the reverse mapping using reverse transcriptase. It doesn't happen naturally in humans, but the biological basis for going both ways does exist.
We would need to ensure that the problem description is unambiguous, explaining that the reverse transcription is uncommon.
I believe that this would make a more interesting exercise than the original that goes only one way.
It does happen in humans when infected with a microbe containing reverse transcriptase! Anyway been busy on other stuff will revise the readme when I have time.
It does happen in humans when infected with a microbe containing reverse transcriptase
I'm pretty sure I should have known this :-) I think I recall working with reverse transcriptase in the lab during my studies (inserting green fluorescent protein into some creature or other).
Anyway. The key take-away here is that:
rna-transcription which has historically been fraught with confusion and thrashing.I do think that it's worth mentioning in the README examples from nature in each direction, in order to prevent confusion about this in the future.
I agree. Will add this to the readme when I have time to submit a PR
Before I improve too much on how "RNA Transcription" is implemented as an exercise in the Haskell track, I'd like to know if @martinfreedman is still interested in improving on this exercise idea. I've also found the original "RNA Transcription" not meaty enough.
Most helpful comment
I'm pretty sure I should have known this :-) I think I recall working with reverse transcriptase in the lab during my studies (inserting green fluorescent protein into some creature or other).
Anyway. The key take-away here is that:
rna-transcriptionwhich has historically been fraught with confusion and thrashing.I do think that it's worth mentioning in the README examples from nature in each direction, in order to prevent confusion about this in the future.