Archivo de la categoría: Genética

R, RCommander and RStudio

General information

R 3.3.3 is a freely available language and environment for statistical computing and graphics which provides a wide variety of statistical and graphical techniques: linear and nonlinear modelling, statistical tests, time series analysis, classification, clustering, etc. Please consult the R project homepage for further information.

RStudio an RCommander are a graphical front ends for R.

Installed packages

abind, ape, biomformat, cummeRbund, DCGL, DESeq2, DEXSeq, e1071, edgeR, FactoMineR, GEOquery, lavaan, metagenomeSeq, mnormt, optparse, psych, randomForest, Rcmdr, RColorBrewer, ReactomePA, RUVSeq, vegan, WGCNA, xlsx.

Please, ask if you need any more.

How to use it

To use R in the queue scripts execute:

/software/bin/R CMD BATCH  R-input-file.R

to execute RStudio you must connect to Txinparta or Katramila with X2Go and execute

rstudio

to execute RCommander you must connect to Txinparta or Katramila with X2Go and execute R. Then inside R load

library(Rcmdr)

More information

R web page.

rstudio web page.

R, RCommader y RStudio

Información general

R 3.3.3 is a freely available language and environment for statistical computing and graphics which provides a wide variety of statistical and graphical techniques: linear and nonlinear modelling, statistical tests, time series analysis, classification, clustering, etc. Please consult the R project homepage for further information.

RStudio and RCommander are graphical front ends for R.

Paquetes Instalados

abind, ape, biomformat, cummeRbund, DCGL, DESeq2, DEXSeq, e1071, edgeR, FactoMineR, GEOquery, lavaan, metagenomeSeq, mnormt, optparse, psych, randomForest, Rcmdr, RColorBrewer, ReactomePA, RUVSeq, vegan, WGCNA, xlsx.

Si se requiere alguno más, por favor, haxlo saber a los técnicos.

Cómo usar

Para usar R en el sistema de colas ejecutar:

/software/bin/R  CMD  BATCH  R-input-file.R

Para ejecutar RStudio se ha de conectarse a Txinparta o Katramila con X2Go y ejecutar

rstudio

Para ejecutar RCommander se ha de conectarse a Txinparta o Katramila con X2Go y ejecutar R. Dentro de R cargar:

library(Rcmdr)

Más información

Página web de R.

Página web de RStudio.

IDBA-UD

Información general

IDBA-UD 1.1.1 is a iterative De Bruijn Graph De Novo Assembler for Short Reads Sequencing data with Highly Uneven Sequencing Depth. It is an extension of IDBA algorithm. IDBA-UD also iterates from small k to a large k. In each iteration, short and low-depth contigs are removed iteratively with cutoff threshold from low to high to reduce the errors in low-depth and high-depth regions. Paired-end reads are aligned to contigs and assembled locally to generate some missing k-mers in low-depth regions. With these technologies, IDBA-UD can iterate k value of de Bruijn graph to a very large value with less gaps and less branches to form long contigs in both low-depth and high-depth regions.

Cómo usar

Para enviar trabajos a la cola se puede usar el comando

send_idba-ud

que realiza unas preguntas para configurar el cálculo.

Rendimiento

IDBA-UD se ejecuta en paralelo con un buen rendimiento medido hasta por lo menos 8 cores. Por encima no se han medido mejoras apreciables. El benchmark se ha realizado con --mimk 40 --step 20.  Por algún motivo este cálculo tiene un salto cualitativo apreciable de 1 a dos cores. Si se pone un step de 10 el rendimiento a varios cores empeora como se observa en la segunda tabla.

1 core como base 2 cores como base
Cores Tiempo (s) Aceleración Rendimiento (%) Aceleración Rendimiento (%)
1  480 1 100
2 296  1.6  81 1.0 100
4 188 2.6 64 1.6 79
8  84 5.7 71 3.5 88
12 92 5.2 43 3.2 54

El segundo benchmark se ha realizado con un fichero mayor, con 10 millones de bases y las opciones --mink 20 --step 10 --min_support 2. Observamos un comportamiento más regular que en el benchmark anterior y como la paralelización es buena hasta los 4 cores.

