以下のリード(ゲノム配列の断片)で交差しているものを列挙せよ(pileup)。r6が与えられたとき、交差しているリードは以下の3組。SNPコールのための前処理にも使われておりゲノム情報処理では頻出。区間を表現するクラスを作成。end)}区間に順序を定義する。startが同じならendの小さい順に並べるelsediff}}区間を上の順序を使って並べ替える。in.sorted(IntervalOrdering)その後、左端(startの小さい順)からsweepする。queue(優先度付きキュー)に入れて管理する。コード例pullスタイル(データを引っ張りながら使う)で使えるようにIteratorを定義している。push型(生成した結果をどんどん第三者に書き出す形)にすればもう少し平易なコードになる。ように、染色体名、strandの情報が含まれる場合、上記のアルゴリズムのままでは上手くsweepできない。染色体ごとにデータをグループ分けして、それぞれをsweep。染色体名を覚えておき、異なる染色体のリードが入力されたら、queueにたまっているものをすべてsweepする。