Skip to content

lqsae/bamcov

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BamCov

BamCov 是一个基于 mosdepth d4 文件计算 WGS、外显子组或靶向测序的碱基覆盖的 Rust 程序。该工具可以快速计算不同深度的覆盖度,支持自定义深度阈值,并提供多种统计指标。

功能特点

  • 支持多线程并行处理,大幅提高计算效率
  • 使用 d4 文件格式,与 mosdepth 完全兼容
  • 灵活的深度阈值设置,支持自定义多个深度值
  • 提供丰富的统计指标,包括覆盖率、均一性等
  • 支持区域文件,可针对特定基因组区域进行分析

安装

确保系统已安装 Rust 环境和相关依赖:

# 克隆仓库
git clone [repository_url]
cd bamcov

# 编译
cargo build --release

# 测试安装
./target/release/bamcov -h

使用方法

基本用法:

bamcov -d <d4文件> -r <bed文件> [-t <深度阈值>]

示例:

# 使用默认深度阈值(1X,10X,20X,30X,50X)
bamcov -d sample.d4 -r target.bed

# 使用自定义深度阈值
bamcov -d sample.d4 -r target.bed -t 5,15,25,35,45

参数说明

参数 说明 是否必需 示例
-d, --d4-format 输入的 d4 格式深度文件 -d sample.d4
-r, --region 输入的 bed 格式区域文件 -r exome.bed
-t, --threshold 自定义深度阈值,逗号分隔 -t 10,20,30

输出说明

程序输出包含以下字段:

字段 说明 计算方法
TotalBases 分析区域总碱基数 所有区域长度之和
CovBases 有测序深度的碱基数 深度≥1X的碱基数
CovRatio 覆盖率 CovBases/TotalBases×100%
Ave_Depth 平均测序深度 总深度/总碱基数
Depth>=NX 深度≥N的碱基比例 深度≥N的碱基数/总碱基数×100%
Fold80 测序均一性指标 80%碱基深度/平均深度
CV 变异系数 深度标准差/平均深度
>=20%X 高于20%平均深度的比例 深度>20%平均深度的碱基比例

输出示例:

# 默认输出(使用预设深度阈值)
TotalBases  CovBases    CovRatio  Ave_Depth  Depth>=1X  Depth>=10X  Depth>=20X  Depth>=30X  Depth>=50X  Fold80  CV      >=20%X
150000000   149000000  99.333    30.456     99.333     95.234      90.123      85.678      70.456      1.234   0.345   85.678

# 自定义深度阈值输出(-t 10,20,40)
TotalBases  CovBases    CovRatio  Ave_Depth  Depth>=10X  Depth>=20X  Depth>=40X  Fold80  CV      >=20%X
150000000   149000000  99.333    30.456     95.234      90.123      75.678      1.234   0.345   85.678

性能优化

  • 多线程并行计算:使用 Rayon 库实现并行处理
  • 高效排序:采用不稳定并行排序算法
  • 内存优化:高效的数据结构和内存管理
  • 流式处理:逐区域处理,减少内存占用

注意事项

  1. 输入文件要求:

    • d4 文件必须是 mosdepth 生成的有效格式
    • bed 文件必须是标准格式,包含染色体、起始和结束位置
  2. 深度阈值设置:

    • 默认阈值:1X,10X,20X,30X,50X
    • 自定义阈值必须是正整数
    • 多个阈值用逗号分隔,无空格
  3. 性能考虑:

    • 大文件建议使用 release 模式运行
    • 注意内存使用情况
    • 处理大文件时预留足够磁盘空间

常见问题

  1. 如何选择合适的深度阈值?

    • WGS 建议:5X,10X,20X,30X
    • 外显子组建议:20X,50X,100X
    • 靶向测序建议:100X,500X,1000X
  2. 覆盖度统计指标如何解读?

    • CovRatio > 95% 表示测序覆盖较好
    • Fold80 < 2.0 表示测序均一性好
    • CV < 0.5 表示深度分布较均匀

版本历史

  • v0.1.0 (2024-01)
    • 首次发布
    • 实现基本覆盖度统计功能
    • 支持自定义深度阈值
    • 添加多线程支持

作者

许可证

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages