miRNA测序数据生信分析——第二讲,数据库下载整理

2023-10-10 23:28

本文主要是介绍miRNA测序数据生信分析——第二讲,数据库下载整理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

miRNA测序数据生信分析——第二讲,数据库下载整理

  • miRNA测序数据生信分析——第二讲,数据库下载整理
    • 1. Rfam数据库
      • 1.1 Rfam数据库——简单概述
      • 1.2 Rfam数据库——下载整理:两种情况
        • 1.2.1 用于注释基因组上的ncRNA基因序列
        • 1.2.2 用于注释ncRNA/sRNA测序中的tRNA和rRNA序列
    • 2. miRBase数据库
      • 2.1 miRBase数据库——简单概述
      • 2.2 miRBase数据库——下载整理
    • 3. miRTarBase数据库
      • 3.1 miRTarBase数据库——简单概述
      • 3.2 miRTarBase数据库——下载整理
    • 4. miRDB数据库
      • 4.1 miRDB数据库——简单概述
      • 4.2 miRDB数据库——下载整理
    • 5. TargetScan数据库
      • 5.1 TargetScan数据库——简单概述
    • 6. TargetMiner数据库
      • 6.1 TargetMiner数据库——简单概述

miRNA测序数据生信分析——第二讲,数据库下载整理

有六个Rfam、miRBase、miRTarBase、miRDB、TargetScan和TargetMiner
重点是前4个。
这一部分:在对数据库整理时,涉及到三个软件(infernal、blast、seqkit)、2个脚本的撰写以及对NCBI的Refseq和GENE数据库的使用

1. Rfam数据库

1.1 Rfam数据库——简单概述

一个非编码RNA的整合数据库,可用来识别鉴定各种类型的ncRNA。提供的是ncRNA在基因组上的基因序列,而非转录成熟ncRNA的序列。
官方网站:https://rfam.xfam.org/
指导手册:http://eddylab.org/infernal/Userguide.pdf
下载Rfam数据库文件地址:https://ftp.ebi.ac.uk/pub/databases/Rfam/CURRENT/
最新版:2022-11-02
Rfam数据库中ncRNA类型分三大类:Cis-reg和Gene和Intron。这三大类又有子类。
在这里插入图片描述

1.2 Rfam数据库——下载整理:两种情况

Rfam数据库使用的两种情况:
①用于注释基因组上的ncRNA基因序列
②用于注释ncRNA/sRNA测序中的tRNA和rRNA序列(miRNA、lncRNA转录会加工成mature miRNA,因此不能注释)
两种情况分析时准备的Rfam数据库文件和整理方法是不同的,这里分别阐述。

1.2.1 用于注释基因组上的ncRNA基因序列

需要的Rfam数据库文件:Rfam.clanin、Rfam.cm和family.txt
需要的软件:infernal

#软件infernal
#官网:http://eddylab.org/infernal/,下载最新安装包
#安装
cd /home/zhaohuiyao/Biosoft/ncRNA_soft
wget http://eddylab.org/infernal/infernal-1.1.4-linux-intel-gcc.tar.gz
tar -zxvf ./infernal-1.1.4-linux-intel-gcc.tar.gz
#已是编译好的版本。可执行文件位置:/home/zhaohuiyao/Biosoft/ncRNA_soft/infernal-1.1.4-linux-intel-gcc/binaries/cd /home/zhaohuiyao/Database/Rfam
wget https://ftp.ebi.ac.uk/pub/databases/Rfam/CURRENT/Rfam.clanin
wget https://ftp.ebi.ac.uk/pub/databases/Rfam/CURRENT/Rfam.cm.gz
wget https://ftp.ebi.ac.uk/pub/databases/Rfam/CURRENT/database_files/family.txt.gz
gunzip ./Rfam.cm.gz
gunzip ./family.txt.gz
#建立数据库索引
/home/zhaohuiyao/Biosoft/ncRNA_soft/infernal-1.1.4-linux-intel-gcc/binaries/cmpress /home/zhaohuiyao/Database/Rfam/Rfam.cm
1.2.2 用于注释ncRNA/sRNA测序中的tRNA和rRNA序列

