1. 程式人生 > >序列處理之seqinr(fetch)

序列處理之seqinr(fetch)

cond ioc 多少 fast 序列 false conductor names 數據

缺點:需要聯網,經常出錯,不是操作問題而是因為網絡問題

安裝

if("seqinr" %in% rownames(installed.packages()) == FALSE) {source("http://bioconductor.org/biocLite.R");biocLite("seqinr")}
suppressMessages(library(seqinr))
ls(‘package:seqinr‘)

####Retrieving a sequence and write into FASTA file#########

1) 選擇要去fetch序列的數據庫(這裏已genebank為例)

choosebank()   #查看有哪些數據庫
choosebank(‘genbank‘)

技術分享圖片

2)一旦選擇好了數據庫,用query信息進行收索

BRCA1<- query("BRCA1", "SP=Homo sapiens AND K=BRCA1")

3)查看query返回的對象所有屬性

attributes(BRCA1)
mynames <- getName(BRCA1)  #查看所有搜索到的名稱
length(mynames)             #查看共檢索到多少,寫入到文檔的時候可以用來用來檢查 209

技術分享圖片

技術分享圖片

4)查看所有收索到的序列所包含的屬性

BARC1$req

技術分享圖片

5)提取上述特定的序列(第一條序列),及註釋信息

myseq <- getSequence(BRCA1$req[[1]])
annots <- getAnnot(BRCA1$req[[1]]) myseq

技術分享圖片

6) 獲取所有檢索到的序列,並以fasta格式寫入到文件中

all_myseqs <- getSequence(BRCA1)    #所有收索到的序列
write.fasta(all_myseqs, mynames, file.out = "MyBRCA.fasta") #將所有收索到的序列寫入fasta格式文件。

6)關閉接口,防止打開多個接口

closebank()

除了上述之外,如果你知道ID號碼也可以根據數據庫AC屬性 (AC attribute)提取搜索到的特定序列

U61268<-query("BRCA1", "SP=Homo sapiens AND AC=U61268")  #也可以根據特定的ID進行搜索
attributes(U61268)
U61268$req
U61268_seq <- getSequence(U61268$req[[1]])
U61268_annots <- getAnnot(U61268$req[[1]]) 

技術分享圖片

序列處理之seqinr(fetch)