Feature #7: Detecting a Protein
Implement the "Detecting a Protein" feature for our "Computational Biology" project.
Description
Proteins are characterized by long palindrome sequences of nucleotides, where a character represents each nucleotide. We have received a sample that may be a protein. However, the nucleotides in this sample may have been rearranged due to a mutation.
Given a sequence of nucleotides, our task is to check if any True
if it is a protein, and return False
if it is not a protein.
The following examples may help to clarify this problem:
Solution
If some permutation of a sequence with an even length is a palindrome, every nucleotide in the sequence must appear an even number of times. Similarly, if a permutation of a sequence with an odd length is a palindrome, every nucleotide, except one, must appear an even number of times. So, in the case of a sequence being a palindrome and when there is a sequence of an odd length, the number of nucleotides with an odd number of occurrences cannot exceed 1. Similarly, in the case of a sequence with an even length, the number of nucleotides with an odd number of occurrences is 0.
Suppose we are given a sequence, s
, and we expect all the nucleotides in s to appear an even number of times, except for perhaps one of them. So we can check if a nucleotide appears an odd number of times in ...
Level up your interview prep. Join Educative to access 70+ hands-on prep courses.