lyao222lll的个人博客分享 http://blog.sciencenet.cn/u/lyao222lll

博文

原核生物基因组CRISPRs序列预测的几种常用工具

已有 1928 次阅读 2019-10-21 13:02 |个人分类:Software/Pipeline/Script|系统分类:科研笔记| _生信工具, _在线网站, _数据库, _结构基因组

原核生物基因组CRISPRs序列预测的几种常用工具

 

成簇的规律间隔的短回文重复序列(Clustered Regularly Interspaced Short Palindromic RepeatsCRISPRs)是一类独特的DNA正向重复序列家族,广泛存在于原核生物基因组中(存在于40%的细菌基因组以及90%的古菌中)。CRISPRs通常由长度为25~48bp的正向重复序列(Direct RepeatsDRs)以及间隔序列(Spacers)组成。目前的研究认为CRISPRs能够给宿主提供某种获得性免疫,抵御病毒等外来入侵。外源DNA的短片段,通过CRISPR重复片段的间隔区整合到宿主基因组中,并作为一种记忆元件。CRISPRs的作用机制类似于真核生物的RNAi,即利用间隔区识别并沉默外源的遗传物质。

本文列举几个常用的原核生物基因组CRISPRs预测工具。包含在线的CRISPR finderCRISPRCasFinder,以及本地的PILER-CRCRTCRISPRdigger

通常情况下,我们也会选择使用多种工具分别做预测,整合高可信的结果,避免单一软件的误差。

 


CRISPR finder



首先是在线数据库,CRISPRs web server,网址:https://crispr.i2bc.paris-saclay.fr/

CRISPRs web server作为一个数据库资源,其收录了非常多物种的CRISPR序列信息。此外还有很多实用的功能,如序列比对等。关于该数据库的更多功能这里就不再多作介绍还请大家自行了解。


