Skip to content

Commit 8c8b2c0

Browse files
Merge pull request #5 from NIGMS/rs-review
Rs review
2 parents 80b4b6f + bb835b2 commit 8c8b2c0

25 files changed

+395
-408
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.ipynb_checkpoints/

Submodule 0/Submodule_0_Tutorial_1_GithubDownload.ipynb

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,6 @@
99
"--------------------------------------------"
1010
]
1111
},
12-
{
13-
"cell_type": "markdown",
14-
"metadata": {},
15-
"source": []
16-
},
1712
{
1813
"cell_type": "markdown",
1914
"metadata": {},
@@ -120,7 +115,7 @@
120115
"\n",
121116
"Or, perhaps you are going to use more of this module (Introduction to Github and Python for Bioinformatics). \n",
122117
"\n",
123-
"You should click on the link to that module from the list. It will take you to another Github Repository. Of course, the interfaces will also start with the file structure as all Github repositories look the same. These Modules typically contain a Readme.md file that explains the structure & contents of the overall tutorial module. Inside of each Module are folders (\"Submodules\") that contain the lessons in the form of Jupyter Notebooks (next lesson in this list)\n",
118+
"You should click on the link to that module from the list. It will take you to another Github Repository. Of course, the interfaces will also start with the file structure as all Github repositories look the same. These modules typically contain a README.md file that explains the structure & contents of the overall tutorial module. Inside of each module are folders (\"Submodules\") that contain the lessons in the form of Jupyter Notebooks (next lesson in this list)\n",
124119
"\n",
125120
"<div class=\"alert alert-block alert-warning\"> <b>Attention:</b> Please go to that module in another tab on your browser before following the next set of directions</a>. </div>\n"
126121
]
@@ -136,7 +131,7 @@
136131
"<br>\n",
137132
"So, in order to use the contents of any of the learning modules in the Sandbox, you need to copy them to a \"virtual machine\" (like moving to the hard drive of a computer running in GCP, Azure, or AWS). Github is quite prepared for this, in fact, it is one key purpose of the NIGMS using Github as a place for you to collect the materials.\n",
138133
"<br>\n",
139-
"There isn't a normal download button that you can see in a repository. At Github, most of the materials are code that developers want to download. Thus, you will click on the green code button to get the #option# to download or to copy.\n",
134+
"There isn't a normal download button that you can see in a repository. At Github, most of the materials are code that developers want to download. Thus, you will click on the green code button to get the **option** to download or to copy.\n",
140135
"<br>\n",
141136
"![<> CODE button](./images/Code_button.png)\n",
142137
"<br>\n",
@@ -179,7 +174,7 @@
179174
"<br>\n",
180175
"1. Click on the copy button next to the URL.\n",
181176
"2. Go to the Azure terminal\n",
182-
"3. type: git clone *then paste the url you copied*\n",
177+
"3. type: `git clone` then paste the url you copied. \n",
183178
"\n",
184179
"<br>\n",
185180
"The whole set of folders and proper file structure will instantly be in your notebook list.\n"
@@ -193,7 +188,7 @@
193188
"\n",
194189
"## Familiar, inelegant version: Downloading the contents of the repository then uploading\n",
195190
"\n",
196-
"There isn't a normal download button that you can see in a repository. At Github, most of the materials are code that developers want to download. Thus, you will click on the green code button to get the #option# to download or to copy.\n",
191+
"There isn't a normal download button that you can see in a repository. At Github, most of the materials are code that developers want to download. Thus, you will click on the green code button to get the **option** to download or to copy.\n",
197192
"<br>\n",
198193
"![<> CODE button](./images/Code_button.png)\n",
199194
"\n",
@@ -205,7 +200,7 @@
205200
"\n",
206201
"# \"Unzipping\" your folder\n",
207202
"\n",
208-
"The folder of materials does not download in a ready-to-use format. It is compressed (\"zipped\") so it needs to be extracted| into its full form before you upload it to use as a tutorial.\n",
203+
"The folder of materials does not download in a ready-to-use format. It is compressed (\"zipped\") so it needs to be extracted into its full form before you upload it to use as a tutorial.\n",
209204
"\n",
210205
"**To unzip a file on Windows:**\n",
211206
"\n",
@@ -217,7 +212,7 @@
217212
"![Unzip](./images/extractAll.png)\n",
218213
"\n",
219214
"<br>\n",
220-
"4. Choose the destination folder where you want to extract the folder. (it is fine to extract them in the same folder the file is already)\n",
215+
"4. Choose the destination folder where you want to extract the folder (it is fine to extract them in the same folder the file is already).\n",
221216
"5. Click \"Extract\" to start the unzipping process. \n",
222217
"\n",
223218
"<br>\n",
@@ -260,9 +255,9 @@
260255
],
261256
"metadata": {
262257
"kernelspec": {
263-
"display_name": "conda_python3",
258+
"display_name": "Python 3 (ipykernel)",
264259
"language": "python",
265-
"name": "conda_python3"
260+
"name": "python3"
266261
},
267262
"language_info": {
268263
"codemirror_mode": {
@@ -274,7 +269,7 @@
274269
"name": "python",
275270
"nbconvert_exporter": "python",
276271
"pygments_lexer": "ipython3",
277-
"version": "3.10.16"
272+
"version": "3.12.9"
278273
}
279274
},
280275
"nbformat": 4,

Submodule 0/Submodule_0_Tutorial_2_JupyterNotebooks.ipynb

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
"\n",
5252
"**What is a Jupyter Notebook?**\n",
5353
"\n",
54-
"It is a tool that lets you <u>write text</u> and <u>run computer code</u> (typically R or Python) all mixed into a single file, making it easy to see and understand. That is, Instead of just writing programming code in one tool and the descriptions or explanations in another file or a textbook, it blends them together sequentially.\n",
54+
"It is a tool that lets you **write text** and **run computer code** (typically R or Python) all mixed into a single file, making it easy to see and understand. That is, Instead of just writing programming code in one tool and the descriptions or explanations in another file or a textbook, it blends them together sequentially.\n",
5555
"<br>\n",
5656
"Also, Jupyter lets you type that computing code into boxes (called \"cells\") and run each part separately. \n",
5757
"<br>\n",
@@ -84,17 +84,19 @@
8484
"![image.png](attachment:90fea28a-e4ae-4a89-a13a-280dbd0819fb.png)\n",
8585
"\n",
8686
"<br>\n",
87-
"The top line is clearly text-based (the tool for that in Jupyter is called \"Markdown\")\n",
87+
"The top line is text-based (the tool for that in Jupyter is called \"Markdown\")\n",
8888
"\n",
8989
"The next cell below is a **code cell** that has in it: \n",
90+
"```\n",
9091
"#this is a code cell\n",
9192
"print(\"This is the output from a code cell\")\n",
92-
"<br>\n",
93-
"Finally, the bottom material is not in a cell but is the output (This is the output from a code cell)\n",
94-
"<br>\n",
95-
"The kind of code it is able to run is **Python**. If you look at the top right, you can see that this Jupyter Notebook is running Python 3 (Python language version 3) in the code cells. \n",
93+
"```\n",
94+
"Below this cell, the output redered by running the cell can be found. \n",
95+
"\n",
96+
"The code cells are able to run Python code. If you look at the top right, you can see that this Jupyter Notebook is running Python 3 (Python language version 3) in the code cells. \n",
9697
"\n",
9798
"In the above image the code in the cells has already been run (Markdown is also a kind of code that renders the text in some format, so we \"run\" that too) Take a look at the same notebook before the two cells were executed:\n",
99+
"\n",
98100
"![image.png](attachment:cc6d0953-136b-4038-a6fb-0992b25aec95.png)\n",
99101
"\n"
100102
]
@@ -107,7 +109,7 @@
107109
"\n",
108110
"Jupyter Notebooks are useful because:\n",
109111
"\n",
110-
"1. They are easy to Use – You don’t need to run an entire program at once. You can run small pieces of code step by step, see what happens, and fix mistakes as you go.\n",
112+
"1. They are easy to use – You don’t need to run an entire program at once. You can run small pieces of code step by step, see what happens, and fix mistakes as you go.\n",
111113
"2. You can take notes while you code – Instead of keeping your notes in a separate document, you can write explanations right next to your code to make it easier to understand later. In this module, it means that notes can be given to you to describe the code.\n",
112114
"3. They help you to see your results clearly & immediately – If your code creates a table, chart, or graph, Jupyter Notebook will show it right inside the document.\n",
113115
"4. It's great for learning and sharing – You can save your notebook and send it to someone else so they can see your work and try it themselves.\n",
@@ -133,7 +135,7 @@
133135
"cell_type": "markdown",
134136
"metadata": {},
135137
"source": [
136-
"To <u>run</u> a single code cell in Azure:\n",
138+
"To **run** a single code cell in Azure:\n",
137139
"\n",
138140
"- Click inside the cell to select it.\n",
139141
"- Click the Run button (right-pointing triangle for 'play' in the toolbar)\n",
@@ -186,7 +188,7 @@
186188
"source": [
187189
"# Viewing a Jupyter Notebook in Azure\n",
188190
"\n",
189-
"To use a notebook, you'll need to OPEN a notebook. In Azure, after you've loaded in some notebooks, you need to open the folder, then double click on a notebook so it will open. IN the image below, the arrow shows where you can find the list of notebooks. Circled is the button to expand the notebook & shrink the file structure. \n",
191+
"To use a notebook, you'll need to OPEN a notebook. In Azure, after you've loaded in some notebooks, you need to open the folder, then double click on a notebook so it will open. In the image below, the arrow shows where you can find the list of notebooks. Circled is the button to expand the notebook & shrink the file structure. \n",
190192
"\n",
191193
"![opening_notebook.png](./images/opening_notebook.png)"
192194
]
@@ -220,7 +222,7 @@
220222
"\n",
221223
"# Adding code or markdown boxes\n",
222224
"\n",
223-
"You can create a code box or a text (Markdown) box very easily.\n",
225+
"You can create a code box or a text (markdown) box very easily.\n",
224226
"<br>\n",
225227
"In Azure, to add another box hover over the space above the left side of a current box, and the following options will appear:\n",
226228
"\n",
@@ -247,13 +249,6 @@
247249
"## Clean up\n",
248250
" In the main tutorials, you'll be reminded here to \"shut down your compute instance.\" Check out the Azure tutorial for more explaination."
249251
]
250-
},
251-
{
252-
"cell_type": "code",
253-
"execution_count": null,
254-
"metadata": {},
255-
"outputs": [],
256-
"source": []
257252
}
258253
],
259254
"metadata": {
@@ -272,7 +267,7 @@
272267
"name": "python",
273268
"nbconvert_exporter": "python",
274269
"pygments_lexer": "ipython3",
275-
"version": "3.12.4"
270+
"version": "3.12.9"
276271
}
277272
},
278273
"nbformat": 4,

