m6Anet
m6Anet
第1章 目录
1.1 安装
m6Anet需要Python 3.7或更高版本才能运行。安装通常需要不到5分钟,但可能会因您的连接速度而异。
1.1.1 PyPI安装(推荐)
pip install m6anet
1.1.2 Conda安装
conda install -c bioconda m6anet
1.1.3 从我们的GitHub仓库安装
git clone https://github.com/GoekeLab/m6anet.git
cd m6anet
pip install .
1.2 快速开始
1.2.1 数据预处理
m6Anet数据预处理需要nanopolish eventalign的eventalign.txt:
nanopolish eventalign --reads reads.fastq --bam reads.sorted.bam --genome transcript.fa --scale-events --signal-index --summary /path/to/summary.txt --threads 50 > /path/to/eventalign.txt
这个功能将原始fast5信号分割到转录组内的每个位置,允许m6Anet根据分割的信号进行预测修改。为了运行eventalign,用户将需要:
- reads.fastq:从原始.fast5文件生成的fastq文件
- reads.sorted.bam:从reads.fastq文件对参考转录组文件进行比对后获得的排序bam文件
- transcript.fa:参考转录组文件
我们还提供了一个演示eventalign.txt数据集在仓库下的/path/to/m6anet/m6anet/tests/data/eventalign.txt。更多信息请参见Nanopolish。
运行nanopolish eventalign之后,我们需要使用m6anet dataprep
预处理分割的原始信号文件:
m6anet dataprep --eventalign /path/to/m6anet/m6anet/tests/data/eventalign.txt --out_dir /path/to/output --n_processes 4
输出文件存储在/path/to/output:
- data.json:包含输入m6Anet模型进行预测的特征的json文件
- data.log:日志文件,包含所有已成功预处理的转录本
- data.info:文件包含data.json中每个DRACH位置的eventalign.txt的索引信息,以便更快的文件访问和每个位置的读取数
- eventalign.index:在dataprep期间创建的索引文件,允许在dataprep期间更快地访问Nanopolish eventalign.txt
1.2.2 推理
一旦m6anet dataprep完成运行,我们可以在dataprep输出上运行m6anet推理:
m6anet inference --input_dir path/to/output --out_dir path/to/output --n_processes 4 --num_iterations 1000
m6anet推理将运行默认的人类模型,该模型在HCT116细胞系上训练。为了运行基于拟南芥的模型或基于HEK293T-RNA004的模型,请提供–pretrained_model参数:
对于基于拟南芥的模型
m6anet inference --input_dir path/to/output --out_dir path/to/output --pretrained_model arabidopsis_RNA002 --n_processes 4 --num_iterations 1000
对于基于HEK293T-RNA004的模型
m6anet inference --input_dir path/to/output --out_dir path/to/output --pretrained_model HEK293T_RNA004 --n_processes 4 --num_iterations 1000
m6Anet将从每个候选位点抽取20个读取,并根据——num_iterations参数的平均概率进行多轮抽样。输出文件data.indiv_proba.csv包含每个读取的修改概率。
- transcript_id:预测位置的转录本id
- transcript_position:预测位置的转录本位置
- read_index:nanopolish的读取标识符,对应于nanopolish summary.txt中的实际read_id
- p