miRNA测序数据生信分析——第四讲,未知物种的生信分析实例

miRNA测序数据生信分析——第四讲,未知物种的生信分析实例

  • miRNA测序数据生信分析——第四讲,未知物种的生信分析实例
    • 1. 下载测序数据
    • 2. 原始数据质控——软件fastqc
    • 3. 注释tRNA和rRNA,使用Rfam数据库——软件blast,Rfam_statistics.py脚本
    • 4. 注释miRNA,包括种类,序列及定量,靶基因和绘图
      • 4.1 鉴定,使用miRBase数据库——软件blast
      • 4.2 定量和miRNA序列提取
      • 4.3 miRNA靶基因,使用miRanda和TargetScan软件进行预测
        • 4.3.1 miRanda软件
        • 4.3.2 TargetScan软件
        • 4.3.3 整合两个软件预测结果——脚本Total_Target.py
      • 4.4 绘制miRNA-靶基因互作图——软件Cytoscape
    • 5. 总结

miRNA测序数据生信分析——第四讲,未知物种的生信分析实例

再次强调:这里未知物种,是指进行miRNA测序的物种在miRBase、miRDB、miRTarbase数据库都不存在miRNA信息。而不是不知道进行miRNA测序的物种

1. 下载测序数据

和博文(miRNA测序数据生信分析——第三讲,已知物种的生信分析实例)中的测序数据一样。假设这个数据的物种是Oecanthus indicus。
SRA号:DRR463940 单端测序 测序类型:miRNA-seq 文件DRR463940.fastq

2. 原始数据质控——软件fastqc

3. 注释tRNA和rRNA,使用Rfam数据库——软件blast,Rfam_statistics.py脚本

4. 注释miRNA,包括种类,序列及定量,靶基因和绘图

测序物种Oecanthus indicus(Oin)。该物种在miRBase、miRDB、miRTarbase数据库都不存在miRNA信息。

4.1 鉴定,使用miRBase数据库——软件blast

cd /home/zhaohuiyao/miRNA_seq/DRR463940/02miRNA/unknown/01miRBase
#查询物种Oecanthus indicus是否在数据库miRBase中
grep “Oecanthus indicus” /home/zhaohuiyao/Database/miRBase/organisms.txt #没有返回
在这里插入图片描述
#自己编辑三个字符简写为:oin
/home/zhaohuiyao/Biosoft/general/ncbi-blast-2.10.0+/bin/makeblastdb -in /home/zhaohuiyao/Database/miRBase/mature.fa -dbtype nucl -out /home/zhaohuiyao/Database/miRBase/mature
#只保留一个比对结果
/home/zhaohuiyao/Biosoft/general/ncbi-blast-2.10.0+/bin/blastn -task blastn-short -db /home/zhaohuiyao/Database/miRBase/mature -query …/…/00Rawdata/DRR463940.fasta -out DRR463940_miRBase.annotations -outfmt 6 -evalue 1e-5 -num_alignments 1
head DRR463940_miRBase.annotations
在这里插入图片描述
#统计
wc -l ./DRR463940_miRBase.annotations #63113条比对结果(63113/311289=20.27%)
cut -f 2 ./DRR463940_miRBase.annotations | awk ‘{name=substr($1,5,length($1)); print name}’ | sort | uniq | wc -l #420种miRNA(不关注物种,只关注miRNA种类)

4.2 定量和miRNA序列提取

miRNA序列提取:
步骤一:提取一种miRNA(不关注物种)对应的测序Reads序列名称,并在测序Reads中进行序列提取,拿到该miRNA的所有可能序列
步骤二:对所有可能序列进行多序列比对(MATTF)
步骤三:依据MAFFT比对结果,提取一致性序列,该一致性序列为该测序物种miRNA序列
步骤四:整合所有miRNA序列
miRNA序列定量:
在运行上面步骤一时,会生成序列定量文件