CRISPR finder(http://crispr.i2bc.paris-saclay.fr/Server/是该数据库提供的一个工具,用于鉴定基因组中的CRISPR序列。使用时直接上传基因组序列后查找就可以了,很快就有结果。不过网站有时会不稳定。

1.png

2.png

 


CRISPRCasFinder


可以认为CRISPRCasFinderCRISPR finder的升级版。

网址:https://crisprcas.i2bc.paris-saclay.fr/CrisprCasFinder/Index

也可以在上述CRISPR finder主界面中点击链接跳转。

3.png

 CRISPRCasFinder属于CRISPR-Cas++https://crisprcas.i2bc.paris-saclay.fr)的一小部分功能。同样地,CRISPR-Cas++也整合了很多数据资源,同时提供了许多实用的工具便于我们的研究。关于CRISPR-Cas++的更多功能不再多作介绍了大家自行了解。


对于CRISPRCasFinder的使用上传序列,设置参数后,提交查找CRISPR,很快出结果。

4.png

查看下载解压后的结果文件“TSV/Crisprs_REPORT.xls”,这个是最主要的,预测的到的CRISPR详细信息包含在该文件中。

6.png

 


PILER-CR


软件网站:http://www.drive5.com/pilercr/

7.png

#下载 PILER-CR,解压后在 linux 系统下编译安装
cd pilercr1.06 && chmod 755 *
make
chmod +x pilercr
 
#添加环境变量(例如我的安装路径在“/home/my/software/pilercr1.06/”)
export PATH=/home/my/software/pilercr1.06/:$PATH
 
#查看使用说明
pilercr -options
 
#预测 CRISPR 示例,输入基因组 fasta 文件,输出检测报告(pilercr.CRISPR.txt)和 CRISPR 序列(pilercr.CRISPR.fas)
pilercr -in NZ_KB849622.fasta -out pilercr.CRISPR.txt -seq pilercr.CRISPR.fas

检测报告“pilercr.CRISPR.txt”内容如下。

8.png

 


CRISPR Recognition ToolCRT


软件网站:http://www.room220.com/crt/

9.png

#我们直接下载已经编译好的命令行版的程序,在 linux 系统下运行
#注:CRT 主程序是个 java 程序,因此前提需要保证你已经安装了 java 环境
 
#查看使用说明(例如我的安装路径在“/home/my/software/CRT/”)
java -cp /home/my/software/CRT/CRT1.2-CLI.jar crt 
 
#预测 CRISPR 示例,输入基因组 fasta 文件,输出检测报告(CRT.CRISPR.txt)
java -cp /home/my/software/CRT/CRT1.2-CLI.jar crt NZ_KB849622.fasta CRT.CRISPR.txt

检测报告“CRT.CRISPR.txt”内容如下。

10.png

 

特别注意,这个软件有点小问题,可能细心的同学在这里已经发现了。

从上文介绍第一个工具开始,一直使用的同一个基因组fasta文件(NZ_KB849622.fasta)作测试,仔细查看这里“CRT.CRISPR.txt”中的内容,发现CRT和前三个工具的检测的CRISPR结果完全对应不起来,CRT里面的位置信息都是错误的?

再仔细查看下原因,NZ_KB849622.fasta是一个包含多条序列的fasta文件,而CRT并没有区分这多条序列,而是将它们连起来作为一个整体去识别的。也就是说,不能直接将含有多序列的fasta文件作为CRT的输入文件。

如果你的输入基因组fasta文件中,只有一条序列,是不受影响的。如果包含了多条序列,就需要将多序列的fasta文件作个拆分,一个序列生成一个fasta文件,再依次通过CRT鉴定CRISPR,最后再整合到一起。例如下示例借助python3调用CRT工具完成这一系列过程。

import os

CRT = 'java -cp /home/proj/software/CRT/CRT1.2-CLI.jar crt'
input = '/home/proj/test/CRISPR/NZ_KB849622.fasta'
output = 'out'

os.system(f'mkdir -p {output}/fasta')
os.system(f'mkdir -p {output}/CRT')

cat = 'cat'
tmp = open(f'{output}/tmp', 'w')
tmp.write('\n\n#######################################################\n\n')
tmp.close()

fasta_i = False
fasta = open(input, 'r')
for line in fasta:
    if line[0] == '>':
        if fasta_i:
            fasta_i.close()
            os.system(f'{CRT} {output}/fasta/{i}.fasta {output}/CRT/{i}.out')
            cat += f' {output}/CRT/{i}.out {output}/tmp'
        i = line.strip().split()[0].split('>')[1]
        fasta_i = open(f'{output}/fasta/{i}.fasta', 'w')
        fasta_i.write(line)
    else:
        fasta_i.write(line)

fasta_i.close()
fasta.close()
os.system(f'{CRT} {output}/fasta/{i}.fasta {output}/CRT/{i}.out')
os.system(f'{cat} {output}/CRT/{i}.out > {output}/CRT.CRISPR.txt')
os.system(f'rm {output}/tmp')

查看“out/CRT.CRISPR.txt”,这回的结果就是正常的了,和上文其它CRISPR检测工具的结果一致了。

11.png

 


CRISPRdigger


这个是国人开发的方法,github链接:https://github.com/greyspring/CRISPRdigger

其中“CRISPRdigger/scripts/CRISPRdigger_manual.pdf(或doc)”为软件使用说明,简洁版说明也可参考“README.txt”。

CRISPRdigger功能的正常实现依赖一系列环境或工具。根据依赖的工具,不难推测它的工作原理应该是通过RepeatScout从头发现基因组中的重复序列,构建训练集,并通过RepeatMasker基于这个训练集注释基因组中的重复序列(也就是基因组重复序列的从头预测,类似的工作过程可参考RepeatModeler)。由于CRISPR本身包含了许多短的正向重复序列在内,这样CRISPR的位置就获知了。作者也提到它的灵敏度比CRISPR finderPILER-CRCRT等要高。

 

作者为我们提供了一个perl脚本,“CRISPRdigger/softwares/AutoconfigCRISPRdigger.pl”,可以自动安装大部分所需的工具或包。这里面除了基因组重复序列检测工具RepeatMasker无法自动配置,这个需要手动进行安装。

#自动安装大部分需要的工具
cd CRISPRdigger/softwares
perl AutoconfigCRISPRdigger.pl
 
#之后你的 /home 路径下会出现一个“bin”,把它加载到环境变量中,例如
export PATH=/home/my/bin/RepeatScout-1:$PATH
export PATH=/home/my/bin:$PATH
 
#接下来配置 RepeatMasker
#可见 http://blog.sciencenet.cn/blog-3406804-1202555.html
 
#所有环境配置好后,测试主程序“CRISPRdigger.pl”
#如果出来帮助选择,就表明可以了
perl /home/my/software/CRISPRdigger/scripts/CRISPRdigger.pl
 
#默认参数运行
perl /home/my/software/CRISPRdigger/scripts/CRISPRdigger.pl -i NZ_KB849622.fasta

会得到一些列的结果文件,绝大多数都是期间RepeatScoutRepeatMasker运行的中间文件,可忽略。重要的就是gff文件了,记录了检测到的基因组中重复序列的位置,由于CRISPR本身包含了许多短的正向重复序列在内,这样就能通过短重复序列的集中出现区域,定位CRISPR的位置了。详见软件自带的帮助文档“scripts/CRISPRdigger_manual.pdf(或doc)”。

12.png

13.png

 



http://blog.sciencenet.cn/blog-3406804-1202592.html

上一篇:重复序列的从头预测工具RepeatModeler安装及使用
下一篇:列举一些次级代谢物基因簇相关的数据库

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2020-8-12 18:37

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部