Tweak language and formatting in `protein-translation/description.md`

Just circling back to double check at @IsaacG 's request. Is this OK for the final format and wording of the changed part?


You can break an RNA strand into three-nucleotide sequences called codons and then translate them into amino acids to make a protein like so:

RNA Three-letter codons Amino acids
“AUGUUUUCU” “AUG”, “UUU”, “UCU” “Methionine”, “Phenylalanine”, “Serine”

There are also three STOP codons. If you encounter any of these codons, ignore the rest of the sequence — the protein is complete. For example, UAA is a STOP codon, so ignore any subsequent codons:

RNA Three-letter codons Amino acids
“AUGUUUUCUUAAAUG” “AUG”, “UUU”, “UCU”, “UAA”, “AUG” “Methionine”, “Phenylalanine”, “Serine”

(Note that the latter AUG is not translated into another methionine.)

Below are the codons and resulting amino acids needed for the exercise.

Are you only rewording the mentioned sentences here or also removing content which isn’t mentioned in this post? If you are dropping content, please mention explicitly which parts are being removed.

It’s not clear from the post, but the prior version did not have parentheses around the note. It would be helpful to call out what you are changing here.

Are the parenthesis around the Note needed? I don’t think that is consistent with notes in other exercises.

It did: Tweak language and formatting in `protein-translation/description.md` - #20 by codingthat The first post just now erroneously had the "Note: " version because I copied from a local preview of the change we discussed on GitHub. Please ignore that edit, this bracketed version is actually what I originally proposed, as you can see from the link.

It’s nearly a rewrite at this point. The major drop was here:

There are 64 codons which in turn correspond to 20 amino acids; however, all of the codon sequences and resulting amino acids are not important in this exercise.
If it works for one codon, the program should work for all of them.
However, feel free to expand the list in the test suite to include them all.

There are also three terminating codons (also known as stop codons); if any of these codons are encountered, all translation ends and the protein is terminated.
All subsequent codons are ignored, like this:

This became simply:

There are also three STOP codons. If you encounter any of these codons, ignore the rest of the sequence — the protein is complete. For example, UAA is a STOP codon, so ignore any subsequent codons:

1 Like

Cross-posting my reply (so that others see it too, who are not on the PR)

@codingthat no worries, you are very eager to help out which we love, there is just a lot of history here and definitely some organisational scar tissue.

We absolutely would like for you to continue campaigning this and we’ll continue the discussion here, but I did want to point out you can take each response here at face value with no hidden meaning. :slight_smile:

1 Like

I don’t see any reason to drop this.

I don’t think this should be bracketed.

It might be easier to discuss a smaller number of changes at a time. It makes the discussions and changes easier :slight_smile:

2 Likes

I want to unravel this since there are two separate issues that were conflated by proximity.

However, feel free to expand the list in the test suite to include them all. should be dropped because it implies a student could edit the test suite in the browser. However, outside of D, I’m not aware of other tracks where one could do that in the browser. If we’re just letting folks know they can edit the test suite locally, why shouldn’t we do this for all the other exercises?

I then suggested we could also remove the preceding text because the table later on introduces the codons used in the canonical test data. So this information both comes a little early and might cause confusion if a track chooses to add additional codons (Rust and Cairo both did for a while). I’m not aware of other tracks that add additional codons so that was a more a theoretical concern.

2 Likes

I agree with everything you said here. In addition, “If it works for one codon, the program should work for all of them” is both dubious (you can easily make a program that works for just one codon…and I have actually seen solutions like this posted on Exercism, that just return whatever the test suite happens to look for, without a general approach) and a bit unclear as to what knowledge or insight it offers the student.

So I’m happy with cutting it.

As for the parentheses around the note, I prefer them because it should, theoretically, already be clear without that note, just from the table and its preceding sentence. But in case a student is having trouble connecting the dots, here’s a note — but it’s not, strictly speaking, new information. Maybe a better way to say it would be:

(In other words, the latter AUG is not translated into another methionine here because it’s preceded by a STOP codon.)

But I suppose with that wording I’m OK dropping the parentheses, because the “in other words” is doing something similar.

1 Like

Great. Perhaps you could summarise the changes now and we can get some consensus?

1 Like

I appreciate the nudge, but which version of the changes? The last two messages are still awaiting replies: Does @IsaacG agree with @BNAndras ’ cut in the end? Does anyone have thoughts on my parentheses and/or prefer the “in other words” route? I don’t want to presume that my opinion is the proposed change in creating a diff or summary (already learned my lesson there, haha). (Unless that’s what everyone would like this time. ;) )

