Created
August 1, 2016 16:50
-
-
Save diallobakary4/ac3b08471f40c73917ddeb16fb4bc82d to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Protein Translation Problem: Translate an RNA string into an amino acid string. | |
# Input: An RNA string Pattern and the array GeneticCode. | |
# Output: The translation of Pattern into an amino acid string Peptide. | |
from collections import defaultdict | |
import itertools | |
Genetic_code = {'ACC': 'T', 'GCA': 'A', 'AAG': 'K', 'AAA': 'K', 'GUU': 'V', 'AAC': 'N', 'AGG': 'R', | |
'UGG': 'W', 'GUC': 'V', 'AGC': 'S', 'ACA': 'T', 'AGA': 'R', 'AAU': 'N', 'ACU': 'T', | |
'GUG': 'V', 'CAC': 'H', 'ACG': 'T', 'AGU': 'S', 'CCA': 'P', 'CAA': 'Q', 'CCC': 'P', | |
'UGU': 'C', 'GGU': 'G', 'UCU': 'S', 'GCG': 'A', 'CGA': 'R', 'CAG': 'Q', 'CGC': 'R', | |
'UAU': 'Y', 'CGG': 'R', 'UCG': 'S', 'CCU': 'P', 'GGG': 'G', 'GGA': 'G', 'GGC': 'G', | |
'CCG': 'P', 'UCC': 'S', 'UAC': 'Y', 'CGU': 'R', 'GAA': 'E', 'AUA': 'I', 'AUC': 'I', | |
'CUU': 'L', 'UCA': 'S', 'AUG': 'M', 'UGA': ' ', 'CUG': 'L', 'GAG': 'E', 'AUU': 'I', | |
'CAU': 'H', 'CUA': 'L', 'UAA': ' ', 'GCC': 'A', 'UUU': 'F', 'GAC': 'D', 'GUA': 'V', | |
'UGC': 'C', 'GCU': 'A', 'UAG': ' ', 'CUC': 'L', 'UUG': 'L', 'UUA': 'L', 'GAU': 'D', | |
'UUC': 'F'} | |
#Input: any sequence of string (RNA for example) | |
#Output: a list of constitutive codons (triplets) | |
def seq_to_codon(seq): | |
n = 3 | |
return [seq[i:i+n] for i in range(0, len(seq), n)] | |
RNA_seq = "AUGGGAAUGACUGUCCUCAAUCGUAUCCCCGGGCUAACGUCUACGAUGGUAAAGCCCAAUGCAGUCCCAAUUCUCUCCAACAGAGGUACGAAGACUCCAAUUUAUAUUAAUCAGUUACGAAGCAGCCGGCAGUUAUCCUGCAUGUGUGAUUAUCACUGGGUUGCCUAUGGGAAGCUAUGUGUUAUCAUGACCCGCCCAGAUAGCUCCAUGUCUUCCGUAGCGGGAGAAGCUUGGAUAGCUGCAGUCGGGCCGUUGGGCCAGCGCGGAACGGAUUCUGUACUAAGAUGCACUGUAGGAACUUCACGGCCUGUCACUCUCUGGCAUGUCGGGACACAUACACAUAAUGCAAAUCUUCAAACGAAUGUUGGAGCGGUUCGAGAUCUACAAUUGCUGUUAACGAUUCGAUUGCGUUUUGGCGGCACAGGAUAUGCCCUGGGCGCGUGUUCCUCGCCGACUCGUUUAACUAAAAGUGAACCUGGCCUUGUGGUGUCGCAUGCCCUCGUUUCGAGAUCUGGCGGGAUGCGCACACUGGAAGCACGCAUGACUCUGCCUAGAAAUGCCGAUAGUUGCUUUAUCCCCCACAAAAUAGCGUGCCCGUCGCCGAGCGCGCUAGAAACAGUCACCGAAACGUGGCGCACCCCCAAAGCUAGGACCAAGAGCGCCCGAGAGAAUGUUCACACCAUCGUAGGCGAACAAAUUUACCACGAUAACGGUGCACAGCGUUGGAUCUCUCCGUCUCAGGCAACCAACCAACAAUUGGCUGGAUGGCAGGGUAACGGAGGGUGUACCUAUACAUUAGUGUGCAUUUACUGUUUACGAAGUGGGAGUGGCUUGGGCGAACUCAACCAAGUAGAGGCGAGCUUCUCGUCGCUGCCUCACAACGCAAUGGAGGUAGCGUUCAACGAAUGUGGCAAUGACCGGAGUAGCGAAUGCGCCAAUGUGAGACCACCGCAAUGGUCUGGGUUGAUGCACAGAGUGUCGCUUGGUCUGGGGGAUUAUAUAAUGACAGAACAGCAAUCGGGGGUUGAUACAAAUUUUCUUCCAGGGAACGACGGUGUUAAGAAUAUAGAGAGAAUAAAGACCAGGGACAGUGUGGUUCUCGGGAGGCCUACGUCGACCCCGAGGUAUCAUCGACGCAGACCAAAAGUCCACUACAUAGAUCGCAUACCCAUUGGAGUUCAUGAGCGCGCGGUUCGACGCAUGGCAGCUAGCACGCUUGUAUGCUCAAACCCUAUGGUUUAUCGGCUCGGAAUGAGGGGAAUCGCGAAAUUGAGAUUGGUGCGAAUGUGGAUUGACUUUGGAUACGGUCCGCGCGCACGCAUAAUCUUGGGACCACCUCUAGGCCUCAUCAGCAUCUCGUCCGGCGAUGUGCUUAUCCUCAAGCGAUCGCAAGCAUGUGGGUCCCUCUGUUAUGCGAUUUUGAGCGCACCAAUAGGGACCUGGUAUGAGUUGUUUUUUCCUACCCUAAUCGAGGAACUAAAAGACACGCACACGUUGAACCCAGAGACACGUAGCCUCUUAAGCAGGGGACCGGGGGAGGCUUUCAUUUCAUGCCGCUCCUUGGCGGUACGUCGAAUAGGUUACUGCACUGGCACCACCCCAACUCCACGGGUUAACUACCGUGAGACGACCCAUAAACAUUAUACUACUGUGCGCUGGAUCAACCGGACGGUAUGUCGUCCAGACCAAGACUUCGGCGCUUACGCCAACAGCGCGGCAUUUGUUGCUAGGAAAUCAGCCCUAAUGCGGCCGCGGACUUCAGUAGUGCCACAUUAUCCCAAUUAUUCUGCACGUCAGACAGUGGAGACUUUUGGCUUGUCCGGGCGGACACGUCUGAGCCUAAAGACGCAGUACCGCACAAACUUUCCGGCCGGUCCACUAUUAGUUAUUAUCGCGGAAACGUGUCAAAAUGGGGUACGGGGGAAUUGGUUGAUGGGACAGCCAGACCAAGCCACCACUCUAGAACAGGGCUACGAAGAUCCCAGCAGGAUAACAUAUGCGUUACAUCACGAAGUCAUAUCAGAAGACAGAGAGACCACCAAUUGUGGGGAAAAACUCAUGGGACAUAGCCUAGCUUUACAAGCUCACCAUCUACAUCCCCUAGUAAUUCUGCCUGUCCGGUUUACUGUCGAUCAUGAUUUGCAUAGACUGCACUCAACCACCUACAAUGAUCCAGAAAUCCUACGCCAGACCCCUCUACUAGGAAUGCUGUUCCGGUGCCCUGGUCUCAUCAGCUACGCGUUACCACUGGGGAUGAUCACAGCUAUCCCCUAUUAUGUCUGCCAGCAGUGGGGAGGAAACGGGAUUUUUGUCUCAAGAAUCUCAUCUGACGACGGUACCGAGUUUAGGGGUCCUCAUGAUUUCUUAGGCAGAGGCAAGUUCCCUAGUCCUCGCGGUCUGUUAAUCACUUUGUACGUCGUAGGUGGCGGGAACUUAGUAUGUAUCCGGUUGCGCGGGCCUCAGGAUAUAAUUAGCAAGGAUCCACGACUCUUGGCUGUAAGAACGUCUUCAGGUGGCUUGUCAGCAAUCACACUGCCUGCGUGCGCAUCGUUACUGCGGCCAACCGUAGUUAUUGGUGGCUACAAUACAUCGUACGAUCCCGCUCCCAAGGUUACAGGCCGGGGCUACAUACGGAUAAGUGCACGUCGCGAAGUGGGGCUGAUUCGUAUCCUUCGUGAGUUGUCUGAGACGGGGACACGUGCCAAUCACGGAAAAGAGACUUUCCAUCUGAUGCUCUUCAUGCAAUUCAAGGGGGGCCGUCAUCACGGAGGGUUCGAGGUCUUUGUAGAUACCCACACUCUUGAACGUCCCGCCGCAUGUAUCUACUUUAUGCAGAGUCGGCGCCCUCCUCUCAGACUAUCGGUCCCCUGCCCAAUCUUCCACCAUCGAUAUAUGGGCAUAAUUUGUGAGGAACCCCGGAAGGUGUGGCGUUCUAUUUUGUAUCCUCUCUGGCUAUUCUUCACGGCGUUAACAACCGUGGGAGUCGACAACAUAAAUCGAAUGAGAGGAGAGAACGUCAGGGACCGUCAUUCCGGGUCUUGGCAAAACCUAAUACGUUUCAGUAUGUCUAAUUCAAGCCCCUCUUCUAAGAAAGUACCUUCAGAGACAAUCCUUUGUCCGAGAAAUAUUGUUGGCUGCUACGCAUGCGUGCCUUCCAGGUUUCAGGGACUUUGGGGUCAUCACCGAGUUUUUGCACGGUAUAGCGCUGGACCCAUACCUAUGUCCACUUCAGUUAAGCAAAACUUGGGUAUGAGGUUGGGUUGGCAAGGCUGGCCAGGCCCUAAGCAACUAUUUCUUAAGAUAUACGGUGAAUCUUGCUGGGAUGCUGACUUACCACUCGGUGCGCAUUCCGCUUCGUGGCACAUCACAGAACGAGCACACAAUGAUAGGGUCAGUGCACCAGCGGGUGCUUUUCCCGUGGUGUCAAUUGGUUGGCUAGAAAAGUGUUAUAUCGCGUGGGUCGGCAUAUCGCGGUAUGCUGUCCAUGGCAAAAGGAGGAUGACUAGACGCCCCACGCCAGGUCCAGGACGGGGUUUUUACCUCUACAAUAAUGAGCGCGAGACCGCGCUGUCUAUCCGCUUCUCGCCAACGACACCUACGUUAGAACAGUUUCCCAGGUACUGUUGCGAAGGGGGGAGAAGCUCUCAGAUGGCGAGCUUGUCUAAGAGGGAAUGUUGCUCCACGCUUCCCGGAGGGACCCUGCUUAGAGGAGUGCCAAAACUUCUACGCAAUCCAGUCGAGUGCCUCAGUGCAUGUGUAAGGACAGAAAUACUAACUAAGACAUAUCGCUAUAGCGCUGGUUACGUGAUUAUCCCCAGCCGGGAACUUGAUCCAAGCUAUGGCAACGUCGGUCCGGUGAGGAACUCAUGCGGUAACUGGCAGCGCUCUUACGGGAGAGUAGGCGCCAUACACGAAAGCUUUCCCAAGCAUGACACAGAAAGCGUACGGGGGGCCCCUGAUUGUCGUCGUGUGUGCCUCCGACGCUACCUUGCUGGCGUCGUAGAGGUGUGUAAUAGUAACGGCGAGAUCUAUCAGAACCAACAAAACGACUGGAUUCCCGGGUCAUUCAUCGUACGACUACCGACUACCCGAGUAACCUUGAGUGUAGACCGCGCGGUUUGUGCUACGUGGUCGAAUCCAGUUCCGCAAACUGCAUUUGAGCAGGGCAUUGAACACCAUAGAAUAUGGUCGGAGAGGUGGCCGUGGAUAACGAUGCGGAUUUGUCUUUCCGGUACGGUGUACUUAAGCCUCAGUGCGCUUAAACAACAAAGCGUACACAUCAGGAAACACCACAGGUAUACGAAAGGAAACCCCUAUGCCAAAUGCUCAUGUAUUCGGCGCUCUCGUGCCCGAUAUGGGAAGCCCUUAAUUGGCGUUUCGCAUUUAAGAGAAACGCGUCAGAUGUUGAGGUCCGCAAUAGAGCUAUUUGCACUACGGGGUGCUGGUAGAAAGGAUCGAUCCGACGGUGUGCAGUUGCGCCAGGCUAAAGUCGACGAGGAGUUGGCAAUACUACUAGCAGACAGAAAUACUAGUCUGGACGGCGCGCUAUUGACCGUGCCUAUCCCUAUUCGCCCCCUUAACUUAGGUGGCACAUACAGCGACUUUUGGCGUGGACGUAAUUACAUCUGGCCUAGAACCGAUGAGUCCGCAAUGACAUUCAUCGUCAACCCCUCACCGUUCACGAACAGUAAGAGAAAGCCGUACCGGGGUGUUGUGGCGAAAAAUCAAUUACCCAAUGACUUCACUGCUUUUGGAGCCUCGCGAGACAAUGUUGGGGUUGCGCUCCUACGGCCAGUGACAGGUAAUCUUUUCUUUGUCCAUUCUCUUAAUUGGUCAGCAACUGAGCAAGAGAGAAACCAACUCUCCCAUCGUCCGAACGAUCAGGAUAAUACGGAGCUUUUCAUGCGCACUAGCCGAGCAACGUUUUGCCUCCGGGACGGUCGGAGGAUCCCCCACCAUUGUAAUGUGGCUACACCAGUCCUUAGAACCAUCGGAUCAAACGAUGGUAGAUACGCUCCGCCCUAUUCUAGGAGAAGGGGAAUUCUGCGGGCACGCAAAUAUUCUGUUGGGGCCACCCGCGAACUUUGUGAAAGCGCUUGCUCUCGUGUGAACGAGCGUACGUAUAUUAUAUUUGCUACUUGCCUCCGUAAGCUGGUAUGGCAAGGACUUUCCAAGGGUAUUUUAUCAUCCACUCCGAGGCUGGCCGUUCUUCUCCGCCUGAAUAAACUACUCUAUUUAGAACCCAAUGAGCAUUCUGGAAGGAUGCUACCGCGAGCCCUAGAAGCUUACGUGGAGGCCGUAGCGGCUUCCUUAUCGCAAAAACCCACAAGACCCCCGAAUCAGCGUCCUUCAAAUAUCCCGAUCUGCGAUUCCAUCCACCCGAAGUUUAGUGUAAAGACAGUUAACCACGCGUUGAGGAGCGUGGGUAUGGUACUGUCCAUACUAAAUGGGGGCGGCGCAAGCGCGGCUGCAUGUCAGAACCUAACAACGCCUGUUACGCCCCGGGGUAAGAUUCGUUUCCUUCGGAAAUUCUGGACGUCGGUACGUAGACUCCCCACUAAUACCAAGUGGAGUCUUACUGAUGGGUUAGGAAAUUCAGUAUUAAGGCGGAAUUUAUUGAUUGGGCGUGUAUACAUACACACCAUCGAAAGCCCAUCCCGGUAUAUACUCUUGAACAGAAGGAAGCCUGAGCGGACUCCUACCAUCUGUGGUUAUGUCGCUGUGCUAUGCUGUAGCUAUUAUUUCGUCGUUGUCGUUUGCAAAGAUGUAACUGGUGGUUCACAUGUGGGCCACAUGGGUCAGGGGGAUCACGAUAAAGCGCGUGGCGAAACGCGGUUGCCUUCCAAACUGCGAAGGGGACGAAAUGUAUAUCCGCCUUCUGAUAACAUUGAUAUCCGGCAUCAUUGUGAUGGACUGAACGCGCGAGACGAGAAUGACAGCCUACGAUUCUCUGGCUUAGAUCUUUCUCCCCUGAUCCAAGAUAUCCGAAAGGGCGCCGGUGGGUUGUACGUAACGCAUACUUUCUAUAGGCGUUGUACAGGGGUAACUGCCUGGGGCGGUUACCGUGCAAGGGAGUCUAUCAGAAGGAAUCGGAGUAAUACAGGCACUUUUGUACUACUGAUACAGUCACGAAUCCGCUUUAAGCGCUCUCUGAGGUUAGAAUGCUCCACCCGAGGAAGACGCAUCAUUGUACGCUACAAACCAACCGAUUUCGAUCAUUUGCUUGCCCUGCUACGAGGUGCAGAGUCUGGCCGGCUUCGUCUAUGUCAAGCCCCGCUCGGUUAUCUGUGGACGGUGUGUAACAAGUCUUUAGUGAGAAUCUUCCCGUUACCGCUCACACGUAAAGCAUCGAGCAGGAAUAAUAGAUUAAGACUGAUUCCUAACGAACAGCUAACCGGCGCCAUCAGCGGCCCAUCCAGGGAGGAUAUUCGCGAUGGAACCCCCGGGUCUUCCGGCGUCGUAGAAUGCGAGCCGGCCAGGUCCCAGAAUGGUUGGUGCAGAUUCCGAUUUUUCCAACGAGUACGCGCUAUCCCUGUAAGUGGCCCAAGGACUCGAAAGAGCGUCCCCCUGACUAAAAGCGGAGUCAGUUUACAGGGACCGGGUGAGAACGCUCGUGGGUACAAACCCUUAUUACGCACUCCAUCCAUGAUGUCUCUGAUCACGGUGGUCGGCUUGAUGCACUGCCACUCGGUUGAGGAUGGAACCUACAGGGGAGUUGUCAAUUGUGUAGGAUCGGCAUGUAAGUCCCUAAUAAGGCAAGUGCCACUAGGGUCCGCUGACGCUCGGGCCCCCAGCUGGGCGGGCCAAGAAAUUUGUAUUACUGGGUUCCCUUUUCCGCUAUCGUCGAGAUACAGGCGAUCGGGGUGUCGUUCAGAAUGGAUCGAACGCGAAAGGUUCAAAUCGCUCAUGCAUGUCCGUCGGCUGGUAUUUACUAGGGCGUAUAGACCUCCAAACACGGACUGCAUGUCUCGAGCAUUGCAAACUGGCGUAAGGUACCUAGCACAUGGUUACAAGAUCCGGCCACCCGUCCACCAUACCACGAACGGCCGUCUAGUUUCUCGACGACGGUAUAGCGGCUGUAUAUCAACCUUGAAGGAUGGAUUAAGACGAGUGACGAGCAUUGACUGUCGAGGUCAUCAAGGGCCGGUGGACCGGAGACGGGAGUGUCAGGCCUGCCUCCAGGCAUUAAGAGUUAGGUUACCGAAGCACGUCAAGCUCGCUUUAUCACCUCCAUCUAUGCGGCCACCUAGAGGUUCUUUCAUCCGACGGUGGCGAACAAGCUACCGGGAGGUCAUCCAGAUGAGUCAUUUACUUCGAACGUUGAUUUGGCACGGCGAAUUAAUAUCGUUAACGCAAAGCGCGGUACGGGCAAUCAUAUACAACGCUGCCCGAGAUACCCACGUCGCCCUCGCGACUACCAUGGGCAGGCGGUGUCGCUUCAAGCACUCACACAUUUUAUACCGCAAGGGUUGCGCCGGAAAUGCCUCGGGACCGAGCAACUCACCCGAACAACAGGGGUUACUCAGACCGCACAGGAAACUGAGCAAGAGAAAUCAUUUUGUUAGUAUAUCACUAGGGGUUCAGAAUCGACGGCGUCGUACCAGUGGCCCCUUAUGCACGCAGCUGGCACAUCGGCUUCUCGCGUUUAGGCGUCCGAGUUUUGGACAGGCAAGCAACCAACUGAGAACACGAAAGGGGCGAUGGCUCCUACCGCCACCAGCCGUUCAAGCGUCCUGGAAGUCCUGGUUUCUUCAAGGAUGUUAUGGGACGCACGUUAGUCGCUUAGUAUGUGGCCCUGCUCUCCGUCUUCCUGGGCUAACAAAACUGCAGAUAUUAAUUCACAUUAGAGUCGGCCGUGUUGCAGUCUUAGGUAGGCUUGCUGCCCCCCCGGUGAUAAACACAUCGGGCUGGGGGGCAACAAUAGCUAUCUUGCUUUGUGCAUGCGAUUCGCACACAGUCCUUACUAGGGGGCUGUCAGGUACACUAUUACACCUUACGAUCACAAAUGGACGUCUCUCAUCGGGAUACAAAAACCGGGAUUGUAGUAAGGGCACCUUGGUCGAAAACCCAGAGAGCACUAAAACUCAGAGUCGCACUCAAGUCGUUACGGAGCUUCGCGGCGCGAGCACAAUUGUUGCGGGUACGGGUCGCUCGAUAUCUGCACCUGCCCGAACAAGCAUAAAGUUGCCUGAUGGGCGCCGCGUCGAUUACAAAUACGAUUGGGUUCUUUUGUAUACCCGCGUGUUAUGGUUGGGAGGUUUUAAUUGGCCUGCACCUACACCUUGCGCCCACGCUACCAUUAGCGCCCGACGCAUCCCUCACCAUGAACCACUAUCCCAGGCUCUGAGCACGGCAGAGAAUGAAUCAACAACCUCGCAGUCUUACGGGCGCAAACAAGUUCCACCGCUCCGCACCUCUGUGGCUGCGGUACUGAUUAUAUACUCGUUUUGGGCGUCAUCACAACACACUCGUUCCAACUUCCGGACAUUGACGCGCAUGGUCGUGGCUGUUGCCAGAAUGCCUCCUACGGUCGCCCGGCAACGAGACGGGGAACUGUUGGCCGGUCCAACUUCUCGUCCCCUACGCGGGUUGUGGCAGGUGCUCCACCACACCGGGUCCUACAGCUGGCUUCAAGUGUUGCGCGACUUGAGGCGUUUUUGCACUCUCUCGGUACCUCGCCCUACCGCCGCAGUGACCUCGGCGUACGAUUUGCUACAUCCCGUGACGCCCUCUCUACCGACGCCGUUUGUCAAUAUUCUUCCGGACACCAGCAUACGGUGCUGA" | |
#Input : a sequence of RNA | |
#Output : the sequence of protein | |
def codon_to_protein(RNA_seq): | |
codons = seq_to_codon(RNA_seq) | |
protein = "" | |
for codon in codons: | |
protein += Genetic_code[codon] | |
return protein | |
#Function testing | |
#print codon_to_protein(RNA_seq) | |
#Input : a sequence of protein in one letter abbreviation | |
#Output : number of possible RNA string codons (all codons) | |
def protein_to_DNA(Prot_seq): | |
# building a dict of aa to codons {'C': ['UGU', 'UGC']...} | |
aa_to_codons = defaultdict(list) | |
for k, v in Genetic_code.iteritems(): | |
aa_to_codons[v].append(k) | |
#total number of possible RNA sequences | |
total_RNA = 1 | |
#All possible RNA sequences [[],...] | |
codons = [] | |
for e in Prot_seq: | |
total_RNA *= len(aa_to_codons[e]) | |
codons.append(aa_to_codons[e]) | |
return codons | |
protein = "VKLFPWFNQY" | |
# print protein_to_DNA(protein) | |
# list of possible RNA molecules for a protein sequence | |
possible_RNAs = [ ''.join(x) for x in list(itertools.product(*protein_to_DNA(protein))) ] | |
print len(possible_RNAs) | |
# Given: A DNA string ss of length at most 1000 bp. | |
# Return: The reverse complement scsc of ss | |
def DNArc(DNA): | |
# In DNA strings, symbols 'A' and 'T' are complements of each other, as are 'C' and 'G'. | |
# The reverse complement of a DNA string ss is the string scsc formed by reversing the symbols of ss, | |
# then taking the complement of each symbol (e.g., the reverse complement of "GTCA" is "TGAC"). | |
rvDNA = "" #reverse DNA that will be returned | |
for base in DNA: | |
if base == "A": | |
rvDNA = rvDNA + "T" | |
elif base == "T": | |
rvDNA = rvDNA + "A" | |
elif base == "G": | |
rvDNA = rvDNA + "C" | |
elif base == "C": | |
rvDNA = rvDNA + "G" | |
rvDNA = rvDNA[::-1] | |
return rvDNA | |
# Given: A DNA string tt having length at most 1000 nt. | |
# Return: The transcribed RNA string of tt. | |
def DNA_to_RNA(DNAstring): | |
# An RNA string is a string formed from the alphabet containing 'A', 'C', 'G', and 'U'. | |
# Given a DNA string tt corresponding to a coding strand, | |
# its transcribed RNA string uu is formed | |
# by replacing all occurrences of 'T' in tt with 'U' in uu. | |
#The resulting ARN string from transcription | |
ARNstring = "" | |
#changing the T in U to make a new ARNstring | |
for e in DNAstring: | |
if e == "T": | |
ARNstring = ARNstring + "U" | |
else: | |
ARNstring = ARNstring + e | |
return ARNstring | |
# Given: A RNA string tt having length at most 1000 nt. | |
# Return: The transcribed DNA string of tt. | |
def RNA_to_DNA(RNAstring): | |
DNAstring = "" | |
for e in RNAstring: | |
if e == "U": | |
DNAstring = DNAstring + "T" | |
else: | |
DNAstring = DNAstring + e | |
return DNAstring | |
# Peptide Encoding Problem: Find substrings of a genome encoding a given amino acid sequence. | |
# Input: A DNA string Text, an amino acid string Peptide, and the array GeneticCode. | |
# Output: All substrings of Text encoding Peptide (if any such substrings exist). | |
DNA ="ATGGCCATGGCCCCCAGAACTGAGATCAATAGTACCCGTATTAACGGGTGA" | |
protein ="MA" | |
# todo find all possible RNAs for protein MA, then find all DNA, then find their reverse complement and | |
# todo finally compare them to the given DNA string looking for match | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment