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

概述

环境配置

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

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

circle-map安装成功

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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部