环境配置
1. 下载bwa
1
2
3
4
5
6
7
8
9#下载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
1
2
3#尝试执行bwa ~/bwa-0.7.17/bwa
输出以下内容表示可以使用bwa
1
2
3
4
5Program: 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
1
2
3
4
5
6
7
8
9
10
11
12
13
14#先回到家目录 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
1
2~/samtools-1.16.1/samtools
显示以下内容表示安装成功
1
2
3
4Program: 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/)
- 选择最新版本下载并安装
1
2
3
4
5
6
7#回到家目录 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的虚拟环境,并激活
1
2
3
4
5#创建虚拟环境 conda create --name circle-map #激活虚拟环境 conda activate circle-map
下载circle-map
先激活虚拟环境,接着安装circle-map可以解决circle-map所依赖的环境
1
2conda install -c bioconda circle-map
- 若不能下载可以尝试将镜像添加到~/.condarc后, 再执行安装命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22#清空.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
1
2Circle-Map -h
输出以下图片表示安装成功
4. 运行Circle-Map示例文件
这一小节按照Circle-map作者给出的教程来操作
Tutorial: Identification of circular DNA using Circle Map Realign
- 先下载示例文件
1
2
3wget 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?
1
2
3
4
5
6
7#下载参考基因组 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
- 建立索引
1
2
3~/bwa-0.7.17/bwa index hg38.fna.gz ~/samtools-1.16.1/samtools faidx hg38.fna
- 按照作者 iprada 给出的pipline写一个小脚本
1
2
3#创建一个脚本文件 vim circle_extract_test.sh
按ctrl+v将下面的命令粘贴到脚本中
1
2
3
4
5
6
7
8
9
10
11#!/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
刚刚发现:这篇帖子有些问题,各位不要执行这个命令!!
接着为脚本附加操作权限
1
2chmod +x circle_extract_test.sh
执行脚本
1
2./circle_extract_test.sh
查看提取出的eccDNA
1
2less -S my_unknown_circle.bed
输出:chr7 143911106 143917553 12 7 251.0 29.9730107026523
恭喜,到这一步就说明提取eccDNA成功了!
参考: iprada /Circle-Map
最后
以上就是美丽飞鸟最近收集整理的关于生信学习--使用circle-map提取eccDNA的全部内容,更多相关生信学习--使用circle-map提取eccDNA内容请搜索靠谱客的其他文章。
发表评论 取消回复