Todas las entradas de: admin

PSI4

Información General

PSI4 is an open-source suite of ab initio quantum chemistry programs designed for efficient, high-accuracy simulations of a variety of molecular properties. It is very easy to use and has an optional Python interface.

Cómo Usar

send_psi4

  • Para enviar PSI4 en el sistema de colas se ha creado la utilidad send_ps4. Cuando se ejecuta sin argumentos muestra la siguiente ayuda:

 

send_psi4 JOBNAME NODES PROCS_PER_NODE TIME [ MEM ] [``Other queue options'']

 

JOBNAME: Is the name of the input with extension.
NODES: Number of nodes.
PROCS: Number of processors.
TIME: Time requested to the queue system, format hh:mm:ss.
MEM: Optional. Memory in Gb ( It will used 1GB/core if not set).
[``Other Torque Options'' ] Optional. There is the possibility to pass more variables to the queuing system.
See examples below. More information about this options

Ejemplos

Enviamos el input.in a un nodo, cuatro procesadores en ese nodo, con un tiempo de 4 horas solicitado:

send_psi4 job1 1 4 04:00:00

Enviamos un trabajo a 2 nodos compuation, 8 procesadores en cada nodo, con un tiempo solicitado de 192 horas, 8 GB de memoria RAM y para empezar a correr después del trabajo 1234.arina haya terminado:

send_psi4 job2 2 8 192:00:00 8 ``-W depend=afterany:1234'

Enviamos el Trabajo a 4 nodos y 4 procesadores en cada nodo, con el tiempo de 200 horas, 2 GB de RAM y solicitamos se nos envíe un correo electrónico al principio y al final del cálculo de la dirección especificada .

send_psi4 job 4 4 200:00:00 2 ``-m be -M mi.email@ehu.es''

Más información

Página web de PSI4.

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.

Qbox

Información general

Versión: 1.62.3

Qbox is a C++/MPI scalable parallel implementation of first-principles molecular dynamics (FPMD) based on the plane-wave, pseudopotential formalism. Qbox is designed for operation on large parallel computers.

2. Cómo usar

Para enviar trabajos a la cola se puede usar el comando

send_qbox  JOBNAME NODES PROCS_PER_NODE[property] TIME

Al ejecutar send_box [Enter] aparecen más las opciones de uso

Más información

Página web de  Qbox.

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.

R-3.2

Información general

R is ‘GNU S’, 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.

Paquetes Instalados

lavaan, mnormt, psych, Rcmdr, abind, e1071, xlsx, biocLite(),FactoMineR

Si se requiere alguno más, por favor, haznoslo saber.

Cómo usar

Para usar R-3.2  ejecutar:

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

Más información

http://cran.r-project.org/

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.

PHENIX

Información general

Versión dev-2229 (superior a 1.10) de PHENIX (Python-based Hierarchical ENvironment for Integrated Xtallography). PHENIX es un paquete de software para la determinación automática de estructuras macromoleculares usando cristalografía de rayos X y otros métodos. Está compilado para poder usarlo con [intlink id=»1969″ type=»post»]AMBER[/intlink].

Cómo usar

Para ejecutar la interfaz gráfica en Guinness ejecutar el comando:

phenix &

Para ejecutar PHENIX en los scripts del sistema de colas hay que cargar primero el entorno de PHENIX con el comando source, ejecutar por ejemplo:

phenix.xtriage my_data.sca [options]

Más información

Página web de PHENIX.
Documentación en línea.
Documentación en pdf.

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.

MCCCS Towhee 7.0.2

Towhee es un código de Monte Carlo (libre) de simulación molecular diseñado originalmente para la predicción de equilibrio en fluidos utilizando campos de fuerza basados en átomos.

Información General

Towhee puede utilizar varios tipos de conjuntos estadistícos  l (NVT, NpT, uVT, NVT and NpT) varios pasos Montecarlo  y también diferentes campos de fuerza. (Más información).

Cómo Usar

send_towhee

  • Para enviar Towhee  en el sistema de colas se ha creado la utilidad send_towhee. Cuando se ejecuta,
    se muestra la sintaxis del comando, que se resume a continuación:
  • send_towhee JOBNAME NODES PROCS_PER_NODE TIME [ MEM ] [``Other queue options'' ]
JOBNAME: Nombre del Output.
NODES: número de nodos.
PROCS: Número de  procesadores.
TIME: Tiempo solicitado al sistema de colas: formato hh:mm:ss.
MEM: Opcional. Memoria en Gb ( It will used 1GB/core if not set).
[``Other Torque Options'' ] Opcional. Otras opciones que se quieran pasar al sistema de colas.   More information about this options

Ejemplos

Enviamos la entrada Towhee   a un nodo, cuatro procesadores en ese nodo, con un tiempo de 4 horas solicitado. El output generado estara en el fichero OUT

send_gulp OUT 1 4 04:00:00

Enviamos un trabajo a 2 nodos compuation, 8 procesadores en cada nodo, con un tiempo solicitado de 192 horas, 8 GB de memoria RAM y para empezar a correr después del trabajo 1234.arina haya terminado:

send_gulp OUT 2 8 192:00:00 8 ``-W depend=afterany:1234'

Enviamos el  Trabajo a 4 nodos y 4 procesadores en cada nodo, con el tiempo de 200 horas, 2 GB de RAM y solicitamos se nos envíe un correo electrónico al principio y al final del cálculo de la dirección especificada .

send_gulp OUT 4 4 200:00:00 2 ``-m be -M mi.email@ehu.es''

El comando send_gulp  copia el contenido del directorio desde donde se envió el trabajo al /scratch o   /gscratch, si utilizamos dos o más nodos, y ahí es donde se hace el cálculo.

Jobs Monitoring

Para facilitar el seguimiento y/o control de los cálculos Towhee, se puede utilizar remote_vi

remote_vi JOBID

Nos muestra el archivo  output indicado en send_towhee  (sólo si ha sido enviado con send_towhee).

Más información

http://towhee.sourceforge.net/

Gulp 4.0

Información General

GULP es un programa para llevar a cabo una variedad de tipos de simulación de materiales a partir de las condiciones de contorno de 0-D (moléculas y clusters), 1-D (polímeros), 2-D (superficies, losas, …), o 3 -D (sólidos periódicos). El objetivo del código es una solución analítica, a través del uso de la «dinámica de red» (cuando sea posible) en lugar de dinámica molecular. Se pueden utilizar una gran variedad de campos de fuerza  dentro de GULP que abarca el modelo de capas de materiales iónicos, la mecánica molecular para los sistemas orgánicos, el modelo del átomo embebido de los metales y el potencial REBO de hidrocarburos. Se incluyen derivadas analíticas  por lo menos de segundo orden para la mayoría de los campos de fuerza, y de tercer orden para muchos.

Está instalado en guinness:/software/Gulp

Cómo Usar

Antes de usar GULP por favor verifica que cumplas las condiciones de uso.

send_gulp

  • Para enviar GULP en el sistema de colas se ha creado la utilidad send_gulp. Cuando se ejecuta,
    se muestra la sintaxis de comandos, que se resume a continuación:
  • send_lmp JOBNAME NODES PROCS_PER_NODE TIME [ MEM ] [``Other queue options'' ]

 

JOBNAME: El nombre del input con extensión.
NODES: Número de nodos.
PROCS: Número de  procesadores.
TIME: Tiempo pedido al sistema de colas, formato hh:mm:ss.
MEM: Optional. Memora en Gb (Si no se especifíca usará 1GB/core).
[``Other Torque Options'' ] Optional.  Otras .   More information about this options

Ejemplos

Enviamos la entrada GULP Job1 a un nodo, cuatro procesadores en ese nodo, con un tiempo de 4 horas solicitado:

send_gulp job1.gin 1 4 04:00:00