步骤一:提取一种miRNA(不关注物种)对应的测序Reads序列名称,并在测序Reads中进行序列提取,拿到该miRNA的可能序列。
cd /home/zhaohuiyao/miRNA_seq/DRR463940/02miRNA/unknown/02Sequence_Quantity
python ./miRBase_sequence_unknown.py -i …/01miRBase/DRR463940_miRBase.annotations -data /home/zhaohuiyao/miRNA_seq/DRR463940/00Rawdata/DRR463940.fasta -s oin -o ./
在这里插入图片描述
#miRNA定量结果
在这里插入图片描述
#某一miRNA对应的是所有测序Reads序列
在这里插入图片描述
步骤二:对所有可能序列进行多序列比对(MATTF)
#安装MAFFT
官网下载最新安装包:https://mafft.cbrc.jp/alignment/software/
cd /home/zhaohuiyao/Biosoft/general
wget https://mafft.cbrc.jp/alignment/software/mafft-7.505-with-extensions-src.tgz
tar -zxvf ./mafft-7.505-with-extensions-src.tgz
cd mafft-7.505-with-extensions/core/
#编辑文件,vim Makefile。修改第一行内容,PREFIX = /usr/local  PREFIX = /home/zhaohuiyao/Biosoft/general/mafft-7.505-with-extensions
make clean
make
make install
#可执行文件:/home/zhaohuiyao/Biosoft/general/mafft-7.505-with-extensions/bin/mafft

cd /home/zhaohuiyao/miRNA_seq/DRR463940/02miRNA/unknown/02Sequence_Quantity
mkdir MAFFT && cd MAFFT/
#编辑脚本mafft_run.sh在这里插入图片描述
/bin/bash ./mafft_run.sh
#每个miRNA序列文件对应一个.mafft结果文件

步骤三:依据MAFFT比对结果,提取一致性序列,该一致性序列为本物种miRNA序列
cd /home/zhaohuiyao/miRNA_seq/DRR463940/02miRNA/unknown/02Sequence_Quantity/MAFFT/
mkdir consensus && cd consensus/
#编辑脚本consensus_run.sh以及consensus_seq.py
一致性序列的标准:依据多序列比对结果,统计每一个位置碱基的频次。频次最高的碱基为该位置碱基。
其中可能涉及的问题:①当该位置频次最高的是“-”字符时,忽略该位置。②当该位置频次最高的字符出现多个时,涉及到简并碱基的问题,这次暂不考虑,随机选择一种。
在这里插入图片描述
/bin/bash ./consensus_run.sh
#每个.mafft结果文件对应一个.concensus文件

步骤四:整合所有miRNA序列
cd /home/zhaohuiyao/miRNA_seq/DRR463940/02miRNA/unknown/02Sequence_Quantity
cat ./MAFFT/consensus/oin-* > DRR463940_miRBase.annotations.fa

4.3 miRNA靶基因,使用miRanda和TargetScan软件进行预测

