viernes, 21 de junio de 2013

Python para Bioinformatica introducción al Alphabet (Alfabeto)

En python podemos manejar listas, y tuplas y algunas de estas contienen variables del tipo string por lo que  es necesario conocer un poco acerca de  este pido de  datos antes de  aventurarnos en  el manejo de python 3.x para  bioinformatica.
En la bioinformatica es común usar un gran conjunto de letras que representan diversos tipos de información, ejemplo el ADN está compuesto por 4 letras (A,D,G,C),  aminoácidos, y otro tipo de información son representados simbólicamente.

>> ##importando el modulo Bio.Alphabet
>>> import Bio.Alphabet
>>> ##casos mas usuales y comun mente empleados
>>> casos_comunes =Bio.Alphabet.ThreeLetterProtein.letters
>>> print (casos_comunes)
['Ala', 'Asx', 'Cys', 'Asp', 'Glu', 'Phe', 'Gly', 'His', 'Ile', 'Lys', 'Leu', 'Met', 'Asn', 'Pro', 'Gln', 'Arg', 'Ser', 'Thr', 'Sec', 'Val', 'Trp', 'Xaa', 'Tyr', 'Glx']
>>> ### estos datos y modulos tambien interaccionan con funciones endemicas de python
>>> print(type(casos_comunes))
<class 'list'>
>>> print(len(casos_comunes))
24
Los alfabetos definidos por la IUPAC se encuentran en el modulo

>>> from Bio.Alphabet import IUPAC
>>> iupac = IUPAC.IUPACProtein.letters
>>> print(iupac)
ACDEFGHIKLMNPQRSTVWY
En ocaciones se trabaja con grupos de aminoacidos que no se encuentran frecuentemente en proteínas para eso, se emplea un diccionario extendido para estos casos definido por la IUPAC, la forma de acceder a el es la siguiente.
>>> from Bio.Alphabet import IUPAC
>>> iupacext = IUPAC.ExtendedIUPACProtein.letters
>>> print(iupacext)
ACDEFGHIKLMNPQRSTVWYBXZJUO

Otro tipo de Alphabet (alfabeto) extendido, que contempla algunas propiedades fisicoquimicas comunes de los elementos que la conforman. La forma de acceder a este modulo es de la siguiente manera.



>>> from Bio.Alphabet import IUPAC
>>> iupacDNA = IUPAC.ExtendedIUPACDNA.letters
>>> print(iupacDNA)
GATCBDSW
Existe otro tipo de módulos de alfabetos que contemplan "posiciones de Ambiguedad" donde mas de un nucleotido puede estar presente, el código en python es el siguiente.

>>> al = IUPAC.unambiguous_dna.letters
>>> print(al)
GATC

Estos son los comandos basicos del manejo de los alfabetos en python, mas adelante exploraremos las propiedades de los mismos,  asi como su utilidad con el comando Seq.

2 comentarios: