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
<module name> <module options> Global options: --brief --colour= --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