Re: [R] questions related to ploting in R

From: Adaikalavan Ramasamy <ramasamy_at_cancer.org.uk>
Date: Thu 03 Mar 2005 - 01:21:13 EST

You have to decided whether you want one single plot or 23 plots (one for each chromosome). Since I suspect that, say, copy_num at the end of Chromosome 1 and the copy_num at the start of Chromosome 2 are not related (like time series data) and would suggest 23 plots instead.

# simulate data #

df <- data.frame( Chromosome=rep(1:23, each=10), 
                  location=round(runif(230, max=1000000)), 
                  copy_num=runif(230, max=10) )

head(df)
  Chromosome location copy_num

1          1   289588 7.3537879
2          1   267081 8.3605345
3          1   926470 0.1270541
4          1   214679 7.1798719
5          1   388366 4.2847290
6          1   332667 7.7888741

...

library(lattice)
xyplot( copy_num ~ location | Chromosome, data=df )

If you want it as one big plot, then you will need to somehow adjust the location variable. I would suggest you think about putting the chromosomes end to end. If you add the cumulative length of each chromosome to the location to all the variables within a chromosome, then you will get unique mapping for location.

For example, if Chromosome 1 was 1,000,000 bases long and Chromosome 2 was 800,000 bases long, then a gene in location 500 of Chromosome 3 would actually be in position 1,800,500 (= 1,000,000 + 800,000 + 500) in the overall map. Then you can simple plot the copy_num vs the new location variable.

You might want to also check BioConductor packages if they have anything more specific to your needs.

Regards, Adai

On Fri, 2004-08-06 at 16:03 -0400, Li, Aiguo (NIH/NCI) wrote:
> Dear all.
>
> I need to draw a scatter plot of 23 chromosome copy numbers (y axes) against
> chromosome and physical location within each chromosome in one plot. The
> data matrix looks as below:
>
> chr location copy_num
> 1 118345 1.320118
> 1 3776202 1.133879
> 1 4798845 0.989997
> 1 5350951 1.100967
> . more data here
> .
> .
> 2 118345 2.459119
> 2 157739 1.915919
> 2 1530065 1.924372
> 2 1530235 3.138177
> .
> .
> .
> more data here
> 23 118345 2.454111
> 23 5142838 1.719263
> 23 5163858 1.228840
>
> The x axes of the plot should have chromosome label from 1 to 23 and
> physical location within each chromosome label. The physical location
> values start from each chromosome (not necessaryly same value). That means
> that x axes will have label (tick) for chromosome 1, within chromosome 1
> there are physical location from whatever value to the largest physical
> location value for chromosome 1, then chromosome 2 label, within chromosome
> 2 label physical location increase from whatever value to the largest
> physical location value for chromosome 2...... till chromosome 23.
>
> Is it possible to draw this type of plot in R? and How to draw it?
>
> Thanks in advance
>
> Aiguo Li, Ph.D.
> Bioinformatician & Molecular biologist
> NCI/NIH
>
>
>
>
>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help@stat.math.ethz.ch mailing list
>
https://www.stat.math.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>



R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Thu Mar 03 02:06:15 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:30:39 EST