如何从BLAST结果制作条形图?



我有一个表格式的爆炸结果。下面是前三列。第一列是查询ID(在本例中,我们有2个查询;6031753和60317532),第二列是针对查询序列的命中,有3个部分

a)  swiss prot id  sp|Q10CQ1| 
b)  gene name      MAD14
c)  organism       ORYSJ

我想制作一个存在的基因的条形图,以及它们在每个查询中出现的次数。

例如第一个查询(60317531)

MAD14   2 times
MAD15   1 time      
AGL8    2 time
AP1     3 time

字段:query_id subject_id %_identity

gi|60317531|gb|AAX18712.1| sp|Q10CQ1|MAD14_ORYSJ 84.21
gi|60317531|gb|AAX18712.1| sp|P0C5B1|MAD14_ORYSI 83.40
gi|60317531|gb|AAX18712.1| sp|Q6Q9I2|MAD15_ORYSJ 68.91
gi|60317531|gb|AAX18712.1| sp|Q42429|AGL8_SOLTU 57.20
gi|60317531|gb|AAX18712.1| sp|O22328|AGL8_SOLCO 58.00
gi|60317531|gb|AAX18712.1| sp|Q41276|AP1_SINAL 65.79
gi|60317531|gb|AAX18712.1| sp|D7KWY6|AP1_ARALL 65.79
gi|60317531|gb|AAX18712.1| sp|Q8GTF4|AP1C_BRAOB 64.21
gi|60317532|gb|AAX18713.1| sp|B4YPV4|AP1C_BRAOA 64.21
gi|60317532|gb|AAX18713.1| sp|Q96355|1AP1_BRAOT 64.21
gi|60317532|gb|AAX18713.1| sp|P0DI14|AP1_BRARP   

在条形图中,x轴为基因,y轴为频率,查询ID为图的标题。

有什么自动的方法吗?在单个文件中,我有大约40,000个查询,每个查询大约有大约100个命中。

步骤1:使用:

从输出文件中提取第二个颜色
awk '{print$2}'

步骤2:然后在vim编辑器中打开文件并输入以下命令:

:%s!*..*_!!g

Step3:使用这个文件绘制r

data <- read.table("ur_file_name.txt", header=F, sep=" ")
barplot(data$V2, xlab="Genes", ylab="Frequency", main="Query ID")

最新更新