生信科研信息学生信分析工具包

RNA编辑:相关数据库和分析软件REDItools

2019-06-04  本文已影响29人  晓佥

数据库:

1.DARNEDhttps://darned.ucc.ie/
包含大约42000个人类基因组坐标的信息。

2.RADARhttp://rnaedit.com/
包含1379403个人类A-to-I RNA编辑位点的信息,8108个小鼠和2698个苍蝇A-to-I RNA编辑站点的信息。

3.REDIdbhttp://srv00.recas.ba.infn.it/py_script/REDIdb/
是一个基于网络的交互式数据库,RNA编辑数据库目前存储分布在706个不同核苷酸序列上的9964个编辑事件。这些编辑修改中有67%是由于替换,插入占30%,删除占3%。关于序列位置,486个序列来自线粒体,其余220个序列来自叶绿体。

4.RESOPShttp://cib.cf.ocha.ac.jp/RNAEDITING/
用于分析RNA编辑位点与蛋白质三维结构的对应关系的数据库,包含5,754个RNA编辑位点,其中2,059个(35.8%)位点位于密码子的第一个字母上,3,165个(55.0%)位于第二个字母上,530个(9.2%)位于第三个字母上。

5.REDIportalhttp://srv00.recas.ba.infn.it/atlas/
是人类RNA编辑的最大和最全面的集合,包括超过450万个A-to-I事件。来自数千个RNAseq实验的30种不同组织的55个身体部位。REDIportal嵌入了RADAR数据库。

6.e23Dhttp://www.sheba-cancer.org.il/e23D
网站没有打开。

7.dbREShttp://bioinfo.au.tsinghua.edu.cn/dbRES
网站没有打开,dbRES版本1.1包含5437个RNA编辑位点,包含251个转录本,涵盖植物,后生动物,原生动物,真菌和病毒的96种生物。

8.EdRNAhttp://edrna.mbc.nctu.edu.tw/index.php
最全面,最完整的RNA编辑数据库,EdRNA具有312,774个RNA编辑位点,属于6,090个基因。

REDItools软件使用说明

一.简介

REDItools是python脚本开发的,旨在通过下一代测序数据研究基因组规模的RNA编辑。
主页及软件下载页:<u>http://srv00.recas.ba.infn.it/reditools/</u>
主要包含的脚步如下(其中红色框中的为主要分析RNA编辑的脚本):


1.REDItoolDnaRna.py是专门用于检测RNA编辑的主要脚本,其主要应用来自RNA-Seq和DNA-Seq数据的BAM格式文件。 为了研究潜在的RNA编辑,可以单独使用RNA-Seq数据。
2.REDItoolKnown.py已经开发用于使用已知的编辑信息探索RNA-Seq数据集的RNA编辑潜力。 此类信息可以从DARNED数据库下载,也可以从各种出版物的补充材料中生成。 已知的RNA编辑信息必须存储在TAB文件中。
3.REDItoolDenovo.py被用于单独使用RNA-Seq数据预测潜在的RNA编辑事件,并且没有关于RNA编辑现象的基因组信息和生物学特性的任何先验知识。
4.REDItoolBlatCorrection.py需要Blat包中的gfServer和gfClient程序。可以使用实用程序faToTwoBit将.2bit格式转换参考文件fasta格式
5.FilterTable.py根据tabix工具索引的特定注释过滤输入表的位置。过滤后的位置将在每行的开头标记为“#”。要排除这些行,应使用选项-E。功能与GTF注释文件的第三个字段中指示的相同。
6.AnnotateTable.py根据tabix工具索引的注释文件的各个位置。 根据-c选项,它可以添加1到3个附加列。
7.SearchInTable.py查找列表或位置表中的各个位置。
8.selectPositions.py可以根据不同的标准过滤输出REDItool生成的表。
9.SortTable.py是根据基因组区域和坐标对输入表进行排序的工具。 输入表可以是TAB分隔的或使用任何分隔符。
10.tableToTabix.py创建一个tabix表,默认情况下对输入表进行排序。 用于从GFF文件生成tabix表以提前为REDItools准备注释表。
11.SortGFF.py是一个只对GFF文件进行排序并作为SortTable.py工作的工具。
12.GFFtoTabix.py是一个将GFF文件转换为tabix文件的脚本。
13.TableToGFF.py是一个将输出REDItool表转换为GFF以便在REDItoolDnaRna.py中用作输入的工具。

二.软件所需输入文件:

1.-BAM文件
输入BAM应按SAMtools排序和索引进行排序和索引。 或者,REDItools可以使用-I选项对输入BAM进行排序和索引,或者从DNA-Seq数据中选择-J用于BAM。 在排序输入BAM的情况下,REDItools可以自动检查索引文件的存在,如果它们不存在则创建它们。
2.- Fasta格式的参考基因组
染色体/区域名称必须与输入BAM中的名称相同。 参考Fasta文件必须由SAMtools faidx编制索引
3.-GTF文件包含注释或基因组区域,以包括或从分析中排除
当用于已知注释时,GTF属性必须包含字段'gene_id'和'transcript_id'。需要通过tabix对GTF文件进行排序和索引。这可以通过标准的unix / linux sort命令,然后是tabix程序或使用REDItools附件脚本来完成 。(optional)
4.-TAB分隔文件,包括基因组位置
第一列必须包含根据输入BAM和参考基因组的染色体/区域名称,第二列必须包括基因组坐标(基于1),第三列必须指示链(+或 - )。链也可以用数字表示:0(链 - ),1(链+)或2(链未知)。 (optional)
5.-SpliceSite文件包括已知剪接位点的坐标,以排除周围内含子区域中的位置
REDItools文档中描述了拼接站点的格式和生成此类文本文件的过程。 (optional)
输入文件示例如下:
samtools faidx reference.fa
samtools view –bS –T reference.fa myfile.sam > myfile.bam
samtools sort myfile.bam myfile.sorted
samtools index myfile.sorted.bam



