genome_copy_number_plot: Copy number plot for the whole genome

Description Usage Arguments Details Value Examples

View source: R/plots.R

Description

Whole genome copy number plot with partitioning lines between chromosomes.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
genome_copy_number_plot(
  copy_number,
  segments,
  sample = NULL,
  chromosome_lengths = NULL,
  copy_number_steps = NULL,
  max_points_to_display = Inf,
  min_copy_number = NULL,
  max_copy_number = NULL,
  copy_number_breaks = NULL,
  point_colour = "black",
  point_alpha = 0.15,
  point_size = 0,
  segment_colour = "red",
  segment_alpha = 1,
  segment_line_size = 0.75,
  copy_number_step_colour = "blue",
  copy_number_step_alpha = 0.35,
  copy_number_step_line_size = 0.75,
  xlabel = "chromosome",
  ylabel = "copy number"
)

Arguments

copy_number

a data frame containing chromosome, start, end and copy_number columns where there is a row for each copy number bin; may optionally contain a sample column if the data frame contains data for multiple samples.

segments

a data frame containing chromosome, start, end and copy_number columns; may optionally contain a sample column if the data frame contains data for multiple samples.

sample

the sample (required if the copy_number and segments contain data for multiple samples)

chromosome_lengths

a data frame containing chromosome and length columns (optional).

copy_number_steps

a data frame containing absolute_copy_number and copy_number columns.

max_points_to_display

maximum number of copy number points to display (downsampling may be carried out if there are more copy number values than this number).

min_copy_number

the minimum copy_number to display.

max_copy_number

the maximum copy_number to display.

copy_number_breaks

breaks at which grid lines will be displayed.

point_colour

the colour of the copy number points.

point_alpha

the transparency of the copy number points.

point_size

= the size of the copy number points.

segment_colour

the colour of the copy number segments.

segment_alpha

the transparency of the copy number segments.

segment_line_size

the size of the lines for copy number segments.

copy_number_step_colour

the colour of the copy number step lines.

copy_number_step_alpha

the transparency of the copy number step lines.

copy_number_step_line_size

the size of the lines for the copy number steps.

xlabel, ylabel

x- and y-axis labels.

Details

copy_number values can be on the relative or absolute scales or can be log2 ratios but the same scale should be used consistently in each of the copy_number, segments and copy_number_steps data frames.

Value

a ggplot object

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
data(copy_number)

segments <- copy_number_segments(copy_number)

genome_copy_number_plot(copy_number, segments, sample = "X17222", ylabel = "relative copy number")

absolute_copy_numbers <- 0:8
relative_copy_numbers <- absolute_to_relative_copy_number(absolute_copy_numbers, ploidy = 4.01, cellularity = 0.81)
copy_number_steps <- data.frame(absolute_copy_number = absolute_copy_numbers, copy_number = relative_copy_numbers)

genome_copy_number_plot(
  copy_number,
  segments,
  sample = "X17222",
  copy_number_steps = copy_number_steps,
  min_copy_number = 0.25,
  max_copy_number = 2.5,
  xlabel = NULL,
  ylabel = "relative copy number")

# filter for specific sample and convert relative copy numbers to log2 ratios
log2_ratio <- copy_number[copy_number$sample == "X17222", ]
log2_ratio$copy_number <- log2(log2_ratio$copy_number)
log2_ratio$segmented <- log2(log2_ratio$segmented)

log2_ratio_segments <- copy_number_segments(log2_ratio)

log2_ratio_steps <- copy_number_steps
log2_ratio_steps$copy_number <- log2(log2_ratio_steps$copy_number)

genome_copy_number_plot(
  log2_ratio,
  log2_ratio_segments,
  copy_number_steps = log2_ratio_steps,
  min_copy_number = -2,
  max_copy_number = 3,
  xlabel = NULL,
  ylabel = expression(log[2]~ratio))

# filter for specific sample and convert relative copy numbers to absolute copy numbers
absolute_copy_number <- copy_number[copy_number$sample == "X17222", ]
absolute_copy_number$copy_number <- relative_to_absolute_copy_number(absolute_copy_number$copy_number, ploidy = 4.01, cellularity = 0.81)
absolute_copy_number$segmented <- relative_to_absolute_copy_number(absolute_copy_number$segmented, ploidy = 4.01, cellularity = 0.81)

absolute_segments <- copy_number_segments(absolute_copy_number)

genome_copy_number_plot(
  absolute_copy_number,
  absolute_segments,
  min_copy_number = 0,
  max_copy_number = 10,
  copy_number_breaks = 0:10,
  ylabel = "absolute copy number") +
  ggplot2::theme(panel.grid.major.y = ggplot2::element_line(colour = "grey60"))

crukci-bioinformatics/rascal documentation built on Dec. 19, 2021, 6:21 p.m.