Enviamos un trabajo a 2 nodos compuation, 8 procesadores en cada nodo, con un tiempo solicitado de 192 horas, 8 GB de memoria RAM y para empezar a correr después del trabajo 1234.arina haya terminado:

send_gulp job2.gin 2 8 192:00:00 8 ``-W depend=afterany:1234'

Enviamos el  Trabajo a 4 nodos y 4 procesadores en cada nodo, con el tiempo de 200 horas, 2 GB de RAM y solicitamos se nos envíe un correo electrónico al principio y al final del cálculo de la dirección especificada .

send_gulp job.gin 4 4 200:00:00 2 ``-m be -M mi.email@ehu.es''

El comando send_gulp  copia el contenido del directorio desde donde se envió el trabajo al /scratch o   /gscratch, si utilizamos dos o más nodos, y ahí es donde se hace el cálculo.

Jobs Monitoring

Para facilitar el seguimiento y/o control de los cálculos GULP, se puede utilizar remote_vi

remote_vi JOBID

Nos muestra el archivo *. out (sólo si ha sido enviado con send_gulp).

Más información

http://projects.ivec.org/gulp/

LAMMPS

LAMMPS (“Large-scale Atomic/Molecular Massively Parallel Simulator”) es un programa de dinámica molecular de los Laboratorios Nacionales Sandia.  LAMMPS hace uso de MPI para la comunicación en paralelo y es un  código libre/abierto, distribuido bajo los términos de la Licencia Pública General de GNU. Versión del 5 de Junio de 2019.

Información General

LAMMPS es un código de dinámica molecular clásica que  modela conjuntos de partículas en estado líquido, sólido o gaseoso. Puede modelar sistemas atómicos, poliméricos, biológicos, sistemas metálicos, granulados, y de grano grueso usando una variedad de campos de fuerza y ​​condiciones de contorno.

En sentido más general, LAMMPS integra  las ecuaciones de movimiento de Newton para las colecciones de los átomos, moléculas o partículas macroscópicas que interactúan a través de fuerzas de corto o de largo alcance con una variedad de Newton condiciones iniciales y/o  de contorno.

Para lograr  eficiencia computacional, LAMMPS utiliza listas de vecinos para realizar un seguimiento de las partículas cercanas. Las listas están optimizadas para sistemas de partículas que son repulsivas en las distancias cortas, por lo que la densidad local de partículas nunca se vuelve demasiado grande. En las máquinas en paralelo, LAMMPS utiliza técnicas de descomposición espacial de la partición del dominio de simulación 3D en pequeños sub-dominios, uno de los cuales se asigna a cada procesador. Los  procesadores  comunican y almacenan la información de átomos «fantasma»  que rodean a sus sub-dominios. LAMMPS es más eficiente (en el sentido de cálculos en paralelo) para sistemas cuyas partículas llenan una caja rectangular en 3D con una densidad más o menos uniforme. Artículos con los detalles técnicos de los algoritmos utilizados en LAMMPS se enumeran en esta sección.

 

Cómo Usar

send_lmp

  • Para enviar LAMMPS en el sistema de colas se ha creado la utilidad send_lmp. Cuando se ejecuta,
    se muestra la sintaxis de comandos, que se resume a continuación:
  • send_lmp JOBNAME NODES PROCS_PER_NODE TIME [ MEM ] [``Other queue options'']

 

JOBNAME: Is the  name of the input with extension.
NODES: Number of nodes.
PROCS: Number of  processors.
TIME: Time requested to the queue system, format hh:mm:ss.
MEM: Optional. Memory in Gb ( It will used 1GB/core if not set).
[``Other Torque Options'' ] Optional. There is the possibility to pass more variables to the queuing system.
See examples below.   More information about this options

Ejemplos

Enviamos la entrada lammps Job1 a un nodo, cuatro procesadores en ese nodo, con un tiempo de 4 horas solicitado:

send_lmp job1.in 1 4 04:00:00

Enviamos un trabajo a 2 nodos compuation, 8 procesadores en cada nodo, con un tiempo solicitado de 192 horas, 8 GB de memoria RAM y para empezar a correr después del trabajo 1234.arina haya terminado:

send_lmp job2.inp 2 8 192:00:00 8 ``-W depend=afterany:1234'

Enviamos el  Trabajo a 4 nodos y 4 procesadores en cada nodo, con el tiempo de 200 horas, 2 GB de RAM y solicitamos se nos envíe un correo electrónico al principio y al final del cálculo de la dirección especificada .

send_lmp job.inp 4 4 200:00:00 2 ``-m be -M mi.email@ehu.es''

send_lmp comando copia el contenido del directorio desde donde se envió el trabajo al /scratch o   /gscratch, si utilizamos dos o más nodos. Y ahí es donde se hace el cálculo.

Jobs Monitoring

Para facilitar el seguimiento y/o control de los cálculos LAMMPS, se puede utilizar remote_vi

remote_vi JOBID

Nos muestra el archivo *. out (sólo si ha sido enviado con send_lmp).

Más información

http://lammps.sandia.gov

XCrySDen

Información general

XcrysSDen es un programa de visualización de estructuras cristalinas y moleculares. Dibuja isosuperficies y contornos que pueden ser superpuestas a las estructuras cristalinas y rotadas y manipuladas interactivamente.

Cómo ejecutar

Para usar XCrySDen ejecutar:

xcrysden

Es necesario poder abrir aplicaciones gráficas ([intlink id=»48″ type=»post»]ver acceso a los servidores[/intlink])

Más información

Página web de XCrySDen.

GRETL

Información general

Gretl (Gnu Regression, Econometrics and Time-series Library) es un paquete de software para análisis econométrico. Está disponible la versión 1.9.6.

Caraterísticas

  • Incluye una gran variedad de estimadores: mínimos cuadrados, máxima verosimilitud, GMM; de una sola ecuación y de sistemas de ecuaciones
  • Métodos de series temporales: ARMA, GARCH, VARs y VECMs, contrastes de raíces unitarias y de cointegración, etc.
  • Variables dependientes limitadas: logit, probit, tobit, regresión por intervalos, modelos para datos de conteo y de duración, etc.
  • Los resultados de los modelos se pueden guardar como ficheros LaTeX, en formato tabular y/o de ecuación.
  • Incluye un lenguaje de programación vía ‘scripts’ (guiones de instrucciones): las órdenes se pueden introducir por medio de los menús o por medio de guiones.
  • Estructura de bucles de instrucciones para simulaciones de Monte Carlo y procedimientos de estimación iterativos.
  • Controlador gráfico mediante menús, para el ajuste fino de los gráficos Gnuplot.
  • Enlace a GNU R, GNU Octave y Ox para análisis más sofisticados de los datos.

Cómo usar

Para usar gretl ejecutar:

/software/bin/gretlcli

Más información

Página web de Gretl.

Gaussview

Versión 5.0.9 de Gaussview, interfaz gráfica para la creación y análisis de trabajos de [intlink id=»12″ type=»post»]Gaussian[/intlink]. Para su uso basta con ejecutar:

gv

Se recomienda usarlo en Guinness a través de NX-Client. Para ver como configurarlo correctamente seguir esta guía paso a paso.

CPLEX

Información general

CPLEX proporciona algoritmos matemáticos robustos, permite resolver problemas con millones de variables y restricciones. Versión 12.6.3.

Características

  • Automatic and dynamic algorithm parameter control
    IBM ILOG CPLEX Optimizer automatically determines «smart» settings for a wide range of algorithm parameters, usually resulting in optimal linear programming solution performance. However, for a more hands-on approach, dozens of parameters may be manually adjusted, including algorithmic strategy controls, output information controls, optimization duration limits, and numerical tolerances.
  • Fast, automatic restarts from an advanced basis
    Large problems can be modified, and then solved again in a fraction of the original solution time.
  • A variety of problem modification options, such as:
    – The ability to add and delete variables
    – The ability to add and delete constraints
    – The ability to modify objective, right-hand side, bound and matrix coefficients
    – The ability to change constraint types
  • A wide variety of input/output options, such as:
    – Problem files: read/write MPS files, IBM ILOG CPLEX Optimizer LP files, MPS basis and revise files, binary problem/basis files
    – Log files: session information and various solution reports
    – Solution files: ASCII and binary solution files
    – IBM ILOG CPLEX Optimizer messages: Each message type (such as RESULTS, WARNINGS or ERRORS) can be directed to specified files, or completely suppressed.
  • Post solution information and analysis, including:
    – Objective function value
    – Solution variable and slack values
    – Constraint dual values (shadow prices)
    – Variable reduced costs
    – Right-hand side, objective function, and bound sensitivity ranges
    – Basic variables and constraints
    – Solution infeasibilities (if any exist)
    – Iteration/node count, solution time, process data
    – Infeasibility (IIS) finder for diagnosing problem infeasibilities
    – Feasibility optimizer for automatic correction of infeasible models

Cómo usar

Para usar CPLEX ejecutar:

/software/bin/cplex/cplex

Benchmark

Hemos realizado un pequeño benchmark usando COIN-OR, ver la [intlink id=»1397″ type=»post»]página de COIN-OR[/intlink].

Más información

Página web de CPLEX.

Turbomole

Presently TURBOMOLE is one of the fastest and most stable codes available for standard quantum chemical applications. Unlike many other programs, the main focus in the development of TURBOMOLE has not been to implement all new methods and functionals, but to provide a fast and stable code which is able to treat molecules of industrial relevance at reasonable time and memory requirements.

Información general

Turbomole se utiliza tanto en el ámbito académico como en el industrial, en áreas tan diversas como la catálisis homogénea y heterogénea, química orgánica e inorgánica, diversos tipos de espectroscopia y bioquímica.

Las principales funcionalidades del programa son:

Teoría del Funcional de la Densidad (LDA, GGA, híbridos).
  • Teoría del Funcional de la Densidad (LDA, GGA, híbridos).
  • Funciones respuesta (HF, DFT).
  • Cálculos relativísticos con interacciones spin-orbita.
  • Cálculos Coupled-Cluster (CC2) para estados fundamentales y excitados.
  • Cálculos de momentos de transición (monoelectrónicos) entre estados excitados CC2.
  • Optimización de estructuras (mínimos y estados de transición).
  • Frecuencias vibracionales (analíticas para HF y DFT, numéricas para el resto de métodos).
  • NMR.
  • Energías Douglas-Kroll-Hess en C1.
  • Dinámica molecular ab initio.

Cómo usar

El programa se encuentra en guinness en /software/TURBOMOLE, y para un uso más sencillo se ha creado la herramienta send_turbo. Ver [intlink id=»4713″ type=»post»]Cómo enviar Turbomole[/intlink].

TmoleX permite importar o construir estructuras a calcular, y visualizar y analizar los resultados obtenidos. TmoleX se puede descargar gratuitamente para instalarlo localmente en los PCs o se puede ejecutar en guinness. Para ustar Tmolex ejecutar:

TmoleX

Para abortar limpiamente un cálculo tras la iteración en curso que se está ejecutando, con el identificador de trabajo 1234.arina por ejemplo, podéis usar el comando:

turbomole_stop 1234

Recordar que hay que borrar el fichero «stop» si se reenvía el cálculo.

Más información

Página web de Turbomole

Manual de Turbomole

Tutorial de Turbomole

Orca

ORCA (3.0.3) is a flexible, efficient and easy-to-use general purpose tool for quantum chemistry with specific emphasis on spectroscopic properties of open-shell molecules. It features a wide variety of standard quantum chemical methods ranging from semiempirical methods to DFT to single- and multireference correlated ab initio methods. It can also treat environmental and relativistic effects.

Información general

ORCA es un programa, flexible, eficiente y fácil de utilizar, una herramienta de propósito general para la química cuántica, con especial hincapié en las propiedades espectroscópicas de moléculas con capa abierta. Cuenta con una amplia variedad de métodos estándar de química cuántica desde los métodos semiempíricos, DFT  …

Cómo usar

Los ejecutables de  se encuentran instalados en /software/orca, y para un uso más sencillo se ha creado la herramienta send_orca. Para usarla ver cómo enviar Orca.

Benchmark

Presentamos los datos de un benchmark  realizados con Orca (optimización b3lyp) en las máquinas del servicio, excluimos itanium porque el rendimientro es muy pobre.

Cores Xeon Tiempo Speed Up Eficiencia
1 3438 100%
8 498 6.9 86%
16 316 10.90 62%
32 218 15.77 50%

Terachem

Información General

TeraChem 1.45 is general purpose quantum chemistry software designed to run on NVIDIA GPU architectures under a 64-bit Linux operating system. Some of TeraChem features include:

  • Full support for both NVIDIA Tesla and Fermi GPUs
  • Restricted Hartree-Fock and Kohn-Sham single point energy and gradient calculations
  • Various DFT functionals (BLYP, B3LYP, PBE, etc) and DFT grids (800-80,000 grid points per atom)
  • Empirical dispersion corrections (DFT-D)
  • Geometry optimization and transition state search (including constraints)
  • Ab initio molecular dynamics (NVE and NVT ensembles)
  • Support of multiple-GPU systems
  • Up to 1000 times faster than conventional CPU-based codes
  • Designed for large molecules – reads/writes PDB files directly
  • Optimization including geometric constraints
  • Improved mixed-precision for increased accuracy

Cómo mandar Terachem

Existe el comando [intlink id=»3851″ type=»post»]send_terachem[/intlink] para facilitar enviar trabajos al cluster

Más información

Página de Terachem.

Manual de usuario.

CUDA

Información General

Versión 3.2 del entorno de desarrollo para GPUs, incluye compiladores, debbugers, librerías matemáticas,etc que permiten escribir programas para ser ejecutados en GPUs. Es desarrollado por Nvidia y solo sirve para crear códigos para sus tarjetas gráficas.

Para más detalles sobre su uso y como ejecutarlo consulta con los técnicos por favor.

Más información

Página para desarrolladores de Nvidia.

Portland – PGI

Información general

Versión 10.9 de los compiladores y herramientas de desarrollo de Portlan Group. Consulta con los técnicos si quieres más información sobre su uso.

GPUs

La tecnología de los compiladores de PGI permite compilar fácilmente código hecho en Fortran y C para su ejecución en GPUs. Más detalles en la web de PGI.

Otras características

Includes The Portland Group’s native parallelizing/optimizing FORTRAN 77, Fortran 90/95/03, HPF, OpenMP C++ and ANSI C compilers for 64-bit x64 and 32-bit x86.

Provides the features, quality, and reliability necessary for developing and maintaining advanced scientific and technical applications. Includes the PGDBG OpenMP and MPI parallel graphical debugger and the PGPROF OpenMP and MPI parallel graphical performance profiler that can debug and profile up to 16 local MPI processes. PGI Server also includes a precompiled MPICH message passing library.

Más Información

Página de web The Portland Group – PGI.

VMD

Información general

VMD is designed for modeling, visualization, and analysis of biological systems such as proteins, nucleic acids, lipid bilayer assemblies, etc. It may be used to view more general molecules, as VMD can read standard Protein Data Bank (PDB) files and display the contained structure. VMD provides a wide variety of methods for rendering and coloring a molecule: simple points and lines, CPK spheres and cylinders, licorice bonds, backbone tubes and ribbons, cartoon drawings, and others. VMD can be used to animate and analyze the trajectory of a molecular dynamics (MD) simulation. In particular, VMD can act as a graphical front end for an external MD program by displaying and animating a molecule undergoing simulation on a remote computer.

Como usar

