美文网首页eccdna
Circle-Map 保姆级教程

Circle-Map 保姆级教程

作者: 生信云笔记 | 来源:发表于2022-08-06 14:34 被阅读0次

    前言

      染色体外环状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编写,安装和使用都很方便,并且生成的结果也很简洁明了。

    1. 软件安装
        可以直接使用pip命令直接安装,完成后即可在命令行使用Circle-Map命令,该软件包含以下五个子命令ReadExtractorRealignbam2bamRepeatsSimulate,鉴定eccDNA主要使用前两个命令即可。
    pip install Circle-Map
    
    1. index准备
        Circle-Map的输入文件是bwa生成的bam,在使用bwa比对前需要构建index,以及后续步骤会使用到参考基因组的fasta,需要用samtools对fasta建index:
    bwa index hg38.fa
    samtools faidx hg38.fa
    
    1. mapping
      使用bwa将数据比对到参考基因组上:
    bwa mem -q hg38 sample.R1.fastq.gz sample.R2.fastq.gz | samtools view -bS -o sample.raw.bam
    
    1. 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
    
    1. 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,所以还是直接选择忽略这个提示吧!

    1. 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没有优化版本前,最好还是不要尝试了,反正本人选择放弃使用了!毕竟,做分析选一款好用的工具可以提高不少的效率啊!

    参考资料


    1. 《Circular ecDNA promotes accessible chromatin and high oncogene expression》

    2. 《Functional Enhancers Shape Extrachromosomal Oncogene Amplifications》

    3. Discoveries of Extrachromosomal Circles of DNA in Normal and Tumor Cells

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

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

    相关文章

      网友评论

        本文标题:Circle-Map 保姆级教程

        本文链接:https://www.haomeiwen.com/subject/whbmwrtx.html