组装质量评估

一般从连续性、完整性、准确性三个方面进行评估。

N50等统计

assembly-stats genome.fasta > genome.N50_stats

CG含量等统计

seqkit fx2tab -g -H -l -n -i genome.fasta > genome.all_stats

二代短 reads 比对

# 构建基因组index bwa index -p genome genome.fasta # 比对并排序 bwa mem -t 8 genome ecoli_R1.fastq.gz ecoli_R2.fastq.gz | samtools sort - -o aln_short.bam # 统计比对率 samtools flagstats aln_short.bam > genome.short.flagstas # 计算每条序列覆盖度 samtools coverage aln_short.bam > genome.short.coverage # 汇总获得全基因组覆盖度 awk 'NR > 1 {sum+=$3;rd+=$4; cov += $5; dp+=$7*$5 }END{print \ "Total: "sum"\nCovbase: "cov"\ncoverage: "cov/sum"\nmeandepth: "dp/sum}' genome.short.coverage > genome.short.coverage_all

三代长 reads 比对

# minimap2比对 minimap2 -t 4 -ax map-ont --secondary=no genome.fasta \ reads.fastq.gz | samtools sort - -o aln_ont.bam # 比对率统计 samtools flagstats aln_ont.bam > genome.ont.flagstas # 覆盖度统计 samtools coverage aln_ont.bam > genome.ont.coverage awk 'NR > 1 {sum+=$3; rd +=$4; cov += $5; dp+=$7*$5 }END{print \ "Total: "sum"\nCovbase: "cov"\ncoverage: "cov/sum"\nmeandepth: "dp/sum}'

LAI

LAI 指标基于基因组的 LTR 进行完整性评估。总LTR-RT含量小于5%,完整LTR-RT含量小于0.1%时,LAI的估计是不准确。
EDTA中会自动计算
awk '{print $1}' Ath.fasta > genome.fa # 进行index构建 gt suffixerator \ -db genome.fa \ -indexname genome.fa \ -tis -suf -lcp -des -ssp -sds -dna # 运行ltrharvest进行LTR预测 ltrharvest \ -index genome.fa \ -minlenltr 100 -maxlenltr 7000 -mindistltr 1000 -maxdistltr 15000 \ -mintsd 4 -maxtsd 20 -motif TGCA -motifmis 1 \ -similar 85 -vic 60 -seed 20 -seqids yes > genome.fa.harvest.scn # 运行LTR_FINDER 进行LTR预测 LTR_FINDER_parallel_wy \ -seq genome.fa -threads 10 -harvest_out -size 5000000 -time 500 \ -finder_para "-w 2 -C -D 15000 -d 1000 -L 7000 -l 100 -p 20 -M 0.85 " # 合并结果 cat genome.fa.harvest.scn genome.fa.finder.combine.scn >genome.fa.rawLTR.scn # 使用LTR_retriever进行整合,并计算LAI LTR_retriever \ -genome genome.fa \ -inharvest genome.fa.rawLTR.scn \ -threads 10
CategoryLAIExamples
Draft0 ≤ LAI <10 Apple (v1.0), Cacao (v1.0)
Reference10 ≤ LAI <20Arabidopsis (TAIR10), Grape (12X)
Gold20 ≤ LAI Rice (MSUv7), Maize (B73 v4)

merqury

merqury 软件基于测序数据 kmer 和组装结果 kmer 的一致性进行基因组完整性和 QV 计算,从而对完整性进行评估。
# 获取K值 best_k.sh # kmer统计 meryl \ k=16 memory=24G threads=10 \ count R1.fastq.gz output R1_out.meryl s meryl \ k=16 memory=24G threads=10 \ count R2.fastq.gz output R2_out.meryl # kmer合并 meryl k=16 union-sum output all.meryl R1_out.meryl R2_out.meryl # 运行merquery merqury.sh all.meryl genome.fasta merqury_out
结果文件:merqury_out.qv为基因组 qv 结果,merqury_out.completeness.stats为基因组完整性统计

BUSCO 评估

# 列出数据库(需要联网) busco --list-datasets # 自动下载数据库并运行busco busco -m geno -i genome.fa -o bacteria_odb10 -l bacteria_odb10 -c 10 # 使用本地busco数据库运行 # db下载地址: # https://busco-data.ezlab.org/v5/data/lineages/ mkdir buscoDB cd buscoDB wget https://busco-data.ezlab.org/v5/data/lineages/\ bacteria_odb10.2020-03-06.tar.gz tar -zxvf bacteria_odb10.2020-03-06.tar.gz wget https://busco-data.ezlab.org/v5/data/lineages/\ gammaproteobacteria_odb10.2021-02-23.tar.gz tar -zxvf gammaproteobacteria_odb10.2021-02-23.tar.gz cd ../ # 使用本地busco数据库运行busco busco -m geno \ -i genome.fa \ -o bacteria_offline \ -l ./buscoDB/bacteria_odb10 \ -c 10 \ --offline busco -m geno \ -i genome.fa \ -o gammaproteobacteria_offline \ -l ./buscoDB/gammaproteobacteria_odb10 \ -c 10 \ --offline # 统计、比较、画图 mkdir BUSCO_summaries cp ./*/short_summary.*.txt BUSCO_summaries/ generate_plot.py \ -wd BUSCO_summaries/
2023-10-03
0