Los usuarios deberán cerciorarse el poder ejecutar una aplicación gráfica de los servidores del Servicio en sus ordenadores personales. Esto se explica [intlink id=»48″ type=»post»]en la guía de acceso[/intlink] al servicio.

Para usar VMD ejecutar en la terminal

vmd

Más información

VMD homepage.

Maestro

Información general

Maestro is the unified interface for all Schrödinger software. Impressive rendering capabilities, a powerful selection of analysis tools, and an easy-to-use design combine to make Maestro a versatile modeling environment for all researchers.

En los servidores Guinness y Péndulo está instalada la versión 9.0, en Maiz la versión 8.5. Recomandamos usar Maestro en el servidor Guinness, es el servidor más nuevo y el que soporta las últimas versiones de Maestro.

Como usar

Los usuarios deberán cerciorarse el poder ejecutar una aplicación gráfica de los servidores del Servicio en sus ordenadores personales. Esto se explica [intlink id=»48″ type=»post»]en la guía de acceso[/intlink] al servicio.

Para ejecutar Maestro usar en la terminal

maestro

Más información

Página web de Maestro.

Página web de Schrödinger.

Acceso

Cómo obtener cuenta

Los clusters se encuentran accesibles a todos los investigadores de la UPV/EHU que para conectarse deben de solicitar una cuenta, empresas y otras entidades contactar con los técnicos. No obstante, para utilizar los nodos de cálculo es necesario también solicitar tiempo de cálculo que será facuturado. Se evaluarán las peticiones y asignarán los recursos. La tarifas se encuentran en [intlink id=»28″ type=»category»]este link[/intlink]. El cluster [intlink id=»120″ type=»post»]Pendulo[/intlink] es de uso gratuito y no es necesario la solicitud de tiempo de cálculo.

Ver la página en inglés.

Software de desarrollo

Compiladores y versiones instaladas en las diferentes arquitecturas.

Compiladores

Xeon
Itanium Opteron
Pendulo
GNU ok ok ok ok
[intlink id=»454″ type=»post»]Intel[/intlink] ok ok ok ok
[intlink id=»3664″ type=»post»]Portlan (PGI)[/intlink] 10.9 10.9
[intlink id=»3672″ type=»post»]Cuda[/intlink] 3.2
Java Java HotSpot(TM) Server VM (build 1.6.0_03-b05, mixed mode)OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode) Java JRockit(R) (build R27.6.3-40) Java Java HotSpot(TM) 64-Bit Server VM(build 14.0-b16, mixed mode)
[intlink id=»5434″ type=»post»]HMPP[/intlink] ok

MPI

Xeon
Itanium
Opteron Pendulo
[intlink id=»459″ type=»post»]HP-MPI[/intlink] ok ok
[intlink id=»459″ type=»post»]Bull-MPI[/intlink] ok ok
[intlink id=»459″ type=»post»]Intel MPI[/intlink] ok ok ok
[intlink id=»459″ type=»post»]Openmpi [/intlink] ok ok
[intlink id=»459″ type=»post»]mvapich2 1.4.1 [/intlink] ok

Librerías

Xeon Itanium
Opteron Pendulo
[intlink id=»447″ type=»post»]Intel MKL[/intlink] ok ok ok ok
[intlink id=»462″ type=»post»] FFTW[/intlink] ok ok ok ok
[intlink id=»3775″ type=»post»] GSL[/intlink] ok ok ok ok

Software de Cálculo

 

DL

Quantum Mechanics

Katramila
(xeon,rh7,xeon20)
Guinness
(xeon,oxeon)
Kalk2017
(xeon,rh7,xeon28)
[intlink id=»573″ type=»post»]Abinit[/intlink] ok ok ok ok
[intlink id=»1591″ type=»post»]ADF[/intlink] 2017.110 2017.110 1017.110
[intlink id=»1673″ type=»post»]BigDFT[/intlink] ok ok
[intlink id=»1951″ type=»post»]Casino 2.4[/intlink] ok
[intlink id=»1543″ type=»post»]Dirac 08[/intlink] ok
[intlink id=»591″ type=»post»]Espresso[/intlink] ok ok
[intlink id=»1563″ type=»post»]Gamess Jan 2009 [/intlink] ok
[intlink id=»12″ type=»post»]Gaussian 03 & 09[/intlink] ok ok ok
[intlink id=»467″ type=»post»]Jaguar[/intlink] ok ok ok
[intlink id=»1889″ type=»post»]MIKA .81[/intlink] ok
[intlink id=»2077″ type=»post»]NBO 5[/intlink] ok
[intlink id=»100″ type=»post»]NWChem 6.3 [/intlink] ok ok
[intlink id=»4228″ type=»post»]Orca 3.0.3 [/intlink] ok ok
[intlink id=»8843″ type=»post»]PSI4[/intlink] ok ok
[intlink id=»8081″ type=»post»]Qbox[/intlink] ok ok
[intlink id=»106″ type=»post»]Qsite[/intlink] ok ok ok
[intlink id=»2404″ type=»post»]Siesta 2.0.1[/intlink] ok
[intlink id=»2404″ type=»post»]Siesta 3.0[/intlink] ok
[intlink id=»39″ type=»post»]TB-LMTO 4.6 [/intlink] ok
[intlink id=»3849″ type=»post»]Terachem [/intlink] ok
[intlink id=»4689″ type=»post»]Turbomole 6.6 [/intlink] ok ok
[intlink id=»98″ type=»post»]VASP[/intlink] ok ok ok
[intlink id=»1637″ type=»post»]Wien2K[/intlink] ok ok
[intlink id=»1655″ type=»post»]Yambo 3.2.2 [/intlink] ok ok

BioChemistry / Molecular Mechanics

Katramila
(xeon,rh7,xeon20)
Guinness
(xeon,oxeon)
Kalk2017
(xeon,rh7,xeon28)
[intlink id=»1969″ type=»post»]Amber[/intlink] ok ok
[intlink id=»2031″ type=»post»]DL_POLY [/intlink] ok ok
[intlink id=»1989″ type=»post»]Gromacs[/intlink] ok ok
[intlink id=»5753″ type=»post»]GULP 4.0[/intlink] ok
[intlink id=»5707″ type=»post»]LAMMPS[/intlink] ok
[intlink id=»2065″ type=»post»]Macromodel[/intlink] ok ok ok
[intlink id=»2011″ type=»post»]NAMD 2.6 [/intlink] ok
[intlink id=»5803″ type=»post»] Towhee 7.0.2 [/intlink] ok

Matemática y Gráficos

Katramila
(xeon,rh7,xeon20)
Guinness
(xeon,oxeon)
Kalk2017
(xeon,rh7,xeon28)
[intlink id=»1397″ type=»post»] Coin-or [/intlink] ok ok
[intlink id=»5232″ type=»post»] CPLEX [/intlink] ok ok
[intlink id=»1363″ type=»post»]Grace 5.1.19 [/intlink] ok ok ok
[intlink id=»598″ type=»post»]Mathematica[/intlink] ok ok ok
[intlink id=»600″ type=»post»]Matlab[/intlink] ok ok
[intlink id=»1371″ type=»post»]Matplotlib[/intlink] ok
[intlink id=»612″ type=»post»]Octave 3.2.3 [/intlink] ok
[intlink id=»612″ type=»post»]Octave 3.2.4 [/intlink] ok
[intlink id=»8631″ type=»post»]R, RCommander y RStudio[/intlink] 3.3.3 3.3.2 3.3.3
[intlink id=»606″ type=»post»]Scilab 5.1.1 [/intlink]
[intlink id=»606″ type=»post»]Scilab 5.2.2 [/intlink] ok

Genética