Submodule 0/Submodule_0_Tutorial_3_AzureML.ipynb

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"metadata": {},
1515
"source": [
1616
"## Overview\n",
17-
"This tutorial is intended to get you started on Azure ML with a \"compute instance.\"\n",
17+
"This tutorial is intended to get you started on Azure ML with a **compute instance.**\n",
1818
"\n",
1919
"The process is not (novice) user-friendly *the first time.* You will have to set up a few things (accounts, subscriptions, workspaces) but these will be your defaults after the first time. It will thus be really easy to go back to or to use AzureML for other cloud computing modules provided at the NIGMS Sandbox. \n",
2020
"\n",
@@ -94,7 +94,7 @@
9494
"Cost Details:\n",
9595
"- Azure will provide the first $200 worth of charges, which is an enormous amount of computing if you are just learning and running notebooks\n",
9696
"- The cost is low (~ 15cents/hour for the smallest virtual computer)\n",
97-
"- You will need a credit card, so they could charge you for use of computingafter the trial period has expired.\n",
97+
"- You will need a credit card, so they could charge you for use of computing after the trial period has expired.\n",
9898
"\n",
9999
"### To create the subscription\n",
100100
"To create an Azure Machine Learning (AzureML) subscription where you can run the Jupyter Notebook tutorials, you need to first create a regular Azure subscription if you don't already have one. \n",
@@ -117,9 +117,7 @@
117117
"|**Student (Azure for Students)**| **Free $100 credit (no credit card needed) +free services**|**Verified students (with .edu email)**|\n",
118118
"|NIH Subscription|For CloudLab|See below|\n",
119119
"\n",
120-
"4. Provide a credit card for billing that subscription, if applicable\n",
121-
"\n",
122-
"-------------------------------------------------------------------------------------"
120+
"4. Provide a credit card for billing that subscription, if applicable.\n"
123121
]
124122
},
125123
{
@@ -148,7 +146,7 @@
148146
"source": [
149147
"# Step 3: Create a workspace\n",
150148
"\n",
151-
"AzureML requires that you do all of your cloud computing in a \"workspace. They imagine that you might have several distinct projects. You *can* run all of your NIH tutorials in a single workspace.\n",
149+
"AzureML requires that you do all of your cloud computing in a workspace. They imagine that you might have several distinct projects. You *can* run all of your NIH tutorials in a single workspace.\n",
152150
"\n",
153151
"To create your workspace, select this button from the home screen of a different part of Azure: [Azure ML](https://ml.azure.com/)\n",
154152
"\n",
@@ -200,7 +198,7 @@
200198
"source": [
201199
"## Step 4: Open a Jupyter notebook\n",
202200
"\n",
203-
"In Azure, after you've loaded in some notebooks, you need to open the folder, then double click on a notebook so it will open. IN the image below, the arrow shows where you can find the list of notebooks. Circled is the button to expand the notebook & shrink the file structure. \n",
201+
"In Azure, after you've loaded in some notebooks, you need to open the folder, then double click on a notebook so it will open. In the image below, the arrow shows where you can find the list of notebooks. Circled is the button to expand the notebook & shrink the file structure. \n",
204202
"\n",
205203
"![opening_notebook.png](./images/opening_notebook.png)\n",
206204
"\n",
@@ -277,8 +275,7 @@
277275
"metadata": {},
278276
"source": [
279277
"## Clean up\n",
280-
"<div class=\"alert alert-block alert-warning\"> <b>Attention:</b> To avoid unnecessary charges, please STOP your compute instance if you started one</a>. </div>\n",
281-
"(you did not NEED a compute instance to run anything on this page)"
278+
"<div class=\"alert alert-block alert-warning\"> <b>Attention:</b> To avoid unnecessary charges, please STOP your compute instance if you started one</a>. </div>\n"
282279
]
283280
}
284281
],
@@ -298,7 +295,7 @@
298295
"name": "python",
299296
"nbconvert_exporter": "python",
300297
"pygments_lexer": "ipython3",
301-
"version": "3.12.4"
298+
"version": "3.12.9"
302299
}
303300
},
304301
"nbformat": 4,