Cores Tiempo (s) Aceleración Rendimiento (%)
1 13050 1 100
2 6675 2.0 98
4 3849 3.4 85
8 3113 4.2 52
16 2337 5.6 35
20 2409 5.4 27

Más información

Página web de IDBA-UD.

SPAdes

Información general

SPAdes 3.6.0 – St. Petersburg genome assembler – is intended for both standard isolates and single-cell MDA bacteria assemblies. It works with Illumina or IonTorrent reads and is capable of providing hybrid assemblies using PacBio, Oxford Nanopore and Sanger reads. You can also provide additional contigs that will be used as long reads. Supports paired-end reads, mate-pairs and unpaired reads. SPAdes can take as input several paired-end and mate-pair libraries simultaneously. Note, that SPAdes was initially designed for small genomes. It was tested on single-cell and standard bacterial and fungal data sets.

Cómo usar

Para enviar trabajos a la cola se puede usar el comando

send_spades

que realiza unas preguntas para configurar el cálculo.

Rendimiento

No se ha medido ninguna mejora ni reducción del tiempo de cálculo configurando más de un core en un tipo de cálculo:

spades.py -pe1-1 file1 -pe1-2 file2 -o outdir

Recomendamos usar 1 core a menos que se sepa que se va a obtener un mejor rendimiento con más cores.

Más información

Página web de SPAdes.

MetAMOS

Información general

MetAMOS represents a focused effort to create automated, reproducible, traceable assembly & analysis infused with current best practices and state-of-the-art methods. MetAMOS for input can start with next-generation sequencing reads or assemblies, and as output, produces: assembly reports, genomic scaffolds, open-reading frames, variant motifs, taxonomic or functional annotations, Krona charts and HTML report. 1.5rc3 version.

Cómo usar

Para enviar trabajos a la cola se puede usar el comando

send_metamos

que realiza unas preguntas para configurar el cálculo. Hay que tener en cuenta que MetAMOS usa mucha memoria RAM, entorno a 1 GB por millón de reads.

Más información

Página web de MetAMOS.

QIIME

Información general

QIIME (Quantitative Insights Into Microbial Ecology) is an open-source bioinformatics pipeline for performing microbiome analysis from raw DNA sequencing data. QIIME is designed to take users from raw sequencing data generated on the Illumina or other platforms through publication quality graphics and statistics. This includes demultiplexing and quality filtering, OTU picking, taxonomic assignment, and phylogenetic reconstruction, and diversity analyses and visualizations. QIIME has been applied to studies based on billions of sequences from tens of thousands of samples.

Cómo ejecutar

Para enviar trabajos de QIIME ejecutar el comando

send_qiime

y responder a las preguntas que nos realice.

USEARCH

QIIME puede usar el paquete [intlink id=»7700″ type=»post»]USEARCH[/intlink].

Más información

QIIME home page.

[intlink id=»7700″ type=»post»]USEARCH[/intlink].

 

 

USEARCH

Información general

USEARCH is a unique sequence analysis tool  that offers search and clustering algorithms that are often orders of magnitude faster than BLAST. Tenemos la versión de 32 bits que es gratuita, pero no distribuible a terceros y tiene la limitación de 4 GB de RAM como máximo.

Cómo usar

Para ejecutar USEARCH ejecutar en los scripts el comando

/software/bin/usearch

por ejemplo

/software/bin/usearch -cluster_otus data.fa -otus otus.fa -uparseout out.up -relabel OTU_ -sizein -sizeout

Por el momento USEARCH solo está disponible en los nodos con etiqueta xeon20.

QIIME

USEARCH puede ser empleado bajo [intlink id=»7686″ type=»post»]QIIME[/intlink].

Más información

USEARCH home page.

[intlink id=»7686″ type=»post»]QIIME[/intlink].

Cufflinks

Información general