Katramila
(xeon,rh7,xeon20)
Guinness
(xeon,oxeon)
Kalk2017
(xeon,rh7,xeon28)
[intlink id=»6111″ type=»post»]ABySS[/intlink] ok
[intlink id=»1477″ type=»post»]BEAST[/intlink] ok ok
[intlink id=»6005″ type=»post»]BLAST [/intlink] ok
[intlink id=»1493″ type=»post»]Blast2Go [/intlink] ok
[intlink id=»6101″ type=»post»]Clean_reads[/intlink] ok
[intlink id=»5889″ type=»post»]CLUMPP [/intlink] ok
[intlink id=»7668″ type=»post»] Cufflinks [/intlink] ok
[intlink id=»5915″ type=»post»]Genepop[/intlink] ok
[intlink id=»8051″ type=»post»]IDBA-UD[/intlink] ok ok
[intlink id=»7967″ type=»post»]MetAMOS[/intlink] ok
[intlink id=»1495″ type=»post»]mpiBLAST [/intlink] ok
[intlink id=»7686″ type=»post»]QIIME[/intlink] ok
[intlink id=»8019″ type=»post»]SPAdes[/intlink] ok ok
[intlink id=»5855″ type=»post»]structure [/intlink] ok
[intlink id=»7660″ type=»post»]TopHat [/intlink] ok
[intlink id=»7071″ type=»post»]Trinity[/intlink] ok
[intlink id=»7700″ type=»post»]USEARCH[/intlink] ok
[intlink id=»6055″ type=»post»]Velvet[/intlink] ok

Software de Visualización

Katramila
(xeon,rh7,xeon20)
Guinness
(xeon,oxeon)
Kalk2017
(xeon,rh7,xeon28)
[intlink id=»5362″ type=»post»] Gaussview[/intlink] ok
[intlink id=»3528″ type=»post»] Maestro [/intlink] ok ok
[intlink id=»1275″ type=»post»] Molden[/intlink] ok ok
[intlink id=»1229″ type=»post»] NX client[/intlink] ok ok
[intlink id=»1353″ type=»post»] P4VASP [/intlink] ok ok
x2Go ok ok
[intlink id=»5514″ type=»post»] XCrysDen [/intlink] ok
[intlink id=»1261″ type=»post»] Xmakemol [/intlink] ok ok
[intlink id=»3550″ type=»post»] VMD [/intlink] ok ok

Otro Software

Katramila
(xeon,rh7,xeon20)
Guinness
(xeon,oxeon)
Kalk2017
(xeon,rh7,xeon28)
[intlink id=»1389″ type=»post»] GAP 4.4 [/intlink] ok
[intlink id=»5471″ type=»post»] Gretl [/intlink] ok
[intlink id=»1379″ type=»post»] HTK 3.4.1 [/intlink]
[intlink id=»1871″ type=»post»] NCL-NCAR [/intlink] ok
[intlink id=»1581″ type=»post»] OOMMF [/intlink] ok ok
[intlink id=»6864″ type=»post»] PHENIX [/intlink] ok
[intlink id=»8516″ type=»post»] SCIPION[/intlink] ok
[intlink id=»576″ type=»post»] STAR-CCM+ [/intlink] ok ok ok
[intlink id=»1875″ type=»post»] WRF 3.1 [/intlink] ok

 

Siesta

Información general

Spanish Initiative for Electronic Simulation with Thousands Atoms. Programa de cálculo ab-initio de DFT para sólidos y moléculas. Permite realizar relajaciones y simulaciones de dinámica molecular. Usa orbitales localizados y permite calcular con un gran número de átomos. Se distribuye gratuitamente, pero se requiere solicitar la licencia académica.  Las versiones instaladas son la 2.0.1 en Itanium y la 3.0rc1 en x86-64.

Cómo mandar Siesta

[intlink id=»1167″ type=»post»]Sigue este enlace[/intlink].

Más información

Siesta home page.

Manual en línea de Siesta.

DL_POLY

Información general

Versión 4.02 del completo programa de dinámica molecular para macromoléculas, polímeros, sistema iónicos, disoluciones y otros sistemas moleculares desarrollado en el Laboratorio Daresbury. Se ha instalado la versión 4.02 (2.2 en Pendulo). Existe también DL_POLY_CLASSIC que por el momento no se desarrolla.

 

El programa se ha compilado con soporte para GPGPUs.

Cómo mandar

El programa está instalado para todas las arquitecturas, en Arina y en Péndulo (dl_poly_2.2). Para ejecutar el programa incluir en los scripts:

/software/bin/DL_POLY/DL_POLY.Z

El programa se ejecutará en las GPGPUs si entra en dichos nodos. También se puede seleccionar este tipo de nodos con la etiqueta gpu del [intlink id=»244″ type=»post»] sistema de colas[/intlink].

También se ha instalado la interfaz gráfica. Para ejecutarla:

/software/bin/DL_POLY/gui

Se han instalado una serie de utilidades que vienen incluidas y cuyas fuentes están en el directorio /software/bin/DL_POLY/.

Benchmark

Presentamos los datos de tres pequeños benchmark realizados con dl_ploly_4.02 en los que se mide su paralelización así como su eficiencia sobre GPGPUs.

System 1 cores 4 cores 8 cores 16 cores 32 cores 64 cores
Itanium 1.6 GHz 1500 419 248 149 92 61
Opteron 1230 503 264 166 74
Xeon 2.27 GHz 807 227 126 67 37 25

Como ya observamos en este primer test el rendimiento en los nodos xeon es superior y para trabajos largos se recomienda su uso. Por otro lado también se observa que escala muy bien al aumentar el número de procesadores. En los siguientes benchmark además medimos el rendimiento de al correr sobre las GPGPUs.

System 1 cores 2 cores 4 cores 8 cores 16 cores 32 cores
Itanium 1.6 GHz 2137 303 165 93 47
Opteron 1592 482 177 134 55
Xeon 2.27 GHz 848 180 92 48 28
1 GPGPU 125 114 104 102
2 GPGPU 77 72 69
4 GPGPU 53 50
8 GPGPU 37
System 1 cores 2 cores 4 cores 8 cores 16 cores 32 cores 64 cores
Xeon 2.27 GHz 2918 774 411 223 122 71
1 GPGPU 362 333 338 337
2 GPGPU 240 222 220
4 GPGPU 145 142
8 GPGPU 97

 

Como se observa la GPGPU acelera el cálculo. El usar más cores apenas incrementa la velocidad cuando se usan GPGPUs. Doblar el número de GPGPUS sólo consigue que la velocidad se multiplique por 1.5 por lo que al final correr en paralelo en muchos cores resulta más eficiente. Tomemos como ejemplo el último benchmark. Cada nodo tiene 2 GPGPUs y 8 cores. Usando 8 cores se tarda 411 s. y usando las GPGPUs podemos bajar hasta los 220 s. Usando 2 nodos, 4 GPGPUs vs 16 cores aun son más rápidas las GPGPUs. Pero con 32 cores el cálculo tarda 71 s mientras que usando las 8 GPGPUs disponibles en los 4 nodos tardamos 97 s. Podemos concluir que para un PC o en nuestro cluster para un nodo la tarjeta gráfica puede acelerar significativamente el cálculo, pero para cálculos masivamente paralelos la paralelización sobre CPUs es más efectiva.

DL_POLY está diseñado para sistemas grandes e incluso el uso de miles de cores. Según la documentación de DL_POLY:

The DL_POLY_4 parallel performance and efficiency are considered very-good-to-excellent as long as (i) all CPU cores are loaded with no less than 500 particles each and (ii) the major linked cells algorithm has no dimension less than 4.

Más información

Página principal de DL_POLY.

Manual de DL_POLY (pdf).

Manual de la interfaz gráfica de DL_POLY (pdf).

NAMD

La versión instalada es la 2.8

Programa con potenciales empíricos que incluye dinámica molecular, minimización de energía y Monte Carlo, desarrollado en la Universidad de Illinois. Especialmente orientado a la simulación de sistemas biológicos.

