Uncalled4

Uncalled4 是一个用于纳米孔信号对齐、分析和可视化的工具包。它执行准确的基序引导纳米孔信号对齐,类似于 nanopolish eventalign 或 tombo resquiggle,将纳米孔信号段映射到参考核苷酸上。它还支持将任何信号对齐转换为高效的 BAM 格式,允许进行交互式可视化、修改检测和其他信号分析。

安装

pip install uncalled4

或者

git clone https://github.com/skovaka/uncalled4.git
cd uncalled4
pip install .

需要 Python 版本 >= 3.8 和 GCC 版本 >= 4.9.2。Uncalled4 目前仅在 Linux 上进行了测试,主要是 Ubuntu 18.04 和 20.04。

概览

example/ 目录包含脚本,用于下载示例数据并测试每个命令:

cd uncalled4/example
./download.sh
./run.sh

scripts/bamprep.py 用于将标签复制到补充和次要对齐。

Uncalled4 主要将信号对齐存储在 BAM 对齐标签中,包括每个参考信号坐标和大多数信号分析所需的当前汇总统计数据。大多数可视化和分析命令需要一个排序和索引(通过 samtools index)的 Uncalled4 BAM 文件。Nanopolish、f5c 或 Tombo 对齐可以通过 convert 命令转换为 Uncalled4 格式。

信号对齐需要一个孔模型将 k-mer 映射到预期电流。Uncalled4 将尝试自动从输入数据中检测适当的孔模型,但可能需要您指定预设孔模型或自定义孔模型。这可以使用 --pore-model 标志或 --flowcell 和 --kit 标志来指定。uncalled4 train 训练新的孔模型,可以从初始化孔模型开始,也可以使用基序调用移动从头开始。

在 dev 分支上实现了对 RNA004 对齐的初步支持。信号对齐质量似乎比 RNA002 更好,但确切的实现可能在迁移到主分支之前会有所变化。

align

执行由基序调用对齐引导的 DTW 对齐

uncalled4 align [-h] [--ref REF | --self] [--reads READS [READS ...]] --bam-in [BAM_IN] [-p PROCESSES] [--flowcell FLOWCELL]
                [--kit KIT] [--basecaller-profile BASECALLER_PROFILE] [--rna] [--ordered-out] [-f] [--kmer-shift KMER_SHIFT]
                [--bam-chunksize BAM_CHUNKSIZE] [--out-name OUT_NAME] [-r] [-l READ_FILTER] [-x READ_INDEX] [-n MAX_READS]
                [--count-events] [--del-max DEL_MAX] [--ins-max INS_MAX] [--unmask-splice] [--method METHOD]
                [-c {abs_diff,z_score,norm_pdf}] [-b BAND_WIDTH] [-s BAND_SHIFT] [--mvcmp-mask MVCMP_MASK]
                [--max-norm-dist MAX_NORM_DIST] [--max-sd MAX_SD] [--min-aln-length MIN_ALN_LENGTH] [-N {ref_mom,model_mom}]
                [--zero-ts] [-C CONFIG] [-o [BAM_OUT] | --tsv-out [TSV_OUT] | --eventalign-out [EVENTALIGN_OUT]] [-m PORE_MODEL]
                [--bam-f5c] [--tsv-cols TSV_COLS] [--tsv-na [TSV_NA]] [--tsv-noref] [--eventalign-flags EVENTALIGN_FLAGS]
                [--norm-iterations NORM_ITERATIONS] [--mask-skips [MASK_SKIPS]] [--skip-cost SKIP_COST] [--stay-cost STAY_COST]
                [--move-cost MOVE_COST]

–bam-in 必须是 Dorado 使用 --emit-moves --emit-sam 标志或 Guppy 使用 --moves_out 标志生成的 BAM 文件。

–self 选项是 --ref 的替代方案,执行信号到读取的对齐到基序调用读取,该读取必须在输入 BAM 文件的 SEQ 字段中定义。

convert

转换信号对齐文件格式

uncalled4 convert [-h] [--bam-in BAM_IN | --eventalign-in [EVENTALIGN_IN] | --tombo-in TOMBO_IN]
                  [--eventalign-out [EVENTALIGN_OUT] | --tsv-out [TSV_OUT] | 
                  --m6anet-out [M6ANET_OUT]] [--tsv-cols TSV_COLS] 
                  [--eventalign-flags EVENTALIGN_FLAGS]
                  [--mask-skips [MASK_SKIPS]] [--ref FASTA] [--reads READS [READS ...]] 
                  [-l READ_FILTER] [-x READ_INDEX] [-r] [--rna] [-R REF_BOUNDS] [-f] [-a]

通常只应该指定一个 –-in 和一个 –-out 选项,–bam-out 例外,应该通过 --bam-in 指定一个模板 bam 文件。

nanopolish 或 f5c

–m6anet-out 高效实现 m6anet 数据准备,用于排序的 Uncalled4 BAM 文件。这应该与在 Uncalled4 对齐上训练的 m6Anet 模型一起使用。

train

迭代训练新的 k-mer 孔模型

接受与 uncalled4 align 大部分相同的参数,另外还有迭代次数。第一次迭代必须使用一些起始孔模型,而后续迭代使用上一次迭代的孔模型。


                
  • 13
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值