Skip to content

Commit c6d4fba

Browse files
Update platemap and README (#27)
* update platemap and README * update README per PR review
1 parent 5abe095 commit c6d4fba

9 files changed

+91
-56
lines changed

0.download_data/metadata/nbconverted/platemap_fig.r

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ for (plate in names(platemap_dfs)) {
104104
ggtitle(paste(updated_plate, "layout based on cell line")) +
105105
theme(plot.title = element_text(size = 10, face = "bold")) +
106106
ggplot2::geom_point(aes(fill = factor(platemap_dfs[[plate]]$cell_line)), shape = 21, size = 3) + # Fill by cell line
107-
ggplot2::scale_fill_manual(values = colorRampPalette(RColorBrewer::brewer.pal(8, "Set1"))(length(unique(platemap_dfs[[plate]]$cell_line))),
107+
ggplot2::scale_fill_manual(values = colorRampPalette(RColorBrewer::brewer.pal(12, "Paired"))(length(unique(platemap_dfs[[plate]]$cell_line))),
108108
name = "Cell Line") +
109109
theme(
110110
legend.position = "right", # Keep legend on the right side
@@ -126,5 +126,3 @@ for (plate in names(platemap_dfs)) {
126126
)
127127
}
128128

129-
130-

0.download_data/metadata/platemap_fig.ipynb

Lines changed: 75 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,18 @@
6363
"output_type": "stream",
6464
"text": [
6565
"[1] \"platemaps/Assay_Plate1_platemap.csv\" \"platemaps/Assay_Plate2_platemap.csv\"\n",
66+
"[3] \"platemaps/Assay_Plate3_platemap.csv\" \"platemaps/Assay_Plate4_platemap.csv\"\n",
6667
"$Assay_Plate1\n",
6768
"[1] \"platemap_figures/Assay_Plate1_platemap_figure.png\"\n",
6869
"\n",
6970
"$Assay_Plate2\n",
7071
"[1] \"platemap_figures/Assay_Plate2_platemap_figure.png\"\n",
72+
"\n",
73+
"$Assay_Plate3\n",
74+
"[1] \"platemap_figures/Assay_Plate3_platemap_figure.png\"\n",
75+
"\n",
76+
"$Assay_Plate4\n",
77+
"[1] \"platemap_figures/Assay_Plate4_platemap_figure.png\"\n",
7178
"\n"
7279
]
7380
}
@@ -131,36 +138,68 @@
131138
"output_type": "stream",
132139
"text": [
133140
"$Assay_Plate1\n",
134-
"\u001b[90m# A tibble: 240 × 5\u001b[39m\n",
135-
" cell_line row column well seeding_density\n",
136-
" \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \n",
137-
"\u001b[90m 1\u001b[39m DAOY C 3 C3 1000 \n",
138-
"\u001b[90m 2\u001b[39m DAOY D 3 D3 1000 \n",
139-
"\u001b[90m 3\u001b[39m IMR32 E 3 E3 1000 \n",
140-
"\u001b[90m 4\u001b[39m IMR32 F 3 F3 1000 \n",
141-
"\u001b[90m 5\u001b[39m PA1 G 3 G3 1000 \n",
142-
"\u001b[90m 6\u001b[39m PA1 H 3 H3 1000 \n",
143-
"\u001b[90m 7\u001b[39m SK-N-MC I 3 I3 1000 \n",
144-
"\u001b[90m 8\u001b[39m SK-N-MC J 3 J3 1000 \n",
145-
"\u001b[90m 9\u001b[39m CHP212 K 3 K3 1000 \n",
146-
"\u001b[90m10\u001b[39m CHP212 L 3 L3 1000 \n",
141+
"\u001b[90m# A tibble: 240 × 6\u001b[39m\n",
142+
" cell_line row column well seeding_density condition\n",
143+
" \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \n",
144+
"\u001b[90m 1\u001b[39m DAOY C 3 C03 1000 standard \n",
145+
"\u001b[90m 2\u001b[39m DAOY D 3 D03 1000 standard \n",
146+
"\u001b[90m 3\u001b[39m IMR32 E 3 E03 1000 standard \n",
147+
"\u001b[90m 4\u001b[39m IMR32 F 3 F03 1000 standard \n",
148+
"\u001b[90m 5\u001b[39m PA1 G 3 G03 1000 standard \n",
149+
"\u001b[90m 6\u001b[39m PA1 H 3 H03 1000 standard \n",
150+
"\u001b[90m 7\u001b[39m SK-N-MC I 3 I03 1000 standard \n",
151+
"\u001b[90m 8\u001b[39m SK-N-MC J 3 J03 1000 standard \n",
152+
"\u001b[90m 9\u001b[39m CHP212 K 3 K03 1000 standard \n",
153+
"\u001b[90m10\u001b[39m CHP212 L 3 L03 1000 standard \n",
147154
"\u001b[90m# ℹ 230 more rows\u001b[39m\n",
148155
"\n",
149156
"$Assay_Plate2\n",
150-
"\u001b[90m# A tibble: 140 × 5\u001b[39m\n",
151-
" cell_line row column well seeding_density\n",
152-
" \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \n",
153-
"\u001b[90m 1\u001b[39m KP-N-YN C 3 C3 1000 \n",
154-
"\u001b[90m 2\u001b[39m KP-N-YN D 3 D3 1000 \n",
155-
"\u001b[90m 3\u001b[39m NB-1 E 3 E3 1000 \n",
156-
"\u001b[90m 4\u001b[39m NB-1 F 3 F3 1000 \n",
157-
"\u001b[90m 5\u001b[39m ONS-76 G 3 G3 1000 \n",
158-
"\u001b[90m 6\u001b[39m ONS-76 H 3 H3 1000 \n",
159-
"\u001b[90m 7\u001b[39m SJSA-1 I 3 I3 1000 \n",
160-
"\u001b[90m 8\u001b[39m SJSA-1 J 3 J3 1000 \n",
161-
"\u001b[90m 9\u001b[39m SK-N-AS K 3 K3 1000 \n",
162-
"\u001b[90m10\u001b[39m SK-N-AS L 3 L3 1000 \n",
157+
"\u001b[90m# A tibble: 140 × 6\u001b[39m\n",
158+
" cell_line row column well seeding_density condition\n",
159+
" \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \n",
160+
"\u001b[90m 1\u001b[39m KP-N-YN C 3 C03 1000 standard \n",
161+
"\u001b[90m 2\u001b[39m KP-N-YN D 3 D03 1000 standard \n",
162+
"\u001b[90m 3\u001b[39m NB-1 E 3 E03 1000 standard \n",
163+
"\u001b[90m 4\u001b[39m NB-1 F 3 F03 1000 standard \n",
164+
"\u001b[90m 5\u001b[39m ONS-76 G 3 G03 1000 standard \n",
165+
"\u001b[90m 6\u001b[39m ONS-76 H 3 H03 1000 standard \n",
166+
"\u001b[90m 7\u001b[39m SJSA-1 I 3 I03 1000 standard \n",
167+
"\u001b[90m 8\u001b[39m SJSA-1 J 3 J03 1000 standard \n",
168+
"\u001b[90m 9\u001b[39m SK-N-AS K 3 K03 1000 standard \n",
169+
"\u001b[90m10\u001b[39m SK-N-AS L 3 L03 1000 standard \n",
163170
"\u001b[90m# ℹ 130 more rows\u001b[39m\n",
171+
"\n",
172+
"$Assay_Plate3\n",
173+
"\u001b[90m# A tibble: 280 × 6\u001b[39m\n",
174+
" cell_line row column well seeding_density condition\n",
175+
" \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \n",
176+
"\u001b[90m 1\u001b[39m A-673 C 3 C03 1000 synthemax\n",
177+
"\u001b[90m 2\u001b[39m A-673 D 3 D03 1000 synthemax\n",
178+
"\u001b[90m 3\u001b[39m SKNMC E 3 E03 1000 synthemax\n",
179+
"\u001b[90m 4\u001b[39m SKNMC F 3 F03 1000 synthemax\n",
180+
"\u001b[90m 5\u001b[39m CHP-212 G 3 G03 1000 synthemax\n",
181+
"\u001b[90m 6\u001b[39m CHP-212 H 3 H03 1000 synthemax\n",
182+
"\u001b[90m 7\u001b[39m NB-1 I 3 I03 1000 synthemax\n",
183+
"\u001b[90m 8\u001b[39m NB-1 J 3 J03 1000 synthemax\n",
184+
"\u001b[90m 9\u001b[39m KPNYN K 3 K03 1000 synthemax\n",
185+
"\u001b[90m10\u001b[39m KPNYN L 3 L03 1000 synthemax\n",
186+
"\u001b[90m# ℹ 270 more rows\u001b[39m\n",
187+
"\n",
188+
"$Assay_Plate4\n",
189+
"\u001b[90m# A tibble: 100 × 6\u001b[39m\n",
190+
" cell_line row column well seeding_density condition\n",
191+
" \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \u001b[3m\u001b[90m<chr>\u001b[39m\u001b[23m \n",
192+
"\u001b[90m 1\u001b[39m CHLA-10 B 3 B03 1000 synthemax\n",
193+
"\u001b[90m 2\u001b[39m CHLA-10 C 3 C03 1000 synthemax\n",
194+
"\u001b[90m 3\u001b[39m CHLA-25 D 3 D03 1000 synthemax\n",
195+
"\u001b[90m 4\u001b[39m CHLA-25 E 3 E03 1000 synthemax\n",
196+
"\u001b[90m 5\u001b[39m CHLA-113 F 3 F03 1000 synthemax\n",
197+
"\u001b[90m 6\u001b[39m CHLA-113 G 3 G03 1000 synthemax\n",
198+
"\u001b[90m 7\u001b[39m CHLA-218 H 3 H03 1000 synthemax\n",
199+
"\u001b[90m 8\u001b[39m CHLA-218 I 3 I03 1000 synthemax\n",
200+
"\u001b[90m 9\u001b[39m U2-OS J 3 J03 1000 synthemax\n",
201+
"\u001b[90m10\u001b[39m U2-OS K 3 K03 1000 synthemax\n",
202+
"\u001b[90m# ℹ 90 more rows\u001b[39m\n",
164203
"\n"
165204
]
166205
}
@@ -207,6 +246,10 @@
207246
"Warning message:\n",
208247
"“Warning: Your well label count ( 140 ) covers less than half the selected plate( 384 ).\n",
209248
"Are you sure argument 'plate' is correct for the number of wells in your data?\n",
249+
"note: Default is a 96-well plate.”\n",
250+
"Warning message:\n",
251+
"“Warning: Your well label count ( 100 ) covers less than half the selected plate( 384 ).\n",
252+
"Are you sure argument 'plate' is correct for the number of wells in your data?\n",
210253
"note: Default is a 96-well plate.”\n"
211254
]
212255
}
@@ -246,7 +289,7 @@
246289
},
247290
{
248291
"cell_type": "code",
249-
"execution_count": 19,
292+
"execution_count": 5,
250293
"metadata": {
251294
"vscode": {
252295
"languageId": "r"
@@ -260,6 +303,10 @@
260303
"Warning message:\n",
261304
"“Warning: Your well label count ( 140 ) covers less than half the selected plate( 384 ).\n",
262305
"Are you sure argument 'plate' is correct for the number of wells in your data?\n",
306+
"note: Default is a 96-well plate.”\n",
307+
"Warning message:\n",
308+
"“Warning: Your well label count ( 100 ) covers less than half the selected plate( 384 ).\n",
309+
"Are you sure argument 'plate' is correct for the number of wells in your data?\n",
263310
"note: Default is a 96-well plate.”\n"
264311
]
265312
}
@@ -283,7 +330,7 @@
283330
" ggtitle(paste(updated_plate, \"layout based on cell line\")) +\n",
284331
" theme(plot.title = element_text(size = 10, face = \"bold\")) +\n",
285332
" ggplot2::geom_point(aes(fill = factor(platemap_dfs[[plate]]$cell_line)), shape = 21, size = 3) + # Fill by cell line\n",
286-
" ggplot2::scale_fill_manual(values = colorRampPalette(RColorBrewer::brewer.pal(8, \"Set1\"))(length(unique(platemap_dfs[[plate]]$cell_line))),\n",
333+
" ggplot2::scale_fill_manual(values = colorRampPalette(RColorBrewer::brewer.pal(12, \"Paired\"))(length(unique(platemap_dfs[[plate]]$cell_line))),\n",
287334
" name = \"Cell Line\") +\n",
288335
" theme(\n",
289336
" legend.position = \"right\", # Keep legend on the right side\n",
@@ -305,17 +352,6 @@
305352
" )\n",
306353
"}\n"
307354
]
308-
},
309-
{
310-
"cell_type": "code",
311-
"execution_count": null,
312-
"metadata": {
313-
"vscode": {
314-
"languageId": "r"
315-
}
316-
},
317-
"outputs": [],
318-
"source": []
319355
}
320356
],
321357
"metadata": {
Loading
Loading
Loading
Loading
Loading
Loading

README.md

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -25,24 +25,25 @@ These channels are listed in the number order that you can find for the TIFF ima
2525

2626
### Pilot dataset
2727

28-
To assess the optimal seeding density and time point across all cell lines, we acquired six plates of preliminary data with 18 unique cell lines.
29-
There are two platemap layouts, with each layout having three time points (24, 48, and 72 hours) per plate (e.g., 2 layouts * 3 time points = 6 plates).
30-
Per plate, there are five different seeding densities across the wells (1000, 2000, 4000, 8000, 12000).
31-
**We will use various methods to determine what are the best conditions per cell line.**
32-
One method we will perform in this repository is single-cell quality control (QC), in which we will output a QC report that can tell us which seeding densities and time points yielded the worst quality segmentations.
33-
This can be due to high confluence or poor staining.
34-
35-
Below are the examples of the plate map layouts based on seeding density:
28+
To assess the optimal seeding density, time point, and plating conditions across all cell lines, we acquired multiple rounds of preliminary data.
29+
Each round has two or three platemap layouts.
30+
There are three plates per layout, each at different time points (24, 48, and 72 hours).
31+
Per plate, there are five different seeding densities for each cell line with two replicate wells per density (1000, 2000, 4000, 8000, 12000).
32+
Each plate layout includes specific plate conditions, such as:
3633

37-
![Assay Plate 1 layout](./0.download_data/metadata/platemap_figures/Assay_Plate1_platemap_figure_seeding_density.png)
34+
1. Standard
35+
2. Synthemax coated
36+
3. Synthemax coated and double PFA fixation
37+
4. Laminin coated
3838

39-
> First plate layout labelled by seeding density per well.
39+
Platemap files and visualizations can be found in the [metadata folder](./0.download_data/metadata/) inside the download data module.
4040

41-
![Assay Plate 2 layout](./0.download_data/metadata/platemap_figures/Assay_Plate2_platemap_figure_seeding_density.png)
42-
43-
> Second plate layout labelled by seeding density per well. There are less wells used on this plate.
41+
**We will use various methods to determine what are the best conditions per cell line.**
42+
One method we will perform in this repository is single-cell quality control (QC), in which we will output a QC report that can tell us which seeding densities and time points yielded the worst quality segmentations.
43+
This can be due to high confluence or poor staining.
44+
Another method is pairwise Pearson's correlation, which computes how similar wells are within the same cell line.
4445

45-
**NOTE:** Both plate layouts contain U2-OS cell line in the same place. Also, any empty portions of the layout only contain media and no cells so they are not included on figure.
46+
**NOTE:** All plate layouts contain the U2-OS cell line, which is used as an "anchor" to compare profiles across plates and for developing segmentation parameters. Also, any empty portions of the layout contain media and no cells so they are not included on figure or in the platemap files.
4647

4748
## Repository structure
4849

0 commit comments

Comments
 (0)