我得到了一个鸟枪基因组序列,可以在这里找到:
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网站上有办法吗?
编辑:有人至少可以解释我为什么会被投票?答案 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序列。