查看原文
其他

把fasta序列读入到R里面去

生信技能树 生信技能树 2022-06-06

原贴来自于生信技能树论坛: http://www.biotrainee.com/thread-806-1-1.html把fasta序列读入到R里面去~

fasta是什么,我就不多说了!

你一定会遇到这个需求,把fasta序列读入到R里面,至于读进去变成一个字符串还是一个list还是一个对象,是后话!

本地读取

我这里先给几个本地读取的方法:

library(Biostrings) ;
s = readDNAStringSet("nm.fasta")
readBStringSet(filepath, format="fasta", nrec=-1L, skip=0L, seek.first.rec=FALSE, use.names=TRUE)
library(seqinr); 
fastafile<-read.fasta(file = "proteins.fasta", seqtype = "AA",as.string = TRUE)
library(ape);
read.dna();
read.FASTA

在线获取

然后有几个包的在线获取方法也很赞!

用rentrez包也可以完成同样的任务.

首先用 entrez_link()根据基因的entrez ID来得到转录本的ID,然后根据转录本的ID用entrez_fetch()获取序列~

gene_ids <- c(35111647)
linked_seq_ids <- entrez_link(dbfrom="gene", id=gene_ids, db="nuccore")
linked_transripts <- linked_seq_ids$links$gene_nuccore_refseqrna
head(linked_transripts)
all_recs <- entrez_fetch(db="nuccore", id=linked_transripts, rettype="fasta")

读入到R里面是一个什么东西,就需要你仔细探究了。

class(all_recs)  ## 只是一个纯粹的 character 而已 
cat(strwrap(substr(all_recs, 1500)), sep="\n")
write(all_recs, file="my_transcripts.fasta")
temp <- tempfile()  ## 编程技巧,把变量写入临时文件~
write(all_recs, temp)
parsed_recs <- ape::read.dna(all_recs, temp)

还是我前面说的,

http://www.biotrainee.com/thread-778-1-1.html

R语言初学笔记之吾日三省吾身!

其实你看到这一个简单的帖子,是因为我懒,但是对初学者来说,这里面的内容非常之多,值得学习的地方更是数不胜数,希望大家勇敢的学习这些技巧,然后在下面回帖写出自己的感悟!

其它推荐:http://www.biotrainee.com/thread-805-1-1.html ,R语言的protr包计算多条蛋白序列相似度 里面说到了用这个包的readFASTA函数也可以直接读取url的序列。

■   ■   ■

生信基础知识大全系列:生信基础知识100讲   

史上最强的生信自学环境准备课来啦!! 7次改版,11节课程,14K的讲稿,30个夜晚打磨,100页PPT的课程。   

如果需要组装自己的服务器;代办生物信息学服务器

如果需要帮忙下载海外数据(GEO/TCGA/GTEx等等),点我?

如果需要线下辅导及培训,看招学徒 

如果需要个人电脑:个人计算机推荐

如果需要置办生物信息学书籍,看:生信人必备书单

如果需要实习岗位:实习职位发布

如果需要售后:点我

如果需要入门资料大全:点我


点击下面的阅读原文直达

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存