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은 처음에 두 가지 특정 사용 사례를 위해 개발되었습니다. 1) CCS 판독 및 어셈블리의 기본 정확도를 강력하게 추정하고 2) CCS 판독의 체계적인 오류율을 조사합니다. 시퀀스를 짧은 판독의 k-mer 스펙트럼과 비교하거나 스펙트럼을 비교하여 목표를 달성합니다. 참조 게놈 또는 진실 데이터가 필요하지 않습니다.
기본 정확도를 추정하는 것은 까다로울 가치가 있습니다. 정확도가 Q50에 접근 할 때, 짧은 판독 값에서 샘플링되지 않고 잘못된 K-Mers는 순진한 추정기를 방해 할 수 있습니다. Yak 은이 문제를 해결하기위한 경험적 모델을 소개합니다. 그것의 추정치는 적용 범위와 짧은 읽기의 품질에 의해 덜 영향을받습니다.