Circle-Map 保姆级教程

分享
计算机软件开发 2024-9-28 04:38:29 69 0 来自 中国
前言

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

  通过前人的研究可以看出eccDNA在生理或者病理过程中还是很紧张的,既然这么紧张,那么该怎样判定呢?下面我们就回到本日的主题,来看看怎样判定eccDNA。如今,市面上有一些判定软件,比方:Circle-Map[4]、ECCsplorer[5]、Circle_finder等,而我们本日要说的主角就是Circle-Map,该软件由python3编写,安装和利用都很方便,而且天生的效果也很简便明确。

  • 软件安装
      可以直接利用pip下令直接安装,完成后即可在下令利用用Circle-Map下令,该软件包罗以下五个子下令ReadExtractor、Realign、bam2bam、Repeats、Simulate,判定eccDNA紧张利用前两个下令即可。
pip install Circle-Map

  • index预备
      Circle-Map的输入文件是bwa天生的bam,在利用bwa比对前需要构建index,以及后续步调会利用到参考基因组的fasta,需要用samtools对fasta建index:
bwa index hg38.fasamtools 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.bamsamtools sort -o sample.sort.bam sample.raw.samsamtools index sample.sort.bam

  • ReadExtractor
    接着,利用上一步天生的按reads name排序的bam作为输入,天生包罗候选reads的bam,并对天生的bam按chromosome coordinate排序和创建index:
Circle-Map ReadExtractor -i sample.qname.bam -o sample.candidates.bamsamtools sort -o sample.candidates.sort.bam sample.candidates.bamsamtools 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 minsfinished extracting reads. Elapsed time: 2.842184130350749 minsThanks 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的软件另有其他的选择,好比前面提到的别的两款软件ECCsplorer、Circle_finder,对于Circle_finder本人并没有打仗过,这里就不再赘述。不外,ECCsplorer是本人一开始计划利用的软件,由于这款软件比力新,而且从文章的效果来看比Circle-Map有上风,而且这个软件的分析内容也较丰富一些,另有就是能天生可视化的网页陈诉。看完文章的先容就心动了,确定要用这款软件。让人没有想到的是该软件安装起来就挺费劲,固然先容说支持conda安装,但是用conda安装一晚上没有啥动静。那只能放弃自动安装,选择手动安装,从安装到能正常利用,过程着实有些不易!终极还是乐成安装了,而且用软件自带的数据也乐成运行了。本以为可以顺遂地分析的数据了,但步伐运行过程中还是错误了,有由于内存不敷停止的,有卡死的,现场可谓凄凄切惨戚戚!咱用的服务器集群不算差啊,单个节点24cpu200G内存。可见这款软件对资源要求确实很高,这一点作者倒没有掩藏,在文章末端也提到了这个范围性。以是,ECCsplorer没有优化版本前,最好还是不要尝试了,反正本人选择放弃利用了!究竟,做分析选一款好用的工具可以进步不少的服从啊!
参考资料

<ol>
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-11-25 00:13, Processed in 0.191023 second(s), 35 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表