Nothing
####################################################################
## Author: Gro Nilsen, Knut Liestřl and Ole Christian Lingjćrde.
## Maintainer: Gro Nilsen <gronilse@ifi.uio.no>
## License: Artistic 2.0
## Part of the copynumber package
## Reference: Nilsen and Liestřl et al. (2012), BMC Genomics
####################################################################
# Function that adjusts segment start and stop positions according to plot type, plot unit, xaxis etc
##Input:
### chrom: vector with segments chromosome numbers
### char.arms: vector with character arms
### start: start positions of segments
### stop: stop positions of segments
### type: plot type
### unit: unit used to represent positions
### op: list with other plot parameters
##Output:
### use.start: adjusted segment start to be used in plot
### use.stop: adjusted segement stop to be used in plot
##Required by:
### plotHeat
##Requires:
### convert.unit
### getGlobPos
### numericArms
### separateChrom
### numericChrom
adjustSegPos <- function(chrom,char.arms,start,stop,type,unit,op){
#Make sure chromosome is numeric:
chrom <- numericChrom(chrom)
nSeg <- length(chrom)
#Get indeces where chromosome number or arm changes
if(type=="genome"){
sep <- separateChrom(chrom)
}else{
#Convert character arms to numeric:
arms <- numericArms(chrom,char.arms)
sep <- separateChrom(arms)
}
#separateChrom adds indeces 1 and nSeg; don't need these here:
sep <- sep[-c(1,length(sep))]
if(type=="genome"){
#Use global positions
start <- getGlobPos(chrom,start,pos.unit=unit,cyto.data=op$assembly)
stop <- getGlobPos(chrom,stop,pos.unit=unit,cyto.data=op$assembly)
}
use.start <- start
use.stop <- stop
#Continuous heatmap? connect halfway between end and start of two segments
if(op$continuous){
if(nSeg>1){
#The heatmap should start and end halfway between two probes, except across arms/chromosomes
half <- (use.start[2:nSeg]-use.stop[1:(nSeg-1)])/2
use.start[2:nSeg] <- use.start[2:nSeg] - half
use.stop[1:(nSeg-1)] <- use.stop[1:(nSeg-1)]+half
use.start[sep] <- start[sep]
use.stop[sep-1] <- stop[sep-1]
}#endif
}
#Want to scale the x-axis to fit the desired unit given in plot.unit (default is mega base pairs)
scale.fac <- convert.unit(unit1=op$plot.unit,unit2=unit)
use.start <- use.start*scale.fac
use.stop <- use.stop*scale.fac
return(list(use.start=use.start,use.stop=use.stop))
}#endfunction
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.