• Non ci sono risultati.

July20,2013 LucaPireddu,SimoneLeo,GianluigiZanetti AnUpdateonTheSealHadoop-basedSequenceProcessingToolbox

N/A
N/A
Protected

Academic year: 2021

Condividi "July20,2013 LucaPireddu,SimoneLeo,GianluigiZanetti AnUpdateonTheSealHadoop-basedSequenceProcessingToolbox"

Copied!
24
0
0

Testo completo

(1)

An Update on

The Seal Hadoop-based Sequence Processing Toolbox

Luca Pireddu, Simone Leo, Gianluigi Zanetti

CRS4Distributed Computing Group

July 20, 2013

(2)

Outline

1 Motivation

2 Introducing Seal

3 New additions

4 Conclusion

(3)

Advances in sequencing

Regular advances to sequencing technologies are lowering sequencing costs

increasing acquisition speed

Data production rate is growing exponentially

E.g., 1 Illumina HT machine can now produce about 9 TB of raw data per month

Processing capacity is not growing this fast!

(4)

Growth of data

In recent years there has been a steady increase in the amount of digitized data available

Rise of data-driven businesses

Google apparently processed 24 PB/day in 2009 That's about 20000 Illumina run directories. . . per day!

Relative to theirs, our problem doesn't seem so big

(5)

How can do they do that?

(6)

Scaling

Change!

Adopt new a computational paradigm

Scale horizontally, using lots of machines

Write software that accepts and handles hardware failure Spread the data

split it into parts

distribute them on the processing nodes Move the computation to the data

(7)

Hadoop

Those ideas are already implemented in an open source solution Hadoop

Refactors distribution and robustness into a reusabe framework Not a second-class citizen: this is the system used by Twitter, Facebook, Yahoo, LinkedIn, and others

Maybe those processing a lot of sequencing data should try it. . .

(8)

CRS4

CRS4 Sequencing and Genotyping Platform Currently the largest sequencing center in Italy

Sequencing Equipment: 3 Illumina HiSeq2000, plus older sequencers Sequencing Capacity: about 5 Tbases/month

Since Sept. 2010 we've sequenced about. . .

over 2000 whole-genome samples (mostly low-pass, some high-coverage)

800 RNA samples 100 exomes

a handful (≈ 30) of ChIP-Seq samples

(9)

Hadoop

We needed to scale

Decided to trying doing so with Hadoop But. . .

. . . software has to be written specically for Hadoop

(10)

Outline

1 Motivation

2 Introducing Seal

3 New additions

4 Conclusion

(11)

Seal

Seal is:

a suite of distributed tools for processing HT sequencing data runs on the Hadoop MapReduce framework

Goals

Scalable In cluster size In data size

Robust Resilient to node failure and transient cluster problems Sucient Implement all data-intensive steps of our sequencing

pipeline

(12)

At time of last publication. . .

At the time of the last Seal publication we only had two tools:

Seqal

Hadoop-based read aligner

Incorporates BWA's alignment code Simultaneously identies PCR duplicates Prq

Required for Seqal

Reformat read and mate into the same record

CRE_242:1:2204:1453;1918#0 READ1 QUAL1 READ2 QUAL2

(13)

Outline

1 Motivation

2 Introducing Seal

3 New additions

4 Conclusion

(14)

Bcl to Qseq

Description

Extract reads in qseq format from Illumina bcl les, using Hadoop Wraps Illumina's own bclToQseq utility

Automatically runs many instances in parallel on Hadoop cluster Based on Pydoop

Supports all the original utility's features; adds Hadoop benets

(15)

Demux

Description

Separate (demultiplex) samples in multiplexed runs.

Analogous to functionality provided by Illumina's tools, but scalable Separates samples into their own directory

Can, optionally, also separate reads by number (i.e. 1, 2) Can allow for substitution errors in barcodes

(16)

RecabTable

Description

Collect base quality statistics for recalibration using Hadoop Equivalent to GATK CountCovariatesWalker

Supported factors (hard-coded):

Read group Base quality score Sequencing cycle Dinucleotide

Generates a table that can be fed to the GATK base quality recalibrator

(17)

ReadSort

Description

Distributed sorting of read alignments

Sorting required to create les usable by downstream software ReadSort uses an algorithm based on TeraSort

Divides work among all nodes Getting data out of the Seal environment:

ReadSort leaves data in n sorted les

merge_alignments program provided to concatenate them all

(18)

File format support

Seal now uses HadoopBAM (I/O library for sequencing le formats on Hadoop)

Introduced support for data in multiple le formats QseqFastq

SAM

Both input and output

Also supports transparent distributed compression and decompression Codecs: snappy, bzip2, gzip (gzip input les not splittable)

(19)

Galaxy integration

We have implemented a Galaxy wrappers for the Seal tools A bit tricky since Hadoop doesn't follow Galaxy's model Not directly in the Seal project

Plan to release them later this year

(20)

Outline

1 Motivation

2 Introducing Seal

3 New additions

4 Conclusion

(21)

Production use

Seal-based pipeline has been in use for over a year Our experience has been positive

Scales well

Signicantly improved processing throughput Signicantly lowered operational eort

Jobs fail much less frequently, and they are relatively easy to monitor Robustness is important for automation

(22)

Future development

Complete Hadoop 2 compatibility

Base quality recalibration (complete the workow) Optimization

Support RNA expression analysis

Support for ecient columnar le formats

Support for sequencing platforms other than Illumina

Too bad we won't have the time to do all this. Pull requests welcome!

(23)

Try it and contribute!

Repository

https://github.com/crs4/seal Might see more frequent activity at

https://github.com/ilveroluca/seal Next release should arrive soon

Currently updating documentation Web site: http://biodoop-seal.sf.net

Thank you!

(24)

Try it and contribute!

Repository

https://github.com/crs4/seal Might see more frequent activity at

https://github.com/ilveroluca/seal Next release should arrive soon

Currently updating documentation Web site: http://biodoop-seal.sf.net

Thank you!

Riferimenti

Documenti correlati

The dynamic succinct bitvector data structure suc_bv implemented in DYNAMIC takes n + o(n) bits of space and supports rank, select, access, and insert operations on B in O(log n)

In addition to providing a MapReduce implementation, it provides a distributed file system which distributes data among all cluster nodes, effectively multiplying

a suite of distributed tools for processing HT sequencing data based on a proven technology: the Hadoop MapReduce framework used in production at the CRS4 Sequencing Center.

Store the identifiers (CarIDs) of the selected cars, and the associated number of failures in year 2018, in the output HDFS folder. Each output line contains one

Each output line contains one pair Brand\tMID, one line per selected brand (the separator is the tab symbol). For instance, suppose that the brand Motorola produces only one

The format of the output line is YearOfBirth youngest female user\tNumber of female users associated with that year of birth (the separator is the tab symbol). Suppose

Pay attention that the output folder must contain also one line for each production plant with a maximum number of failures per robot equal to 0 (i.e., the

Sulla base di queste valutazioni, è legittimo pensare che, il documento in questione possa essere una falsificazione, realizzata nella seconda metà del XII secolo utilizzando