三.通用输出文件格式

-Region:根据参考文献的基因组区域;
-Position:是确切的基因组坐标(基于1);
-Reference:是参考基因组中的核苷酸碱基;
-Strand:是链信息,带有符号1表示+链,0表示 - 链,2表示未知或未定义的链;
-Coverage-qxx:给定xx质量得分(最小值)的每个位点的深度;
-MeanQ:是每个位点的平均质量得分;
-BaseCount [A,C,G,T]:是每个位点的基本分布,顺序为A,C,G和T;
-AllSubs:是给定位点的观察到的替换列表,以空格分隔。在不变位点的情况下,使用字符“ - ”;
-Frequency:是观察到的替代频率。在多次替换的情况下,它指的是AllSubs字段中的第一个。

REDItoolDnaRna.py包括五个额外的列,以考虑DNA-Seq reads的信息。这些列表示为:
-gCoverage-qxx:DNA-Seq中给定xx质量得分(最小值)的每个位点的深度;
-gMeanQ:DNA-Seq中每个位点的平均质量得分;
-gBaseCount [A,C,G,T]:是每个位点的基本分布,顺序为A,C,G和T;
-gAllSubs:是给定位点上观察到的替换列表,以空格分隔。字符“ - ”包括在不变位点的情况下;
-gFrequency:是观察到的替换频率。在多个替换的情况下,它指的是gAllSubs字段中的第一个。

REDItoolDenovo.py包含一个额外的列:
-Pvalue:是根据Fisher精确检验计算的每个位点的p值。它表明观察到的变化的基础分布与预期的不同,通过整个RNA-Seq实验的经验碱基替换计算。
DNA-Seq reads 不支持的位置用每个额外列的字符“ - ”标记。

四.示例
下载测试文件包:testREDItools.tar.gz(http://srv00.recas.ba.infn.it/reditools/data/testREDItools.tar.gz) ,所包含的文件如下:

  1. REDItoolDnaRna.py -i rna.bam -j dna.bam -f reference.fa -o reditool-test -c 10,1 -Q 33,64 -q 25,25 -m 20,20 -s 2 -g 1 -u -a 6-0 -v 2 -n0.0 -N0.0 -V
    对比dna和rna的bam文件每个位点,输出相关的信息,程序详细参数:
    <u>http://srv00.recas.ba.infn.it/reditools/#reditooldnarna-py</u>

2.selectPositions.py -i outTable_891206177 -d 12 -c 2 -C 10 -v 2 -V 0 -f 0.1 -F 1.0 -e -u -o candidates.txt
针对每个位点的信息进行筛选过滤,保留潜在的RNA编辑位点,程序详细参数:
<u>http://srv00.recas.ba.infn.it/reditools/#selectpositions-py</u>

  1. AnnotateTable.py -a ../../rmsk.gtf.gz -i candidates.txt -u -c 1,2,3 -n RepMask -o candidates.rmsk.txt
    使用Repeat Mask数据库去寻找Alu位点,程序详细参数:
    <u>http://srv00.recas.ba.infn.it/reditools/#annotatetable-py</u>
    4.FilterTable.py -i candidates.rmsk.txt -f ../../rmsk.gtf.gz -F SINE -E -o candidates.rmsk.alu.txt -p
    保留注释在SINE区域的注释,程序详细参数:
    <u>http://srv00.recas.ba.infn.it/reditools/#filtertable-py</u>

5.AnnotateTable.py -a ../../refGene.sorted.gtf.gz -i candidates.rmsk.alu.txt -u -c 1,2 -n RefSeq -o candidates.rmsk.alu.ann.txt
再使用RefSeq数据库注释,输出文件将多出gene_id、transcript_id和feature等列。

五.实际数据测试

1.python REDItoolDnaRna_jy.py -i RNA.bam -j DNA.bam -f GRCh37.fa -o reditool-test -c 10,1 -Q 33,64 -q 25,25 -m 20,20 -s 2 -g 1 -u -a 6-0 -v 2 -n0.0 -N0.0 -V -t 24

2.python selectPositions.py -i outTable_22 -d 12 -c 2 -C 10 -v 2 -V 0 -f 0.1 -F 1.0 -e -u -o candidates.txt

  cat candidates.txt

筛选符合要求的位点,因要求比较严,所以筛选后留下了很少的点.

3.python AnnotateTable.py -a rmsk.gtf.gz -i candidates.txt -u -c 1,2,3 -n RepMask -o candidates.rmsk.txt

cat candidates.rmsk.txt

4.python FilterTable.py -i candidates.rmsk.txt -f rmsk.gtf.gz -F SINE -E -o candidates.rmsk.alu.txt -p

5.python AnnotateTable.py -a refGene.sorted.gtf.gz -i candidates.rmsk.alu.txt -u -c 1,2 -n RefSeq -o candidates.rmsk.alu.ann.txt


对RepMask 数据库注释后的文件进行筛选,没有符合要求的点,固4和5两步生成的结果为空,即推断没有RNA编辑位点。

特别注意:因当时写软件中脚本的时间比较早,所以python中的pysam模块的版本也是比较早的,用当前版本的pysam模块时,原程序会报错。可以自行对REDItoolDnaRna.py进行下修改。

上一篇下一篇

猜你喜欢

热点阅读