概述
环境配置
1. 下载bwa
#下载bwa
wget https://sourceforge.net/projects/bio-bwa/files/bwa-0.7.17.tar.bz2
#解压缩
tar -jxvf bwa-0.7.17.tar.bz2
#编译
cd bwa-0.7.17
make
- bwa可执行程序的路径为~/bwa-0.7.17/bwa
#尝试执行bwa
~/bwa-0.7.17/bwa
输出以下内容表示可以使用bwa
Program: bwa (alignment via Burrows-Wheeler transformation)
Version: 0.7.17-r1188
Contact: Heng Li <lh3@sanger.ac.uk>
#…………省略多行
有些服务器可能缺少zlib-devel,需要自己下载,如果缺少zlib-devel会导致BWA编译(make)失败
2. 下载SAMtools
#先回到家目录
cd ~
#下载samtools
wget https://github.com/samtools/samtools/releases/download/1.16.1/samtools-1.16.1.tar.bz2
#解压
tar jxvf samtools-1.16.1.tar.bz2
#安装
cd samtools-1.16.1
#注意configure时使用绝对路径
./configure --prefix=/home/user/samtools-1.16.1
make
make install
和bwa一样若出现缺少ncurses-devel、bzip2-devel、xz-devel等文件时,会导致./cinfigure失败,需要自行安装
- samtools的可执行文件路径为:~/samtools-1.16.1/samtools
- 尝试运行samtools
~/samtools-1.16.1/samtools
显示以下内容表示安装成功
Program: samtools (Tools for alignments in the SAM format)
Version: 1.16.1 (using htslib 1.16)
#……………省略多行
3. 安装circle-map
circle-map是一个可执行的python程序组,执行circle-map需要它依赖的python环境,而conda可以很好的解决这一问题。所以我们可以使用conda来安装circle-map。
因为我当时使用的anaconda,所以这里我就使用anaconda了(miniconda软件更小巧,大家也可以使用miniconda)。
安装anaconda
参考博客:如何在Linux服务器上安装Anaconda(超详细)
- 获取最新版本的anaconda(https://repo.anaconda.com/archive/)
- 选择最新版本下载并安装
#回到家目录
cd ~
#下载anaconda
wget https://repo.anaconda.com/archive/Anaconda3-2022.05-Linux-x86_64.sh
#安装anaconda
sh Anaconda3-2022.05-Linux-x86_64.sh
接下来根据提示按Enter或者输入yes,详细过程可参考上面的博客
- 安装好anaconda后使用conda命令创建一个运行circle-map的虚拟环境,并激活
#创建虚拟环境
conda create --name circle-map
#激活虚拟环境
conda activate circle-map
下载circle-map
先激活虚拟环境,接着安装circle-map可以解决circle-map所依赖的环境
conda install -c bioconda circle-map
- 若不能下载可以尝试将镜像添加到~/.condarc后, 再执行安装命令
#清空.condarc文件中的内容
echo "" > ~/.condarc
#然后再将要替换的镜像添加到.condarc中
echo "channels:
- defaults
- conda-forge
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud" > ~/.condarc
#若上一步安装circle-map失败接着执行
conda install -c bioconda circle-map
- 尝试执行circle-map
Circle-Map -h
输出以下图片表示安装成功
4. 运行Circle-Map示例文件
这一小节按照Circle-map作者给出的教程来操作
Tutorial: Identification of circular DNA using Circle Map Realign
- 先下载示例文件
wget https://raw.githubusercontent.com/iprada/Circle-Map/master/tutorial/unknown_circle_reads_1.fastq
wget https://raw.githubusercontent.com/iprada/Circle-Map/master/tutorial/unknown_circle_reads_2.fastq
- 下载参考基因组(这里建议使用下面博客里的参考基因组)
Which human reference genome to use?
#下载参考基因组
wget -c ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCA/000/001/405/GCA_000001405.15_GRCh38/seqs_for_alignment_pipelines.ucsc_ids/GCA_000001405.15_GRCh38_no_alt_analysis_set.fna.gz
#文件名有点长,可以修改一下文件名
mv GCA_000001405.15_GRCh38_no_alt_analysis_set.fna.gz hg38.fna.gz
#解压参考基因组
gunzip -d hg38.fna.gz
- 建立索引
~/bwa-0.7.17/bwa index hg38.fna.gz
~/samtools-1.16.1/samtools faidx hg38.fna
- 按照作者 iprada 给出的pipline写一个小脚本
#创建一个脚本文件
vim circle_extract_test.sh
按ctrl+v将下面的命令粘贴到脚本中
#!/bin/bash
conda activate circle-map
~/bwa-0.7.17/bwa mem -q hg38.fna unknown_circle_reads_1.fastq unknown_circle_reads_2.fastq > unknown_circle.sam
~/samtools-1.16.1/samtools sort -n -o qname_unknown_circle.bam unknown_circle.sam
~/samtools-1.16.1/samtools sort -o sorted_unknown_circle.bam unknown_circle.sam
Circle-Map ReadExtractor -i qname_unknown_circle.bam -o circular_read_candidates.bam
~/samtools-1.16.1/samtools sort -o sort_circular_read_candidates.bam circular_read_candidates.bam
~/samtools-1.16.1/samtools index sort_circular_read_candidates.bam
~/samtools-1.16.1/samtools index sorted_unknown_circle.bam
Circle-Map Realign -i sort_circular_read_candidates.bam -qbam qname_unknown_circle.bam -sbam sorted_unknown_circle.bam -fasta hg38.fna -o my_unknown_circle.bed
按一下ESC,输入":wq",然后按回车保存脚本
不会按可以参考菜鸟教程:vi/vim的使用
若执行Circle-Map ReadExtractor -i qname_unknown_circle.bam -o circular_read_candidates.bam
出现错误信息ValueError: Multiple 'HD' Lines are not permitted
可以参考下面这个
How to resolve a ValueError: Multiple ‘HD’ Lines are not permitted
刚刚发现:这篇帖子有些问题,各位不要执行这个命令!!
接着为脚本附加操作权限
chmod +x circle_extract_test.sh
执行脚本
./circle_extract_test.sh
查看提取出的eccDNA
less -S my_unknown_circle.bed
输出:chr7 143911106 143917553 12 7 251.0 29.9730107026523
恭喜,到这一步就说明提取eccDNA成功了!
参考: iprada /Circle-Map
最后
以上就是美丽飞鸟为你收集整理的生信学习--使用circle-map提取eccDNA的全部内容,希望文章能够帮你解决生信学习--使用circle-map提取eccDNA所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复