El software se encuentra instalado tento en arina como en pendulo, el el directorio
/software/NAMD_2.6. Se ha creado también el script send_namd para enviar trabajos de NAMD.

Como mandar NAMD

Existen dos formas de ejecutar NAMD en Arina y Pendulo:

    • Usando send_namd.
    • Creando un script torque y enviar esté a la cola.
  1. send_namd
      • Para lanzar al sistema de colas NAMD existe la utilidad send_namd. Al ejecutarlo,
        muestra la sintaxis del comando, que se resume a continuación:
      • Modo de Uso:send_namd JOBNAME PROCS_PER_NODE[property] TIME MEM [«Other queue options» ]
        JOBNAME: Nombre del input de NAMD completo, con extensión
        NODES: Número de nodos
        PROCS: Número de procesadores.
        TIME: Tiempo solicitado a la cola, formato hh:mm:ss.
        MEM: memoria en Gb y sin especificar la unidad.
        [``Otras opciones de Torque'' ] Existe la posibilidad de pasar más variables al sistema de colas.
        Ver ejemplos más abajo. [intlink id=»244″ type=»post»]Más información sobre estas opciones[/intlink]

    Ejemplos:

    Mandamos NAMD con el input job1 a 16 procesadores  con un tiempo solicitado de 4 horas y 1 GB de RAM:

    send_namd job1.namd 2 8:xeon20 04:00:00 1

    Mandamos NAMD con el input job2 con 4 procesadores, y con un tiempo solicitado de 192 horas, 8 GB de RAM y que se ejecute despues del trabajo 1234.arinab:

    send_namd job2.conf 1 8 192:00:00 8 ``-W depend=afterany:1234''

Monitorización de los cálculos:

remote_vi Para facilitar el seguimiento y/o control de los cálculos, se puede utilizar remote_vi. Nos enseña con el editor gvim el *.out del cálculo de NAMD (sólo si ha sido enviado usando send_namd).

Ejemplos:

  • remote_vi 38143.arina

Más Información

NAMD home page.

 

 

 

 

AMBER

Información general

Versión 14 de AMBER (Assisted Model Building with Energy Refinement) junto con amber tools15. Programa con potenciales empíricos que incluye dinámica molecular, minimización de energía. Especialmente orientado a la simulación de sistemas biológicos.

Cómo usar

Están compilados las versiones en serie y paralelas de AMBER y se pueden encontrar en

/software/bin/amber

send_amber

Para mandar cálculos de AMBER se ha preparado el comando send_amber. Uso:

send_amber "Sander_options" Nodes Procs_Per_Node[property] Time [or Queue] [Mem] ["Other_queue_options"]

Sander_options: the options you want to use in the calculation, inside quotes
Nodes: is the number of nodes
Procs: is the number of processors (you may uinclude the node type) per node.
Time: or Queue the walltime (in hh:mm:ss format) or the queue name of the calculation
Mem: the PBS memory (in gb)
[Mem] and ["Other_queue_options"] are optional

Para «Other queue options» see examples below:

send_amber "sander.MPI -O -i in.md -c crd.md.23 -o file.out" job1 1 8 p_slow
send_amber "sander.MPI -O -i in.md -c crd.md.23 -o file.out" 2 8:xeon vfast 16 "-W depend=afterany:1234"
send_amber "sander.MPI -O -i in.md -c crd.md.23 -o file.out" 4 8 24:00:00 32 "-m be -M mi.email@ehu.es"

Más información

Amber home page.

Manual en línea.

Tutoriales.

 

MIKA

Multigrid Instead of K-spAce. Versión .81 del paquete de programas de cálculo DFT en el espacio real, tanto para sistemas periódicos, como finitos, desarrollado por el CSC y la Universidad Tecnológica de Helsinki (HUT).

Información general

Incluye un paquete que resuelve las ecuaciones de Kohn-Sham en 3 dimensiones (rspace) y otro para problemas con simetría cilíndrica (cyl2). Para más información MIKA home page

Como usar

  • rspace
  • Programa para cálculos DFT en celdas ortorrómbicas, usando pseudopotenciales no locales (dispone de una pequeña librería en /software/MIKA/potentials). Puede realizar simulaciones en celdas con condiciones periódicas de contorno y en sistemas finitos con funciones de onda que se anulan en los bordes de celda. Se puede ejecutar en paralelo (muy eficientemente) con

    mpirun /software/bin/rspace_p

    y en serie con

    rspace_s
  • cyl2
  • Programa para cálculos DFT en sistemas con simetría cilíndrica, resuelve numéricamente las ecuaciones de Kohn-Sham en la dirección radial y longitudinal. Se puede ejecutar en paralelo con

    mpirun /software/bin/cyl2_p

    Nota: No usar más microprocesadores n que el número cuántico m , se recomienda n menor o igual m. La versión en serie se ejecuta con

    cyl2_s

Más información

MIKA home page

Quick reference quide.

NCL – NCAR

Información General

The NCAR Command Language (NCL), a product of the Computational & Information Systems Laboratory at the National Center for Atmospheric Research (NCAR), is a free interpreted language designed specifically for scientific data analysis and visualization. NCL has robust file input and output. The graphics are world class and highly customizable.

Como Ejecutar

Se ejecutan por ejemplo:

/software/bin/ncdump

o en el servidor directamente:

ncdump

Por ahora sólo está compilado para la arquitectura itanium2. Se ha compilado con soporte para NETCDF-4, HDF4, HDF5, HDFEOS, GRIB2, vis5d+ y usando triangle.

Más Información

Página web de NCL.

ADF

Información general

Amsterdam Density Functional (2016.01)

The ADF package is software for first-principles electronic structure calculations. ADF is used by academic and industrial researchers in such diverse fields as pharmacochemistry and materials science. It is particularly popular in the research areas of homogeneous and heterogeneous catalysis, inorganic chemistry, heavy element chemistry, various types of spectroscopy, and biochemistry. Key Benefits of ADF

  • Spectroscopic properties and environments for any type of molecule
  • Excels in transition and heavy metal compounds
  • Accurate, robust, and fast
  • Expert staff and active community
  • Uses Slater functions, beats Gaussians!

ADF puede calcular tanto sistemas finitos (moléculas) y sistemas periódicos (con ADFBAND). Incluye potentes interfaces gráficas y herramientas para el análisis de los resultados accesibles desde Katramila.

Se dispone de licencia para 4 cores.

Cómo usar

Para ejecutar las interfaces gráficas (generador de input, visualización de resultados,…) usar desde Katramila:

adfview

Para lanzar un ADF en arina usar un input creado con adfinput recomendamos usar el comando send_adf donde su sintaxis es:

<code>send_adf JOBNAME NODES PROCS[property] TIME MEM [``Otherqueue options'' ]
  • JOBNAME: Nombre del input de nwchem sin extensión.
  • NODES: Number of nodes.
  • PROCS: Número de procesadores.
  • TIME: Tiempo solicitado a la cola, formato hh:mm:ss.
  • MEM: memoria en GB y sin especificar la unidad.
  • [«Otras opciones de Torque»] Existe la posibilidad de pasar más variables al sistema de colas. Ver ejemplos más abajo. Más información sobre estas opciones

Ejemplo

Para mandar el input au_min2.run a 4 procesadores, con un walltime de 20 horas y 4 GB de RAM usar

send_adf au_min2.run 1 4 20:00:00 4

Más información

Página principal de ADF.

Documentación de ADF

OOMMF

Información general

Versión 1.2 del programa para realizar simulaciones micromagnéticas. No está compilado con la versión paralela de tcl.

Cómo usar

Ejecutando

oommf.tcl

nos aparece la interfaz gráfica. Para poder preparar y analizar los cálculos. Para mandar cálculos a las colas de cálculo se puede usar el comando

send_oommf

que nos crea un script adecuado y lo envía a la cola, además de asegurar la coherencia entre los cores solicitados al sistema de colas y a OOMMF.

