Skip to content

Commit 67b47d2

Browse files
committed
Add a standalone SDRF document, split Part 1 into multiple parts internally
1 parent e465ec8 commit 67b47d2

7 files changed

+269
-217
lines changed

TeachingModule/Preliminarywork.qmd

+4-217
Original file line numberDiff line numberDiff line change
@@ -1,231 +1,18 @@
1-
For this work, we will use the data that was used and analyzed in the paper *[Breast cancer quantitative proteome and proteogenomic landscape](https://www.nature.com/articles/s41467-019-09018-y)* by Johansson *et al.*, which compares subgroups of breast cancer tumors from the Oslo2 Landscape cohort.
2-
3-
Before delving into the actual analysis of the data in FragPipe, we must initially:
4-
5-
1. Read and understand the study design of the paper.
6-
2. Understand the data being used from the paper.
1+
{{ <include study_intro.qmd> }}
72

83
### Questions for Understanding the Paper
94

105
To better understand the paper, we have formulated some questions that should help clarify the study design, aim, and overall scope of the work. These questions are listed below:
116

12-
::: {.question}
13-
What are the primary research goals of this study?
14-
:::
15-
16-
::: {.question}
17-
How is the study design structured to achieve the study objective?
18-
:::
19-
20-
::: {.question}
21-
What role does LC-MS/MS play in this study, and why was it chosen as a method?
22-
:::
23-
24-
::: {.question}
25-
What novel insights were gained from the proteogenomic approach used in this study?
26-
:::
7+
{{ <include general_questions.qmd >}}
278

289

2910
### Supplementary Data
3011

31-
Before we proceed and download the data available from the paper, we must first delve into some of the details in Supplementary Data.
32-
Your first task is to look through the Supplementary Data and find the annotation relating the tumor types to the isotopic labels used.
33-
34-
::: {.question}
35-
How did you find the required information? Describe the steps you took. How much time did it take?
36-
:::
37-
38-
::: {.callout-note collapse="true"}
39-
#### Hint
40-
If you have not been able to find the annotations, open Supplementary Data 1, and then go to the tab called "Tumor annotations".
41-
:::
42-
43-
To better understand the supplementary data, we have prepared guiding questions to aid in interpreting the table. You can find the supplementary data in the paper [here](https://www.nature.com/articles/s41467-019-09018-y#Sec15).
44-
45-
::: {.question}
46-
Provide a brief description of the content presented in the table.
47-
:::
48-
49-
50-
::: {.question}
51-
What information does the tumor ID represent?
52-
:::
53-
54-
55-
::: {.question}
56-
Briefly describe TMT-labeled mass spectrometry proteomics data and explain the experimental procedure involved.
57-
:::
12+
{{ <include supp_data_questions.qmd> }}
5813

5914

6015

6116
#### TMT10-Tags and Tumor IDs
6217

63-
Fill in the table below by entering the corresponding TMT10-tags and Tumor IDs. Once submitted, you'll get instant feedback on whether your input is correct.
64-
65-
::: {.callout-note}
66-
When you have filled the whole table correctly, download the annotation files, **you will need them later**.
67-
:::
68-
69-
<form id="tmtForm">
70-
<table style="width: 100%; border-collapse: collapse;">
71-
<tr>
72-
<th style="width: 30%;">TMT/Plex Set</th>
73-
<th style="width: 14%;">Set 1</th>
74-
<th style="width: 14%;">Set 2</th>
75-
<th style="width: 14%;">Set 3</th>
76-
<th style="width: 14%;">Set 4</th>
77-
<th style="width: 14%;">Set 5</th>
78-
</tr>
79-
<tr>
80-
<td>TMT126</td>
81-
<td><input type="text" id="set1_126" name="set1_126" class="input-box"></td>
82-
<td><input type="text" id="set2_126" name="set2_126" class="input-box"></td>
83-
<td><input type="text" id="set3_126" name="set3_126" class="input-box"></td>
84-
<td><input type="text" id="set4_126" name="set4_126" class="input-box"></td>
85-
<td><input type="text" id="set5_126" name="set5_126" class="input-box"></td>
86-
</tr>
87-
<tr>
88-
<td>TMT127N</td>
89-
<td><input type="text" id="set1_127N" name="set1_127N" class="input-box"></td>
90-
<td><input type="text" id="set2_127N" name="set2_127N" class="input-box"></td>
91-
<td><input type="text" id="set3_127N" name="set3_127N" class="input-box"></td>
92-
<td><input type="text" id="set4_127N" name="set4_127N" class="input-box"></td>
93-
<td><input type="text" id="set5_127N" name="set5_127N" class="input-box"></td>
94-
</tr>
95-
<tr>
96-
<td>TMT127C</td>
97-
<td><input type="text" id="set1_127C" name="set1_127C" class="input-box"></td>
98-
<td><input type="text" id="set2_127C" name="set2_127C" class="input-box"></td>
99-
<td><input type="text" id="set3_127C" name="set3_127C" class="input-box"></td>
100-
<td><input type="text" id="set4_127C" name="set4_127C" class="input-box"></td>
101-
<td><input type="text" id="set5_127C" name="set5_127C" class="input-box"></td>
102-
</tr>
103-
<tr>
104-
<td>TMT128N</td>
105-
<td><input type="text" id="set1_128N" name="set1_128N" class="input-box"></td>
106-
<td><input type="text" id="set2_128N" name="set2_128N" class="input-box"></td>
107-
<td><input type="text" id="set3_128N" name="set3_128N" class="input-box"></td>
108-
<td><input type="text" id="set4_128N" name="set4_128N" class="input-box"></td>
109-
<td><input type="text" id="set5_128N" name="set5_128N" class="input-box"></td>
110-
</tr>
111-
<tr>
112-
<td>TMT128C</td>
113-
<td><input type="text" id="set1_128C" name="set1_128C" class="input-box"></td>
114-
<td><input type="text" id="set2_128C" name="set2_128C" class="input-box"></td>
115-
<td><input type="text" id="set3_128C" name="set3_128C" class="input-box"></td>
116-
<td><input type="text" id="set4_128C" name="set4_128C" class="input-box"></td>
117-
<td><input type="text" id="set5_128C" name="set5_128C" class="input-box"></td>
118-
</tr>
119-
<tr>
120-
<td>TMT129N</td>
121-
<td><input type="text" id="set1_129N" name="set1_129N" class="input-box"></td>
122-
<td><input type="text" id="set2_129N" name="set2_129N" class="input-box"></td>
123-
<td><input type="text" id="set3_129N" name="set3_129N" class="input-box"></td>
124-
<td><input type="text" id="set4_129N" name="set4_129N" class="input-box"></td>
125-
<td><input type="text" id="set5_129N" name="set5_129N" class="input-box"></td>
126-
</tr>
127-
<tr>
128-
<td>TMT129C</td>
129-
<td><input type="text" id="set1_129C" name="set1_129C" class="input-box"></td>
130-
<td><input type="text" id="set2_129C" name="set2_129C" class="input-box"></td>
131-
<td><input type="text" id="set3_129C" name="set3_129C" class="input-box"></td>
132-
<td><input type="text" id="set4_129C" name="set4_129C" class="input-box"></td>
133-
<td><input type="text" id="set5_129C" name="set5_129C" class="input-box"></td>
134-
</tr>
135-
<tr>
136-
<td>TMT130N</td>
137-
<td><input type="text" id="set1_130N" name="set1_130N" class="input-box"></td>
138-
<td><input type="text" id="set2_130N" name="set2_130N" class="input-box"></td>
139-
<td><input type="text" id="set3_130N" name="set3_130N" class="input-box"></td>
140-
<td><input type="text" id="set4_130N" name="set4_130N" class="input-box"></td>
141-
<td><input type="text" id="set5_130N" name="set5_130N" class="input-box"></td>
142-
</tr>
143-
<tr>
144-
<td>TMT130C</td>
145-
<td><input type="text" id="set1_130C" name="set1_130C" class="input-box"></td>
146-
<td><input type="text" id="set2_130C" name="set2_130C" class="input-box"></td>
147-
<td><input type="text" id="set3_130C" name="set3_130C" class="input-box"></td>
148-
<td><input type="text" id="set4_130C" name="set4_130C" class="input-box"></td>
149-
<td><input type="text" id="set5_130C" name="set5_130C" class="input-box"></td>
150-
</tr>
151-
<tr>
152-
<td>TMT131</td>
153-
<td><input type="text" id="set1_131N" name="set1_131" class="input-box"></td>
154-
<td><input type="text" id="set2_131N" name="set2_131" class="input-box"></td>
155-
<td><input type="text" id="set3_131N" name="set3_131" class="input-box"></td>
156-
<td><input type="text" id="set4_131N" name="set4_131" class="input-box"></td>
157-
<td><input type="text" id="set5_131N" name="set5_131" class="input-box"></td>
158-
</tr>
159-
</table>
160-
<button type="button" onclick="checkAnswers()" class="download-button">Submit</button>
161-
<button type="button" onclick="downloadFiles()" class="download-button">Download Annotation Files</button>
162-
</form>
163-
164-
<p id="feedback"></p>
165-
166-
<script>
167-
// Define correct answers for validation
168-
const correctAnswers = {
169-
set1_126: 'OSL.53E', set2_126: 'OSL.4AF', set3_126: 'OSL.43C', set4_126: 'OSL.43A', set5_126: 'OSL.40A',
170-
set1_127N: 'OSL.567', set2_127N: 'OSL.46E', set3_127N: 'OSL.493', set4_127N: 'OSL.406', set5_127N: 'OSL.40E',
171-
set1_127C: 'OSL.3FF', set2_127C: 'OSL.494', set3_127C: 'OSL.4D9', set4_127C: 'OSL.47C', set5_127C: 'OSL.3FA',
172-
set1_128N: 'OSL.55F', set2_128N: 'OSL.457', set3_128N: 'OSL.56F', set4_128N: 'OSL.524', set5_128N: 'OSL.521',
173-
set1_128C: 'OSL.46A', set2_128C: 'OSL.48B', set3_128C: 'OSL.405', set4_128C: 'OSL.443', set5_128C: 'OSL.46D',
174-
set1_129N: 'OSL.4B0', set2_129N: 'OSL.4B4', set3_129N: 'OSL.49E', set4_129N: 'OSL.458', set5_129N: 'OSL.54D',
175-
set1_129C: 'OSL.4D6', set2_129C: 'OSL.449', set3_129C: 'OSL.441', set4_129C: 'OSL.53D', set5_129C: 'OSL.4BA',
176-
set1_130N: 'OSL.485', set2_130N: 'OSL.44E', set3_130N: 'OSL.430', set4_130N: 'OSL.540', set5_130N: 'OSL.579',
177-
set1_130C: 'OSL.41B', set2_130C: 'OSL.3EB', set3_130C: 'OSL.4FA', set4_130C: 'OSL.42E', set5_130C: 'OSL.57B',
178-
set1_131N: 'Pool', set2_131N: 'Pool', set3_131N: 'Pool', set4_131N: 'Pool', set5_131N: 'Pool'
179-
};
180-
181-
function checkAnswers() {
182-
// Check user answers and highlight input fields
183-
for (const [id, correctAnswer] of Object.entries(correctAnswers)) {
184-
const input = document.getElementById(id);
185-
const userAnswer = input.value.trim();
186-
187-
if (userAnswer === correctAnswer) {
188-
input.style.backgroundColor = 'lightgreen'; // Highlight in green for correct
189-
} else {
190-
input.style.backgroundColor = 'lightcoral'; // Highlight in red for incorrect
191-
}
192-
}
193-
}
194-
195-
function downloadFiles() {
196-
const sets = ['set1', 'set2', 'set3', 'set4', 'set5'];
197-
const tmtLabels = ['126', '127N', '127C', '128N', '128C', '129N', '129C', '130N', '130C', '131N'];
198-
199-
sets.forEach((set) => {
200-
let content = '';
201-
202-
// Iterate over each TMT label
203-
tmtLabels.forEach(label => {
204-
const input = document.getElementById(`${set}_${label}`);
205-
const userAnswer = input ? input.value.trim() : '';
206-
content += `${label}\t${userAnswer}\n`;
207-
});
208-
209-
const blob = new Blob([content], { type: 'text/plain' });
210-
const url = URL.createObjectURL(blob);
211-
const a = document.createElement('a');
212-
a.href = url;
213-
a.download = `${set}_annotation.txt`;
214-
document.body.appendChild(a);
215-
a.click();
216-
document.body.removeChild(a);
217-
URL.revokeObjectURL(url); // Cleanup
218-
});
219-
}
220-
</script>
221-
222-
::: {.question}
223-
What is in TMT131?
224-
:::
225-
226-
227-
::: {.question}
228-
What is the purpose of using this type of sample?
229-
:::
230-
231-
Now that we better understand the workflow of the study and the content of the data, we are ready to move on to the analysis performed by FragPipe in the next section.
18+
{{ <include tmt_questions.qmd> }}

TeachingModule/general_questions.qmd

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
::: {.question}
2+
What are the primary research goals of this study?
3+
:::
4+
5+
::: {.question}
6+
How is the study design structured to achieve the study objective?
7+
:::
8+
9+
::: {.question}
10+
What role does LC-MS/MS play in this study, and why was it chosen as a method?
11+
:::
12+
13+
::: {.question}
14+
What novel insights were gained from the proteogenomic approach used in this study?
15+
:::

TeachingModule/sdrf.qmd

+5
Original file line numberDiff line numberDiff line change
@@ -72,3 +72,8 @@ If you need a grade for this course, submit your SDRF file together with your an
7272
::: {.question}
7373
How would you go about making a full dataset annotation?
7474
:::
75+
76+
::: {.question}
77+
You can try this [Python notebook](https://github.com/hds-sandbox/proteomics-sandbox/blob/webpage/Create%20SDRF.ipynb) as a start for semi-automated creation of the full SDRF table.
78+
What are your thoughts about this approach to data annotation?
79+
:::

TeachingModule/study_intro.qmd

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
For this work, we will use the data that was used and analyzed in the paper *[Breast cancer quantitative proteome and proteogenomic landscape](https://www.nature.com/articles/s41467-019-09018-y)* by Johansson *et al.*, which compares subgroups of breast cancer tumors from the Oslo2 Landscape cohort.
2+
3+
Before delving into the actual analysis of the data in FragPipe, we must initially:
4+
5+
1. Read and understand the study design of the paper.
6+
2. Understand the data being used from the paper.
+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
Before we proceed and download the data available from the paper, we must first delve into some of the details in Supplementary Data.
2+
Your first task is to look through the Supplementary Data and find the annotation relating the tumor types to the isotopic labels used.
3+
4+
::: {.question}
5+
How did you find the required information? Describe the steps you took. How much time did it take?
6+
:::
7+
8+
::: {.callout-note collapse="true"}
9+
#### Hint
10+
If you have not been able to find the annotations, open Supplementary Data 1, and then go to the tab called "Tumor annotations".
11+
:::
12+
13+
To better understand the supplementary data, we have prepared guiding questions to aid in interpreting the table. You can find the supplementary data in the paper [here](https://www.nature.com/articles/s41467-019-09018-y#Sec15).
14+
15+
::: {.question}
16+
Provide a brief description of the content presented in the table.
17+
:::
18+
19+
::: {.question}
20+
What information does the tumor ID represent?
21+
:::
22+
23+
::: {.question}
24+
Briefly describe TMT-labeled mass spectrometry proteomics data and explain the experimental procedure involved.
25+
:::

0 commit comments

Comments
 (0)