zoukankan      html  css  js  c++  java
  • bioMart进行基因id的转换

    1.bioMart包的介绍

    bioMart包是一个连接bioMart数据库的R语言接口,能通过这个软件包自由连接到bioMart数据库,这个包可以做以下几个工作:

    1.查找某个基因在染色体上的位置。反之,给定染色体每一区间,返回该区间的基因;

    2.通过EntrezGene的ID查找到相关序列的GO注释。反之,给定相关的GO注释,获取相关的EntrezGene的ID;

    3.通过EntrezGene的ID查找到相关序列的上游100bp序列(可能包含启动子等调控元件);

    4.查找人类染色体上每一段区域中已知的SNPs;

    5.给定一组的序列ID,获得其中具体的序列;

    2.bioMart的安装以及基本功能

    1.biomart的安装

    biomaRt需要通过biomanager来安装,首先安装biomanager,然后安装biomaRt

    > install.packages("BiocManager")
    > BiocManager::install("biomaRt")

    2.载入biomaRt并显示一下能连接的数据库

    >library("biomaRt")
    >listMarts()

     这里我们选择ensembl数据库

     

    3..用useMart函数选定数据库

    >mart<-useMart("emsembl")
    用listDatasets()函数显示当前数据库所含的基因组注释,这里listDatasets(mart)一共显示212行,这里只截取一部分

    这里我们要获取的基因注释的基因是人类基因,所以选择hsapiens_gene_ensembl,通过以下代码来选择emsembl库的人类参考基因组来分析

    mart <- useMart("ensembl","hsapiens_gene_ensembl")##小鼠选择mmusculus_gene_ensembl

    4.用listFilters()函数选定输入的ID类型

    然后,你需要知道输入的是什么类型的ID,即转换前的ID类型,如:

    ENSG00000000003或ENMUSG000000003,属于类型为ensembl_gene_id;
    ENST00000000233或ENMUST00000000233,属于类型为ensembl_transcript_id;
    102178245,属于类型为entrezgene;
    Hoxc13,属于类型为external_gene_name;
    NM_000014,属于类型为refseq_mrna;
    hsa-let-7a-1,属于类型为mirbase_id;

    用listFilters()函数查看可选择的输入类型,listFilters(mart)一共显示了446行,一共包括name和description两列,这里只截取一部分

    >listFilters(mart)

    5.用listAttributes()函数选定输出的ID类型

    要想知道biomaRt支持哪些ID类型的输出,可以通过以下命令查看,共支持3607种ID输出,这里只截取了一部分输出,一共有name和description两列
    listAttributes(mart)

     

    6.用getBM()函数获取注释

     

     

    hg_symbols<- getBM(attributes=c('ensembl_gene_id','hgnc_symbol',"chromosome_name", "start_position","end_position", "band"), filters= 'ensembl_gene_id', gene = my_ensembl_gene_id, mart = mart)

     

    这个函数有4个参数

    attributers()里面的值为我们输出的ID类型
    filters()里面的值为我们输入的ID类型
    gene= 这个值就是我们要输入的数据
    mart= 这个值是我们所选定的数据库的基因组


     

    3.biomaRt实例操作

    setwd("C:/Users/Desktop/circRNA分析结果/find_circ_result自己分析结果")#设置working directory
    gene_symbol<-read.csv("SFTSV_24vscontrol_circBase_anno.csv",header=F,stringsAsFactors = F)[,11]#读取数据并提取含有gene_symbol的列
    library(biomaRt)
    mart <- useMart("ensembl","hsapiens_gene_ensembl")##小鼠选择mmusculus_gene_ensembl
    gene_id<-getBM(attributes=c("external_gene_name","ensembl_gene_id"),filters = "external_gene_name",values = gene_symbol, mart = mart)#将输入的filters设置未external_gene_name(也就是gene_symbol),将输出的attributes设置为external_gene_name和emsembl_gene_id
    write.table(gene_id,"SFTSV_24vscontrol_circBase_anno_gene_id.txt",row.names = F,col.names=F,quote=F)



     

     
     
  • 相关阅读:
    localStorage和sessionStorage的使用方法和一些特性介绍
    python 图片添加水印 pdf 添加水印
    python kayb算法之从一组序列当中获取一组与目标值最接近的算法
    python 中将字符串加载为公钥
    Python中rsa模块【sign 加签验签】的使用
    python中openpyxl的用法【安装,以及一些基本的操作, xlwt教程链接】
    python当中的坑【闭包与lambda】
    python函数参数中带有默认参数list的坑
    Django中辅助技术总结[静态文件,中间件,上传图片,分页案例]
    Django中视图总结[urls匹配,HttpRequest对象,HttpResponse对象,对象序列化接受及案例]
  • 原文地址:https://www.cnblogs.com/yanjiamin/p/12054879.html
Copyright © 2011-2022 走看看