yak
yak-0.1 (r56)
重要:3ACE4FF以降、バイナリk-merダンプの形式は以前のバージョンと互換性がありません。新しい形式でk-merダンプを生成するには、 yak count
再実行する必要があります。
# Download and compile
git clone https://github.com/lh3/yak
cd yak && make
# build k-mer hash table for assembly; count singletons
./yak count -K1.5g -t32 -o asm.yak asm.fa.gz
# build k-mer hash tables for high-coverage reads; discard singletons
./yak count -b37 -t32 -o ccs.yak ccs-reads.fq.gz
# for paired end: to provide two identical streams
./yak count -b37 -t32 -o sr.yak <( zcat sr * .fq.gz ) <( zcat sr * .fq.gz )
# compute assembly or reads QV
./yak qv -t32 -p -K3.2g -l100k sr.yak asm.fa.gz > asm-sr.qv.txt
./yak qv -t32 -p sr.yak ccs-reads.fq.gz > ccs-sr.qv.txt
# compute k-mer QV for reads
./yak inspect ccs.yak sr.yak > ccs-sr.kqv.txt
# evaluate the completeness of assembly
./yak inspect sr.yak asm.yak > sr-asm.kqv.txt
# print k-mer histogram
./yak inspect sr.yak > sr.hist
# partition chrX/Y in human de novo assembly
wget -O- ' https://zenodo.org/record/7882299/files/human-chrXY-yak.tar?download=1 ' | tar tf -
./yak sexchr -K2g -t16 chrY-no-par.yak chrX-no-par.yak par.yak hap1.fa hap2.fa > cnt.txt
./groupxy.pl cnt.txt | awk ' $4==1 ' | cut -f2 | seqtk subseq -l80 <( cat hap1.fa hap2.fa ) - > new-hap1.fa
./groupxy.pl cnt.txt | awk ' $4==2 ' | cut -f2 | seqtk subseq -l80 <( cat hap1.fa hap2.fa ) - > new-hap2.fa
YAKは当初、2つの特定のユースケースに対して開発されました。1)CCS読み取りおよび組み立てコンティグの基本精度を堅牢に推定するため、および2)CCS読み取りの系統的エラー率を調査します。シーケンスを短い読み取りのk-merスペクトルと比較するか、スペクトルを比較することにより、目標を達成します。参照ゲノムまたは真実のデータは必要ありません。
基本精度を推定することは難しいことに注意する価値があります。精度がQ50に近づくと、短い読み取りでサンプリングされていないと誤ったk-merの両方が、素朴な推定器に干渉する可能性があります。 Yakは、この問題に対処するための経験的モデルを紹介します。その推定値は、短い読み取りのカバレッジと品質の影響を受けません。