目标:使用R脚本从ensembl上下载transcript数据

简单粗暴,直接上代码。biomaRt的介绍晚一点更新。

# this file helps extract information from ensembl with gene name as input
# 11/02/2018, pxy7896 library(biomaRt) # 使用参数
# args=commandArgs(T)
# 从文件读取
geneNamesFile <- "geneNames.txt"
otherInfoFile <- "otherInfo.txt" raw <- read.table(geneNamesFile, col.names = c("geneNames"), stringsAsFactors = FALSE)
# geneNames is character
geneNames <- raw[["geneNames"]]
#geneNames <- args[1]
otherInfo <- read.table(otherInfoFile, stringsAsFactors = FALSE)
dataSet <- otherInfo[[1]][1]
# choose database
#dataSet <- args[2]
mart = useMart("ensembl", dataset=dataSet)
attr <- c("hgnc_symbol", "ensembl_transcript_id", "chromosome_name", "transcript_start", "transcript_end")
# get transcript ids
ids <- getBM(attributes = attr, filters = "hgnc_symbol", values = geneNames, mart = mart)
write.table(ids, "ids.txt", sep="\t", quote=FALSE, row.names=FALSE)
targetIds <- ids["ensembl_transcript_id"]
# get exons info
exonAttr <- c("5_utr_start","5_utr_end","3_utr_start","3_utr_end","strand", "ensembl_transcript_id", "ensembl_exon_id", "exon_chrom_start", "exon_chrom_end")
#attr2 <- c(attr, exonAttr)
result <- getBM(attributes = exonAttr, filters = "ensembl_transcript_id", values = targetIds, mart = mart)
write.table(result, args[4], sep = "\t", quote = FALSE, row.names=FALSE)

  

最新文章

  1. python3.5学习笔记--一个简单的图片爬虫
  2. DP - tencent2016实习生笔试A
  3. [HIve - LanguageManual] Subqueries
  4. Protobuf-net学习笔记
  5. 在CSS文件中引入其他CSS文件
  6. Android_多媒体_SoundPool声音池使用
  7. ES6字符串
  8. .net 超长URL请求返回404错误-解决方法
  9. extjs如何使用
  10. Php的常见错误及错误分析
  11. 国内CDN加速现状
  12. Dev控件删除按钮的两种方式
  13. SpringBoot 通过自定义注解实现AOP切面编程实例
  14. robot自动化分层设计
  15. js验证护照号码是否合规
  16. MySql 利用函数 查询所有子节点
  17. 读写app.config AppSettings,保留注释与不保留注释
  18. Ubuntu中su认证失败
  19. 部署Jenkins+docker集成环境
  20. python中not的用法

热门文章

  1. .Net Core 应用框架。
  2. MySQL GROUP_CONCAT长度限制引发的一场灾难
  3. 转:用AutoCAD 系统变量编程
  4. Cocos2d-x v3.1项目创建(三)
  5. 五环之歌之PHP分页
  6. C++指针、引用、const
  7. 如何查看某个用户指定时间段的ABAP开发记录
  8. python 笔记1:官网下载及安装python;eclipse中安装配置pydev
  9. maven如何实现创建带源代码的jar包
  10. VERITA Netbackup日常巡检详细说明