需要的Rfam数据库文件:Rfam.fa、Rfam.full_region和family.txt
需要的软件:blast
需要自己写一个脚本:Deal_Rfam_full_region.py

cd /home/zhaohuiyao/Database/Rfam
wget https://ftp.ebi.ac.uk/pub/databases/Rfam/CURRENT/fasta_files/Rfam.fa.gz
wget https://ftp.ebi.ac.uk/pub/databases/Rfam/CURRENT/Rfam.full_region.gz
wget https://ftp.ebi.ac.uk/pub/databases/Rfam/CURRENT/database_files/family.txt.gz
gunzip ./Rfam.fa.gz
gunzip ./Rfam.full_region.gz
gunzip ./family.txt.gz#特别注意:Rfam.fa(保存ncRNA序列)和Rfam.full_region(ncRNA属于哪个RF家族),两者信息数量不对等,需要手动修正。
#最终拿到两者信息完美匹配的Rfam.fa和Rfam.full_region
python3 ./Deal_Rfam_full_region.py -i ./Rfam.fa -I ./Rfam.full_region -o ./

在这里插入图片描述

#结果文件Rfam.full_region.tmp和Rfam.fa.tmp替换原来的文件
mv Rfam.full_region.tmp Rfam.full_region
mv Rfam.fa.tmp Rfam.fa			#最终的Rfam.fa长度从19~10656bp
/home/zhaohuiyao/Biosoft/general/seqkit stat -j 16 -T ./Rfam.fa

在这里插入图片描述

#建立数据库索引
/home/zhaohuiyao/Biosoft/general/ncbi-blast-2.10.0+/bin/makeblastdb -in ./Rfam.fa -dbtype nucl -out ./Rfam

2. miRBase数据库

2.1 miRBase数据库——简单概述

一个提供包括miRNA序列数据、注释、预测基因靶标等信息的全方位数据库,是存储miRNA信息最主要的公共数据库之一。
官方网址:https://www.mirbase.org/
下载地址:https://www.mirbase.org/ftp/CURRENT/
最新版:2018-12-01

2.2 miRBase数据库——下载整理

cd /home/zhaohuiyao/Database/miRBase
wget https://www.mirbase.org/ftp/CURRENT/organisms.txt.gz
wget https://www.mirbase.org/ftp/CURRENT/mature.fa.gz
gunzip ./organisms.txt.gz
grep -v "#" ./organisms.txt | wc -l				#285个物种
gunzip ./mature.fa.gz

3. miRTarBase数据库

3.1 miRTarBase数据库——简单概述

一个保存miRNA靶基因信息的数据库,其中存在的MITs是经过实验验证的,包括reporter assay, western blot, microarray and next-generation sequencing experiments等实验方法。因此可信度高。最新版v9.0,时间2021-09,依据miRBase v22。
官方网址:https://mirtarbase.cuhk.edu.cn/~miRTarBase/miRTarBase_2022/php/index.php
包括物种:37种。有单独物种的文件(例:hsa_MTI.xlsx),也有全部物种的文件miRTarBase_MTI.xlsx。

3.2 miRTarBase数据库——下载整理

对miRTarBase_MTI.xlsx进行提取,仅保留三列。miRNA,Target Gene,Target Gene (Entrez ID)。并删除重复项。(重复原因,不同的实验方法对同一靶向关系验证),拿到最终文件miRTarBase_MTI.txt
这个处理可以在Windows下用excel完成,①直接删列;②将miRNA与Target Gene两列合并(=A1&“_”&B1),利用合并后的字符串进行去重复。
但是没有想到,文件里面有迷惑的地方。令人不解
请添加图片描述
miRNA的名称与物种之间不一致,这种情况,我就忽略了
cd /home/zhaohuiyao/Database/miRTarBase
#文件miRTarBase_MTI.txt
在这里插入图片描述
grep -v “#” ./miRTarBase_MTI.txt | awk ‘{split($0,arr,“-”);print arr[1]}’ | sort | uniq > miRTarBase.organism
wc -l miRTarBase.organism #26个物种

