Circle-Map 保姆级教程

5个月前 (12-08) 0 点赞 0 收藏 0 评论 12 已阅读

前言

  染色体外环状DNA(extrachromosomal circular DNA,eccDNA),一个科研界的新起之秀,随着国际学术期刊《Nature》[1] 和《Cell》[2] 相继发文后,迅速引起研究人员的重视。eccDNA从正常基因组中分离或脱落下来,游离于染色体基因组之外,以特殊的方式参与生理或病理过程。随着对eccDNA分子的研究,目前对eccDNA的功能有一定的认识,未来还会有新的发现。2018年,发表于《Trends in Genetics》[3] 一篇综述根据近些年的研究总结了eccDNA的主要功能,如下图所示:

Circle-Map

  通过前人的研究可以看出eccDNA在生理或者病理过程中还是很重要的,既然这么重要,那么该如何鉴定呢?下面我们就回到今天的主题,来看看如何鉴定eccDNA。目前,市面上有一些鉴定软件,例如:Circle-Map[4]ECCsplorer[5]Circle_finder等,而我们今天要说的主角就是Circle-Map,该软件由python3编写,安装和使用都很方便,并且生成的结果也很简洁明了。

软件安装
  可以直接使用pip命令直接安装,完成后即可在命令行使用Circle-Map命令,该软件包含以下五个子命令ReadExtractorRealignbam2bamRepeatsSimulate,鉴定eccDNA主要使用前两个命令即可。

pip install Circle-Map

index准备
  Circle-Map的输入文件是bwa生成的bam,在使用bwa比对前需要构建index,以及后续步骤会使用到参考基因组的fasta,需要用samtools对fasta建index:

bwa index hg38.fa
samtools faidx hg38.fa

mapping
使用bwa将数据比对到参考基因组上:

bwa mem -q hg38 sample.R1.fastq.gz sample.R2.fastq.gz | samtools view -bS -o sample.raw.bam

sort
分别准备 reads name 和 chromosome coordinate排序的bam,并对bam建index:

samtools sort -n -o sample.qname.bam sample.raw.sam
#samtools index sample.qname.bam
samtools sort -o sample.sort.bam sample.raw.sam
samtools index sample.sort.bam

ReadExtractor
接着,使用上一步生成的按reads name排序的bam作为输入,生成包含候选reads的bam,并对生成的bam按chromosome coordinate排序和建立index:

Circle-Map ReadExtractor -i sample.qname.bam -o sample.candidates.bam
samtools sort -o sample.candidates.sort.bam sample.candidates.bam
samtools index sample.candidates.sort.bam

这一步应该会出现类似下面的提示:

[E::idx_find_and_load] Could not retrieve index file for 'sample.qname.bam'
Processed 25000000 reads in 2.764 mins
finished extracting reads. Elapsed time: 2.842184130350749 mins
Thanks for using Circle-Map

  可以看到程序还是运行成功了,这个提示可以选择忽略,至于出现Could not retrieve index提示的原因也很明确,就是没有对bam建索引。那么,既然知道了原因为啥不解决呢?这是因为samtools只能对chromosome coordinate排序的bam建索引,而这里用的是reads name排序的bam,所以还是直接选择忽略这个提示吧!

Realign
最后,使用前面生成的sample.candidates.sort.bam、sample.qname.bam、sample.sort.bam三个bam文件以及参考基因组的fasta文件作为输入,使用Realign来鉴定eccDNA:

Circle-Map Realign -i sample.candidates.sort.bam -qbam sample.qname.bam -sbam sample.sort.bam -fasta hg38.fa -o sample.circle.bed

  当程序正常运行结束后,会生成bed格式的文件sample.circle.bed,内容如下:

chr7    143911105       143917553       12      7       251.0   29.97115384615385       5.408852146902424       1.0  0.9988734509951184       0.0

注意事项

  Circle-Map使用过程还是很简单的,但是使用的时候还是有一些需要注意的点。重点来了!重点来了!重点来了!这个软件(version=1.1.4)有些小bug,如ReadExtractor命令的输入和输出文件不能带有路径,否则程序会运行出错。这个问题的原因是该软件会自动获取当前的工作路径,然后会将这个路径和输入拼接起来,这样的话,如果你的输入文件不在当前目录就会出现找不到输入文件的错误。那么,想要正常运行:一是在输入文件的目录下运行,二是修改一下源码,可以到模块目录下找到extract_circle_SV_reads.py文件,将raw_bam = ps.AlignmentFile(self.working_dir + "/" + self.sorted_bam, "rb")替换为ps.AlignmentFile(self.sorted_bam, "rb")即可。还有一个需要注意的参数-dir,这个参数的意义是切换工作路径,如果想要指定输出目录可以用这个参数,不要在输出文件名里面加路径!因为软件也会自动把工作路径和输出文件名拼接起来。不知道出于什么原因,作者要这么设计程序,使用起来感觉怪怪的!
  Realign使用起来也有同样的注意事项,输出跟ReadExtractor完全一样,而输入只有-sbam参数的输入bam不能带路径,简单点的解决方法跟上面第一点,在bam文件所在目录运行,二是修改模块文件Coverage.py里面的代码,将self.bam = ps.AlignmentFile(directory + "/" + sorted_bam, "rb")替换为self.bam = ps.AlignmentFile(sorted_bam, "rb")

结束语

  鉴定eccDNA的软件还有其他的选择,比如前面提到的另外两款软件ECCsplorerCircle_finder,对于Circle_finder本人并没有接触过,这里就不再赘述。不过,ECCsplorer是本人一开始打算使用的软件,因为这款软件比较新,而且从文章的结果来看比Circle-Map有优势,并且这个软件的分析内容也较丰富一些,还有就是能生成可视化的网页报告。看完文章的介绍就心动了,确定要用这款软件。让人没有想到的是该软件安装起来就挺费劲,虽然介绍说支持conda安装,但是用conda安装一晚上没有啥动静。那只能放弃自动安装,选择手动安装,从安装到能正常使用,过程着实有些不易!最终还是成功安装了,并且用软件自带的数据也成功运行了。本以为可以顺利地分析的数据了,但程序运行过程中还是错误了,有因为内存不足中断的,有卡死的,现场可谓凄凄惨惨戚戚!咱用的服务器集群不算差啊,单个节点24cpu200G内存。可见这款软件对资源要求确实很高,这一点作者倒没有遮掩,在文章末尾也提到了这个局限性。所以,ECCsplorer没有优化版本前,最好还是不要尝试了,反正本人选择放弃使用了!毕竟,做分析选一款好用的工具可以提高不少的效率啊!

参考资料


《Circular ecDNA promotes accessible chromatin and high oncogene expression》 ↩

《Functional Enhancers Shape Extrachromosomal Oncogene Amplifications》 ↩

Discoveries of Extrachromosomal Circles of DNA in Normal and Tumor Cells ↩

https://github.com/iprada/Circle-Map/wiki/Tutorial:-Identification-of-circular-DNA-using-Circle-Map-Realign ↩

ECCsplorer: a pipeline to detect extrachromosomal circular DNA (eccDNA) from next‑generation sequencing data ↩


Circle-Map 保姆级教程

本文收录在
Array
0评论

登录

忘记密码 ?

切换登录

注册