Circle-Map 保姆级教程

前言

  染色体外环状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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,869评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,716评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,223评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,047评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,089评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,839评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,516评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,410评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,920评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,052评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,179评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,868评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,522评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,070评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,186评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,487评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,162评论 2 356

推荐阅读更多精彩内容