I agree the bit about there being 64 codons could be improved. I don’t think it should be dropped entirely; I think there is value in mentioning that the list is incomplete and there are more codons. I would suggest leaving that alone for now to limit the scope of the change/discussion and optionally discussing that as a second change once the originally proposed changes have been merged.

Feel free to propose/summarize a change here on the forum. It helps move things along. The smaller/simpler the change, the easier it is to reach a consensus. If you propose something that people disagree with, we can discuss it and/or update the proposal. If you propose something that sounds good, we can proceed to a PR.

1 Like

OK, here’s what I propose as the final diff. I added back in the 64 codons part with the improvements that had been proposed before a full cut had been proposed. I’ve opened a separate thread about the full cut.

Full summary of changes:

  1. Active voice
  2. Use tables
  3. Remove unexplained reference to ribosomes
  4. Clarify wording following STOP codon example
  5. Standardize STOP codon (prioritizing ease of maintenance, not correctness)
  6. Still mention 64 codons for now, but: cut unclear message about expanding the test suite (only applicable to offline users), cut untrue message about the program working for all codons if it works for one codon, and fix grammatical mistake (use “not all are important” instead of “all are not important”)
  7. Remove redundant “after” (given “subsequent”)

Preview render:

Description

Translate RNA sequences into proteins.

You can break an RNA strand into three-nucleotide sequences called codons and then translate them into amino acids to make a protein like so:

RNA Three-letter codons Amino acids
“AUGUUUUCU” “AUG”, “UUU”, “UCU” “Methionine”, “Phenylalanine”, “Serine”

There are also three STOP codons. If you encounter any of these codons, ignore the rest of the sequence — the protein is complete. For example, UAA is a STOP codon, so ignore any subsequent codons:

RNA Three-letter codons Amino acids
“AUGUUUUCUUAAAUG” “AUG”, “UUU”, “UCU”, “UAA”, “AUG” “Methionine”, “Phenylalanine”, “Serine”

In other words, the latter AUG is not translated into another methionine here because it’s preceded by a STOP codon.

There are 64 codons which in turn correspond to 20 amino acids; however, not all codons will be used in this exercise. Below are the codons and resulting amino acids needed for the exercise.

Codon Amino Acid
AUG Methionine
UUU, UUC Phenylalanine
UUA, UUG Leucine
UCU, UCC, UCA, UCG Serine
UAU, UAC Tyrosine
UGU, UGC Cysteine
UGG Tryptophan
UAA, UAG, UGA STOP

Learn more about protein translation on Wikipedia.

1 Like

I like everything except for the first two tables. I rather see it as the rna string above it and then each row being one codon.

It doesn’t render well on smaller form factors.

1 Like

I’m not a huge fan of this paragraph after the example. It feels like the flow is broken to be. IMO the explanation should be in one place before the example.

1 Like

Note, focusing on small incremental changes tends to get things done faster and with less work. For instance, removing a redundant “after” or standardizing the capitation of stop should be a pretty simple change without much discussion. You could get those fixed without having them tangled up or bogged down by discussions about other rewrites. Doing so would also make those rewrite discussions simpler and more clear as you’d be discussing fewer things. Rather than changing a bunch of things at once, it might be easier to do small, incremental changes.

1 Like

You mentioned some tracks extend this list? If so, whatever PR rewrites this paragraph should take that into account and avoid communicating misleading information. I’m not sure how to best do so here, but this sentence might be problematic on tracks that extend the list. Conversely, maybe those tracks should follow the spec.

1 Like

Cairo and Rust don’t anymore. I’ll have to check the other tracks later.

2 Likes

Alright, how about we orient the table vertically then since we’re only dealing with one RNA sequence at a time?

For example, the RNA strand “AUGUUUUCU” is translated like this:

| Codon | Amino Acid |
| ------ | ---------- |
| AUG | Methionine |
| UUU | Phenylalanine |
| UCU | Serine |

and

 For example, AUGUUUUCUUAAAUG contains a STOP codon, so ignore any subsequent codons:

| Codon | Amino Acid |
| ----- | ---------- |
| AUG | Methionine |
| UUU | Phenylalanine |
| UCU | Serine |
| UAA | STOPPED |
| AUG | STOPPED |
1 Like

Works for me

2 Likes