场景描述:现有一个存储多条序列(DNA序列或者蛋白序列)的fasta文件,我们需要将其中重复项全部找出来。
fasta文件示例:
- 在D盘创建文件夹,命名为“1”,将fasta文件重命名为“1.fasta”放于其中;
-
library(stringr) library(Biostrings) library(readxl) setwd("D://1") #设定工作目录 fasta_file <- "1.fasta" sequences <- readAAStringSet(fasta_file) duplicate_indices <- duplicated(sequences) s1 <- sequences[duplicate_indices] s2 <- unique(s1) for(i in as.character(s2)){ aa <- which(sequences == i) print(names(sequences)[aa])# 把重复项按行打印出来 }
-
运行代码,将按行打印出所有重复项。如下图:
xulie1,xulie4,xulie5都是相同的,就在一行中显示出来。
xulie2,xulie6是相同的,在另一行显示出来。