m6anet_pipeline

github地址:https://github.com/GoekeLab/m6anet

1. 环境准备

1.1. 创建独立的工作目录

  • 目的:为了将m6Anet分析的所有相关文件集中管理,避免与其他项目混淆。
  • 操作
  • mkdir ~/m6anet_project
    cd ~/m6anet_project
    

1.2. 安装Python 3.7及以上版本并创建环境 

  • 目的:确保m6Anet及其依赖项能在适合的Python环境中运行。
  • 检查Python版本
    python3 --version
    Python 3.6.8
  • 安装Python并激活环境
  • conda create -n m6anet_env python=3.8
    conda activate m6anet_env
    

1.3安装m6Anet分析所需其他软件

  • Python 3.7+
  • m6Anet
  • Minimap2
  • Nanopolish
  • Samtools
  • Multi_to_single_fast5(如果使用multi_read_fast5文件)
  • Gffread

由于镜像,网络,权限等各种原因,实在不行就只能手动下载gz文件然后自行编译安装了!

 Minimap2

 tar -xvzf minimap2-2.28.tar.gz
 cd minimap2-2.28
 make
 ./minimap2 --version
# 2.28-r1209
 echo $HOME/bin
#添加全局路径。如果你没有将 minimap2、nanopolish 或 samtools 添加到全局路径(即 /usr/local/bin/ 或其他在 PATH 环境变量中的目录),你将需要每次使用这些工具时,指定它们的完整路径。
 echo $HOME/bin
/share/home/maliuyin/bin
#这里你可以忽略,你可以选择以下两种方法之一来管理和使用你的软件工具:

方法 1:直接将软件的安装目录添加到 PATH 中;方法 2:将软件的可执行文件放到 ~/bin 目录,并将 ~/bin 添加到 PATH 中
nano ~/.bashrc
export PATH=$PATH:/share/home/maliuyin/m6anet_project/software/minimap2-2.28
source ~/.bashrc  

 Nanopolish

优先conda安装

#清华和中科大的镜像已经被用爆了,北京外国语的也可以
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/r/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/pro/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/conda-forge/
conda config --set show_channel_urls yes
#重新使用conda安装一下吧
conda install -c bioconda nanopolish
#centos检查有无依赖项
rpm -qa | grep -E 'zlib-devel|bzip2-devel|xz-devel|libcurl-devel'
#zlib-devel-1.2.7-18.el7.i686
libcurl-devel-7.29.0-54.el7.x86_64
xz-devel-5.2.2-1.el7.x86_64
bzip2-devel-1.0.6-13.el7.x86_64
zlib-devel-1.2.7-18.el7.x86_64
#我的系统有所有依赖项
tar -zxvf nanopolish-0.14.0.tar.gz
cd  nanopolish-0.14.0
make

samtools

conda install -c bioconda samtools

 Gffread

conda install -c bioconda gffread

 安装 m6Anetm6Anet 目前可能还没有直接在 bioconda 上提供,因此你需要通过 pip 来安装

pip install m6anet
m6anet --help
#安装依赖
conda install cython
conda install gcc_linux-64 gxx_linux-64  # 对于 Linux 系统
pip install m6anet

 Multi_to_single_fast5

multi_to_single_fast5 通常是 ont-fast5-api 软件包的一部分,可以通过 Conda 来安装:

conda install -c bioconda ont-fast5-api

 2. start work

以下流程中的路径和文件需要注意修改为自己的

2.1提取转录本序列 (gffread)

gffread ../Genome/AU9_XY.gff3 -g ../Genome/AU9_XY.20230207.fasta -w ../Genome/AU9_XY.transcripts.fasta

2.2将 multi_read_fast5 文件转换为 single_read_fast5 文件 (可选) (multi_to_single_fast5)

multi_to_single_fast5 -t 20 -i ./test_data/multi_read_fast5 -s ./test_data/single_read_fast5 --recursive
  •  解释:将多个读段存储在同一个 .fast5 文件中的数据转换为每个读段一个 .fast5 文件。某些工具(如 nanopolish)可能需要单独的 fast5 文件。
  • 验证:如果你的 .fast5 文件是 multi_read 格式,这一步是必要的。

2.3为比对后的读段建立索引 (nanopolish index)

nanopolish index -d ./test_data/single_read_fast5 ./au9/fastq/pass.fq.gz
  • 解释:为原始信号文件(.fast5 文件)和 fastq 文件建立索引,使 nanopolish 能够快速访问数据

2.4序列比对 (minimap2samtools)

minimap2 -ax map-ont -L --secondary=no -t12 ../Genome/AU9_XY.transcripts.fasta ./au9/fastq/pass.fq.gz | samtools view -bh -F 2324 | samtools sort -O bam > ./test_data/basecalls.bam
samtools index ./test_data/basecalls.bam
  •  解释:使用 minimap2 将读取的序列比对到参考转录组上,并使用 samtools 对结果进行处理,生成排序的 BAM 文件。

2.5生成 eventalign.txt 文件 (nanopolish eventalign)

nanopolish eventalign --reads ./au9/fastq/pass.fq.gz --bam ./test_data/basecalls.bam --genome ../Genome/AU9_XY.transcripts.fasta --scale-events --signal-index --summary ./test_data/m6anet_summary.txt  --threads 16 > ./test_data/m6anet_eventalign.txt
  • 解释nanopolish eventalign 通过比对的 BAM 文件生成 eventalign.txt 文件,包含原始信号的分段信息,这是 m6Anet 需要的数据。 

2.6数据预处理 (m6Anet dataprep)

m6anet dataprep --eventalign ./test_data/m6anet_eventalign.txt --out_dir ./test_data/m6anet_output --n_processes 16
  • 解释:使用 m6Anetdataprep 功能预处理 eventalign.txt 数据,为修饰预测准备数据。 

2.7预测 m6A 修饰 (m6Anet inference)

m6anet inference --input_dir ./test_data/m6anet_output --out_dir ./test_data/m6anet_output  --pretrained_model arabidopsis_RNA002 --n_processes 16 --num_iterations 1000

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值