4. miRDB数据库

4.1 miRDB数据库——简单概述

一个保存miRNA靶基因信息的数据库。最新版v6.0,时间2019-06,依据miRBase v22。
六大模块:Target Search、Target Expression、Target Ontology、Target Mining、Custom Prediction、FuncMir Collection
官方网址:https://mirdb.org/
仅针对5个物种的靶基因信息进行分析。(人类,小鼠,褐家鼠,家狗,原鸡)
在这里插入图片描述

4.2 miRDB数据库——下载整理

cd /home/zhaohuiyao/Database/miRDB
wget https://mirdb.org/download/miRDB_v6.0_prediction_result.txt.gz
gunzip ./miRDB_v6.0_prediction_result.txt.gz
grep -v “#” ./miRDB_v6.0_prediction_result.txt | awk ‘{split($0,arr,“-”);print arr[1]}’ | sort | uniq > miRDB.organism #5个物种

出现问题:
举例如下
以cfa-miR-1185为例,在miRDB官网进行检索,点击Target Search,检索靶标基因,结果如下
在这里插入图片描述
在这里插入图片描述
#有714个靶基因,且有靶基因的Gene Symbol
但是呀,万万没有想到!!!在下载的数据库文件miRDB_v6.0_prediction_result.txt文件中进行检索,结果有2287个
grep -c “cfa-miR-1185” ./miRDB_v6.0_prediction_result.txt 在这里插入图片描述
#并且检索结果中是靶mRNA的检索号,而不是Gene Symbol

因此,需要我们自己提供Gene Symbol和靶mRNA检索号的对应关系,对miRDB_v6.0_prediction_result.txt进行整理。这个整理有点复杂

#第一步,下载Gene Entrez ID和mRNA检索号的对应关系文件。依据NCBI的RefSeq数据库
cd /home/zhaohuiyao/Database/RefSeq
wget https://ftp.ncbi.nlm.nih.gov/refseq/release/release-catalog/release218.accession2geneid.gz
gunzip ./release218.accession2geneid.gz
在这里插入图片描述
#该文件由四列组成,分别是Taxonomic ID、Entrez GeneID、Transcript accession.version 、Protein accession.version。若第三列转录本检索号由NR或XR开头,表示非编码基因,则第四列的值为na

#第二步,下载Entrez GeneID和Gene Symbol的对应关系文件。依据NCBI的GENE数据库
#可以下载NCBI上所有基因的文件,不分物种
https://ftp.ncbi.nlm.nih.gov/gene/DATA/GENE_INFO/All_Data.gene_info.gz
#但是不划算,我只需要分别下载5个物种的基因文件
#这里以Homo sapiens(hsa)为例
cd /home/zhaohuiyao/Database/miRDB
wget https://ftp.ncbi.nlm.nih.gov/gene/DATA/GENE_INFO/Mammalia/Homo_sapiens.gene_info.gz
gunzip ./Homo_sapiens.gene_info.gz

#第三步,依据第一步和第二步下载的文件,对miRDB_v6.0_prediction_result.txt进行整理,拿到独属于指定物种的关系文件
python3 ./Deal_miRDB.py -i ./miRDB_v6.0_prediction_result.txt -db1 …/RefSeq/release218.accession2geneid -db2 ./Homo_sapiens.gene_info -s hsa -o ./
在这里插入图片描述
#结果文件miRDB_v6.0_prediction_result.txt.hsa(3351016)和miRDB_v6.0_prediction_result.txt.hsa.Error(0+24725)
在这里插入图片描述
在这里插入图片描述
#第四步,分在再完成物种Mus_musculus(mmu)、物种Rattus norvegicus(rno)、物种Canis familiaris(cfa)和物种Gallus gallus(gga)的整理工作
#第五步,将5个物种的结果进行整合。
cat miRDB_v6.0_prediction_result.txt.hsa miRDB_v6.0_prediction_result.txt.mmu miRDB_v6.0_prediction_result.txt.rno miRDB_v6.0_prediction_result.txt.cfa miRDB_v6.0_prediction_result.txt.gga > miRDB_v6.0_prediction_result.txt.final