Benchmark

Se ha realizado un pequeño benchmark con la versión 1.2. En la versión paralela en xeon OOMMF tiene un rendimiento aceptable hasta los 4 cores con el input empleado, no hemos realizado el benchmark paralelo en otras arquitecturas dado que los nodos xeon son los más adecuados.

Node type xeon20 xeon12 xeon8
Time
776
905 1224

 

Más información

Página web de OOMMF.

Manuales de OOMMF.

GAMESS-US 12 JAN 2009 (R1)

Información general

Gamess es un paquete de química computacional con varios métodos para calcular propiedades de sistemas moleculares, usando descripciones mecánico-cuánticas estándar para las funciones de onda o la densidad electrónica. La versión 12 JAN 2009 (R1) se encuentra instalada en el cluster. En estos momentos, se puede ejecutar gamess en varios nodos, con 8 o más procesadores.

[intlink id=»1037″ type=»post»]Como mandar Gamess[/intlink]

En este enlace puedes ver cómo mandar cálculos de Gamess y como ir monitorizándolos.

Más información

Página de GAMESS-US

Dirac 08



Información general

La versión que se encuentra instalada en el cluster es DIRAC08. Dirac es un paquete de química computacional con varios métodos para calcular propidedades de sistemas moleculares usando mecánica-cuántica relativista.

Como ejecutar

Para ejecutar dirac hay que crear un script para torque y utilizar la herramienta de pam de dirac. El SGI/IZO ha actualizado pam deshabilitando la opción -mpi, ya que el sistema de colas se encarga de gestionar los procesadores. Dirac (bases y pam incuidos) esta instalado en /software/Dirac08.

Un script de ejemplo se encuentra aquí.

Benchmarks

El tipo de cálculos que realiza dirac requiere de bastantes recursos computacionales, y realiza muchas operaciones I/O por ello, no paralaliza muy bien como se puede ver en la pruebas realizadas:

nproc Itanium Opteron Pendulo (1:ppn=nproc)
1 2176 4650 3603
2 2056 (1.04) 3370 (1.37) 3100 (1.16)
4 990 (2.19) 1847 (2.5) 1840 (1.97)
8 730(2.98) 1054 (4.4) NA
El speed-up se muestra en negrita.

Input y sistema utilizado para los benchmarks.

Más información

Página de DIRAC y documentación.

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.

Coin-or

Información general

1.7.5 version. The Computational Infrastructure for Operations Research (COIN-OR**, or simply COIN) project is an initiative to spur the development of open-source software for the operations research community. Se ha compilado incluyendo [intlink id=»5232″ type=»post»]CPLEX[/intlink].

Cómo usar

Los ejecutables blis, cbc, clp, OSSolverService y symphony se encuentran instalados en /software/bin/CoinAll. Para usar, por ejemplo clp ejecutar en los scripts de torque:

/software/bin/CoinAll/clp

Más información

Coin-or home page.

GAP

Versión 4.4 del lenguaje matemático para álgebra discreta con numerosas librerías de funciones y tablas.

GAP es unas 2.5 veces más lento en itanium que en opteron o core2duo. Os recomendamos Maiz o Péndulo para ejecutar GAP en interactivo.

Se puede ejecutar directamente gap en la línea de comandos. Por defecto se crea un espacio de trabajo (workspace) de 512 MB. En los scripts del sistema de colas si es necesario incrementar la memoria que usa GAP ejecutarlo con la opción -m, por ejemplo:

/software/bin/gap -m 900m < input-file > output-file

donde input-file es el fichero con las órdenes para GAP, en output-file se guarda la salida de pantalla y se está creando un workspace de 900 MB para GAP.

Más información y documentación en GAP home page.

HTK

Versión 3.4.1 del conjunto de programas para trabajar modelos ocultos de Markov. Es principalmente usado en investigación sobre el reconocimiento del habla.

Sólamente está instalado en Péndulo y los nodos Opteron.

Para ejecutar alguna de sus programas emplear por ejemplo:

/software/bin/HDecode

Para más información Página web de HTK.

Matplotlib

Información general

Librerías para cálculo matemático con Python. Se han instalado también las librerías numphy y el intérprete ipython.

Se ha requerido recompilar python, se deben usar ejecutando

/software/bin/python

/software/bin/ipython

Más información

Página web de Matplotlib.

Página web de Numpy.

Página web de ipython.

Grace

Información general

Está instalada la versión 5.1.19. Grace es un herramienta WYSIWYG (What you see is what you get, es decir, Lo que Ves es lo que Consigues) para hacer gráficos en dos dimensiones de datos numéricos.

Para ejecutarlo hay que utilizar el comando:

xmgrace

Más información

Más información y documentación en la página web de Grace.

P4VASP

Información general

P4vasp es un paquete para visualizar estructuras y densidades electrónicas,…de cálculos de VASP.

Como usar

Los usuarios deberán cerciorarse el poder ejecutar una aplicación gráfica de los servidores del Servicio en sus ordenadores personales. Esto se explica [intlink id=»48″ type=»post»]en la guía de acceso[/intlink] al servicio.

Para su ejecución, simplemente ejecutar

p4v

Más información

P4Vasp home page.

Molden

Información general

Molden es un paquete para visualizar estructuras y densidades electrónicas, que lee los formatos de los siguientes programas Ab-Initio: GAMESS-UK , GAMESS-US, GAUSSIAN,… desarrollado en la Radboud University Nijmegen. La versión disponible es la 4.4.

Como usar

Los usuarios deberán cerciorarse el poder ejecutar una aplicación gráfica de los servidores del Servicio en sus ordenadores personales. Esto se explica [intlink id=»48″ type=»post»]en la guía de acceso[/intlink] al servicio.

Para usar Molden ejecutar en la terminal

molden

Más información

Molden Homepage y manual en línea.

XMakemol

Información general

Xmakemol es un paquete para visualizar estructuras atómicas. La versión disponible es la 5.14.

Como usar

Los usuarios deberán cerciorarse el poder ejecutar una aplicación gráfica de los servidores del Servicio en sus ordenadores personales. Esto se explica [intlink id=»48″ type=»post»]en la guía de acceso[/intlink] al servicio.

Para su ejecución, simplemente usar

xmakemol

Más información

XMakemol Homepage.

Manual en línea.

NX – Server

Información general

NX es un servidor de terminal o conexión gráfica remota. Sirve para desde nuestro PC o PDA poder ver las aplicaciones gráficas ejecutadas en Maiz, Guinness, Péndulo,…. Tiene la ventaja de comprimir el tráfico, cachear información,…lo cual reduce las comunicaciones y lo hace muy adecuado para conectarse desde casa. Es válido para Windows, linux, Mac,….

Como se usa

Es necesario instalar el cliente en nuestro PC y ejecutarlo para conectarse a los servidores de cálculo. Este documento es una guía para instalar y configurar el cliente NX para conectarse a las máquinas del Servicio.

Más información

Página web para descargar el cliente  NX.

scilab

Versión 5.1.1 en (Itanium, Opteron y Péndulo) y 5.2.2 en Xeon del programa matemático de cálculo numérico.

Características generales

Está instalado en los nodos opteron de Arina y en Péndulo. La interfaz gráfica sólo está disponible en Péndulo y Guinness.
Similar en funcionalidades a Matlab. Incluye herramientas para:

  • Visualización 2D y 3D.
  • Lenguaje de programación (scripts de scilab).
  • Resolución de equaciones diferenciales.
  • Modelizador y simulador de sistemas híbridos: tratamiento de señal, sistemas de control, sistema biológicos,…
  • Álgebra simbólica (Maple).

Como ejecutar Scilab

Usar el siguiente comando:

scilab

y abrirá en Péndulo la interfaz gráfica y en Maiz una terminal. En los scripts para lanzar a las colas usar la línea

