Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Please solve this problem by using a java language. Problem Figure 2 . Palindrom

ID: 3684404 • Letter: P

Question

Please solve this problem by using a java language.

Problem

Figure 2. Palindromic recognition site

A DNA string is a reverse palindrome if it is equal to its reverse complement. For instance, GCATGC is a reverse palindrome because its reverse complement is GCATGC. See Figure 2.

Given: A DNA string of length at most 1 kbp in FASTA format.

Return: The position and length of every reverse palindrome in the string having length between 4 and 12. You may return these pairs in any order.

Sample Dataset

Sample Output

Explanation / Answer

Hi below i have written the code for your reference,

def reverse_complement(s):

complements = {'A':'T', 'T':'A', 'G':'C', 'C':'G'} return ''.join([complements[c] for c in reversed(s)]) def reverse_palindromes(s): results = [] l = len(s) for i in range(l): for j in range(4, 9): if i + j > l: continue s1 = s[i:i+j] s2 = reverse_complement(s1) if s1 == s2: results.append((i + 1, j)) return results if __name__ == "__main__": small_dataset = "TCAATGCATGCGGGTCTATATGCAT" large_dataset = open('datasets/rosalind_revp.txt').read().strip() results = reverse_palindromes(large_dataset) print " ".join([' '.join(map(str, r)) for r in results])