SynergyScreen-package: Analyze and simulate synergy screen data.

Description Examples

Description

SynergyScreen works with data from medium-throughput synergy screens where multiple pairs of compounds are tested in microtiter plates using simple single ray design.

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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
###########################################
#  Example: simulate a 15-compound screen #
###########################################

##  Stage 1: simulate individual compounds and their dose-response experiments
# Load a set of compounds and initialize a SynergyScreen object
cpds = readCompoundFile(system.file("extdata/15_cpds_simulation/compounds_1.csv",
                                    package="SynergyScreen"))
screen1 = new("SynergyScreen",compound_list=cpds)
compound(screen1,"Cpd3")

#  Generate screen design, only testing single compounds at first
screen1 = generateDesign(screen1,pairs=FALSE)
head(design(screen1), n=30)

#  Simulate compound growth curve characteristics and raw dose-response data
set.seed(20141120)
screen1 = simulate(screen1)
compound(screen1,"Cpd3")
dre(screen1,"Cpd3")
head(raw_data(screen1),n=30)
head(labelledData(screen1,"raw"),n=30)
boxplot(screen1,"raw")

#  Normalize screen data, adjusting for plate bias
screen1 = normalize(screen1)
head(norm_data(screen1),n=30)
head(labelledData(screen1,"norm"),n=30)
boxplot(screen1,"norm")

#  Check ranges of dose-response experiments
screen1 = checkRange(screen1)

## Stage 2: re-do dose-response experiments for which dose range checks failed, 
## with corrected dose ranges
#  Load the new set of compounds, initialize a SynergyScreen object and generate a design
cpds2 = readCompoundFile(system.file("extdata/15_cpds_simulation/compounds_2.csv",
                                     package="SynergyScreen"))
screen2 = new("SynergyScreen",compound_list=cpds2)
screen2 = generateDesign(screen2,pairs=FALSE)

# Transfer previously simulated "true" IC50 and m values to compounds in screen2
screen2 = transferTrueValues(screen1,screen2)
compound(screen1,"Cpd1")
compound(screen2,"Cpd1")

#  Simulate dose-response data again
set.seed(20141121)
screen2 = simulate(screen2)
screen2 = normalize(screen2)
screen2 = checkRange(screen2)

##  Stage 3. Full design with individual compounds and mixtures
#  Load the new set of compounds, initialize a SynergyScreen object, generate a design, 
#  and transfer previously simulated values
cpds3 = readCompoundFile(system.file("extdata/15_cpds_simulation/compounds_3.csv",
                                     package="SynergyScreen"))
screen3 = new("SynergyScreen",compound_list=cpds3)
screen3 = generateDesign(screen3)
screen3 = transferTrueValues(screen1,screen3)

#  Simulate dose-response characteristics of mixtures and dose-response data
set.seed(20141125)
screen3 = simulate(screen3)
boxplot(screen3,"raw")
screen3 = normalize(screen3)
boxplot(screen3,"norm")
screen3 = checkRange(screen3)

#  Compute synergies
screen3 = computeSynergies(screen3)
head(synergy_data(screen3))
plot(screen3)

#  Find strong synergies and antagonisms
findSynergies(screen3, statistic="max", threshold=0.5, direction="lower")
findSynergies(screen3, statistic="min", threshold=2, direction="higher")

#  Explore a pair of synergistic compounds
plotIsoboles(screen3,"Cpd7-Cpd15",main="Cpd7-Cpd15")
plot(dre(screen3,"Cpd7"),main="Cpd7")
plot(dre(screen3,"Cpd15"),main="Cpd15")
plot(dre(screen3,"Cpd7-Cpd15"),main="Cpd7-Cpd15")

#  Explore a pair of antagonistic compounds
plotIsoboles(screen3,"Cpd9-Cpd13",main="Cpd9-Cpd13")
plot(dre(screen3,"Cpd9"),main="Cpd9")
plot(dre(screen3,"Cpd13"),main="Cpd13")
plot(dre(screen3,"Cpd9-Cpd13"),main="Cpd9-Cpd13")

ybukhman/SynergyScreen documentation built on May 4, 2019, 2:31 p.m.