/software/bin/scilab -f script_scilab > output_file

donde script_scilab es el archivo con las ordenes para Scilab.

Más información

Más información y documentación de Scilab en http://www.scilab.org/.

Benchmarks

Hemos realizado unos benchmarks comparando [intlink id=»606″ type=»post»]Scilab 5.2[/intlink],  [intlink id=»612″ type=»post»]Octave 3.2[/intlink] y [intlink id=»600″ type=»post»]Matlab 7.10[intlink] en las máquinas del servicio.   Los resultados los presentamos en 3 tablas, la primera es un resumen de los resultados, la segunda son los resultados del bencharmark grande e incluimos una tercera con los mismos benchmark pero parámetros más pequeños para poder comparar con Péndulo.

Tabla 3: Resumen de resultados de los benchmark grandes. El score es la media geométrica de los 3 scores del bechmark grande.
Octave Scilab Matlab
Itanium Opteron Xeon Opteron Xeon Opteron Xeon
Total score 47.6 31.4 14.5 31.6 15.6 22.0 9.5

En resumen, las últimas versiones de Matlab y Octave tienen un rendimiento similar en los nodos Xeon (salvo por la ejecución de loops en Octave, ver más abajo). Scilab es aproximadamente un 50% más lento que los anteriores. En cuanto a las máquinas los nuevos nodos Xeon son mucho más potentes que los Itanium o los Opteron doblándoles en rendimiento (Scilab y Octave han sido compilados y linkados con librerías optimizadas, las versiones instaladas son el doble de rápidas que las versiones binarias instalables).

En la primera tabla resumen vemos la puntuación obtenida por los tres programas en las diferentes máquinas del servicio. Nos centraremos en las máquinas xeon que son las más nuevas. En ellas aparentemente Matlab es el más rápido. No obstante, si miramos detalladamente a los tiempos de ejecución de la tabla 4 vemos que los tiempos de Octave y Matlab son totalmente comparables salvo el benchmark en el que se crea una matriz de Toeplitz (Programation 4) en el que se testea la ejecución de bucles. La tecnología de Matlab permite ejecutar los loops de forma muy rápida mientras que Octave todabía no puede. En este sentido se recomienda en Octave usar operaciones vectoriales o funciones optimizadas en vez de bucles de forma intensiva (Por ejemplo, crear la misma matriz del benchmark en Octave con la función toeplitz(c,r) es casi instantáneo).

Del benchmark pequeño en el que incluímos a Péndulo vemos que obtenemos un rendimiento para Péndulo próximo a los Itanium y Opteron. En Péndulo no se han compilado sino que se han instalado los binarios.

El número de licencias de Matlab es limitado, pero la gratuicidad de Scilab y Octave le confieren ventaja en caso necesitar calcular mucho ya que no hay límite de licencias ni procesos de ejecución..

Tabla 4: Resultados de los benchmark grandes medido en segundos. El score es la media geométrica eliminando el mejor y el peor resultado. Al final se incluye una descripción de los benchmark. ++ tiempos muy largos, no se usan en la media geométrica.
Octave Scilab Matlab
Itanium Opteron Xeon Opteron Xeon Opteron Xeon
Matrix calculation
Matrix calc 1 108.6 35.9 12.8 93.0 33.2 24.5 12.4
Matrix calc 2 49.5 3.8 7.5 9.8 9.3 18.1 13.4
Matrix calc 3 122.3 32.8 25.1 27.8 25.6 24.8 18.4
Matrix calc 4 72.2 137.0 41.5 172.1 80.2 132.8 40.8
Matrix calc 5 37.2 42.5 17.9 40.0 18.0 54.8 18.7
Score 72.9 36.8 17.9 46.9 24.8 32.1 16.6
Matrix functions
Matrix func 1 2.6 1.2 0.5 11.0 0.9 1.7 0.6
Matrix func 2 153.5 99.5 37.2 290.9 71.8 124.0 39.9
Matrix func 3 48.1 50.8 22.1 48.1 21.6 65.8 23.0
Matrix func 4 57.1 72.8 29.1 66.1 29.8 106.5 32.8
Matrix func 5 32.1 42.9 16.1 39.7 16.3 51.0 16.5
Score 44.5 54.1 21.8 50.2 21.9 71.0 23.2
Programation
Programation 1 4.7 2.2 1.4 2.8 1.7 4.7 3.1
Programation 2 48.1 22.2 5.3 18.4 5.7 13.7 6.4
Programation 3 3.9 1.5 0.4 3.7 1.3 1.6 0.6
Programation 4 161.2 76.2 66.1 35.5 35.6 0.1 0.0
Programation 5 ++ ++ ++ ++ ++ ++ ++
Score 33.2 15.5 7.8 13.4 7.0 4.7 2.2
Tabla 5: Resultados de los benchmark pequeños medido en segundos. El score es la media geométrica eliminando el mejor y el peor resultado. Al final se incluye una descripción de los benchmark.
Octave Scilab Matlab
Pendulo Itanium Opteron Xeon Pendulo Opteron Xeon Opteron Xeon
Matrix calculation
Matrix calc 1 2.2 3.1 2.4 1.0 4.3 5.6 2.8 2.1 1.1
Matrix calc 2 0.9 5.2 0.3 0.7 1.1 1.1 0.9 1.2 1.2
Matrix calc 3 1.5 1.8 1.4 1.3 1.9 1.8 1.3 1.0 0.9
Matrix calc 4 1.8 1.8 3.8 1.2 18.4 6.4 2.3 3.0 1.2
Matrix calc 5 1.0 2.5 1.4 0.6 3.5 1.7 0.6 1.6 0.6
Score 1.4 2.4 1.7 0.96 3.1 2.6 1.7 1.6 1.1
Matrix functions
Matrix func 1 0.4 0.63 0.4 0.2 0.9 2.6 0.5 0.8 0.3
Matrix func 2 3.0 3.3 4.3 1.9 7.5 9.4 2.3 4.3 2.0
Matrix func 3 1.1 1.0 1.6 0.7 4.3 1.6 0.6 1.6 0.7
Matrix func 4 1.3 1.3 2.0 0.9 5.2 2.7 0.9 2.3 0.9
Matrix func 5 0.9 0.7 1.2 0.5 3.2 1.6 0.5 1.2 0.5
Score 1.1 1.0 1.6 0.65 4.2 2.2 0.67 1.7 0.66
Programation
Programat. 1 0.5 0.6 0.6 0.4 0.6 0.8 0.5 1.1 0.9
Programat. 2 30.0 2.6 3.9 1.1 4.3 3.5 1.2 2.6 1.3
Programat. 3 0.6 0.3 0.4 0.1 1.0 1.2 0.4 0.3 0.2
Programat. 4 8.2 14.3 7.2 5.8 3.3 3.7 3.2 0.0 0.0
Programat. 5 24.0 27.8 36.0 14.8 67.8 57.4 33.2 38.9 17.5
Score 4.9 2.8 2.6 1.4 2.4 2.5 1.3 0.9 0.58



Descripción de los benchmark.

Matrix calculation
Matrix calc Creation, transp., deformation of a matrix.
Matrix calc Normal distributed random matrix ^1000.
Matrix calc Sorting of random values.
Matrix calc Cross-product matrix (b = a’ * a).
Matrix calc Linear regression over a matrix (c = a b’).
Matrix functions
Matrix func FFT over random values.
Matrix func Eigenvalues of a random matrix.
Matrix func Determinant of a random matrix.
Matrix func Cholesky decomposition of a matrix.
Matrix func Inverse of a random matrix.
Programation
Programation Fibonacci numbers calculation (vector calc).
Programation Creation of a Hilbert matrix (matrix calc).
Programation Grand common divisors of pairs (recursion).
Programation Creation of a Toeplitz matrix (loops).
Programation Escoufier’s method on a matrix (mixed).