Función Cargar PDB (Act5)

En esta actividad se nos pedía crear una función de Parsing que nos permitiese incluir la mayoría de la información que se incluye en un fichero PDB referente a los átomos de la proteína en unas estructuras del tipo record creadas por nosotros mismos. 

La función parte de un memo en el que previamente se ha cargado un fichero .pdb con la función descrita en biotools LeerFicheroPDB posteriormente a esto, la función es capaz de recorrer cada una de las líneas del memo y extraer la información para incluirla en los campos siguientes.


TAtomPDB: Este tipo también es un record que incluye todos los campos necesarios para trabajar con cada átomo del pdb que son:
  • NumAtom: Es de tipo integer. Indica el número del átomo dentro de la proteína
  • ID: Es un tipo string. Nos identifica la función del átomo en la proteína. Por ejemplo si se trata de un carbono alfa...
  • Residuo: Es otro tipo string. Corresponde al código de tres letras del residuo al que pertenece el átomo.
  • NResiduo: Es de tipo integer. Indica el número del residuo al que pertenece el átomo.
  • AltResid: Tiene tipo char. Nos indica (si existe) el residuo alternativo en el fichero pdb.
  • Subunidad: Es de tipo char. Nos da el nombre (A,B...) de la subunidad a la que pertenece ese átomo.
  • Coord: Es de tipo TPunto. Incluye las tres coordenadas del átomo.

TResiduo: Este tipo es un record incluye todos los datos que nos pueden interesar de un residuo cualquiera.  Los campos que incluye son:

  • ID3: Es de tipo string. Contiene el código de 3 letras del aminoácido.
  • ID1: Es de tipo char.  Contiene el código de 1 letra del aminoácido.
  • NResiduo: Es de tipo integer. Indica el número del residuo. Es igual que la variable del tipo TAtomPDB pero no interfieren entre sí porque pertenecen a tipos diferentes.
  • Atomo1: Es de tipo integer. Muestra el numero del átomo 1 del residuo.
  • N,CA,C,O: Son de tipo integer. Hace referencia a los números de átomos más importantes en  la cadena como en N amino, C alfa, C carbonilico...
  • Subunidad: Es de tipo char. Indica la subunidad a la que pertenece el residuo.
  • HidrofobicidadDul: Es de tipo real. Asigna el valor de hidrofobicidad del residuo en la escala de Kyte-Doolittle.
  • HidrofobicidadBull: Es de tipo real. Asigna el valor de hidrofobicidad del residuo en la escala de Bull-Breesse.
  • HidrofobicidadCho: Es de tipo real. Asigna el valor de hidrofobicidad del residuo en la escala de Chothia.

TPDB: Este tipo es un record  donde incluimos las principales caracteristicas del fichero pdb en  general. Los campos que incluye son: 



  • Header: Es de tipo string. Contiene la primera linea del fichero pdb que puede ser interesante por la información que contiene respecto a la proteína que contiene el fichero.
  • Atom: Es un array  de TAtomPDB. Corresponde al conjunto de fichas en las que incluimos toda la información de los átomos.
  • Res: Es un array  de TResiduo. Corresponde al conjunto de fichas en las que incluimos toda la información de los residuos.
  • NFichas: Es un integer. Corresponde al número de fichas rellenadas. Es interesante este campo porque no necesariamente es igual al número de átomos.
  • Resindex: Es un array de integer.  Incluye todos los números de ficha del inicio de cada residuo, puede ser interesante para identificar residuos de forma rápida.
  • IDSubs: Es un string. Es una cadena de caracteres con todas las subunidades de la proteína.
  • Subindex: Es un array de integer.  Corresponde a una matriz donde se incluye el primer átomo de cada subunidad.
  • ResIniSub:  Es un array de integer. Corresponde a una matriz con los primeros residuos de cada  subunidad.
  • NSub: Es un  integer. Muestra el número de subunidades de la proteína.
  • NatReal: Es un array de integer. Es un vector donde relacionamos el numero de átomo real con el de ficha para así podernos referir a él correctamente.

En la parte de constantes de biotools hemos creado varias constantes correspondientes al string utilizado para incluir el código de 1 letra de cada aminoácido y las 3 tablas de hidrofobicidad de las cuales incluiremos los valores en cada una de las fichas de cada residuo.