Search
Question: Making a circos plot to show expression for a gene set rather than whole genome
0
gravatar for Peter.Wood
2.8 years ago by
Peter.Wood0
Australia
Peter.Wood0 wrote:

Hello,

I am a new user to the OmicCircos package and the R code. For a little while I have been trying to create a circos plot to show the expression of a gene set. However, after constructing data frames with gene names and segment sizes, the segAnglePo and sim.circos functions consistently revert to the hg19/hg18 genome to form the anchor of the figure. If someone please explain how to construct an anchor for the circos plot using a set of genes rather than the entire human genome it would be much appreciated.

Kind regards,

Peter.

ADD COMMENTlink modified 8 weeks ago by yifangt10 • written 2.8 years ago by Peter.Wood0
2
gravatar for Hu, Ying NIH/NCI [E]
2.6 years ago by
United States
Hu, Ying NIH/NCI [E]50 wrote:

You maybe wanted one gene on one segment. Please try the code as the following. 

The output file is at https://www.dropbox.com/s/pvudjol3s0wkde1/BioC_support01.pdf?dl=0

NOTE: Please use the updated version http://master.bioconductor.org/packages/3.1/bioc/html/OmicCircos.html

rm(list=ls());
library(OmicCircos);

gene.n  <- 200;
chr     <- paste0("Gene", 1:gene.n);
val     <- rnorm(gene.n);
seg.dat <- data.frame(chr=chr, start=rep(1, gene.n), end=rep(1,gene.n)+1, name=chr, value=val);
seg.c   <- segAnglePo(seg.dat, seg=chr);

cols    <- rainbow(10, alpha=0.8);

pdf("BioC_support01.pdf", 8,8);
par(mar=c(2, 2, 2, 2))
plot(c(1,800), c(1,800), type="n", axes=FALSE, xlab="", ylab="");

circos(R=350, type="chr", cir=seg.c, print.chr.lab=TRUE, W=8)
circos(R=270, cir=seg.c, W=80, mapping=seg.dat, type="s", col.v=5, col=cols, B=T, cex=abs(seg.dat[,5])*1.5);
circos(R=190, cir=seg.c, W=80, mapping=seg.dat, type="b", col.v=5, col=cols, B=F, lwd=abs(seg.dat[,5])*1.5);
circos(R=110, cir=seg.c, W=80, mapping=seg.dat, type="b2", col.v=5, col=cols[c(1,7)], cutoff=0, B=T, lwd=2);

dev.off();

ADD COMMENTlink written 2.6 years ago by Hu, Ying NIH/NCI [E]50

Hello Ying:

I had some difficulty to create a cir object with segAnglePo() function.

My dataframe is like this one, but I always got error as

> segAnglePo(seg.dat=seg.f, seg=seg.name)

Error in names(x) <- value :  'names' attribute [5] must be the same length as the vector [3]

Not sure what I missed, and I appreciate your advice on this issue.
Thanks a lot!
Yifang

ADD REPLYlink written 8 weeks ago by yifangt10
0
gravatar for yifangt
8 weeks ago by
yifangt10
yifangt10 wrote:

Moved to comments
 

ADD COMMENTlink modified 8 weeks ago • written 8 weeks ago by yifangt10
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.2.0
Traffic: 173 users visited in the last hour