#三个子目录miRanda/、TargetScan/和Total/
#两个软件的运行均需要准备两个文件。miRNA序列文件和mRNA序列文件。
miRNA序列文件:①成熟的miRNA序列,长度20-24nt;②种子序列,成熟miRNA 5’端的第2-8个核苷酸。
mRNA序列文件:①可以包括其他ncRNA序列(例如lncRNA也能与miRNA靶向结合);②可以是完整的mRNA序列,也可以是mRNA的仅3`UTR序列;③可以一个基因对应一个mRNA序列,也可以多个(最后会整合到靶基因水平。但是需要提供mRNA—Gene关系文件)

#准备文件
#miRNA序列文件:上面4.2拿到的miRNA序列文件
#mRNA序列文件:这个文件包括了其他ncRNA序列,完整mRNA序列,一个基因对应多个mRNA序列。
#mRNA—Gene关系文件

cd /home/zhaohuiyao/miRNA_seq/DRR463940/02miRNA/unknown/03Target/
#mRNA序列文件
wget https://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/001/405/GCF_000001405.40_GRCh38.p14/GCF_000001405.40_GRCh38.p14_rna.fna.gz
gunzip ./GCF_000001405.40_GRCh38.p14_rna.fna.gz
#mRNA—Gene关系文件
grep ">" GCF_000001405.40_GRCh38.p14_rna.fna | awk -v OFS="\t" '{split($0,arr," "); name=substr(arr[1],2); split($0,arr1,")"); split(arr1[1],arr2,"("); print name,arr2[2]}' > mrna_gene.info#将fasta进行多行转单行
/home/zhaohuiyao/Biosoft/seqkit seq -i -w 0 GCF_000001405.40_GRCh38.p14_rna.fna > GCF_000001405.40_GRCh38.p14_rna.fna.tmp
rm GCF_000001405.40_GRCh38.p14_rna.fna
mv GCF_000001405.40_GRCh38.p14_rna.fna.tmp GCF_000001405.40_GRCh38.p14_rna.fna 
4.3.1 miRanda软件

#安装软件miRanda
cd /home/zhaohuiyao/Biosoft/general
wget http://cbio.mskcc.org/microrna_data/miRanda-aug2010.tar.gz
tar -zxvf ./miRanda-aug2010.tar.gz
cd miRanda-3.3a/
./configure --prefix=/home/zhaohuiyao/Biosoft/general/miRanda-3.3a
make
make install
#可执行文件:/home/zhaohuiyao/Biosoft/general/miRanda-3.3a/bin/miranda

cd /home/zhaohuiyao/miRNA_seq/DRR463940/02miRNA/unknown/03Target/miRanda
ln -s …/GCF_000001405.40_GRCh38.p14_rna.fna oin_mrna.fasta
ln -s …/mrna_gene.info oin_gene_mrna.info.txt
/home/zhaohuiyao/Biosoft/general/miRanda-3.3a/bin/miranda …/…/02Sequence_Quantity/DRR463940_miRBase.annotations.fa oin_mrna.fasta -quiet -out DRR463940_miRBase.annotations.miRanda.original
#参数-quiet:表示不输出没有发生靶向的miRNA-mRNA关系
#结果文件DRR463940_miRBase.annotations.miRanda.original,这个文件中只有以">>"开头的行,才是预测的miRNA-靶mRNA的信息行
grep “>>” DRR463940_miRBase.annotations.miRanda.original > DRR463940_miRBase.annotations.miRanda.tmp
#结合mRNA—Gene的关系文件(oin_gene_mrna.info.txt),获得mRNA-靶基因关系文件
python3 ./miRanda_Target.py -i ./DRR463940_miRBase.annotations.miRanda.tmp -db ./oin_gene_mrna.info.txt -o ./
#结果文件DRR463940_miRBase.annotations.miRanda
在这里插入图片描述

4.3.2 TargetScan软件

#安装软件TargetScan
cd /home/zhaohuiyao/Biosoft/general
mkdir targetscan_50 && cd targetscan_50/
wget https://www.targetscan.org/vert_50/vert_50_data_download/targetscan_50.zip
unzip ./targetscan_50.zip && rm ./targetscan_50.zip
#可执行文件:/home/zhaohuiyao/Biosoft/general/targetscan_50/targetscan_50.pl

cd /home/zhaohuiyao/miRNA_seq/DRR463940/02miRNA/unknown/03Target/TargetScan
ln -s …/GCF_000001405.40_GRCh38.p14_rna.fna oin_mrna.fasta
ln -s …/mrna_gene.info oin_gene_mrna.info.txt

#TargetScan对输入的文件格式有要求。请依据要求对miRDB用到的文件进行修改,得到新的输入文件DRR463940_miRBase.annotations.fa.TargetScan和oin_mrna.fasta.TargetScan
#miRNA只需要种子序列(miRNA 5’端的第2~8个核苷酸),物种号:NCBI的Taxonomy数据库中查看1982312
awk ‘{if($0~/^>/){printf “%s\t”, substr($0,2) } else { printf “%s\t%s\n”, substr($0,2,7),“1982312”}}’ …/…/02Sequence_Quantity/DRR463940_miRBase.annotations.fa > RR463940_miRBase.annotations.fa.TargetScan
在这里插入图片描述
awk ‘{if($0~/^>/){printf “%s\t”, substr($0,2) } else { printf “%s\t%s\n”, “1982312”,$0}}’ oin_mrna.fasta > oin_mrna.fasta.TargetScan
在这里插入图片描述
perl /home/zhaohuiyao/Biosoft/general/targetscan_50/targetscan_50.pl DRR463940_miRBase.annotations.fa.TargetScan oin_mrna.fasta.TargetScan DRR463940_miRBase.annotations.TargetScan.original
#结合mRNA—Gene的关系文件(oin_gene_mrna.info.txt),获得mRNA-靶基因关系文件
python ./TargetScan_Target.py -i ./DRR463940_miRBase.annotations.TargetScan.original -db ./oin_gene_mrna.info.txt -o ./
#结果文件DRR463940_miRBase.annotations.TargetScan
在这里插入图片描述

4.3.3 整合两个软件预测结果——脚本Total_Target.py

#取并集,获得最终miRNA-Gene关系文件
cd /home/zhaohuiyao/miRNA_seq/DRR463940/02miRNA/unknown/03Target/Total
python ./Total_Target.py -db1 …/miRanda/DRR463940_miRBase.annotations.miRanda -db2 …/TargetScan/DRR463940_miRBase.annotations.TargetScan -o ./
#结果文件DRR463940_miRBase.annotations.target

4.4 绘制miRNA-靶基因互作图——软件Cytoscape

5. 总结

以上就是针对未知物种的miRNA分析。与已知物种的分析之间存在重叠,重点是两个预测软件miRanda和TargetScan的使用。上面步骤中涉及了很多脚本,但都是很简单的文件内容提取比对。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/104272.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

监控系列(六)prometheus监控DMHS操作步骤

一、监控的操作逻辑 给操作系统安装expect命令expect脚本执行dmhs_console脚本执行 cpt / exec 命令用脚本进行过滤字符串过滤dm_export读取脚本与当前日期作比较,然后返回差值 二、安装步骤 1. linux中Expect工具的安装及使用方法 https://blog.csdn.net/wangta…

mybatis拦截器源码分析

mybatis拦截器源码分析 拦截器简介 mybatis Plugins 拦截器由于Mybatis对数据库访问与操作进行了深度的封装,让我们应用开发效率大大提高,但是灵活度很差拦截器的作用:深度定制Mybatis的开发抛出一个需求 :获取Mybatis在开发过程中执行的SQL语句(执行什么操作获取那条SQL语句…

ChatGPT,AIGC 制作按年份选择的动态条形图

在数据分析与可视化中,条形图是用来进行对比分析,在正负条形图中都有哪些好处与优点呢? 正负条形图是一种常用的数据可视化方式,它的优点和好处包括: 1.明确展示:正负条形图可以清晰地显示出数据中的正负差异,使读者能直观地看出数据的变化和趋势。 2.直观比较:正负条…

苹果电脑其他内存怎么清理?

苹果电脑中的应用程序大部分是可以通过将其拖拽至废纸篓并倾倒来卸载的。但是部分程序在卸载后仍有残留文件,比如support文件和pref设置等文件的。小编今天介绍下苹果电脑清理内存怎么清理卸载残留以及好用的清理技巧分享。 一、苹果电脑清理内存怎么清理 苹果电脑…

简单实现一个todoList(上移、下移、置顶、置底)

演示 html部分 <!DOCTYPE html> <html> <head><title>表格示例</title> </head> <body><table border"1"><thead><tr><th>更新时间</th><th>操作</th></tr></thead…

thinkphp5.1 获取缓存cache(‘cache_name‘)特别慢,php 7.0 unserialize 特别慢

thinkphp5.1 获取缓存cache(‘cache_name’)特别慢&#xff0c;php 7.0 unserialize 特别慢 场景&#xff1a; 项目中大量使用了缓存&#xff0c;本地运行非常快&#xff0c;二三百毫秒&#xff0c;部署到服务器后 一个表格请求就七八秒&#xff0c;最初猜想是数据库查询慢&am…

KY258 日期累加

KY258 日期累加 int main() {int n 0; //样例个数cin >> n;//for循环处理n个样例for (int i 0; i < n; i){int y, m, d, num;int days[12] { 31,28,31,30,31,30,31,31,30,31,30,31 };//输入年月日 要加的天数cin >> y >> m >> d >>…

完整教程:Java+Vue+Websocket实现OSS文件上传进度条功能

引言 文件上传是Web应用开发中常见的需求之一&#xff0c;而实时显示文件上传的进度条可以提升用户体验。本教程将介绍如何使用Java后端和Vue前端实现文件上传进度条功能&#xff0c;借助阿里云的OSS服务进行文件上传。 技术栈 后端&#xff1a;Java、Spring Boot 、WebSock…

【Java学习之道】GUI开发的基本概念

引言 在这一章&#xff0c;我们将一起走进Java的图形用户界面&#xff08;GUI&#xff09;开发的世界。在你阅读完这篇文章后&#xff0c;你将能够了解什么是GUI&#xff0c;以及如何使用Java进行GUI的开发。 一、什么是GUI 首先&#xff0c;让我们来解答一个许多初学者都会…

AN基础工具——变形工具

【AN基础工具——变形工具】 基本使用方法&#xff1a;任意变形工具基础动画 本篇内容&#xff1a;学会使用变形工具 重点内容&#xff1a;变形工具 工 具&#xff1a;Adobe Animate 2022 基本使用方法&#xff1a; 任意变形工具 《任意变形工具&#xff08;快捷键Q&#xff0…

深度学习系列51:hugging face加速库optimum

1. 普通模型 Optimum是huggingface transformers库的一个扩展包&#xff0c;用来提升模型在指定硬件上的训练和推理性能。Optimum支持多种硬件&#xff0c;不同硬件下的安卓方式如下&#xff1a; 如果是国内安装的话&#xff0c;记得加上-i https://pypi.tuna.tsinghua.edu.c…

八大排序算法(含时间复杂度、空间复杂度、算法稳定性)

文章目录 八大排序算法(含时间复杂度、空间复杂度、算法稳定性)1、&#xff08;直接&#xff09;插入排序1.1、算法思想1.2、排序过程图解1.3、排序代码 2、希尔排序3、冒泡排序3.1、算法思想3.2、排序过程图解3.3、排序代码 4、&#xff08;简单&#xff09;选择排序4.1、算法…

Springcloud笔记(2)-Eureka服务注册中心

Eureka服务注册 Eureka作为一个微服务的治理中心&#xff0c;它是一个服务应用&#xff0c;可以接收其他服务的注册&#xff0c;也可以发现和治理服务实例。 服务治理中心是微服务&#xff08;分布式&#xff09;架构中最基础和最核心的功能组件&#xff0c;它主要对各个服务…

kafka生产者发送消息报错 Bootstrap broker localhost:9092 (id: -1 rack: null) disconnected

报这个错误是因为kafka里的配置要修改下 在config目录下 server.properties配置文件 这下发送消息就不会一直等待&#xff0c;就可以发送成功了

CTFHub SSRF 题目

文章目录 CTFHub SSRF 通关教程1. 内网访问&#xff0c;伪协议利用1.1 内网访问1.2 伪协议读取文件1.3 端口扫描 2. POST请求&#xff0c;上传文件&#xff0c;FastCGI协议&#xff0c;Redis协议2.1 POST请求2.2 上传文件2.3 FastCGI协议2.4 Redis协议 3. Bypass系列3.1 URL By…

Macos数字音乐库:Elsten Software Bliss for Mac

Elsten Software Bliss for Mac是一款优秀的音乐管理软件&#xff0c;它可以帮助用户自动化整理和标记数字音乐库&#xff0c;同时可以自动识别音乐信息并添加标签和元数据。 此外&#xff0c;Bliss还可以修复音乐库中的问题&#xff0c;例如重复的音乐文件和缺失的专辑封面等…

Apache Dubbo 首个 Node.js 3.0-alpha 版本正式发布

作者&#xff1a;蔡建怿 关于Apache Dubbo3 Apache Dubbo 是一款易用、高性能的 WEB 和 RPC 框架&#xff0c;同时为构建企业级微服务提供服务发现、流量治理、可观测、认证鉴权等能力、工具与最佳实践。经过近几年发展&#xff0c;Dubbo3 已在阿里巴巴集团各条业务线实现全面…

关于如何进行ChatGPT模型微调的新手指南

微调是指在预训练的模型基础上&#xff0c;通过进一步的训练来调整模型以适应特定任务或领域。预训练的模型在大规模的文本数据上进行了广泛的学习&#xff0c;从中获得了一定的知识和语言理解能力。然而&#xff0c;由于预训练并不针对具体任务&#xff0c;因此需要微调来使模…

深耕全面预算管理 拥抱企业数字未来

随着世界数字未来的不断发展&#xff0c;我国也正经历着一场更大范围、更深层次的科技变革。企业面对构建内部生态平衡体系的艰巨任务&#xff0c;对于其信息化部署也提出了更高的要求。增强预算编制的全面性&#xff0c;启动预算管理一体化改革成为了我国企业提高数字化水平的…

实验3:左右循环LED灯

获取流水灯工程&#xff1a; 方式一&#xff1a; keilproteus 完成最小系统&#xff0c;点亮led 灯实验_吴小凹的博客-CSDN博客 方式二&#xff1a; Flowing_led.zip - 蓝奏云直接下载。 原理图修改&#xff1a; 无须修改只需要使用流水灯的工程即可&#xff0c;解压到桌面…