在 R 中比较 headers 的两个 FASTA 文件
Compare headers of two FASTA files in R
我有两个 FASTA 文件,大约有 8500 个蛋白质 headers。我想比较这两个文件并指出它们之间的差异。
到目前为止,我已经尝试过 diffr 包。但它没有按要求工作。
library(diffr)
diffr(Myxo_greped.txt, Myxo_arranged_final.txt)
图片是我的两个文件乍一看的样子。
我想您需要将文件名放在引号中:
这是示例 fasta 文件:
writeLines(">p1\nKLCLYTHI\n>p3\nGRNIYYGSY","file1.fa")
writeLines(">p1\nLYSETWNT\n>p4\nGIMLLLITMATAFM","file2.fa")
我们读到:
library(diffr)
diffr("file1.fa","file2.fa")
如果你想知道headers的区别:
library(Biostrings)
f1 = readAAStringSet("file1.fa")
f2 = readAAStringSet("file2.fa")
> names(f1)
[1] "p1" "p3"
> names(f2)
[1] "p1" "p4"
> setdiff(names(f1),names(f2))
[1] "p3"
> intersect(names(f1),names(f2))
[1] "p1"
使用bash:
diff <(grep ">" file1.fasta) <(grep ">" file2.fasta)
使用R:
# read the files
f1 <- readLines("file1.fasta")
f2 <- readLines("file2.fasta")
# join the headers side by side
f12 <- cbind(f1 = grep(">", f1, value = TRUE),
f2 = grep(">", f2, value = TRUE))
# extract rows that are different
f12[ f1 != f2, ]
我有两个 FASTA 文件,大约有 8500 个蛋白质 headers。我想比较这两个文件并指出它们之间的差异。 到目前为止,我已经尝试过 diffr 包。但它没有按要求工作。
library(diffr)
diffr(Myxo_greped.txt, Myxo_arranged_final.txt)
图片是我的两个文件乍一看的样子。
我想您需要将文件名放在引号中:
这是示例 fasta 文件:
writeLines(">p1\nKLCLYTHI\n>p3\nGRNIYYGSY","file1.fa")
writeLines(">p1\nLYSETWNT\n>p4\nGIMLLLITMATAFM","file2.fa")
我们读到:
library(diffr)
diffr("file1.fa","file2.fa")
如果你想知道headers的区别:
library(Biostrings)
f1 = readAAStringSet("file1.fa")
f2 = readAAStringSet("file2.fa")
> names(f1)
[1] "p1" "p3"
> names(f2)
[1] "p1" "p4"
> setdiff(names(f1),names(f2))
[1] "p3"
> intersect(names(f1),names(f2))
[1] "p1"
使用bash:
diff <(grep ">" file1.fasta) <(grep ">" file2.fasta)
使用R:
# read the files
f1 <- readLines("file1.fasta")
f2 <- readLines("file2.fasta")
# join the headers side by side
f12 <- cbind(f1 = grep(">", f1, value = TRUE),
f2 = grep(">", f2, value = TRUE))
# extract rows that are different
f12[ f1 != f2, ]