Cufflinks is a reference-guided assembler for RNA-Seq experiments. It
simultaneously assembles transcripts from reads and estimates their relative
abundances, without using a reference annotation. The software expects as
input RNA-Seq read alignments in SAM format (http://samtools.sourceforge.net).

Versión instalada

2.2.0

Cómo usar

#!/bin/bash
#PBS -l nodes=1:ppn=4:rh7
#PBS -l mem=8gb
#PBS -l walltime=24:00:00

cd $PBS_O_WORKDIR

export PATH=/software/anaconda2/bin:$PATH
export LD_LIBRARY_PATH=/software/anaconda2/lib:$LD_LIBRARY_PATH

NPROCS=$( cat $PBS_NODEFILE | wc -l )

cufflinks -p $NPROCS -o C1_R2_clout C1_R2_thout/accepted_hits.bam

Más información

http://cole-trapnell-lab.github.io/cufflinks/

 

TopHat

Información general

TopHat is a fast splice junction mapper for RNA-Seq reads. It aligns RNA-Seq reads to mammalian-sized genomes using the ultra high-throughput short read aligner Bowtie, and then analyzes the mapping results to identify splice junctions between exons.

Versión instalada

2.1.1

Cómo usar

Un ejemplo sería para el script de torque sería:

#!/bin/bash
#PBS -l nodes=1:ppn=8:rh7
#PBS -l mem=8gb
#PBS -l walltime=24:00:00

cd $PBS_O_WORKDIR

export PATH=/software/anaconda2/bin:$PATH
export LD_LIBRARY_PATH=/software/anaconda2/lib:$LD_LIBRARY_PATH
NPROCS=$(wc -l $PBS_NODEFILE)

tophat --bowtie1 -p $NPROCS -G genes.gtf -o C1_R1_thout genome GSM794483_C1_R1_1.fq.gz GSM794483_C1_R1_2.fq.gz

Más información

Página web de TopHat.

Trinity

Información general

2.1.1 release. Trinity, represents a novel method for the efficient and robust de novo reconstruction of transcriptomes from RNA-seq data. Trinity combines three independent software modules: Inchworm, Chrysalis, and Butterfly, applied sequentially to process large volumes of RNA-seq reads. Trinity partitions the sequence data into many individual de Bruijn graphs, each representing the transcriptional complexity at at a given gene or locus, and then processes each graph independently to extract full-length splicing isoforms and to tease apart transcripts derived from paralogous genes. Briefly, the process works like so:

  • Inchworm assembles the RNA-seq data into the unique sequences of transcripts, often generating full-length transcripts for a dominant isoform, but then reports just the unique portions of alternatively spliced transcripts.
  • Chrysalis clusters the Inchworm contigs into clusters and constructs complete de Bruijn graphs for each cluster. Each cluster represents the full transcriptonal complexity for a given gene (or sets of genes that share sequences in common). Chrysalis then partitions the full read set among these disjoint graphs.
  • Butterfly then processes the individual graphs in parallel, tracing the paths that reads and pairs of reads take within the graph, ultimately reporting full-length transcripts for alternatively spliced isoforms, and teasing apart transcripts that corresponds to paralogous genes.

Cómo usar

Se puede usar el comando:

send_trinity

para enviar trabajos al sistema de colas. Tras responder unas preguntas creará el script que se enviará al sistema de colas. Para usuarios avanzados se puede utilizar para generar un script de ejemplo.

Rendimiento

A pesar de que Trinity puede ejecutarse en paralelo no lo hace de forma eficiente por encima 4 cores, siendo la reducción del tiempo de computo muy pequeña al aumentar el número de cores de cálculo como se observa en la tabla. Trinity es un programa que consume grandes cantidades de RAM.

Rendimiento de Trinity
Cores  1 4 8 12
Tiempo 5189 2116 1754 1852
Aceleración 1 2.45 2.96 2.80
Eficiencia (%)  100 61 37 23

 

Más información

Página web de Trinity.

ABySS

Información general

Versión 1.3.2 ABySS (Assembly By Short Sequences). ABySS is a de novo, parallel, paired-end sequence assembler that is designed for short reads. ABySS puede ejecutarse en paralelo.

Leer también sobre [intlink id=»6055″ type=»post»]velvet[/intlink] y el artículo que hemos publicado comparando ambos.

Cómo usar

Los ejecutables se pueden encontrar en /software/abyss/bin. Así, para ejecutar añadir en el scritp para el sistema de colas por ejemplo:

/software/abyss/bin/abyss-pe [opciones de abyss-pe]

Rendimiento

Leer también sobre [intlink id=»6055″ type=»post»]velvet[/intlink] y el artículo que hemos publicado comparando ambos.

Paralelización

Se han realizado unos benchmark sobre Abyss. Los benchmark se han realizado con ficheros obtenidos por un NGS Illumina HiSeq2000 con 100 bp por lectura. En la tabla 1 podemos ver un ejemplo de como escala ABySS con el número de cores. Como vemos ABySS escala bien hasta los 8 cores. El resultado parece ser independiente del número de secuencias procesadas una vez estas son muchas (>10e6).

Tabla 1. Tiempo de ejecución en segundos de abyss-pe en función del número de cores
cores 2 4 8 12 24
Tiempo (s) 47798 27852 16874 14591 18633
Aceleración 1 1.7 2.8 3.3 2.6
Rendimiento (%) 100 86 71 55 21

Tiempo de ejecución

También hemos analizado el tiempo de ejecución en función del tamaño de los datos de entrada. Observamos en la tabla 2 como el pasar de 1 millón a 10 millones de secuencias el tiempo se multiplica también por 10. De 10 millones  a 100 el tiempo aumenta entre 10 y 20. Por lo tanto, el comportamiento no es totalmente lineal, pero se aproxima.

Tabla 2. Tiempo de ejecución en segundos de abyss-pe ejecutado en 2, 4 y 8 cores en función del número secuencias procesadas
secuencias 10e6 10e7 10e8
Tiempo en 2 cores (s) 247 2620 47798
Tiempo en 4 cores (s) 134 1437 27852
Tiempo en 8 cores (s) 103 923 16874

Memoria RAM

En estos programas más importante que el tiempo de ejecución, que se mantiene en unos límites relativamente bajos, es el uso de la memoria RAM, que puede ser limitante e impedir la realización del cálculo. En la tabla  3 observamos como crece la memoria RAM al aumentar el número de secuencias. También mostramos en la tabla los logaritmos de los valores medidos que se han usado para realizar un ajuste lineal. Los cálculos se han realizado usando 12 cores.

Tabla 3. Memoria RAM usada por abyss-pe en función del número secuencias procesadas. También se muestran los logaritmos de los valores medidos
secuencias 10e6 5*10e6 10e7 5*10e7 10e8
RAM (GB) 4.0 7.6 11 29 44
log(secuencias) 6 6.7 7 7.7 8
log(RAM) 0.60 0.88 1.03 1.46 1.65

De los valores de la tabla obtenemos un buen ajuste de la evolución de la memoria RAM a la siguiente ecuación  que nos da la memoria RAM en GB en función del número de secuencias (s)

log(RAM)=0.53*log(s)-2.65

o lo que es lo mismo

RAM=(s^0.53)/447

Conclusión

El uso de la memoria RAM es menor que con otros ensambladores como [intlink id=»6055″ type=»post»]Velvet[/intlink], ver también el informe Velvet performance in the machines of the Computing Service of the UPV/EHU y el artículo que hemos publicado. Además, la paralelización con MPI permite agregar la memoria de varios nodos para poder realizar cálculos mayores.

Más información

Página web de ABySS.
Ensamblador [intlink id=»6055″ type=»post»]Velvet[/intlink].
Informe Velvet performance in the machines of the Computing Service of the UPV/EHU.
Entrada en el blog hpc: Velvet performance in the machines of the Computing Service of the UPV/EHU.

clean_reads

Información general

Version 0.2.2. clean_reads limpia reads de NGS (Next Generation Sequencing) – Sanger, 454, Illumina y solid. Puede eliminar

  • Regiones de mala calidad.
  • Adaptadores
  • Vectores
  • Expresiones regulares

También filtra reads que no llegan a un mínimo de calidad basándose en la longitud y cualidad media. Se puede ejecutar en paralelo.

Cómo usar

Para enviar trabajos de clean_reads al sistema de colas recomendamos usar el comando

send_clean_reads

que nos hará las preguntas necesarias para preparar y enviar el cálculo.

Rendimiento

clean_reads se puede ejecutar en paralelo y escala bien hasta los 8 cores. A 12 cores el rendimiento cae en picado. En la tabla 1 se pueden ver los resultados del benchmark, Éste se ha ejecutado en un nodo con 12 cores y procesadores Xeon E5645.

Tiempo de ejecución en segundos de clean_reads en función del número de cores
cores 1 4 8 12
Tiempo (s) 1600 422 246 238
Aceleración 1 3.8 6.5 6.7
Rendimiento (%) 100 95 81 56

Se ha ejecutado el comando

clean_reads -i in.fastq -o out.fastq -p illumina -f fastq -g fastq -a a.fna -d UniVec -n 20 --qual_threshold=20 --only_3_end False -m 60 -t 12

Más información

Página web de clean_reads.

Velvet

Información general

Versión 1.2.03. Velvet is a set of algorithms manipulating de Bruijn graphs for genomic and de novo transcriptomic Sequence assembly. It was designed for short read sequencing technologies, such as Solexa or 454 Sequencing and was developed by Daniel Zerbino and Ewan Birney at the European Bioinformatics Institute. The tool takes in short read sequences, removes errors then produces high quality unique contigs. It then uses paired-end read and long read information, when available, to retrieve the repeated areas between contigs.

Leer también sobre [intlink id=»6111″ type=»post»]ABySS[/intlink] y el artículo que hemos publicado comparando ambos.

Cómo usar

Para ejecutar velveth o velvetg en el sistema de colas Torque añadir en los scripts:

/software/bin/velvet/velveth [opciones de velvet]
/software/bin/velvet/velvetg [opciones de velvet]

Rendimiento

Velvet ha sido compilado con soporte paralelo a través de OpenMP. Hemos medido el rendimiento y los resultados están disponibles en la memoria Velvet performance in the machines of the Computing Service of the UPV/EHU. Velvet usa una enorme cantidad de memoria RAM para grandes cálculos y también la hemos medido. Hemos obtenido unas simples fórmulas para predecir el uso de memoria RAM en función de los ficheros de entrada de modo que el investigador pueda planificar su investigación.

Leer también sobre [intlink id=»6111″ type=»post»]ABySS[/intlink] y el artículo que hemos publicado comparando ambos.

Más información

Página web de Velvet.
Memoria sobre el rendimiento Velvet performance in the machines of the Computing Service of the UPV/EHU.
Entrada en el blog hpc: Velvet performance in the machines of the Computing Service of the UPV/EHU.

, post in the hpc blog

BLAST

Información general

Versión 2.2.24 de BLAST de NCBI. El BLAST (Basic Local Alignment Search Tool) es un algoritmo y un programa informático de alineamiento de secuencias de tipo local, ya sea de ADN o de proteínas, empleado en bioinformática. El programa es capaz de comparar una secuencia problema contra una gran cantidad de secuencias que se encuentren en una base de datos y encontrar las que tienen mayor parecido así como la significación de cada resultado.

Por razones de rendimiento no se ha instalado en los Itanium.

Bases de datos

El Servicio tiene instaladas varias bases de datos para uso compartido, consulta con los técnicos para más información. Si quieres actualizar o instalar más bases de datos contacta con los técnicos para evitar copias múltiples innecesarias.

Cómo ejecutar

Para enviar trabajos al sistema de colas recomendamos el uso del comando

send_blast

que nos hará las preguntas necesarias para lanzar el trabajo.

Rendimiento y gpuBLAST

Hemos comparado el BLAST normal de NCBI  con mpiBLAST gpuBLAST. Se pueden encontrar los resultados en el blog del Servicio. [intlink id=»1495″ type=»post» target=»_blank»]mpiBLAST[/intlink] está instalado en el Servicio. También gpuBLAST pero no está activo dado que son pocos los nodos con GPGPUs y no se obtiene un rendimiento tan grande.

Más información

Para más información página web de BLAST.

También está instaldado [intlink id=»1493″ type=»post»]Blast2GO[/intlink] y [intlink id=»1495″ type=»post» target=»_blank»]mpiBLAST[/intlink].

Genepop

Información general

Versión 4.1.

Genepop is a population genetics software package, which has options for the following analysis: Hardy Weinberg equilibrium, Linkage Disequilibrium, Population Differentiation, Effective number of migrants, Fst or other correlations.

Cómo ejecutar

Para ejecutarlo en el sistema de colas debéis de incluir en el script para el sistema de colas la línea:

/software/bin/Genepop < input_file

donde input_file tiene los parametros de Genepop, i.e, las respuestas a las preguntas que realiza en interactivo. Os recomendamos usar [intlink id=»233″ type=»post»]qsub en interactivo[/intlink].

 

Más información

Página web de Genepop.

CLUMPP

Información general

Versión 1.1.2. CLUMPP is a program that deals with label switching and multimodality problems in population-genetic cluster analyses. CLUMPP permutes the clusters output by independent runs of clustering programs such as [intlink id=»5855″ type=»post»]structure[/intlink], so that they match up as closely as possible. The user has the option of choosing one of three algorithms for aligning replicates, with a tradeoff of speed and similarity to the optimal alignment.

Cómo ejecutar

Para ejecutarlo en el sistema de colas debéis de incluir en el script para el sistema de colas la línea:

/software/bin/CLUMMP

con las opciones necesarias para CLUMPP. Os recomendamos usar [intlink id=»233″ type=»post»]qsub en interactivo[/intlink].

 

Más información

Página web de CLUMPP.

Structure

Información general

Versión 2.33.

The program structure is a free software package for using multi-locus genotype data to investigate population structure. Its uses include inferring the presence of distinct populations, assigning individuals to populations, studying hybrid zones, identifying migrants and admixed individuals, and estimating population allele frequencies in situations where many individuals are migrants or admixed. It can be applied to most of the commonly-used genetic markers, including SNPS, microsatellites, RFLPs and AFLPs.

Cómo ejecutar

Para ejecutar la interfaz gráfica de usuario ejecutar en Péndulo, Maiz o Guinness

structure

Para poder ejecutar aplicaciones gráficas leer [intlink id=»48″ type=»post»]cómo acceder a Arina[/intlink].

Para ejecutarlo en el sistema de colas debéis de incluir en el script para el sistema de colas la línea:

/software/bin/structure

con las opciones necesarias para structure. Os recomendamos usar [intlink id=»233″ type=»post»]qsub en interactivo[/intlink].

 

Más información

Página web de structure.

Blast2GO

Información general

Blast2GO is an ALL in ONE tool for functional annotation of (novel) sequences and the analysis of annotation data. Está instalada la versión 2.5.

Cómo usar Blast2GO

Si se ejecuta en Maiz, Péndulo o Guinness

blast2go

se ejecuta la versión gráfica que se conecta por red a las bases de datos de Blas2GO. No obstante, sólo en los nodos opteron y xeon hemos instalado localmente las bases de datos y para poder realizar cálculos de forma muy eficiente.

Para calcular en en los nodos basta incluir en el script de Torque:

/software/bin/blast2go -v -a -in input_file.xml -out outfile -prop b2gPipe.properties

o con las opciones deseadas y haber configurado correctamente el fichero b2Pipe.properties. Una plantilla de b2gPipe.properties la podéis copiar desde

cp /software/b2g4pipe/b2gPipe.properties .

Para acceder a las bases de datos locales configurar en el fichero b2gPipe.properties a través de la interfaz gráfica de Blast2GO (tools -> DB configuration) o editándolo directamente con los siguientes datos.

// GO and B2G-Mapping Database
Dbacces.dbhost=localhost
Dbacces.dbname=b2g
Dbacces.dbuser=blast2go
Dbacces.dbpasswd=blast4it

Es necesario incluir la etiqueta opteron para dirigir el cálculo a estos nodos y es un programa que se ejecuta en serie, es decir:

#PBS -l nodes=1:ppn=1:opteron

Si se desea actualizar o incluir alguna base de datos localmente contactar con los técnicos.

Más información

También está instalada la versión paralela de BLAST [intlink id=»1495″ type=»post»]mpiBLAST[/intlink].

Tutorial de Blast2GO.

Más información en la página web de Blast2GO.

mpiBLAST

Información general

mpiBlAST es una versión paralela de blast que permite su ejecución paralela en muchos nodos. Está instalada la versión 1.6.0. Compara secuencias de nucleótidos o proteínas con bases de datos y para estudiar relaciones funcionales y evolutivas así como identificar miembros de familas de genes.

Por razones de rendimiento no se ha instalado en los Itanium.

En nuestras pruebas falla si el fichero de secuencias tiene secuencias de más de aproxímadamente 3150 bp.

mpiBLAST está basado en la antigua versión de blast y usa la sintáxis antigua. Puedes verla en este link.

Bases de datos

El Servicio tiene instaladas varias bases de datos para uso compartido, consulta con los técnicos para más información. Si quieres actualizar o instalar más bases de datos contacta con los técnicos para evitar copias múltiples innecesarias.

Cómo ejecutar

Para enviar trabajos al sistema de colas recomendamos el uso del comando

send_blast

Este comando realiza una serie de preguntas y permite lanzar mpiBLAST o el BLAST normal, así como trocear el fichero de datos orginal para paralelizar sobre los datos o ajustar el tiempo de ejecución a Péndulo.

También puedes crear tú propio script de [intlink id=»19″ type=»post»]Torque[/intlink] incluyendo esta línea.

/software/bin/mpiblast -use-virtual-frags -use-parallel-write -output-search-stats

Por ejemplo, para usar blastx con la base de datos nr y obtener los resultados en formato XML y luego poder usarlos con [intlink id=»1493″ type=»post»]Blast2GO[/intlink]:

/software/bin/mpiblast -use-virtual-frags -use-parallel-write -output-search-stats -p blastx -d nr -m 7 -I T -i input_file.fas -o out_file.xml

Para tener un script de ejemplo puedes ejecutar un vez send_blast. También tenemos programas para facilitar el uso de BLAST, consulta con los técnicos.

Es recomendable usar el flag -use-virtual-frags para que no realice una copia local de la base de datos, esta se cargará íntegramente en memoria. Para Péndulo, que tiene poca memoria por nodo, es importante saber cuanta memoria va a necesitar nuestro cálculo para que entre perféctamente (ver informe sobre rendimiento).

Es necesario formatear la base de datos en fragmentos y asignar un fragmento a cada core (cpu). Recomendamos usar las bases de datos instaladas por los técnicos. Para fomatear las bases de datos nr en 6 trozos por ejemplo, está el comando:

/software/bin/mpiformatdb -N 6 -i nr -o T

El número de cores a solicitar para el cálculo con mpiBLAST a de ser igual al número de fragmentos de la base de datos más dos, en este caso solicitaríamos 8 cores.

mpiBLAST escala muy bien. Hemos realizado unos test y benchmark que nos puede servir para predecir el uso de memoria y cpu de los cálculos, que hemos plasmado en el  informe sobre el rendimiento de mpiBLAST.

 

Rendimiento

Para preparar los cálculos puede ser muy instructivo el informe sobre rendimiento de mpiBLAST. También hemos comparado mpiBLAST con el BLAST normal de NCBI y gpuBLAST. Se pueden encontrar los resultados en el blog del Servicio.

Más información

Para más información página web de mpiBLAST. Aquí se pueden encontrar manuales y tutoriales.

También está instaldado [intlink id=»1493″ type=»post»]Blast2GO[/intlink].

Informe sobre el rendimiento de mpiBLAST.

BEAST

Información General

BEAST 1.8.2 is a cross-platform program for Bayesian MCMC analysis of molecular sequences. It is entirely orientated towards rooted, time-measured phylogenies inferred using strict or relaxed molecular clock models. It can be used as a method of reconstructing phylogenies but is also a framework for testing evolutionary hypotheses without conditioning on a single tree topology. BEAST uses MCMC to average over tree space, so that each tree is weighted proportional to its posterior probability.

Cómo usar Beast

Para ejecutar el fichero de entrada input.xml en BEAST usar:

/software/bin/beast input.xml > output.log

Otros programas de BEAST instalados

beast, beauti, loganalyser, logcombiner eta treeannotator.

Benchmark

Presentamos los resultados de un pequeño benchmark realizado en las máquinas del servicio para analizar el rendimiento de beast. Como vemos paraleliza muy bien hasta 8 cores. Para cálculos muy largos puede que usar 16 cores merezca la pena pues aun hay una reducción significativa pero la eficacia en el uso de los procesadores ya cae de forma importante.

Cores Tiempo (s)
Eficiencia (%)
1 12692 100
4 3573 89
8 1889 84
16 1200 66
20 1149 55

Más información

Página web de BEAST con tutoriales y documentación.