Softwarové aplikace pro bioinformatiku dostupné na klastrech

Softwarové aplikace pro bioinformatiku
dostupné na klastrech
Martin Mokrejš
Zpracování biomedicínských dat
Sekvence (nukleových kyselin, bílkovin)
Struktury (2D, 3D)
Informace (textové, obrazové, asociační/kontextové)
Předpovídání (genů, funkcí/nemocí, struktur, mutací)
https://en.wikipedia.org/wiki/Bioinformatics
Zpracování biomedicínských dat
Sekvence (nukleových kyselin, bílkovin)
https://en.wikipedia.org/wiki/Bioinformatics#Sequence_analysis
Bioinformatika






Nadějný kandidát na největšího žrouta výpočetního času i diskové
kapacity
Typicky neefektivně psané programy
Chybí paralelizace (příp. pouze formou vláken)
Malá škálovatelnost
Výjimečně podpora pro MPI, boost, BLAS/LAPACK
Výjimečně kód využívající SSE2 instrukce (dynamické
programování)
Jak snadno nainstalovat stovky
aplikací včetně závislostí?
Využili jsme Gentoo Linux a jeho definice závislostí mezi
balíčky


Nevyužili jsme Gentoo::Prefix protože neumožňuje obejít
zastaralou systémovou libc


Využili jsme jeho nadstavby Gentoo::RAP (Gentoo::Android)
This is a project to support libc inside a Prefix, codenamed RAP (Rap
Ain't Prefix). See also Project:Android. A general use case is for Prefix
on RHEL 5 (CentOS 5 ans SL 5), where the host glibc-2.5 is too old to
support modern features as fortify.
Srovnání způsobů řešení cest k binárkám,
knihovnám
https://wiki.gentoo.org/wiki/Prefix/libc
Kompilace optimalizovaného kódu
pro oba klastry zvlášť
Využili jsme Gentoo Linux a jeho definice závislostí mezi
balíčky


Aktuálně binárky produktem gcc
gcc-5.4.0 -O2 -pipe -march=native

V plánu je rekompilace všeho pomocí icc/ifort 2016.2
Nastavení volitelných parametrů
pro aplikace
$ emerge -pv dev-lang/R
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild
R
] dev-lang/R-3.3.1::gentoo USE="X cairo java
jpeg lapack nls openmp perl png (prefix) readline tiff tk -doc
-icu -minimal -profile -static-libs" 0 KiB
Total: 1 package (1 reinstall), Size of downloads: 0 KiB
$ eselect
Usage: eselect <global options> <module name> <module options>
Global options:
--brief
--colour=<yes|no|auto>
--debug
Make output shorter
Enable or disable colour output (default 'auto')
Debug eselect (enable set -x)
Built-in modules:
help
usage
version
print-modules
print-actions
print-options
Display a help message
Display a usage message
Display version information
Print eselect modules
Print actions for a given module
Print options for a given action
Alternatives modules:
blacs
blas
cblas
lapack
lapacke
scalapack
...
Maintain
Maintain
Maintain
Maintain
Maintain
Maintain
Alternatives
Alternatives
Alternatives
Alternatives
Alternatives
Alternatives
symlinks
symlinks
symlinks
symlinks
symlinks
symlinks
for
for
for
for
for
for
blacs
blas
cblas
lapack
lapacke
scalapack
$ eselect lapack list
Available providers for lapack:
[1]
mkl-dynamic
[2]
mkl-dynamic-openmp
[3]
mkl-gfortran
[4]
mkl-gfortran-openmp
[5]
mkl-intel
[6]
mkl-intel-openmp
[7]
reference *
$ eselect lapacke list
Available providers for lapacke:
[1]
mkl-dynamic *
[2]
mkl-dynamic-openmp
[3]
mkl-gcc-openmp
[4]
mkl-intel
[5]
mkl-intel-openmp
$ eselect blas list
Available providers for blas:
[1]
mkl-dynamic
[2]
mkl-dynamic-openmp
[3]
mkl-gfortran
[4]
mkl-gfortran-openmp
[5]
mkl-intel
[6]
mkl-intel-openmp
[7]
reference *
$ eselect cblas list
Available providers for cblas:
[1]
gsl *
[2]
mkl-dynamic
[3]
mkl-dynamic-openmp
[4]
mkl-gcc-openmp
[5]
mkl-intel
[6]
mkl-intel-openmp
$
Lokální kopie částí databází
7.9G
665G
99G
84G
849G
115G
79G
3.9G
3.2G
broad_institute
ftp.1000genomes.ebi.ac.uk
ftp.broadinstitute.org
ftp.ebi.ac.uk
ftp.ensembl.org
ftp.ncbi.nih.gov
ftp.ncbi.nlm.nih.gov
ftp.sanger.ac.uk
ussd-ftp.illumina.com
Applications for bioinformatics at IT4I
error-correctors
aligners
clusterers
assemblers
scaffolders
motif searching
ORF/gene prediction/genome
annotation
genotype/haplotype/popullation
genetics
phylogenetics
transcriptome analysis
utilities
GUI
libraries


