将 fasta 文件读入 R 中分子熵函数的矩阵或向量
Read fasta file into a matrix or vector for MolecularEntropy function in R
我是 R 的新手,所以请原谅我的非常基本的问题。
我想使用 MolecularEntropy 函数:https://www.rdocumentation.org/packages/HDMD/versions/1.2/topics/MolecularEntropy
我尝试使用来自不同包(例如 ape 或 seqinr)的不同读取 fasta 函数。但是 none 使用 MolecularEntropy 函数。
这是我的 fasta 文件的示例:
>sequence_1
ACCTGC--A
>sequence_2
ACC-GCTTA
>sequence_3
ACCTGCTTG
我试过的fasta读取函数没有给出MolecularEntropy函数的错误,但只是给出了错误的结果。
任何帮助将不胜感激!!谢谢!
bioconductor 包 Biostrings 有一个函数,readDNAStringSet
读取 fasta 文件。
seqs <- Biostrings::readDNAStringSet("seqfile.fasta")
> seqs
DNAStringSet object of length 3:
width seq names
[1] 9 ACCTGC--A sequence_1
[2] 9 ACC-GCTTA sequence_2
[3] 9 ACCTGCTTG sequence_3
MolecularEntropy 函数的文档说它可以接受序列向量。
您可以使用 as.character
.
将上述 biostrings 对象转换为命名向量
seqs <- as.character(seqs)
> seqs
sequence_1 sequence_2 sequence_3
"ACCTGC--A" "ACC-GCTTA" "ACCTGCTTG"
文档没有明确说明函数对间隙的期望。
您可以使用 stringr 中的 str_replace_all
函数用您需要的任何内容替换空白。尽管此函数已向量化,但它会从向量中删除序列的名称。您可以通过使用 purrr 中的 map_chr
遍历向量来绕过它。
seqs <- purrr::map_chr(seqs, stringr::str_replace_all, "-", " ")
> seqs
sequence_1 sequence_2 sequence_3
"ACCTGC A" "ACC GCTTA" "ACCTGCTTG"
如果这仍然导致问题,请回复评论,我可以编辑 post 以进行潜在修复。
我是 R 的新手,所以请原谅我的非常基本的问题。 我想使用 MolecularEntropy 函数:https://www.rdocumentation.org/packages/HDMD/versions/1.2/topics/MolecularEntropy
我尝试使用来自不同包(例如 ape 或 seqinr)的不同读取 fasta 函数。但是 none 使用 MolecularEntropy 函数。
这是我的 fasta 文件的示例:
>sequence_1
ACCTGC--A
>sequence_2
ACC-GCTTA
>sequence_3
ACCTGCTTG
我试过的fasta读取函数没有给出MolecularEntropy函数的错误,但只是给出了错误的结果。
任何帮助将不胜感激!!谢谢!
bioconductor 包 Biostrings 有一个函数,readDNAStringSet
读取 fasta 文件。
seqs <- Biostrings::readDNAStringSet("seqfile.fasta")
> seqs
DNAStringSet object of length 3:
width seq names
[1] 9 ACCTGC--A sequence_1
[2] 9 ACC-GCTTA sequence_2
[3] 9 ACCTGCTTG sequence_3
MolecularEntropy 函数的文档说它可以接受序列向量。
您可以使用 as.character
.
seqs <- as.character(seqs)
> seqs
sequence_1 sequence_2 sequence_3
"ACCTGC--A" "ACC-GCTTA" "ACCTGCTTG"
文档没有明确说明函数对间隙的期望。
您可以使用 stringr 中的 str_replace_all
函数用您需要的任何内容替换空白。尽管此函数已向量化,但它会从向量中删除序列的名称。您可以通过使用 purrr 中的 map_chr
遍历向量来绕过它。
seqs <- purrr::map_chr(seqs, stringr::str_replace_all, "-", " ")
> seqs
sequence_1 sequence_2 sequence_3
"ACCTGC A" "ACC GCTTA" "ACCTGCTTG"
如果这仍然导致问题,请回复评论,我可以编辑 post 以进行潜在修复。