题目:

下载人和鼠的gtf文件,以及转录本fasta序列文件,自己去探索一下:

  • gtf文件记录了多少个基因,多少个是蛋白编码基因;
  • 多少个是lncRNA呢?其中各自的具有polyA尾结构的比例是多少呢?
背景知识

真核生物的mRNA都是有polyA尾巴结构
lncRNA只有部分具有polyA尾结构

数据下载

Genocode刚好有人和小鼠的gtf文件以及转录本fasta序列文件

#human
wget -c 'http://ftp.ebi.ac.uk/pub/databases/gencode/Gencode_human/release_38/gencode.v38.transcripts.fa.gz'
wget -c 'http://ftp.ebi.ac.uk/pub/databases/gencode/Gencode_human/release_38/gencode.v38.chr_patch_hapl_scaff.annotation.gtf.gz'
nohup wget -c 'http://ftp.ebi.ac.uk/pub/databases/gencode/Gencode_human/release_38/gencode.v38.metadata.PolyA_feature.gz' &
#mouse
wget -c 'http://ftp.ebi.ac.uk/pub/databases/gencode/Gencode_mouse/release_M27/gencode.vM27.chr_patch_hapl_scaff.annotation.gtf.gz'
wget -c 'http://ftp.ebi.ac.uk/pub/databases/gencode/Gencode_mouse/release_M27/gencode.vM27.transcripts.fa.gz'
wget -c 'http://ftp.ebi.ac.uk/pub/databases/gencode/Gencode_mouse/release_M27/gencode.vM27.metadata.PolyA_feature.gz'
Genocode中gtf文件注释来源

两个来源:ENSEMBL和HAVANA
havana 的全称叫做 human and vertebrate analysis and annotation, 是sager 研究所的1个团队,致力于为人和其他脊椎动物提供高质量的基因和转录本注释,havana 团队使用自己研发的软件,手工对人,小鼠,斑马鱼,还有其他一些脊椎动物进行基因和转录本的注释,特别是对于转录本的isoform 和 假基因(这两种是目前常见的基因组注释软件所欠缺的地方)进行手工注释;
对于转录本注释的结果,要求必须有对应的实验证据支持,包括cDNA, EST, 蛋白序列等,所以havana 注视的转录本可信度非常高;
human

$ zcat gencode.v38.chr_patch_hapl_scaff.annotation.gtf.gz |awk '!/^#/' |cut -f 2 | sort |uniq -c236459 ENSEMBL #7%
3172759 HAVANA #93%
#在gencode中下载的gtf 文件中,93%来源于HAVANA,7%来源于ENSEMBL

mouse

$ zcat gencode.vM27.chr_patch_hapl_scaff.annotation.gtf.gz |awk '!/^#/' |cut -f 2 | sort |uniq -c140143 ENSEMBL #7.5%
1729538 HAVANA #92.5%
人类gtf探索
#下载的不同的gtf,最后结果会有差异
$ zcat gencode.v38.chr_patch_hapl_scaff.annotation.gtf.gz |awk '!/^#/ && $3=="gene"' | wc -l
67049 #一共67049个gene$ zcat gencode.v38.chr_patch_hapl_scaff.annotation.gtf.gz |awk '!/^#/ && $3=="gene" && /protein_coding/' | wc -l
22757 #protein_coding gene个数$ zcat gencode.v38.chr_patch_hapl_scaff.annotation.gtf.gz |awk '!/^#/ && $3=="gene" && /lncRNA/' | wc -l
17915 #lncRNA个数
human-polyA探索
#带ployA尾巴的转录本id
zcat gencode.v38.metadata.PolyA_feature.gz |cut -f 1 |sort -u >hg38_polyA_trans_id
$ head hg38_polyA_trans_id
ENST00000484859.1
ENST00000484859.1
ENST00000412666.1
ENST00000412666.1
ENST00000452176.2
ENST00000452176.2
ENST00000450696.1
ENST00000450696.1
ENST00000429505.6
ENST00000429505.6
#人类hg38-gtf中lncRNA的gene_id 转录本 --对应关系
zcat gencode.v38.chr_patch_hapl_scaff.annotation.gtf.gz |awk '!/^#/ && $3=="transcript" && /lncRNA/' | perl -nle '{/gene_id\s+\"(.*?)\"\;\s+transcript_id\s+\"(.*?)\"\;\s+gene_type\s+\"(.*?)\"\;/;print "$1\t$2\t$3"}' > gene_id_trans_lncRNA
$ head gene_id_trans_lncRNA
ENSG00000243485.5   ENST00000473358.1   lncRNA
ENSG00000243485.5   ENST00000469289.1   lncRNA
ENSG00000237613.2   ENST00000417324.1   lncRNA
ENSG00000237613.2   ENST00000461467.1   lncRNA
ENSG00000238009.6   ENST00000466430.5   lncRNA
ENSG00000238009.6   ENST00000477740.5   lncRNA
ENSG00000238009.6   ENST00000471248.1   lncRNA
ENSG00000238009.6   ENST00000610542.1   lncRNA
ENSG00000238009.6   ENST00000453576.2   lncRNA
ENSG00000239945.1   ENST00000495576.1   lncRNA
#用R语言对这两个文件做一个merge
gene_id_trans_lncRNA = read.table('gene_id_trans_lncRNA',header = F)[,1:2]
colnames(gene_id_trans_lncRNA) = c('gene_id', 'trans_id')hg38_polyA_trans_id = read.table('hg38_polyA_trans_id',header = F)
colnames(hg38_polyA_trans_id) = 'trans_id'
hg38_polyA_trans_id$others = hg38_polyA_trans_id$trans_idnewdata = dplyr::left_join(gene_id_trans_lncRNA, hg38_polyA_trans_id ,by='trans_id')
newdata = na.omit(newdata)lncRNA_sum = length(unique(gene_id_trans_lncRNA$gene_id))
lncRNA_polyA = length(unique(newdata$gene_id))cat(paste0(round((lncRNA_polyA/lncRNA_sum)*100,2),"%"))

