Split documentation into Tutorials, Examples and Pitfalls
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 8
- Forks
- 0
- Avg merge
- 12h 39m
- Merged PRs (30d)
- 20
Description
Problem
The documentation is a single flat list of 13 numbered pages that mix three different kinds of
content: end-to-end analyses, single-function demonstrations, and method notes about statistical
pitfalls. Titles overlap (03 Trustworthy profiles against 08 Trustworthy features and design;
05 Hits and effects against 10 Differential features), tl.map is introduced twice, and two
pages are unnumbered.
Reasoning
The three kinds of content have different readers and different standards. An end-to-end analysis
should run on a real screen and be dense with figures. A single-function page should be short and may
use synthetic data. A method note — why sphering costs 70% of BBBC021 MOA retrieval, why modz loses
to the median, why a 4PL fits pure noise 59 times in 60 — is prose-heavy by nature and does not
belong inside an onboarding path.
Mixed together, the third kind smothers the first. The pitfall material is the strongest content in
the repository and is currently buried mid-page in tutorials a new user is expected to read in order.
Squidpy's split is the closest ecosystem precedent: Tutorials are end-to-end and dataset-driven,
Examples are one function each.
Proposed fix
Three sections:
docs/tutorials/ end-to-end, real data 7 pages
docs/examples/ one function, synthetic OK ~18 pages
docs/pitfalls/ method notes, markdown ~8 pages
Target tutorials:
| # | Title | Dataset |
|---|---|---|
| 1 | Reading a screen: CellProfiler to AnnData | real CellProfiler export |
| 2 | From cells to well profiles | real single-cell screen |
| 3 | The images behind the profiles | real gallery plate |
| 4 | Batch correction, and whether it helped | rohban or jump_target2 |
| 5 | Calling hits in a compound screen | pki or rohban |
| 6 | Mechanism of action on BBBC021 | bbbc021 |
| 7 | Across laboratories: JUMP at two sites | jump_target2 |
Migration map — nothing is deleted, every page splits:
| Current page | Tutorial | Examples | Pitfalls |
|---|---|---|---|
00_overview |
landing quickstart | — | — |
01_from_cellprofiler_to_anndata |
T1 | feature-name parsing | — |
reading_profiles |
fold into T1 | — | — |
reading_plates |
T3 | — | — |
02_from_cells_to_profiles |
T2 | image_qc, well_qc, aggregate |
— |
03_trustworthy_profiles |
— | one page per selection operation, outliers |
degenerate features after mad_robustize |
04_correcting_and_evaluating |
T4 | correct_plate_position, regress_out, sphere, evaluate_correction |
when sphering hurts |
05_hits_and_effects |
T5 | hit_calling, effect_size, consensus, dose_response |
modz vs median; 4PL fits noise |
06_mechanism_of_action |
T6 | enrich, nn_moa_classify |
— |
07_single_cell_heterogeneity |
T2 | cluster_composition, subpopulation_hits, cell_cycle_phase |
aggregate late |
08_trustworthy_features_and_design |
— | replicate_saturation, feature_reproducibility |
ICC selects for reproducibility, not transfer; cytotoxicity confound |
09_scaling_and_sites |
T7 | reading in backed mode | — |
10_differential_features |
— | differential_features |
unit of randomization; p-value floor of a rank test |
Steps:
- Create the three directories and their index pages
- Move and split the existing notebooks per the map
- Renumber tutorials, remove the unnumbered orphans
- Update every inter-page link, including those in
README.mdanddocs/api.md - Add the three sections to the toctree in
docs/index.md - Demonstrate the low-replication warning
tl.hit_callingraises (added in #62) on the page that covers hit calling. Nothing currently shows it, so a user whose screen trips it sees a message pointing attl.mapwith no worked example of why one or two wells per group cannot be tested. JUMP-Target-2 read as a single plate is the shortest illustration: every compound has one well, and the same plate map across its twelve plates gives a median of twelve. Capture the warning withcatch_warningsand print it, sincenb_output_stderrisremoveand it would otherwise be invisible on the rendered page (#42).
Depends on #44. This touches every notebook, so the content-rule issues
that follow it should be worked one notebook per agent to avoid conflicts.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the migration map and dependency #44, then inspect the existing pages and notebooks named there. Update docs/index.md, README.md, and docs/api.md while creating the three section indexes; done means every page is migrated, tutorials are renumbered, links and the toctree work, and the #62 warning example is visible.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- jupyter-notebook, python
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 30/100