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

news2024/10/2 10:27:09

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.coloradmin.cn/o/1089505.html

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

相关文章

网页制作工具都有哪些?推荐这几款

随着网络的快速发展,网站迅速崛起,成为无数网络冲浪玩家的首选,网页设计师也成为各大互联网公司竞争的热点。当设计师开始时,他们总是不知道如何选择网页制作工具。以下将列出市场上流行的网页制作工具。设计师可以根据自己的需要…

Leetcode刷题详解——复写零

1.题目链接:复写零 2.题目描述 给你⼀个⻓度固定的整数数组 arr ,请你将该数组中出现的每个零都复写⼀遍,并将其余的元素 向右平移。 注意:请不要在超过该数组⻓度的位置写⼊元素。请对输⼊的数组就地进⾏上述修改,不…

SpringCould微服务保护01——Sentinel组件下载并使用

1.初识Sentinel 1.1.雪崩问题及解决方案 1.1.1.雪崩问题 微服务中,服务间调用关系错综复杂,一个微服务往往依赖于多个其它微服务。 如图,如果服务提供者I发生了故障,当前的应用的部分业务因为依赖于服务I,因此也会被…

小程序首页如何进行装修设置

小程序首页是展示给用户的第一屏,它的装修直接影响到用户对小程序的第一印象。小程序首页的设置在小程序管理员后台->页面设置->首页,下图是小程序首页默认的设置。 下图,是小程序首页的具体表现形式。下面具体解释小程序首页各个设置项…

Vue 绑定 class 与 style

在应用界面中,某些元素的样式是动态的。class 与 style 绑定就是专门用来实现动态样式效果的技术。 如果需要动态绑定 class 或 style 样式,可以使用 v-bind 绑定。 绑定 class 样式【字符串写法】 适用于:类名不确定,需要动态指…

滑动窗口算法(C语言描述)

第一种类型&#xff1a;不固定长窗口 问题1&#xff1a;*** C代码1&#xff1a; #include<stdio.h> #include<string.h> #define N 5int min_len(int len1,int len2) {return (len1 < len2 ? len1:len2); }int main() {int target 0;int num[N];scanf("…

被面试官问到分布式ID,别再傻乎乎只会答雪花算法了...

文章目录 1. 分布式ID2. 数据库主键自增3. 数据库号段模式4. Redis自增5. UUID6. Snowflake (雪花算法)7. Leaf (美团分布式ID生成系统)7.1 Leaf-segment 号段方案7.1.2 双buffer优化 7.2 Leaf-snowflake方案7.3 Leaf-snowflake Demo 1. 分布式ID 在分布式系统中&#xff0c;通…

GEE:使用中文做变量和函数名写GEE代码

作者&#xff1a;CSDN _养乐多_ 啊&#xff1f;最近在编写GEE代码的时候&#xff0c;无意中发现 JavaScript 已经能够支持中文字符作为变量名和函数名&#xff0c;这个发现让我感到非常兴奋。这意味着以后在编程过程中&#xff0c;我可以更自由地融入中文元素&#xff0c;不再…

ubuntu20.04 vins-fusion 运行记录

过程记录 环境&#xff1a; ubuntu20.04 opencv4.2.0(此次使用) 3.3.1(其他程序在使用) vins-fusion vision_opencv 1.下载VINS-Fusion和cv_bridge&#xff0c;并进行修改&#xff0c;方便使用opencv4.2.0和对应的cv_bridge。 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src…

jetty嵌入式开发及spring整合quartz(内存模式)

1 依赖jar包 2 jetty嵌入式开发 2.1 jetty服务启动类 package com.primal.server;import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.Request; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.handler.AbstractHandler;…

[资源推荐] 复旦大学张奇老师科研分享

刷B站的时候首页给我推了这个&#xff1a;【直播回放】复旦大学张奇教授亲授&#xff1a;人工智能领域顶会论文的发表指南先前也散漫地读了些许论文&#xff0c;但没有在一些宏观的方法论下去训练&#xff0c;读的时候能感觉出一些科研的套路&#xff0c;论文写作的套路&#x…

leetCode 583.两个字符串的删除操作 动态规划 + 优化空间复杂度(二维dp、一维dp)

583. 两个字符串的删除操作 - 力扣&#xff08;LeetCode&#xff09; 给定两个单词 word1 和 word2 &#xff0c;返回使得 word1 和 word2 相同所需的最小步数。 每步 可以删除任意一个字符串中的一个字符。 示例 1&#xff1a; 输入: word1 "sea", word2 &qu…

3.2.5:VBA对单元格操作的引申

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的劳动效率&#xff0c;而且可以提高数据处理的准确度。我推出的VBA系列教程共九套和一部VBA汉英手册&#xff0c;现在已经全部完成&#xff0c;希望大家利用、学习。 如果…

【Leetcode刷题(数据结构)】:三路划分与三数随机取中的思想实现快速排序的再优化

快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法&#xff0c;其基本思想为&#xff1a;任取待排序元素序列中 的某元素作为基准值&#xff0c;按照该排序码将待排序集合分割成两子序列&#xff0c;左子序列中所有元素均小于基准值&#xff0c;右 子序列中所有元素均…

JWT前后端分离在项目中的应用

14天阅读挑战赛当你累了&#xff0c;要学会休息&#xff0c;而不是放弃&#xff01; 目录 一、JWT简介 1.1 什么是JWT 1.2 为什么要使用JWT&#xff0c;与session的区别 1.3 JWT组成及工作原理和流程 二、JWT工具类解析 2.1 生成JWT 2.2 解析oldJwt 2.3 复制JWT并延时…

4.04 用户中心-我的订单评价

内容实现效果&#xff1a; 代码实现内容查看&#xff1a; http://www.gxcode.top/code

Unity中Shader光照模型Blinn-Phong原理及实现

文章目录 前言一、Blinn-Phong原理二、Blinn-Phong实现最终代码 前言 Unity中Shader光照模型Blinn-Phong原理及实现&#xff0c;也是经验型光照模型。和Phong模型一样&#xff0c;都是用于实现高光效果 一、Blinn-Phong原理 可以看出&#xff1a;Blinn-Phong模型和Phong模型不…

排序:如何用快排思想在O(n)内查找第K大元素?

文章来源于极客时间前google工程师−王争专栏。 冒泡排序、插入排序、选择排序三种排序算法&#xff0c;时间复杂度都是O(n^2)&#xff0c;比较高&#xff0c;适合小规模数据的排序。 归并排序和快速排序两种时间复杂度O(nlogn)的排序算法&#xff0c;适合大规模的数据排序&am…

未授权和代码执行漏洞特征和检测方法

文章目录 一、Redis未授权访问二、MongoDB未授权访问三、Elasticsearch未授权访问四、Rsync未授权访问五、Windows RDP远程代码执行漏洞&#xff08;CVE-2019-0708&#xff09;六、Tomcat Web控制台弱口令七、WebLogic控制台弱口令&反序列化系列漏洞八、WebLogic SSRF(无检…