Submodule 0/Submodule_0_Tutorial_3b_AzureML_CloudLab.ipynb

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
"source": [
4949
"# Step 2: Using Azure\n",
5050
"\n",
51-
"You should be able to return to the [AzureML module](Submodule_0_Tutoral_3_AzureML.ipynb), starting at step 3, to make a workspace and use your <u>NIH subscription.</u> The latter is what is paying for your cloud *computing* so you must have a subsription to select. \n"
51+
"You should be able to return to the [AzureML module](Submodule_0_Tutoral_3_AzureML.ipynb), starting at step 3, to make a workspace and use your NIH subscription. The latter is what is paying for your cloud computing so you must have a subsription to select. \n"
5252
]
5353
},
5454
{
@@ -57,8 +57,16 @@
5757
"metadata": {},
5858
"source": [
5959
"# Conclusion\n",
60-
"This mini-tutorial was designed to direct you to the NIH CloudLab information. You do not have to use CloudLab; you can use pay-as-you-go on Azure and other Cloud Computing platforms. Regardless of what tool you use, be sure to **always turn off the computer (\"compute instance\")** when you leave. Even tens-of-cents an hour can add up if you forget it's running."
60+
"This mini-tutorial was designed to direct you to the NIH CloudLab information. You do not have to use CloudLab; you can use pay-as-you-go on Azure and other cloud Ccmputing platforms. Regardless of what tool you use, be sure to **always turn off the computer (\"compute instance\")** when you leave. Even tens-of-cents an hour can add up if you forget it's running."
6161
]
62+
},
63+
{
64+
"cell_type": "code",
65+
"execution_count": null,
66+
"id": "c3a43538-9d16-47b0-9bbb-855675d125cb",
67+
"metadata": {},
68+
"outputs": [],
69+
"source": []
6270
}
6371
],
6472
"metadata": {
@@ -77,7 +85,7 @@
7785
"name": "python",
7886
"nbconvert_exporter": "python",
7987
"pygments_lexer": "ipython3",
80-
"version": "3.12.4"
88+
"version": "3.12.9"
8189
}
8290
},
8391
"nbformat": 4,

