Está en la página 1de 6

Codigo-Genoma.

pdf

mujirushi_

Programación

1º Grado en Ingeniería Biomédica

Escuela Politécnica Superior


Universidad Autónoma de Madrid

Reservados todos los derechos.


No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
Ingeniería Biomédica UAM: PR3

No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
Genoma

#Genoma

# -*- coding: utf-8 -*-


"""
Created on Tue Apr 27 12:26:16 2021

@author:
"""

Reservados todos los derechos.


# Dict which represents the genetic code, the keys are codons and
# the values are amino acid residues

gencode = {
'ATA':'I', 'ATC':'I', 'ATT':'I', 'ATG':'M',
'ACA':'T', 'ACC':'T', 'ACG':'T', 'ACT':'T',
'AAC':'N', 'AAT':'N', 'AAA':'K', 'AAG':'K',
'AGC':'S', 'AGT':'S', 'AGA':'R', 'AGG':'R',
'CTA':'L', 'CTC':'L', 'CTG':'L', 'CTT':'L',
'CCA':'P', 'CCC':'P', 'CCG':'P', 'CCT':'P',
'CAC':'H', 'CAT':'H', 'CAA':'Q', 'CAG':'Q',
'CGA':'R', 'CGC':'R', 'CGG':'R', 'CGT':'R',
'GTA':'V', 'GTC':'V', 'GTG':'V', 'GTT':'V',
'GCA':'A', 'GCC':'A', 'GCG':'A', 'GCT':'A',
'GAC':'D', 'GAT':'D', 'GAA':'E', 'GAG':'E',
'GGA':'G', 'GGC':'G', 'GGG':'G', 'GGT':'G',
'TCA':'S', 'TCC':'S', 'TCG':'S', 'TCT':'S',
'TTC':'F', 'TTT':'F', 'TTA':'L', 'TTG':'L',
'TAC':'Y', 'TAT':'Y', 'TAA':'_', 'TAG':'_',
'TGC':'C', 'TGT':'C', 'TGA':'_', 'TGG':'W'}

#Long name of aminoacids


aa_name={'A':'Alanina','R':'Arginina', 'N':'Asparagina',
'D':'Aspartato', 'C': 'Cisteina', 'Q': 'Glutamina',
'E':'Acido glutamico', 'G':'Glicina', 'H':'Histidina',
'I':'Isoleucina', 'L':'Leucina', 'K':'Lisina',
'M':'Metionina','F':'Fenilalania','P':'Prolina',
'S':'Serina', 'T':'Treonina','W':'Triptofano',
'Y': 'Tirosina','V':'Valina','_':'STOP'}

def split_DNA_sequence_codons(sequence):
"""
Split the DNA sequence into codons
Author:
Date:

Parameters

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5979346
----------
sequence : string
DNA sequence

Returns
-------
list of codons

"""
list_codons=[]

No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
aminoacidos=len(sequence)//3
posicion_inicial=0
for n in range(aminoacidos):
posicion_final=posicion_inicial+3
list_codons.append(sequence[posicion_inicial:posicion_final])
posicion_inicial=posicion_final

return list_codons

def codon2aminoacid(list_codons):
"""
Look up the aminoacid residue for each codon

Reservados todos los derechos.


Author:
Date:

Parameters
----------
list_codons : list
list of codons

Returns
-------
list of aminoacids

"""
list_aa=[]

for n in list_codons:
list_aa.append(gencode.get(n))

return list_aa

def join_aa_protein(list_aa):
"""
Join of the aminoacids to give a protein
Author:
Date:

Parameters
----------
list_aa : list
list of aminoacid.

si lees esto me debes un besito


a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5979346
Returns
-------
string ==> Protein.

"""

protein=''.join(list_aa)
return protein

No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
def DNA2Protein(sequence):
"""
DNA Translation ==> Translate a DNA sequence into protein.
Author:
Date:

Parameters
----------
sequence : string
DNA sequence

Returns
-------

Reservados todos los derechos.


string ==> Protein

"""
list_codons=split_DNA_sequence_codons(sequence)
list_aa=codon2aminoacid(list_codons)
protein=join_aa_protein(list_aa)
return protein

def count_aa(protein):
"""
Count how many of each aminoacid in the protein are
Author:
Date:

Parameters
----------
protein : string
Protein.

Returns
-------
dict with the aa in the protein as key and quantity as value.

"""
list_aalargos=[]
for i in protein:
list_aalargos+=[aa_name.get(i)]

mydict={}
for j in list_aalargos:

si lees esto me debes un besito


a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5979346
if j in mydict:

No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
mydict[j]+=1
else:
mydict[j]=1
for g in mydict:

mydict[g]=str(mydict[g]+'//'+str('%2.f'%(mydict[g]/len(protein)*100)+'%'))

return mydict

Reservados todos los derechos.

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5979346

También podría gustarte