想画SNP标记在不同的染色体的分布密度,但是不知道用什么软件画出来的?说不定在论坛发个贴就能解决你的困扰哦~
这不,有网友发个贴提问,就有码农分享自己的代码了。小编把代码也贴出来给大家瞄瞄……
所用软件:Matlab(可自行上网下载安装)
画图思路:将有SNP标记画为蓝色火柴杆图,没有SNP标记的用白色火柴杆图覆盖。
数据准备:sheet1为各染色体SNP标记的位置,sheet2为SNP标记对应的蓝色火柴杆图的线高,sheet3为SNP标记对应的白色火柴杆图的线高。
代码如下:
-----------------代码开始了-----------------
[n,b]=xlsread('bar18k MAF.xlsx',1);
[n2,b2]=xlsread('bar18k MAF.xlsx',2);
[n3,b3]=xlsread('bar18k MAF.xlsx',3);
figure;
hold;
for i=1:1:12;
h=stem(n(:,i),n2(:,i),'lineWidth',0.1);
hc=get(h,'children');
set(hc(2),'visible','off');
plot(n(:,i),n2(:,i),'b','lineWidth',0.1);
h=stem(n(:,i),n3(:,i),'w','lineWidth',0.1);
hc=get(h,'children');
set(hc(2),'visible','off')
plot(n(:,i),n3(:,i),'b','lineWidth',0.1);
end
plot([0,45000000],[0.5,0.5],'k');
set(gca,'TickDir','out');
set(gca,'Xlim',[0,45000000]);
set(gca,'XTick', (5000000:5000000:45000000));
set(gca,'XTickLabel',b2(1:9));
set(gca,'ylim',[0.5,12.25]);
set(gca,'yTick', (1:12));
set(gca,'yTickLabel',b);
set(gca,'xcolor',[0,0,0]);
set(gca,'ycolor',[0,0,0]);
set(gca,'FontName','Times New Roman','FontSize',14);
clear all;
-----------------代码结束了-----------------
画出来的结果图:
如果你有R语言的代码,也非常欢迎公开贴出来
数据分析咨询请扫描二维码