根据CCDS数据库信息拿到全部外显子坐标
CCDS数据库团队居然在2018年又又又发表文章了,题目是:《Consensus coding sequence (CCDS) database: a standardized set of human and mouse protein-coding regions supported by expert curation》,链接在:https://academic.oup.com/nar/article/46/D1/D221/4595661
也就是说我三五年前写的很多教程需要更新了,那个时候使用的还是 CCDS.20161208.txt 这样的文件,在文章可以看到CCDS数据库的一些最新动态:
The CCDS data are available through an interactive web page (https://www.ncbi.nlm.nih.gov/CCDS/CcdsBrowse.cgi) and an FTP site (ftp://ftp.ncbi.nlm.nih.gov/pub/CCDS/).
对人类研究来说:
- ftp://ftp.ncbi.nlm.nih.gov/pub/CCDS/current_human
文件是有点多,建议都下载看看不同文件里面的内容,对它们有一个系统性的认知,很多人生物信息学数据处理困难重重其实就是各式各样的基础知识不够扎实!
这仅仅是基础知识的一部分,如果想学习更多,建议看中国大学mooc的一些生物信息学相关课程,给大家做基础知识补充:
- 生信技能树分享了:中国大学MOOC的生物信息学公开课之河南科技大学 ,
- 生信菜鸟团分享了:中国大学MOOC的生物信息学之华中农业大学
- 以及最热门的:中国大学MOOC的生物信息学之山东大学 (第7次开课,时间:2020年09月14日 ~ 2021年01月31日)
如果是这些课程都没有提到CCDS数据库,那么可能就是课程设置的问题啦。华盛顿大学8天的生物信息学培训也值得关注,现在网络资料都是公开获取的。
CCDS数据库对小鼠来说:
- ftp://ftp.ncbi.nlm.nih.gov/pub/CCDS/current_mouse
如果我们想拿到全部的外显子坐标,这里我以小鼠为例子。首先下载文件 CCDS_exons.20191024.txt ,然后写脚本转为BED格式即可:
wget ftp://ftp.ncbi.nlm.nih.gov/pub/CCDS/current_mouse/CCDS.20191024.txt
grep -w Public CCDS.20191024.txt |perl -alne '{/[(.*?)]/;next unless $1;$gene=$F[2];$exons=$1;$exons=~s/s//g;$exons=~s/-/t/g;print "$F[0]t$_t$gene" foreach split/,/,$exons;}'|sort -u |bedtools sort -i >mm10.exon
awk '{print "chr"$0"t0t+"}' mm10.exon >mm10.exon.chr.bed
awk '{print $1"t"$2-50"t"$3+50"t"$4"t"$5"t"$6}' mm10.exon.chr.bed > mm10.exon.chr.50bp.bed
awk '{print $0"t0t+"}' mm10.exon > mm10.exon.bed
文件信息节选如下:
$head $HOME/annotation/CCDS/mouse/mm10.exon.chr.50bp.bed
chr1 3215971 3217017 Xkr4 0 +
chr1 3421651 3421950 Xkr4 0 +
chr1 3670501 3671397 Xkr4 0 +
chr1 4292930 4293061 Rp1 0 +
chr1 4344549 4350140 Rp1 0 +
chr1 4351859 4352130 Rp1 0 +
chr1 4352151 4352886 Rp1 0 +
chr1 4352151 4352874 Rp1 0 +
chr1 4409119 4409236 Rp1 0 +
chr1 4491665 4492717 Sox17 0 +
$tail $HOME/annotation/CCDS/mouse/mm10.exon.chr.50bp.bed
chrY 65401041 65401240 Gm20736 0 +
chrY 65403183 65403381 Gm20736 0 +
chrY 65403641 65403770 Gm20736 0 +
chrY 66739876 66740659 Gm20852 0 +
chrY 67045832 67046615 Ssty2 0 +
chrY 68539421 68540204 Gm20816 0 +
chrY 77960956 77961739 Gm20867 0 +
chrY 78835809 78836592 Gm20806 0 +
chrY 79148877 79149660 Gm20917 0 +
chrY 85528609 85529392 Gm20854 0 +
有些同学可能会问,为什么我要把外显子坐标前后延伸50bp呢?
另外还有同学会问,这样的全部外显子坐标在哪些场合用得上呢?
最后,可能还有同学会问,前面提到的ccds数据库的ftp网站全部文件有没有可能批量下载呢?
- 2018年前端技术趋势预览
- SQL SERVER 内存分配及常见内存问题 简介
- 深入浅出事件流处理NEsper(一)
- 微软官方提供的用于监控MS SQL Server运行状况的工具及SQL语句
- 生成人工智能:创意专家新的强大工具
- JavaScript能做什么?
- SQL中利用DMV进行数据库性能分析
- 完整部署CentOS7.2+OpenStack+kvm 云平台环境(1)--基础环境搭建
- 独家!万达网科大裁员后将转型AI 朱战备或接班曲德君
- Git分支管理的策略梳理
- 数据场景分析 线上线下商家到底谁能干过谁?
- 张钦坤:云计算、开放平台与服务商版权责任
- biztalk 2010 dev版安装小记
- 微信小程序如何获取组件实际高度
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 口算训练 HDU - 6287
- Codeforces Round #674 (Div. 3) A ~ F 详细讲解
- C# 生成chart图表的三种方式
- C# Task.Run调用外部参数
- Git全方位指南,即用即查就可
- Python入门教程笔记(二)控制语句
- Python入门教程笔记(一)简介、变量及基本数据类型
- C#知识点讲解之C#delegate、event、Action、EventHandler的使用和区别
- typescript高级用法之infer的理解与使用
- 基于业务场景下的图片/文件上传方案总结
- LeetCode96|二叉搜索树中的搜索
- LeetCode95|字符串中的第一个唯一字符
- LeetCode94|Pow(x,n)
- LeetCode93|数值的整数次方
- LeetCode92|排序数组