如何在r中将fasta文件的核苷酸切割成编码区和非编码区

时间:2018-04-28 16:30:25

标签: r fasta

我得到了一个鸟枪基因组序列,可以在这里找到:

https://www.ncbi.nlm.nih.gov/nuccore/NZ_LRPF01000001

此序列由205,000个字母组成。其中一些是CDS(编码序列),但大多数是非编码的,因此并不重要。

例如,第一个编码区域是条目343到780,然后第二个编码区域是937到1866,这显然意味着存在从1到342然后从781到936等的非编码区域。

我被要求对这个序列进行一些分析,我希望有一个由编码序列组成的fasta文件和另一个由非编码序列组成的文件。

我知道如何在R中手动将此文件剪切为两个向量,但是有187个编码区域,我需要手动定位并正确剪切。是否有一些r功能或算法会检测编码和非编码区域并将它们分开组合?

也许在ncbi网站上有办法吗?

编辑:有人至少可以解释我为什么会被投票?

1 个答案:

答案 0 :(得分:1)

也许这篇文章对你有用Extracting the last n characters from a string in R

考虑一下,我将使用R做什么(虽然我相信其他人可以提出更多优化的替代方案)是: 首先使用所有外显子特征的开始和结束坐标创建两个数据框,然后使用内含子创建另一个数据框,然后在调整代码之后应用函数stri_sub或者您在帖子中看到的任何其他数据框。然后只需一个for循环就可以完成迭代数据帧上位置的技巧,而不是手工完成。

或者,如果此序列可从UCSC或ENSEMBL biomart网站下载,则另一个选项将是: A.从UCSC,使用表浏览器首先下载具有内含子,外显子和/或UTR坐标的床文件,然后使用bedtools getfasta函数获取fasta序列。 b)在ENSEMBLE biomart中,您可以直接获得外显子和UTRs fasta序列。