计算出来人类的lncRNA中有30.96%带有polyA尾巴

小鼠gtf探索
$ zcat gencode.vM27.chr_patch_hapl_scaff.annotation.gtf.gz |awk '!/^#/ && $3=="gene"' | wc -l
55416$ zcat gencode.vM27.chr_patch_hapl_scaff.annotation.gtf.gz |awk '!/^#/ && $3=="gene" && /protein_coding/' | wc -l
21885$ zcat gencode.vM27.chr_patch_hapl_scaff.annotation.gtf.gz |awk '!/^#/ && $3=="gene" && /lncRNA/' | wc -l
9950
mouse-gtf探索

用计算人类lncRNA中polyA的比例中类似的方法得到小鼠的lncRNA中带polyA尾巴的比例为:15.45%

可视化-人类小鼠gene,蛋白编码基因,lncRNA,以及lncRNA带polyA尾巴的数量对比
library(ggplot2)
abcd <- read.table(file = "task5b_data.txt",header = T)
ggplot(abcd,aes(x=category,y=number,fill=group))+geom_bar(stat="identity",width = .45,position = "dodge")+ylab("total")+labs(title ="Statistics of Human_vs_mouse")+theme(plot.title = element_text(hjust = 0.5))+geom_text(aes(label=number, y=number+0.05), position=position_dodge(0.6), vjust=0)


参考:

都说lncRNA只有部分具有polyA尾结构,请证明
HAVANA 团队简介​

