Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Instructor notes: Introducing analysis modules #157

Merged
merged 7 commits into from
Apr 29, 2024

Conversation

sjspielman
Copy link
Member

Closes #152

This PR adds instructor notes for the activity where we introduce analysis modules, download data, and run hello-python. I added this to a new nested directory instructor_notes/openscpca along with a brief README file.

Let me know where I can expand, reduce, or rephrase!

@sjspielman sjspielman requested a review from jashapiro April 25, 2024 19:37
Copy link
Member

@jashapiro jashapiro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks like a good start. I had some thoughts on a bit of ordering and some details about the download script. There may also be a few decisions we need to make about how we are really going to present the data.

Finally, a general concern is what happens if connectivity means we can't really use LSfR? I don't know how heavy the bandwidth requirements are, but if it gets really laggy, the experience could kind of suck.

Comment on lines 43 to 44
- Download test data for an opportunity to explain the benefits of developing with test data:
- `./download-data.py --test-data`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is still a healthy download: They should probably include the same flags as below:

./download-data.py --format AnnData --projects SCPCP0000001 --test-data

Note that --include processed should be the default, so they will not need to enter that, but you might introduce it to show what other data there might be. But I would probably not at this point.

Comment on lines +66 to +68
```bash
# The openscpca-hello-python environment should have an asterisk next to it
conda env list
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would show people this sooner: before activating?

Now, run the module:

```bash
cd path/to/analysis/module
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They should already be there when creating the conda environment

instructor_notes/openscpca/introduce-analysis-modules.md Outdated Show resolved Hide resolved
## Activity

Instructors will explain and demonstrate this activity while participants follow along.
We expect that participants will take all steps along with the instructor.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just as a question: which environment are we planning to use here? VSCodium?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, that was my thought (see #160), since we'll be in python land


Now instructors and partipants will all run the module together, following the instructions in its README.

First, make sure we are working in the correct conda environment, if this is not reflected in the terminal directly:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we know what this will look like on LS? My memory is we get bash by default, and the conda default will be to show the environment in the prefix. I think showing conda env list is a good idea still, but just to clarify the expectation for this section of the notes.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My memory is we get bash by default, and the conda default will be to show the environment in the prefix

This is also my memory! I'll point it out here.

- `./download-data.py --test-data`
- Do a _dry run_ of a download:
- `./download-data.py --format AnnData --include processed --projects SCPCP000001 --dryrun`
- Download processed AnnData files from a single project for use with `hello-python`:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might be worth showing that if they run it a second time it won't re-download?

They should also be shown the data folder structure after download: show how the data is versioned by date but linked to current. And that the test data directory can be swapped in by rerunning the test download, or switch back by rerunning without test data... This may get a bit in the weeds, but I think it is handy.

- `./download-data.py --format AnnData --include processed --projects SCPCP000001 --dryrun`
- Download processed AnnData files from a single project for use with `hello-python`:
- `./download-data.py --format AnnData --include processed --projects SCPCP000001`
- Or, if connectivity is an issue, `./download-data.py --format AnnData --include processed --samples SCPCS000001`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Connectivity shouldn't be an issue if we are using LSfR, as everything will be internal to AWS. The only question is whether LSfR is too laggy to use, in which case we will have to switch everything to local work, I guess?

@sjspielman
Copy link
Member Author

Finally, a general concern is what happens if connectivity means we can't really use LSfR? I don't know how heavy the bandwidth requirements are, but if it gets really laggy, the experience could kind of suck.

Noting that it looks like our first iteration of this workshop will be primarily Macs, so this will make our lives here a little smoother!

@sjspielman
Copy link
Member Author

I believe I've gotten all your reviews in, and I've also made some adjustments to account for the possibility of having to run locally (see also #160 and my comments in #155).

@sjspielman sjspielman requested a review from jashapiro April 29, 2024 16:08
Copy link
Member

@jashapiro jashapiro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@sjspielman sjspielman merged commit 3dc9815 into main Apr 29, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

OpenRRP: Instructor notes for introducing analysis modules
2 participants