Sequence
assembly tools
velvet, oases, STAR,
megahit, edena, epga,
mira


Sequence
alignment
bwa, bowtie, gmap,
abys, trans-abyss,
stampy, smalt, ssaha2,
shrimp, blat, fasta,
blast, bfast, yasra,
clustalw, lastz, muscle,
mummer, mrfast,
shrimp, nwalign


Clustering tools
cd-hit, proda, tclust, nrcl


Scaffolding tools
Bambus, SSAKE, BRANCH,
scaffold_builder, subread, crossgenome


Motif searching

scan_for_matches, erpin, miranda,
trf

ORF/gene
prediction
Exonerate, eugene, ESTscan,
geneid, sgp2, glimmerhmm,
hexamer


Genotype/haplotype
prediction
Plink, PlinkSeq, MERLIN, genepop


Phylogenetics
Clustalw, Phylip, mrbayes


Transcriptome
analysis
R, bioconductor,
cufflinks, codonw


Utilities
FLASH, samtools,
bamtools, vcftools,
bedtools, HTSeq, pysam,
pysamstats, pybedtools,
assembly_stats, jellyfish,
biobambam2, cdbfasta,
fastx_toolkit, tagdust,
lucy, repeatmasker,
screen, cutadapt, scythe,
trimmomatic, sickle


X11 GUI
Tablet, igv, Gambit, AMOS
(Hawkeye), R, Bioconductor

Spouštění grafických aplikací (X11 windows)
Požadavky pro MS Windows uživatele:
Spuštěný X11 klient, například XMing
( www.straightrunning.com/XmingNotes )

Putty se zapnutým "X11 port forwarding"
( www.chiark.greenend.org.uk/~sgtatham/putty )
Spuštění grafické aplikace IGV
$ java -Xmx16G -jar /scratch/mmokrejs/IGV_2.3.81/igv.jar &
INFO [2016-09-22 10:48:23,990] [DirectoryManager.java:169] [main] IGV Directory: /home/mmokrejs/igv
INFO [2016-09-22 10:48:23,990] [DirectoryManager.java:169] IGV Directory: /home/mmokrejs/igv
INFO [2016-09-22 10:48:23,996] [Main.java:133] [main] Startup IGV Version 2.3.81 (127)08/30/2016 02:20 PM
INFO [2016-09-22 10:48:23,996] [Main.java:134] [main] Java 1.8.0_101
INFO [2016-09-22 10:48:23,996] [DirectoryManager.java:72] [main] Fetching user directory...
INFO [2016-09-22 10:48:24,577] [Main.java:135] [main] Default User Directory: /home/mmokrejs
INFO [2016-09-22 10:48:24,578] [Main.java:136] [main] OS: Linux
INFO [2016-09-22 10:48:41,035] [GenomeManager.java:145] [main] Loading genome:
/home/mmokrejs/igv/genomes/hg38.genome
INFO [2016-09-22 10:48:42,687] [GenomeManager.java:192] [main] Genome loaded. id= hg38
INFO [2016-09-22 10:48:42,880] [CommandListener.java:106] [Thread-6] Listening on port 60151
Spouštění dávkových úloh v prostředí Gentoo::RAP
$ cat my_PBS_job.pbs
#PBS -S /scratch/mmokrejs/gentoo_rap/bin/sh
#PBS -l nodes=1:ppn=16,walltime=48:00:00
#PBS -q qprod
#PBS -M [email protected]
#PBS -m ea
#PBS -N sample1-PB
#PBS -A DD-16-33
#source ~/.bashrc
cd $PBS_O_WORKDIR || exit 255
myscript.sh
$ head myscript.sh
#! /scratch/mmokrejs/gentoo_rap/bin/sh
printenv
myapplication -arg1 -arg2
Interaktivní spuštění prostředí Gentoo::RAP
oldshell $ /scratch/mmokrejs/gentoo_rap/startprefix
Entering Gentoo Prefix /scratch/mmokrejs/gentoo_rap
newshell $
newshell $ gcc-config -l
newshell $
newshell $ icc -help
newshell $
newshell $ R --version | head -n 3
R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical
Computing
Platform: x86_64-pc-linux-gnu (64-bit)
newshell $
Co je v plánu?


Uživatelská dokumentace
Seznam aplikací

Rekompilace pomocí icc/ifort

Instalace dosud chybějících programů

Potenciálně přechod na EasyBuild balíčky a integrace
do modules
Děkuji za pozornost