Skip to content

Instantly share code, notes, and snippets.

@diallobakary4
Created August 1, 2016 16:50
Show Gist options
  • Save diallobakary4/ac3b08471f40c73917ddeb16fb4bc82d to your computer and use it in GitHub Desktop.
Save diallobakary4/ac3b08471f40c73917ddeb16fb4bc82d to your computer and use it in GitHub Desktop.
# 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