搜索
12
返回列表 发新帖
楼主: 秋叶麒麟

利用R画染色体分段标记

[复制链接]

2

主题

17

帖子

325

积分

版主

Rank: 7Rank: 7Rank: 7

积分
325
 楼主| 发表于 2017-6-23 17:09:14 | 显示全部楼层
本帖最后由 秋叶麒麟 于 2017-6-23 17:15 编辑
大春媛子 发表于 2017-6-22 13:55
楼主,能不能添加点别的功能,比如外加一列数据,可以转换为颜色,由颜色的深浅表示相应数据的大小 ...

就是类似热图的那个是吧?你参考下热图里面设置颜色的代码,类似color=colorRampPalette(c("green","black","red"))(100)这种的,理论上是可行的。不过我自己没整理过。你可以试试。有结果的话可以在回复里贴出来。期待你的尝试结果!
回复 支持 反对

使用道具 举报

1

主题

14

帖子

96

积分

注册会员

Rank: 2

积分
96
发表于 2017-11-28 15:28:40 | 显示全部楼层
你好,之前重复了你的代码,但是我试的是单组样本,没有group,所以出来结果不对,代码如下:
a<-read.table(file = "C:/Users/Administrator.PC-20160930KTPY.002/Desktop/test.txt", header=F,sep="\t",stringsAsFactors=F)
g<-sprintf("%s%s","Chr",unique(a[,1]))
a[,5]<-a[,3]-a[,2]
for(i in 1:length(a[,1])){
    a[i,6]=a[i,1]+0.2
}
colors<-c("red","blue","green")
p<-ggplot(a,aes(x=a[,6],y=a[,5],fill=a[,4]))+geom_bar(stat = "identity")+   
  theme_bw() + theme(panel.grid.major = element_blank(),legend.position = c(0.9,0.9),legend.title=element_blank())+
  scale_fill_manual(values = colors)+
  scale_x_continuous(breaks = c(1:10),labels = g)+labs(x="",y="")+
  scale_y_continuous(labels = c(0,"100MB","200MB","300MB"))
print(p)

test.txt数据格式如下:
1        0 11000000     5003 11000000 1.2
1 11000000 12000000 Inbred X  1000000 1.2
再有一个问题,我想试试画一个CNV分布图,图片传不上来(bar高度代表染色体全长,分段标记不同颜色,每一分段表示发生变异的拷贝数区),跟这个图形类似,请问用ggplot2可以实现吗,应该注意哪些地方呢?
回复 支持 反对

使用道具 举报

1

主题

4

帖子

62

积分

注册会员

Rank: 2

积分
62
发表于 2018-1-3 17:17:58 | 显示全部楼层
佩服
回复

使用道具 举报

0

主题

15

帖子

215

积分

中级会员

Rank: 3Rank: 3

积分
215
QQ
发表于 2018-1-11 18:30:17 | 显示全部楼层
很漂亮啊,有没有可能添加多个样本进行作图?知道了在哪修改,但是不知道应该如何修改...
回复 支持 反对

使用道具 举报

2

主题

17

帖子

325

积分

版主

Rank: 7Rank: 7Rank: 7

积分
325
 楼主| 发表于 2018-1-12 17:06:34 | 显示全部楼层
本帖最后由 秋叶麒麟 于 2018-1-12 17:08 编辑
Martin 发表于 2018-1-11 18:30
很漂亮啊,有没有可能添加多个样本进行作图?知道了在哪修改,但是不知道应该如何修改... ...

原来的代码就是画了两个样品啊,所谓的支持多个样本,你只需要修改你的输入文件里面的信息就可以了啊。唯一要改变的可能就是这部分
for(i in 1:length(a[,1])){
  if(a[i,4] == "478"){
    a[i,8]=a[i,1]-0.2
  }else{
    a[i,8]=a[i,1]+0.2
  }
}  #总共有两组样本,为了区别分开,所以478的样本对应x坐标为染色体号-0.2,zheng58的样本对应x坐标为染色体号+0.2



你不同样本x轴坐标修改好就行了
回复 支持 反对

使用道具 举报

13

主题

44

帖子

522

积分

高级会员

Rank: 4

积分
522
发表于 2018-1-19 14:20:16 | 显示全部楼层
厉害                                    
回复 支持 反对

使用道具 举报

0

主题

3

帖子

111

积分

注册会员

Rank: 2

积分
111
发表于 2019-8-28 19:01:49 | 显示全部楼层
非常感谢,想了一下午都没想出来,突然想到百度一下,第一个就看到了你的答案,太赞了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树 ( 粤ICP备15016384号  

GMT+8, 2019-9-16 15:37 , Processed in 0.033043 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.