我是靠谱客的博主 美丽飞鸟,这篇文章主要介绍生信学习--使用circle-map提取eccDNA,现在分享给大家,希望可以做个参考。

环境配置

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
5
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

复制代码
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
4
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/)
  • 选择最新版本下载并安装
复制代码
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
2
conda 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
2
Circle-Map -h

输出以下图片表示安装成功

circle-map安装成功

4. 运行Circle-Map示例文件

这一小节按照Circle-map作者给出的教程来操作

Tutorial: Identification of circular DNA using Circle Map Realign

  • 先下载示例文件
复制代码
1
2
3
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?

复制代码
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
2
chmod +x circle_extract_test.sh

执行脚本

复制代码
1
2
./circle_extract_test.sh

查看提取出的eccDNA

复制代码
1
2
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内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部