Comparador de ficheros

Desarrollar un diagrama de flujo que permita identificar si un fichero tiene formato EMBL, UniProt, GenBank, PDB u otros formatos diferentes. A continuación, desarrollar un programa informático capaz de discriminar automáticamente entre tres de ellos: Genbank y UniProt y PDB y muestre en pantalla las secuencias primarias de las proteínas correspondientes en códigos de una letra. Emplear ese programa con los ficheros bajados de Internet de la proteína asignada. Sugerencia: Estudiar detenidamente la página del EBI dedicada a bases de datos (se incluye una copia con información útil al respecto en el CD con el nombre “formatos de secuencias y estructuras.pdf”).


Para esta actividad se ha creado una aplicación Free Pascal denominada diagramadeflujo.exe que permite cargar el contenido de un fichero de secuencias peptídicas en un Memo e indica al usuario el formato en el que se encuentra este fichero de los discutidos en la actividad 3 (PDB, UniProtKB, FASTA, GenPept), así como la secuencia primaria de la proteína en código de una letra en otro Memo. La Figura 1 muestra el diagrama de flujo a seguir para lograr estos objetivos:


Figura 1: Esquema del funcionamiento del programa diagramadeflujo.exe, que permite diferenciar entre distintos formatos de ficheros de proteínas.

Los cuatro formatos evaluados en la actividad 3 pueden diferenciarse entre sí por el contenido de la primera línea:
  • Formato PDB: la primera palabra del fichero siempre es HEADER.
  • Formato UniProtKB: la primera palabra del fichero siempre es ID.
  • Formato FASTA: el primer carácter del fichero siempre es >.
  • Formato GenPept: la primera palabra del fichero siempre es LOCUS.
Para este programa se ha desarrollado una función denominada identificarfichero, alojada en la librería biotools, que permite discernir entre estos formatos y representar la secuencia proteica. Su descriptor es el siguiente:

function identificarfichero(memo_lines: TStrings; memo: TMemo): TStrings;

Esta función requiere dos argumentos:
  • Un argumento de tipo TStrings. Esta función se tiene que emplear en el programa correspondiente a continuación de alguna de las dos versiones de la función CargarProteina cuya salida es de tipo TStrings. Estas funciones van a permitir cargar el fichero de proteína dentro del primer Memo del programa, así como la ruta del directorio en el que se encuentra este fichero en mi ordenador personal en el campo Text de un objeto Edit.
  • Un argumento de tipo TMemo.
Por otro lado, la salida de esta función (y, por lo tanto, la función) es de tipo TStrings y aparecerá en el Memo que se ha pasado como segundo argumento, en el que se representará el formato del fichero y la secuencia proteica.

La función ha sido diseñada con una serie de condicionales que permiten evaluar la primera línea del fichero en búsqueda de aquellas marcas de identidad que aparecen en la Figura 1:

if trim(copy(memo_lines[0],0,6)) = 'HEADER' then
if trim(copy(memo_lines[0],0,2)) = 'ID' then
if trim(copy(memo_lines[0],0,1)) = '>' then
if trim(copy(memo_lines[0],0,5)) = 'LOCUS' then


  • El primer condicional permite identificar si el fichero está en formato PDB.
  • El segundo condicional permite identificar si el fichero está en el formato de UniProtKB.
  • El tercer condicional permite identificar si el fichero está en formato FASTA.
  • El cuarto condicional permite identificar si el fichero está en formato GenPept.
Una vez que se ha identificado el formato, se realizan una serie de operaciones para que al final la salida de la función siempre tenga la misma estructura:
  • La primera línea del Memo contiene el formato del fichero expresado de la siguiente manera: Formato: nombredelformato
  • La segunda línea contiene la palabra Secuencia:
  • El resto de líneas contiene la secuencia primaria de la proteína en código de una letra, indicándose los aminoácidos siempre con mayúsculas y siempre 60 aminoácidos por línea. Por otro lado, la secuencia se representa del mismo modo independientemente de si se trata solo de una subunidad (como en los ficheros UniProtKB y GenPept) o más subunidades en caso de que las haya (como en los ficheros PDB y FASTA).
Las Figuras 2, 3, 4 y 5 muestran los resultados de la evaluación con la aplicación diagramadeflujo.exe de los distintos ficheros de la proteína L-DOPA descarboxilasa (DDC) humana discutidos en la actividad 3.


Figura 2: Salida del programa diagramadeflujo.exe cuando se selecciona un fichero de la DDC humana en formato PDB (fichero 3RBL.pdb). Se ha representado la secuencia de la cadena A y de la cadena B de forma consecutiva.

Figura 3: Salida del programa diagramadeflujo.exe cuando se selecciona un fichero de la DDC humana en el formato de UniProtKB/Swiss-Prot (fichero P20711.txt). Solo se ha representado la secuencia de una cadena.

Figura 4: Salida del programa diagramadeflujo.exe cuando se selecciona un fichero de la DDC humana en formato FASTA (fichero 3RBL.fasta). Se ha representado la secuencia de la cadena A y de la cadena B de forma consecutiva.


Figura 5: Salida del programa diagramadeflujo.exe cuando se selecciona un fichero de la DDC humana en el formato GenPept. Solo se ha representado la secuencia de una cadena.


Bibliografía

  1. Apuntes de la asignatura “Ingeniería de Proteínas” del Grado en Bioquímica.
  2. https://en.wikipedia.org/wiki/Free_Pascal. Fecha de acceso: 19 de junio de 2019.