5. TargetScan数据库

5.1 TargetScan数据库——简单概述

一个保存miRNA靶基因信息的数据库。最新版v7.2,时间2018-03。
官网:https://www.targetscan.org/vert_80/
没有一个完整的数据库,只有不同物种的各自数据库,若想本地进行检索,需要分别下载。
物种有:Human、Mouse、Rat、chimpanzee、Rhesus、Cow、Dog、Opossum、Chicken、Frog、Worm、Fly、Fish等。(但只有Human、Mouse、Worm、Fly、Fish能做本地检索,下载靶标信息文件)
#选择物种和靶基因的名称
在这里插入图片描述

6. TargetMiner数据库

6.1 TargetMiner数据库——简单概述

版本2012年,没有更新,且只有人类,不常使用
官网:https://www.isical.ac.in/

这篇关于miRNA测序数据生信分析——第二讲,数据库下载整理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/183840

相关文章

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

如何通过try-catch判断数据库唯一键字段是否重复

《如何通过try-catch判断数据库唯一键字段是否重复》在MyBatis+MySQL中,通过try-catch捕获唯一约束异常可避免重复数据查询,优点是减少数据库交互、提升并发安全,缺点是异常处理开... 目录1、原理2、怎么理解“异常走的是数据库错误路径,开销比普通逻辑分支稍高”?1. 普通逻辑分支 v

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

C# LiteDB处理时间序列数据的高性能解决方案

《C#LiteDB处理时间序列数据的高性能解决方案》LiteDB作为.NET生态下的轻量级嵌入式NoSQL数据库,一直是时间序列处理的优选方案,本文将为大家大家简单介绍一下LiteDB处理时间序列数... 目录为什么选择LiteDB处理时间序列数据第一章:LiteDB时间序列数据模型设计1.1 核心设计原则

使用shardingsphere实现mysql数据库分片方式

《使用shardingsphere实现mysql数据库分片方式》本文介绍如何使用ShardingSphere-JDBC在SpringBoot中实现MySQL水平分库,涵盖分片策略、路由算法及零侵入配置... 目录一、ShardingSphere 简介1.1 对比1.2 核心概念1.3 Sharding-Sp

Java+AI驱动实现PDF文件数据提取与解析

《Java+AI驱动实现PDF文件数据提取与解析》本文将和大家分享一套基于AI的体检报告智能评估方案,详细介绍从PDF上传、内容提取到AI分析、数据存储的全流程自动化实现方法,感兴趣的可以了解下... 目录一、核心流程:从上传到评估的完整链路二、第一步:解析 PDF,提取体检报告内容1. 引入依赖2. 封装

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

使用SpringBoot+InfluxDB实现高效数据存储与查询

《使用SpringBoot+InfluxDB实现高效数据存储与查询》InfluxDB是一个开源的时间序列数据库,特别适合处理带有时间戳的监控数据、指标数据等,下面详细介绍如何在SpringBoot项目... 目录1、项目介绍2、 InfluxDB 介绍3、Spring Boot 配置 InfluxDB4、I

Python多线程实现大文件快速下载的代码实现

《Python多线程实现大文件快速下载的代码实现》在互联网时代,文件下载是日常操作之一,尤其是大文件,然而,网络条件不稳定或带宽有限时,下载速度会变得很慢,本文将介绍如何使用Python实现多线程下载... 目录引言一、多线程下载原理二、python实现多线程下载代码说明:三、实战案例四、注意事项五、总结引