viernes, 31 de diciembre de 2021

Interfase Gráfica de Usuario de la librería Biopython (bioinformática)

En la  web de la librería Biopython tenemos su definición :  "Biopython es un conjunto de herramientas disponibles gratuitamente para la computación biológica escritas en Python por un equipo internacional de desarrolladores".

Existen otras librerías similares disponibles para otros lenguajes de programación: BioPerl, BioJava, BioRuby, etc

Biopython está en constante desarrollo y cada vez incluye nuevas funcionalidades, entre las que podemos mencionar: Edición/anotación de secuencias,  alineación de secuencias (en local y en la web) , filogenética, consulta de Bases de Datos en la web (NCBI, SwisProt, Entrez, GenBank,TogoWS,etc), gestión de bases de datos locales (BioSQL), acceso a programas en la web (Blast), etc.

El objeto de este proyecto es desarrollar una GUI que facilite el uso de las diferentes funcionalidades antes mencionadas, ya que por defecto para utilizar la librería debemos desarrollar scripts con las instrucciones requeridas.

Se utiliza el paquete tkinter para desarrollar la interfase gráfica.



En la versión actual de este proyecto disponemos de las siguientes opciones:

  • Alineación de secuencias mediante el uso de "wrappers" a programas externos: Clustalw, ClustalO, Muscle, Prank, Probcoms.
  • Conversión entre diferentes formatos de archivos de secuencias: Fasta, fastq, genbank, embl, etc.
  • Acceso a Bases de Datos en la web: Entrez, SwissProt.
  • Acceso a Suites de Bioinformática en la web: EMBOSS, SMS2, T-Rex, SeWeR, etc.
  • Acceso a programas externos de Alineación de Secuencias Múltiples: ClustalX, AliView, etc.
  • Acceso a programas de visualización de Filogenética




A continuación el script completo del proyecto:    

Debe crearse una subcarpeta llamada ExtApp que contenga las aplicacione externas: ClustalX, AliView, FigTree. Adicionalmente, en la misma ubicación del script, deben copiarse las aplicaciones de alineación de secuencias: Clustalw, ClustalO, Muscle, Prank, Probcoms.



domingo, 3 de mayo de 2020

Seq : Lenguaje de programación orientado a bioinformática

Seq  es un lenguaje de programación orientado a la bioinformática y genómina computacional.
Este lenguaje fué desarrollado por bioinformáticos y es similar a Python, aunque no incluye todas las características de éste.
La característica mas resaltante, aparte de su parecido con Python, es que utiliza compilación JIT, lo cual le confiere una gran rapidez de ejecución.


En este documento los autores del lenguaje aportan información sobre las características del mismo y las razones para su desarrollo.

En los siguientes enlaces tenemos información adicional de interés:

martes, 6 de enero de 2015

BEDTools

BEDTools es un conjunto de herramientas muy útiles para todos aquellos que trabajen con datos genómicos, es decir, archivos que contengan posiciones o incluso secuencias de genes, tránscritos, exones, utrs, etc. La principal ventaja que tienen es su gran rapidez a la hora de procesar grandes cantidades de información. Los requerimientos computacionales de dichas herramientas en comparación con programas escritos en diferentes lenguajes como Python , Awk o Bash es realmente inferior.

Sin embargo, para poder utilizar estas herramientas, es necesario que los archivos de trabajo estén en el formato BED. Este formato es bastante sencillo, debe poseer como mínimo tres columnas para cada elemento/línea y cada columna debe estar separada de la anterior por un tabulador:
  • 1: El cromosoma en el que se sitúa el elemento.
  • 2: La posición o nucleótido de inicio.
  • 3: La posición o nucleótido en el que acaba el elemento.

Es posible utilizar más columnas con diferentes contenidos o información, algunos de ellos son:

  • 4: Nombre del elemento.
  • 5: Puntuación: Número entre 0 y 1000 que se usa para representar el elemento con diferentes herramientas de visualización con colores o escalas de grises.
  • 6: Cadena en la que se sitúa el elemento: Puede ser “+” o “-”.

Un ejemplo de dicho formato es:

chr1 100000 500000 gen1 50 +
chr5 2380000 2386000 exon3 60 -



Una vez tenemos el archivo en formato BED, podremos comenzar a usar las diferentes herramientas disponibles en este paquete. Una de las más usadas es “merge”, el cual tiene varias opciones y parámetros, sin embargo el comportamiento básico es unir elementos que se solapan. Tiene como requisito que los elementos estén ordenados por la primera columna (cromosoma) y luego por la segunda columna (posición de inicio). A continuación veremos un caso representando su utilidad.

Supongamos que tenemos el siguiente archivo en formato BED:

chr1 40000 50000 gen3 10 + 
chr1 100000 500000 gen1 50 + 
chr1 300000 700000 gen4 40 + 
chr1 400000 400500 gen2 56 +

Una representación gráfica de estos elementos sería:



De modo que todos los elementos que solapen entre sí serán unidos por el programa “merge” en uno solo. Si aplicamos el siguiente comando:

mergeBed -i archivo.bed

El resultado sería el siguiente:

chr1 40000 50000
chr1 100000 700000

Y su representación gráfica sería la siguiente:



A continuación un procedimiento alternativo al estandard para instalar BEDTools en linux ubuntu que evita algunos problemas de instalación:

  • Seleccionar la versión que deseada en el siguiente enlace (en este caso usaré la versión 2.19.1): https://github.com/arq5x/bedtools2/releases
  • Descargar el archivo “Source code (tar.gz)”.
  • Aplicar los siguientes comandos en la carpeta donde se descargó el archivo:
    sudo tar -zxvf bedtools2-2.19.1.tar.gz
    cd bedtools2-2.19.1
    sudo apt-get install build-essential g++
    apt-get install zlib1g-dev
    sudo make
    sudo cp bin/* /usr/local/bin/

Para mayor información ver los siguientes enlaces:



miércoles, 17 de diciembre de 2014

Programa biolansys

En la sección software del portal biolansys está disponible para descargar el archivo comprimido Biolansys.zip.
Este archivo contiene un programa de bioinformática con las siguientes prestaciones :
  • Alineación de secuencias múltiples utilizando los programas ClustalW2ClustalOMuscleKAlign,Dialign-txPCMAPrankCentroid_alignT_Coffee ,MAFFT
  • Visualización de árboles filogenéticos a partir de alineaciones múltiples utilizando los programasNJPlot , TreeViewX y Archaeopteryx
  • Generación de árboles filogenéticos a partir de alineaciones múltiples mediante PhyML
  • Conversión de formatos de secuencias : local utilizando el programa ReadSeq y web (HIV Databases Home)
  • Editor de secuencias : local y web (www.fr33.net)
  • Generador de proteinas a partir de DNA/RNA : web (www.fr33.net)
  • Predicción de estructura secundaria de RNA mediante Centroid-fold
  • Visualización de estructura secundaria de RNA mediante VARNA y RNAMovies
  • Ejecución de programas externos de terceros :
    • ClustalX (Alineación de múltiples secuencias)
    • ClustalW2 (Alineación de múltiples secuencias)
    • PhyloWin (Arboles filogenéticos)
    • NJPlot (Arboles filogenéticos)
    • Unrooted (Arboles filogenéticos)
    • Treeview (Arboles filogenéticos)
    • Archaeopteryx (Arboles filogenéticos)
    • Readseq (Conversión de Formatos)
    • Jmol (Visualización de moléculas)
  • Acceso a recursos bioinformáticos en la web :
    • Portal EnsEmbl
    • Genbank
    • Genscan
    • DNA Data Bank
    • Protein Data Bank
    • ExPASy