Submodule 0/Submodule_0_Tutorial_4_GitHub4You.md

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,6 @@ By the end of this lesson, you will be able to:
3333
## Prerequisites
3434
None
3535

36-
-------------------------------------------
37-
3836
# FAIR Data principles
3937

4038
You may already have seen that the NIH requires researchers to share their data in ways that make it FAIR to maximize its value. Ensuring data is well-documented, openly available, and in standardized formats not only enhances transparency and collaboration but also aligns with NIH’s commitment to advancing scientific discovery.
@@ -119,9 +117,9 @@ Before you can start using GitHub for your materials, you need to create an acco
119117
To get started, you need to sign up for a free GitHub account. This will give you access to your own profile, repositories, and collaboration tools. Follow the steps below to create your GitHub account.
120118

121119
- Go to GitHub's website
122-
- Click on Sign up in the top-right corner.
120+
- Click on 'Sign up' in the top-right corner.
123121
- Enter your email address, username, and password.
124-
- Click Create an account and follow the instructions.
122+
- Click 'Create an account' and follow the instructions.
125123
- GitHub will send a verification email. Click the link in the email to verify your account.
126124

127125
<p align="center">
@@ -156,12 +154,11 @@ A repository (A "repo") is like a folder where you store your research data and
156154

157155
### Instructions
158156
1. Open GitHub Desktop and click “File” → “New Repository”.
159-
160157
![NewRepository](./images/github_new_repository.png)
161158
2. Give your repository a name (e.g., "Climate_Data_Study_2024").
162159
3. Choose a location **on your computer** where the repository will be stored.
163-
4. Select Private (if you are using it for your lab group). You can name "collaborators" later (students, postdocs, etc)
164-
5. Check “Initialize this repository with a README” (important for documenting your dataset). This is the appropriate spot to include summary information about this particular repository's purpose
160+
4. Select 'Private' (if you are using it for your lab group). You can name **collaborators** later (students, postdocs, etc).
161+
5. Check “Initialize this repository with a README” (important for documenting your dataset). This is the appropriate spot to include summary information about this particular repository's purpose.
165162
6. Click Create Repository.
166163

167164
<p align="center">
@@ -201,8 +198,8 @@ Once your repository is set up, you can start adding data files like Excel, CSV,
201198

202199
![CommitMessage](./images/commit_msg.png)
203200

204-
5. Click the bottom "Commit to _____" button (this saves the version to your local repository).
205-
6. Click Push to Origin (this uploads your data to GitHub.com).
201+
5. Click the bottom 'Commit to _____' button (this saves the version to your local repository).
202+
6. Click 'Push to Origin' (this uploads your data to GitHub.com).
206203
![PushImage](./images/push_origin.png)
207204

208205

@@ -227,7 +224,7 @@ Using GitHub Desktop, you can track protocol changes alongside your datasets.
227224
2. Edit or add a new protocol document (e.g., data_collection_protocol_v2.docx).
228225
3. Open GitHub Desktop, and you’ll see the updated file.
229226
4. Write a commit message (e.g., "Updated protocol to include new sensor calibration process") as above for data
230-
5. Click Commit to main, then Push to Origin.
227+
5. Click 'Commit' to main, then 'Push to Origin'.
231228

232229
Now, every protocol update is documented and timestamped, ensuring full transparency.
233230

0 commit comments

Comments
 (0)