task5b-验证lncRNA只有部分具有polyA尾结构相关推荐

  1. 单基因gsea_10个细胞系仅1个表达你的基因

    遇到了粉丝的一个超级好的问题: 感兴趣的一个基因A,研究它在10种乳腺癌细胞系中的表达情况,跑了western和qpcr .发现它只在一种乳腺癌细胞系中表达,其他9种都不表达.结果是一致的,确认自己的 ...

  2. 单基因gsea_把基因数量搞小的数据挖掘想法是好的但可能不现实

    我一直强调:数据挖掘的核心是缩小目标基因! 各种数据挖掘文章本质上都是要把目标基因集缩小,比如表达量矩阵通常是2万多个蛋白编码基因,不管是表达芯片还是RNA-seq测序的,采用何种程度的差异分析,最后 ...

  3. 转录组测序技术和结果解读(二)——文库构建和测序策略

    文库构建 转录组测序文库是以样本的Total RNA为基础,从中提取mRNA构建测序文库,因此文库构建包括mRNA富集和碎片化.mRNA反转录.接头添加和PCR富集等过程. 文库构建流程 mRNA富集 ...

  4. 和rna用什么鉴定_RNA-seq:测序原理之文库构建

    在讲测序原理之前,需要有一些最基本的生物知识了解 1)虽然DNA链很长,但是RNA可能比较短,因为有些基因转录了,有些基因没有转录 2)一个DNA上有许多基因片段,每个基因片段的DNA链能转录出一种m ...

  5. 中国科学技术大学研究生细胞生物学II考试复习资料

    中国科学技术大学研究生细胞生物学II考试复习资料 2021见资源,可预览下载,2018.2017年考试题目: 复习题示例: 重点内容: 1.请简述RNA World Hypothesis的基本内容及支 ...

  6. 客官,.NETCore无代码侵入的模型验证了解下

    .NETCore下的模型验证相信绝大部分的.NET开发者或多或少的都用过,微软官方提供的模型验证相关的类位于System.ComponentModel.DataAnnotations命令空间下,在使用 ...

  7. [EntLib]微软企业库5.0 学习之路——第五步、介绍EntLib.Validation模块信息、验证器的实现层级及内置的各种验证器的使用方法——上篇...

    本文是为后面的学习之路做铺垫,简单介绍下企业库中的Validation模块的一些相关知识,包括Validation模块的简介.用途.使用方法.默认提供的多种验证器的介绍等. 一.简介及用途 在实际的项 ...

  8. golang常用库:字段参数验证库-validator使用

    一.背景# 在平常开发中,特别是在web应用开发中,为了验证输入字段的合法性,都会做一些验证操作.比如对用户提交的表单字段进行验证,或者对请求的API接口字段进行验证,验证字段的合法性,保证输入字段值 ...

  9. ajax简单的验证,ajax初探--实现简单实时验证(示例代码)

    学习技术最好的方式就是在做中学,做一个小demo来对前端输入进行实时验证. 利用ajax技术和Sevlet技术来实现,使用原生的js. 什么是ajax Ajax 即"Asynchronous ...

  10. html 表单js验证,JavaScript使用表单元素验证表单

    第一章:使用JavaScript验证表单 JavaScript的主要作用:验证表单 1最简单的表单验证-禁止空白的必填项目 1.1最简单的HTML结构 网站最基础的就是注册,它是一个系统的交互基础. ...

最新文章

  1. 关于Android H5混合开发遇到的问题
  2. Could not fetch URL https://pypi.org/simple/pip/
  3. 递归实现【指数型 / 组合型 / 排列型】枚举
  4. 依赖版本控制-pom文件介绍
  5. linux下screen版本,在Linux (RHEL/CentOS 7/8 )中,如何使用4个简单步骤安装Screen命令
  6. 从新手到Flutter架构师,一篇就够!帮你突破瓶颈
  7. date工具类 DateUtils.java
  8. 程序常用配置文件格式介绍
  9. 第三章 数据链路层[课后习题+练习题]
  10. 免费下载pro puppet 2高清pdf,需要的抓紧
  11. 最近服务器总被webshell攻击,木马也非常猖獗
  12. 金山云服务器e1型,金山云-文档中心-重装系统
  13. java deprecated 注释_Java注释中的@deprecated与源代码中的@Deprecated
  14. MATLAB GUI 文献或书,MATLAB GUI程序设计epub
  15. 关于商业企业创业的思考
  16. 如何使用 Python 操作 .npy 文件?详细教程分享
  17. 容联云 PHP 实现短信发送验证码
  18. tf SavedModel 转换为 可使用 tfjs 加载 的形式
  19. 一文学会PCA/PCoA相关统计检验(PERMANOVA)和可视化
  20. 来自星星的“他”:硅基文明会是怎样形成的?

热门文章

  1. 基于rfid的毕业设计题目50例
  2. 违反GPL协议赔偿50万,国内首例!
  3. 关于火车采集文章发布到wordpress后台待审核模块的设置
  4. 教师资格证面试缴费找不到服务器,2016年教师资格证考试报名网上缴费常见问题...
  5. 这些初创公司为何要拒绝上亿美元的投资
  6. 是真的吗?蚂蚁的LDC架构,到底是干嘛的,真的那么牛吗
  7. Ubuntu安装jdk-8u201-linux-x64.tar.gz
  8. 关于java WEb怎么调用matlab(二)
  9. iphonex蓝牙打不开转圈_iphonex蓝牙一直在转圈
  10. OpenStack 2015年度总结