随机子序列fasta序列和改变序列名称
Random subsequence fasta sequence and change sequence name
我有一个 fasta 文件 (fas2),它有大约 1000 个 fasta 序列,这里有几个 fasta 序列的例子:
>gi|108863165-BAdV-2
ATGGCTACTCCTTCGATGATGCCGCAGTGGTCTTACATGCACATCGCCGGGCAGGATGCCTCCGA
>gi|108863163-BAdV-1
ATGGCGACGCCGTCGATGATGCCCCAGTGGTCGTACATGCACATCGCCGGGCAGGATGCCTCAGA
网上查了一下,很多教程都是用readDNAStringSet读取fasta文件的。所以我用这个评论来阅读我的文件:
fas3 <- readDNAStringSet(fas2, "fasta")
它确实创建了一个类似于 data.frame 的结构(但它不是 data.frame)来查看 fasta 文件。我的问题是 R 中是否有任何函数可以从 fas3 中随机抽取 500 个 fasta 序列?另外,如果我想重命名一个特定的 fasta 名称,例如(gi|108863165-BAdV-2 到 BAdV-2),我该怎么做?提前致谢!!
如果您不介意使用命令行 — 并且您知道您的 FASTA headers 和序列是成对的线 — 您可以使用 sample 对成对的线进行采样。
例如,不放回地采样 500 个序列:
$ sample --lines-per-offset=2 --sample-size=500 fas2.fa > fas2.sample.fa
运行 sample --help
更多选项。
您可以使用 sed
替换名称:
$ sed 's/gi|108863165-BAdV-2/BAdV-2/' fas2.fa > fas2.modified.fa
fas3
遵循 'vector-like' 接口,而不是 data.frame,因此您可以通过从对象的长度生成 500 个数字并使用它们对子集
fas3.subset = fas3[sample(length(fas3), 500)]
使用访问器 names()<-
更新名称,例如,
names(fas3) = sub("gi|108863165-", "", names(fas3)
这在帮助页面 ?DNAStringSet
上有说明。另请参阅 Bioconductor support site 以获得更合适的论坛,以解决有关 Bioconductor 包的问题。
我有一个 fasta 文件 (fas2),它有大约 1000 个 fasta 序列,这里有几个 fasta 序列的例子:
>gi|108863165-BAdV-2
ATGGCTACTCCTTCGATGATGCCGCAGTGGTCTTACATGCACATCGCCGGGCAGGATGCCTCCGA
>gi|108863163-BAdV-1
ATGGCGACGCCGTCGATGATGCCCCAGTGGTCGTACATGCACATCGCCGGGCAGGATGCCTCAGA
网上查了一下,很多教程都是用readDNAStringSet读取fasta文件的。所以我用这个评论来阅读我的文件:
fas3 <- readDNAStringSet(fas2, "fasta")
它确实创建了一个类似于 data.frame 的结构(但它不是 data.frame)来查看 fasta 文件。我的问题是 R 中是否有任何函数可以从 fas3 中随机抽取 500 个 fasta 序列?另外,如果我想重命名一个特定的 fasta 名称,例如(gi|108863165-BAdV-2 到 BAdV-2),我该怎么做?提前致谢!!
如果您不介意使用命令行 — 并且您知道您的 FASTA headers 和序列是成对的线 — 您可以使用 sample 对成对的线进行采样。
例如,不放回地采样 500 个序列:
$ sample --lines-per-offset=2 --sample-size=500 fas2.fa > fas2.sample.fa
运行 sample --help
更多选项。
您可以使用 sed
替换名称:
$ sed 's/gi|108863165-BAdV-2/BAdV-2/' fas2.fa > fas2.modified.fa
fas3
遵循 'vector-like' 接口,而不是 data.frame,因此您可以通过从对象的长度生成 500 个数字并使用它们对子集
fas3.subset = fas3[sample(length(fas3), 500)]
使用访问器 names()<-
更新名称,例如,
names(fas3) = sub("gi|108863165-", "", names(fas3)
这在帮助页面 ?DNAStringSet
上有说明。另请参阅 Bioconductor support site 以获得更合适的论坛,以解决有关 Bioconductor 包的问题。