I come from biology.
Keep a biological question in view while you learn to work with data.
- Start with either Python or R and basic file handling.
- Learn sample metadata and experimental design.
- Try a small structure or RNA-seq project.
diff --git a/.DS_Store b/.DS_Store
deleted file mode 100644
index 183399f..0000000
Binary files a/.DS_Store and /dev/null differ
diff --git a/.github/workflows/links.yml b/.github/workflows/links.yml
new file mode 100644
index 0000000..a59e09e
--- /dev/null
+++ b/.github/workflows/links.yml
@@ -0,0 +1,23 @@
+name: Review resource links
+
+on:
+ schedule:
+ - cron: '20 7 * * 1'
+ workflow_dispatch:
+
+permissions:
+ contents: read
+
+jobs:
+ links:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v6
+ with:
+ sparse-checkout: |
+ content
+ scripts
+ - uses: actions/setup-python@v6
+ with:
+ python-version: '3.12'
+ - run: python3 scripts/check_links.py
diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml
new file mode 100644
index 0000000..a3c31db
--- /dev/null
+++ b/.github/workflows/pages.yml
@@ -0,0 +1,56 @@
+name: Build and publish field guide
+
+on:
+ push:
+ branches: [main]
+ pull_request:
+ workflow_dispatch:
+
+permissions:
+ contents: read
+
+concurrency:
+ group: field-guide-${{ github.ref }}
+ cancel-in-progress: true
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v6
+ with:
+ sparse-checkout: |
+ content
+ scripts
+ site
+ guides
+ projects
+ - uses: actions/setup-python@v6
+ with:
+ python-version: '3.12'
+ - name: Build and check generated documentation
+ run: python3 scripts/build.py --check
+ - name: Validate catalog, site links, and teaching computation
+ run: python3 scripts/check.py
+ - name: Check browser script syntax
+ run: |
+ node --check site/assets/theme.js
+ node --check site/assets/app.js
+ - uses: actions/upload-pages-artifact@v4
+ with:
+ path: _site
+ deploy:
+ if: github.event_name != 'pull_request' && github.ref == 'refs/heads/main'
+ needs: build
+ runs-on: ubuntu-latest
+ permissions:
+ pages: write
+ id-token: write
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ steps:
+ - uses: actions/configure-pages@v5
+ - name: Deploy field guide
+ id: deployment
+ uses: actions/deploy-pages@v4
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..832fb73
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,11 @@
+.DS_Store
+__pycache__/
+*.py[cod]
+_site/
+.venv/
+.cache/
+projects/*/results/
+projects/*/data/
+projects/workflow-basics/work/
+projects/workflow-basics/.nextflow*
+projects/workflow-basics/.snakemake/
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..f39bc57
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,39 @@
+# Help improve the field guide
+
+Thank you for sharing resources, corrections, and practical examples. A small, well-explained contribution is useful.
+
+## Suggest a resource
+
+Open an issue or pull request with:
+
+- The topic and intended learner.
+- An author, maintainer, or publisher link.
+- Prerequisites, format, language, and access or compute requirements.
+- One or two sentences explaining what the learner can do afterward.
+- Any important version assumptions or limitations.
+
+Prefer a few complementary resources to many overlapping links. Arabic resources and accessible specialist introductions are welcome. Link to books at their author or publisher rather than uploading additional copies. Respect the source's attribution and reuse terms.
+
+## Update the shared content
+
+`content/catalog.json` is the source for the five learning paths, annotated resources, and project overviews. Every topic contains prerequisites, concepts, an outcome, a practice activity, interpretation guidance, and resource IDs.
+
+1. Edit the catalog, or the relevant project code and instructions.
+2. Run `python3 scripts/build.py` from the repository root.
+3. Run `python3 scripts/check.py` and inspect the local website.
+4. For changed URLs, run `python3 scripts/check_links.py` and manually review warnings.
+5. Commit the regenerated `README.md` and `guides/*.md` with the source change.
+
+Do not edit generated topic pages directly: their first line identifies the generator. `guides/start-here.md` and project READMEs are maintained manually; update their corresponding website copy in `scripts/build.py` if changing the introductory wording or setup presentation. Project overview fields shared with the website belong in the catalog.
+
+The collection review date describes a deliberate editorial review of the collection. Do not advance it automatically when checking links or modifying one item. State any scientific examples you could not execute in `VALIDATION.md`.
+
+## Website changes
+
+The site uses Python's standard library to generate static HTML, plus plain CSS and JavaScript. It has no analytics, backend, external fonts, or account requirement. Keep local links relative so GitHub project-site paths work. Read [site/README.md](site/README.md) for preview and publishing.
+
+Verify light and dark themes, keyboard navigation, mobile navigation, search/filter combinations, no-result feedback, and a representative topic page. Honor reduced-motion preferences. Do not add inaccessible contrast or large decorative assets that slow down basic reading.
+
+## Scientific examples
+
+Use small public or synthetic datasets. State the question, data provenance, experimental units, software requirements, expected outputs, and limitations. Record environment versions and make verification possible. A plausible plot or a successful model run is not by itself scientific validation.
diff --git a/Programming/.DS_Store b/Programming/.DS_Store
deleted file mode 100644
index c07ac1b..0000000
Binary files a/Programming/.DS_Store and /dev/null differ
diff --git a/README.md b/README.md
index 1d9b3fb..c60951f 100644
--- a/README.md
+++ b/README.md
@@ -1,83 +1,61 @@
+
+
# Bioinformatics Resources
-This repo is dedicated to make bioinformatics resources available for anyone who wish to enter this field. (You may find it useful or not useful based on your level). I am not an expert in the field, just posting things based on my knowledge and the things which worked for me personally, they may/may not work with you, totally fine.
-
-| Header | Value |
-|---|:---|
-| Author | Ahmed Sameh |
-| Mail | sameh7831@gmail.com |
-| Education | BSc in Biotechnology/Biomolecular Chemistry, Faculty of Science, Cairo University. |
-
-**Table of Contents:**
-- [Road-Map](#Road-Map)
-- [Structural Bioinformatics Resources](#structural-bioinformatics)
- - [Pre-requisites](#pre-requistes)
- - [Resources](#resources)
- - [Extra Notes](#extra-notes)
-- [HTS/Omics Data Analysis Resources](#high-throughput-sequencing-hts-and-omics)
- - [Pre-requisites](#pre-requistes-1)
- - [Resources](#resources-1)
- - [Extra Notes](#extra-notes-1)
-- [Community and Support](#)
-
-
-# Road-Map
-In order to embark your journey in bioinformatics, you need to ask decide which branch of bioinformatics you are interested in the most? Up-to my very little knowledge, there are 2 main branches which are:
-1. Structural Bioinformatics which deals with the structure of biomolecules and structural data, whether they are proteins, nucleic acids, or in-oragnic molecules. This branch requires a background mainly related to thermodynamics and biophysics.
-2. The second branch is more concerned with High-throughput sequencing (HTS) and omics data (as genomics and transcriptomics) and the analysis of it's data.
-Below are road-maps and resources for both direction whether you decided to start either of them.
-
-## Structural Bioinformatics:
-### Pre-requistes:
-- Programming skills.
-- Thermodynamics background.
-- Structural biology background.
-- Mathematics background.
-- Machine-Learning background.
-
-### Resources
-| ```Skill``` | ```Resources``` | ```ETA to study``` | ```Extra Notes``` |
-|---|---|---|---|
-| **Programming Skills** | 1- [Bioinformatics sepcilization on coursera](https://www.coursera.org/learn/bioinformatics)
2- [Code Academy course](https://try.codecademy.com/learn-python-3?g_network=g&g_productchannel=&g_adid=528849219298&g_locinterest=&g_keyword=codecademy%20python&g_acctid=243-039-7011&g_adtype=&g_keywordid=kwd-295813001496&g_ifcreative=&g_campaign=account&g_locphysical=9112367&g_adgroupid=128133970308&g_productid=&g_source={sourceid}&g_merchantid=&g_placement=&g_partition=&g_campaignid=1726903838&g_ifproduct=&utm_id=t_kwd-295813001496:ag_128133970308:cp_1726903838:n_g:d_c&utm_source=google&utm_medium=paid-search&utm_term=codecademy%20python&utm_campaign=INTL_Brand_Exact&utm_content=528849219298&g_adtype=search&g_acctid=243-039-7011&gclid=CjwKCAiA-bmsBhAGEiwAoaQNmkvUEs5k3Txr_0C9Bh997QBgD_XcBKY9HJjJByXMDI-orn45F4njARoCFVgQAvD_BwE)
3- [Python official website](https://www.learnpython.org/)
4- [Elzero channel on youtube and website](https://elzero.org/category/courses/mastering-python/)
- [Python specialization on Coursera](https://www.coursera.org/specializations/python)
5- [Linux course on Future Learn](https://www.futurelearn.com/courses/linux-for-bioinformatics)
6- [Introduction to R for Biologists](https://melbournebioinformatics.github.io/r-intro-biologists/intro_r_biologists.html)
7- [R for Biologists](https://www.rforbiologists.org/) | 2-3 months | - Do not push yourself, it is totally fine if you are starting your journey. The journey demands time and patience.
- The first 4 resources are for python, it is recommended that you start with python as it is the most used programming language and that it is very easy to begin with.
- Make sure that you do lots of exercised and practices as this is the most important aspect in programming in general. The more you practice, the more you master it and become more fluent.
- The linux course can be started after the python one, to avoid overlapping.
- Consider letting R as a lower priority (you may not use throughout your work in structural bioinformatics). R mostly here used for data analysis and visualization. |
-| **Thermodynamics and Structural Biology Background** | 1- [Text books found here in that folder](https://github.com/Ahhmedsamehh/Bioinformatics_resources/tree/main/Thermodynamics)
2- [This repo is amazing for both thermodynamics and structural biology](https://github.com/carlocamilloni/Structural-Bioinformatics) | 2 Months | - This step is critical, you may find these resources not useful for you. If so, you can share it here with me and I will merge the pull request and I will accept it.
- My advice here is to enjoy that really, it is pure science and it is you laying the base for all of the future skills to follow. |
-| **Mathematics Background** | 1- [Linear Algebra course on Coursera](https://www.coursera.org/learnlinear-algebra-machine-learning)
2- [Linear Algebra course on Khan Academy](https://www.khanacademy.org/math/linear-algebra)
3- [Multivariate Calculus course on Coursera](https://www.coursera.org/learn/machine-learning-calculus?specialization=mathematics-for-machine-learning-and-data-science)
4- [Differential Calculus course on Khan Academy](https://www.khanacademy.org/math/differential-calculus)
5- [Linear Algebra lecture](https://www.youtube.com/watch?v=QVKj3LADCnA&list=PL49CF3715CB9EF31D) | 1 Month for Linear Algebra and 1 Month for Calculus | - I really recommend starting Linear Algebra before Calculus as it may pave the way for some concepts that you are going to need in Calculus (Matrix transformation, inverse matrix,...) |
-| **Machine Learning Background** | 1- [Machine Learning specialization on Coursera](https://www.coursera.org/specializations/machine-learning-introduction?)
2- [Machine Learning Specialization](https://www.youtube.com/playlist?list=PLkDaE6sCZn6FNC6YRfRQc_FbeQrF8BwGI) | 1-2 Months | - You can start this after finishing Mathematics.
- Andrew NG is considered the most famous and the best one to explain Machine Learning in the world. |
-
-### Extra Notes:
-- Do not rush and give the process time. I recommend that you start learning in the same order of the above table, but at the end do what you see best for you!
-- Practice makes perfect, make sure that the most important thing is to continuosly practice.
-- Also, do not be shy to ask those who have experience about career advices, things you do not understand, or even an general inquiry. It is totally fine if they did not reply, be brave.
-
-## High-throughput sequencing (HTS) and Omics:
-
-### Pre-requistes:
-- Programming Skills.
-- Biology Background.
- - Genomics.
- - Transcriptomics.
- - Proteomics.
- - Metabolomics.
-- Statistics.
-- Mathematics Background.
-- Machine Learning Background.
-
-### Resources
-| ```Skill``` | ```Resources``` | ```ETA to study``` | ```Extra Notes``` |
-|---|---|---|---|
-| **Programming Skills** | 1- [Bioinformatics sepcilization on coursera](https://www.coursera.org/learn/bioinformatics)
2- [Code Academy course](https://try.codecademy.com/learn-python-3?g_network=g&g_productchannel=&g_adid=528849219298&g_locinterest=&g_keyword=codecademy%20python&g_acctid=243-039-7011&g_adtype=&g_keywordid=kwd-295813001496&g_ifcreative=&g_campaign=account&g_locphysical=9112367&g_adgroupid=128133970308&g_productid=&g_source={sourceid}&g_merchantid=&g_placement=&g_partition=&g_campaignid=1726903838&g_ifproduct=&utm_id=t_kwd-295813001496:ag_128133970308:cp_1726903838:n_g:d_c&utm_source=google&utm_medium=paid-search&utm_term=codecademy%20python&utm_campaign=INTL_Brand_Exact&utm_content=528849219298&g_adtype=search&g_acctid=243-039-7011&gclid=CjwKCAiA-bmsBhAGEiwAoaQNmkvUEs5k3Txr_0C9Bh997QBgD_XcBKY9HJjJByXMDI-orn45F4njARoCFVgQAvD_BwE)
3- [Python official website](https://www.learnpython.org/)
4- [Elzero channel on youtube and website](https://elzero.org/category/courses/mastering-python/)
- [Python specialization on Coursera](https://www.coursera.org/specializations/python)
5- [Linux course on Future Learn](https://www.futurelearn.com/courses/linux-for-bioinformatics)
6- [Introduction to R for Biologists](https://melbournebioinformatics.github.io/r-intro-biologists/intro_r_biologists.html)
7- [R for Biologists](https://www.rforbiologists.org/) | 2-3 months | - These are the same resources as the [Structural Bioinformatics](#structural-bioinformatics) part, but here I would recommend to start learning R instead of python as it is by far more used than Python.
- After R, you can start with linux.
- Python here is the least priority. You may not even have to use it, but I have to say that the future is with Python as Python is really catching-up in terms of a better visualization, so your call :). |
-| **Genomics** | 1- [Khan Academy's Genomics and DNA Sequencing course](https://www.genome.gov/genetics-glossary/)
2- [National Human Genome Research Institute's Learn Genetics website](https://www.ncbi.nlm.nih.gov/books/n/crc9781003109242/chapter11/)
3-[Coursera's Introduction to Genomic Technologies Specialization](https://www.coursera.org/learn/introduction-genomics)
4- [Bioinformatics for Biologists: Analysing and Interpreting Genomics Datasets - FutureLearn](https://www.futurelearn.com/courses/bioinformatics-for-biologists-analysing-and-interpreting-genomics-datasets) | 2-3 Weeks | - Try as much to understand the theory behind each technology to be more aware of each step.
- Another point that may help is to read also papers that takes the same subject and see how they did the experiment and interpreted the data. |
-| **Transcriptomics** | 1- [edX's Introduction to Genomics and Transcriptomics course](https://www.edx.org/learn/bioinformatics/the-university-of-california-san-diego-introduction-to-genomic-data-science)
2- [DIY Transcriptomics site](https://diytranscriptomics.com/)
3-[Class Central Course](https://www.classcentral.com/course/youtube-transcriptomics-102691) | 2-3 weeks | - Same notes as the previous |
-| **Proteomics** | 1- [Nature Education's Introduction to Proteomics course](https://www.nature.com/articles/nbt.1658)
2- [The Human Proteome Organization (HUPO) Education Committee](https://hupo.org/page-1757455)
3- [Udemy's The Complete Proteomics Masterclass](https://www.udemy.com/course/bioinformatics-proteomics-analysis-guide-for-research-papers/)
3- [Experimental Methods in Systems Biology](https://www.coursera.org/learn/experimental-methods?irclickid=yjF1L6wfGxyPRp40SdwIk1m9UkHxF%3AywJ2JA1A0&irgwc=1&utm_medium=partners&utm_source=impact&utm_campaign=315774&utm_content=b2c) | 2-3 weeks | - The third course include modules related to Transcriptomics too.
- Rest of the notes are the same as the previous |
-| **Metabolomics** | 1- [Metabolomics Society's Education page](https://metabolomicssociety.org/)
2- [The Metabolomics Wiki](https://en.wikipedia.org/wiki/Metabolomics)
3- [Udemy's Introduction to Metabolomics](https://www.ebi.ac.uk/training/online/courses/metabolomics-introduction) | 2-3 weeks | - Same notes as the previous. |
-| **Statistics** | 1- [Coursera's Introduction to Statistical Inference for Bioinformatics Studies](https://www.coursera.org/learn/statistical-inference)
2- [edX's Introduction to Genomics and Transcriptomics](https://www.edx.org/learn/bioinformatics/the-university-of-california-san-diego-introduction-to-genomic-data-science)
3- [Johns Hopkins University's Biostatistics for Beginners](https://www.coursera.org/specializations/biostatistics-public-health)
4- [Statistics Folder](https://github.com/Ahhmedsamehh/Bioinformatics_resources/tree/main/Statistics) | 1 Month | - Make sure you practice a lot and do lots of exercises and try to integrate it with your work. Stats is very easy and fun, it is considered as the was you show and present your work. |
-| **Mathematics Background** | 1- [Linear Algebra course on Coursera](https://www.coursera.org/learnlinear-algebra-machine-learning)
2- [Linear Algebra course on Khan Academy](https://www.khanacademy.org/math/linear-algebra)
3- [Multivariate Calculus course on Coursera](https://www.coursera.org/learn/machine-learning-calculus?specialization=mathematics-for-machine-learning-and-data-science)
4- [Differential Calculus course on Khan Academy](https://www.khanacademy.org/math/differential-calculus)
5- [Linear Algebra lecture](https://www.youtube.com/watch?v=QVKj3LADCnA&list=PL49CF3715CB9EF31D) | 1 Month for Linear Algebra and 1 Month for Calculus | - Same resources and notes as in [Structural Bioinformatics](#structural-bioinformatics) section. |
-| **Machine Learning Background** | 1- [Machine Learning specialization on Coursera](https://www.coursera.org/specializations/machine-learning-introduction?)
2- [Machine Learning Specialization](https://www.youtube.com/playlist?list=PLkDaE6sCZn6FNC6YRfRQc_FbeQrF8BwGI) | 1-2 Months | - Same resources and notes as in [Structural Bioinformatics](#structural-bioinformatics) section. |
-
-### Extra Notes:
-- First of all, you have to decide and choose which track are you most interested in from Genomics, Transcriptomics, Proteomics, and Metabolomics.
-- A very important repo which has lots of beneficial resources (I even used it as a reference) is the following [repo](https://github.com/MohmedSoudy/Bioinformatics-pipeline?tab=readme-ov-file).
-- Practice makes perfect, make sure that the most important thing is to continuosly practice.
-- Also, do not be shy to ask those who have experience about career advices, things you do not understand, or even an general inquiry. It is totally fine if they did not reply, be brave.
-------------------------------------------------------------------------------------------------------------
-
-
-If you have any resource you wanna add or even have a question, do not hesitate to leave a comment or even send me directly to my email: sameh7831@gmail.com and I will be more than happy to help.
\ No newline at end of file
+
+A friendly field guide to learning bioinformatics, building reproducible analyses, and exploring modern biological research. Curated by **Ahmed Sameh**.
+
+Start where you are. Choose one question, learn the next skill it needs, and practice with a small project. You do not need to complete every course or master advanced mathematics before beginning.
+
+**[Explore the website](https://ahhmedsamehh.github.io/Bioinformatics_resources/)** · **[Start here](guides/start-here.md)** · **[Browse the resource library](guides/resources.md)** · **[Try a project](projects/README.md)**
+
+The website includes a searchable resource library, learning paths, mobile navigation, and a light/dark mode button that remembers your preference. Its first visit follows your device theme.
+
+
+
+## Choose a learning path
+
+| Path | What you can explore |
+| --- | --- |
+| [Foundations](guides/foundations.md) | Get comfortable with code, biological data, and the questions good analyses ask. |
+| [Structures & protein design](guides/structural.md) | Learn to inspect molecular structures, interpret predictions, and explore protein and binder design. |
+| [Omics & single-cell](guides/omics.md) | Move from sequencing foundations to single-cell, multimodal, perturbation, and immune repertoire analyses. |
+| [Workflows & reproducibility](guides/workflows.md) | Turn a working analysis into a documented, testable workflow with Nextflow or Snakemake. |
+| [AI for biological research](guides/ai.md) | Understand biological models, work effectively with LLMs, and build agents whose results you can evaluate. |
+
+The scientific tracks emphasize structural bioinformatics and omics. They are two areas covered by this collection, rather than an exhaustive classification of the field. Workflow development and AI connect across both.
+
+## Learn by doing
+
+- **[Your first RNA-seq comparison](projects/rna-seq/README.md):** Use a small packaged airway count dataset to compare treated and untreated samples while accounting for cell line.
+- **[Read your first protein structure](projects/protein-structure/README.md):** Inspect the experimental crambin structure 1CRN and turn its metadata and residue information into a short scientific report.
+- **[One analysis, two workflow engines](projects/workflow-basics/README.md):** Calculate sequence GC content with a plain script, then reproduce the same output using Nextflow or Snakemake.
+
+## What makes a resource useful here?
+
+Each topic includes prerequisites, a learning outcome, a practice activity, and interpretation guidance. The **51 annotated resources** include format, level, language, access information, and a reason to use them. Most materials are free to read; software, hosted services, and compute can have separate terms or costs.
+
+Arabic-language programming material is included, and suggestions for more Arabic resources are welcome. Most specialist resources are currently in English.
+
+## About this collection
+
+This repository began as a personal learning list. It aims to make useful starting points available to people entering bioinformatics and to help learners connect foundations with modern research practice. It is a growing guide, not a certification or a complete curriculum for every specialty.
+
+**Collection editorial review:** 2026-10-20. This date does not imply that every external course or workflow was completed or independently validated. Resource versions, availability, access terms, and compute requirements can change.
+
+The [historical list](guides/legacy-resources.md) and existing book folders are retained for continuity. Current recommendations favor author, maintainer, and publisher links. Linked resources retain their own licenses and terms.
+
+## Contribute or build the website
+
+Found a broken link, a misleading explanation, or a resource worth sharing? [Open an issue](https://github.com/Ahhmedsamehh/Bioinformatics_resources/issues/new) or see [CONTRIBUTING.md](CONTRIBUTING.md).
+
+Edit `content/catalog.json` to update topics and resources, then run:
+
+```sh
+python3 scripts/build.py
+python3 scripts/check.py
+python3 -m http.server 8000 --directory _site
+```
+
+Open [the local preview](http://localhost:8000). Python 3.9+ is sufficient to build the website; no package installation is needed. The same catalog generates the website and GitHub topic pages.
+
+See [the website guide](site/README.md) for GitHub Pages publishing and theme behavior. Original guide text and code use the [MIT license](LICENSE); linked and third-party materials retain their own terms.
diff --git a/VALIDATION.md b/VALIDATION.md
new file mode 100644
index 0000000..48fa745
--- /dev/null
+++ b/VALIDATION.md
@@ -0,0 +1,40 @@
+# Validation record
+
+Field-guide update reviewed on **20 October 2026**.
+
+## Executed successfully
+
+- Built 14 static HTML pages and generated the GitHub README and five topic guides plus the resource index from the shared catalog.
+- Validated five tracks, 24 unique topics, and 51 referenced resources with required annotations.
+- Checked all generated HTML file links and fragments, duplicate IDs, language declarations, one primary heading per page, and project-site-compatible relative paths.
+- Checked local Markdown file links and generated-content consistency; the explicitly historical list is excluded from current link validation.
+- Checked browser-script syntax with Node.js.
+- Ran the GC teaching computation and matched its complete output to the committed reference fixture. Also checked ambiguous-only sequences, mixed ambiguity, empty records, duplicate identifiers, missing headers, and invalid DNA characters.
+- Ran the protein-structure project with Python 3.9.6, Biopython 1.85, and NumPy 2.0.2. Downloaded 1CRN mmCIF; verified 46 residues in chain A, experimental X-ray metadata, and a reported 1.5-angstrom resolution. Outputs remain ignored local artifacts.
+- Parsed the R analysis script successfully with the available R interpreter.
+- Browser-checked the homepage in both light and dark mode, switching modes, persistence after reload and navigation, the resource-library link, text search, combined path/level filters, a zero-result state, and clearing filters.
+
+## External resources
+
+The automated checker completed an initial 50-resource pass with **45 HTTP successes, zero confirmed missing pages, and five review warnings**: Elzero returned a bot/access block; Nextflow documentation, Nextflow training, nf-core documentation, and nf-core/rnaseq timed out from the local HTTP client. Relevant official pages and search results were also reviewed through web access. The additional BindCraft resource was reviewed on its authors' repository. A moved MuData documentation URL was corrected.
+
+A reachable URL is not evidence that a course or scientific method has been independently validated. Editorial review dates are not changed by the link checker.
+
+## Limits
+
+- The complete RNA-seq analysis was not run: airway, DESeq2, and ggplot2 are absent from the local R library. Package setup and expected outputs are documented; only syntax was checked locally.
+- The Nextflow and Snakemake wrappers were not executed because those engines are not installed locally. Their underlying Python computation was executed and verified. No production-scale scientific workflow or GPU model was run.
+- The browser's viewport override did not produce the requested phone-sized viewport. Responsive CSS and menu behavior were reviewed in source; a physical narrow-screen rendering and complete keyboard/screen-reader audit remain unverified.
+- GitHub Pages was disabled at inspection time. The connected tools do not provide a Pages configuration mutation, and the available browser is signed out of GitHub. The deployment workflow is supplied; a successful public deployment is not claimed here.
+
+## Repeat the checks
+
+```sh
+python3 scripts/build.py --check
+python3 scripts/check.py
+python3 scripts/check_links.py
+node --check site/assets/theme.js
+node --check site/assets/app.js
+```
+
+Project-specific setup and runtime requirements are in each project README.
diff --git a/content/catalog.json b/content/catalog.json
new file mode 100644
index 0000000..b0a44fd
--- /dev/null
+++ b/content/catalog.json
@@ -0,0 +1,1207 @@
+{
+ "title": "Bioinformatics Resources",
+ "author": "Ahmed Sameh",
+ "description": "A friendly field guide to learning bioinformatics, building reproducible analyses, and exploring modern biological research.",
+ "reviewed": "2026-10-20",
+ "repository": "https://github.com/Ahhmedsamehh/Bioinformatics_resources",
+ "tracks": [
+ {
+ "id": "foundations",
+ "title": "Build your foundations",
+ "short": "Foundations",
+ "number": "01",
+ "color": "sage",
+ "level": "Beginner",
+ "description": "Get comfortable with code, biological data, and the questions good analyses ask.",
+ "intro": "Start with the skills your first project needs. You can learn the deeper mathematics alongside your work; completing every course here is not an entry requirement.",
+ "topics": [
+ {
+ "id": "programming",
+ "title": "Python, R, and the command line",
+ "level": "Beginner",
+ "description": "Choose a language for a concrete task, then learn to read, transform, and visualize a small dataset.",
+ "prerequisites": "No programming experience required.",
+ "concepts": [
+ "Python: variables, functions, tables, plotting, and small scripts.",
+ "R: data frames, factors, tidy data, plotting, and biological analysis packages.",
+ "Shell: paths, pipes, redirection, permissions, and inspecting a text file."
+ ],
+ "outcome": "Write a short script that reads a table, checks its columns, and saves a useful summary.",
+ "practice": "Use one small table in either Python or R. Report missing values, summarize one measurement by group, and plot the result. Explain the biological meaning of each column.",
+ "caution": "Choose one language for your first project. Language preference depends on the analysis and team; you do not need to learn Python and R simultaneously.",
+ "resources": [
+ "python",
+ "r4ds",
+ "carpentry",
+ "elzero"
+ ]
+ },
+ {
+ "id": "biological-data",
+ "title": "Biological data and file formats",
+ "level": "Beginner",
+ "description": "Understand what a file represents before choosing a tool to process it.",
+ "prerequisites": "Basic molecular biology and the ability to inspect a text file.",
+ "concepts": [
+ "Sequences and reads: FASTA, FASTQ, quality scores, and reference versions.",
+ "Alignments and annotation: SAM/BAM, VCF, BED, and GTF/GFF; learn coordinate conventions explicitly.",
+ "Analysis objects: count matrices, sample metadata, AnnData, and MuData.",
+ "Structures: PDB and mmCIF, chains, residues, assemblies, and identifiers."
+ ],
+ "outcome": "Explain the inputs, outputs, identifiers, and coordinate system of your chosen analysis.",
+ "practice": "Make a data dictionary for a tutorial dataset. Record its accession, organism, reference genome or structure, sample units, and file formats.",
+ "caution": "Gene symbols, stable identifiers, and reference builds are not interchangeable. Preserve the versions and mapping decisions used in your analysis.",
+ "resources": [
+ "carpentry",
+ "ensembl",
+ "ncbi-learn",
+ "anndata",
+ "pdb101"
+ ]
+ },
+ {
+ "id": "statistics",
+ "title": "Statistics and experimental design",
+ "level": "Beginner",
+ "description": "Connect statistical decisions to the biological question and experimental units.",
+ "prerequisites": "Basic tables and plots; learn probability concepts as needed.",
+ "concepts": [
+ "Biological versus technical replication, controls, randomization, and confounding.",
+ "Distributions, effect sizes, uncertainty, hypothesis tests, and multiple testing.",
+ "Linear models, covariates, batch effects, and exploratory data analysis.",
+ "For single-cell studies, identify the independent biological samples before testing."
+ ],
+ "outcome": "Describe the comparison, independent samples, covariates, and limitations of a small study.",
+ "practice": "Sketch two experimental designs: one where treatment is confounded with batch, and one where it is balanced. Explain what can be learned from each.",
+ "caution": "A small adjusted p-value does not establish a large effect or causality. Interpret effect sizes, design, and uncertainty together.",
+ "resources": [
+ "statsthinking",
+ "rnaseq",
+ "sc-best"
+ ]
+ },
+ {
+ "id": "reproducibility",
+ "title": "Git, environments, and research habits",
+ "level": "Beginner",
+ "description": "Make it possible for your future self and a collaborator to repeat your work.",
+ "prerequisites": "A small script or notebook.",
+ "concepts": [
+ "Git commits, branches, readable READMEs, and reviewable changes.",
+ "Separate input data, code, configuration, and generated results.",
+ "Record package versions, random seeds, parameters, and dataset accessions.",
+ "Use environments first; learn containers when your workflow needs portability."
+ ],
+ "outcome": "Share a small project with clear setup and rerun instructions.",
+ "practice": "Ask a peer to reproduce one plot using only your README. Record any missing dependency, parameter, or data-download instruction and repair it.",
+ "caution": "A notebook that ran once is not sufficient documentation. Restart the session and rerun it from the beginning before sharing.",
+ "resources": [
+ "git",
+ "carpentry",
+ "conda",
+ "quarto"
+ ]
+ },
+ {
+ "id": "math",
+ "title": "Mathematics when you need it",
+ "level": "Intermediate",
+ "description": "Build intuition for the mathematics behind the methods you actually use.",
+ "prerequisites": "School-level algebra; programming helps with experiments.",
+ "concepts": [
+ "Linear algebra: vectors, matrices, projections, eigenvectors, and PCA.",
+ "Probability: conditional probability, likelihood, and uncertainty.",
+ "Calculus and optimization: gradients, objectives, and iterative fitting."
+ ],
+ "outcome": "Explain one method's inputs, objective, assumptions, and outputs in plain language.",
+ "practice": "Apply PCA to a small numeric table, then explain what the axes describe and how scaling changes the result.",
+ "caution": "These topics are deeper study options. Do not delay an accessible first project until you have completed all of them.",
+ "resources": [
+ "linear-algebra",
+ "statsthinking",
+ "d2l"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "structural",
+ "title": "Explore structures. Design proteins.",
+ "short": "Structures & protein design",
+ "number": "02",
+ "color": "clay",
+ "level": "Beginner to advanced",
+ "description": "Learn to inspect molecular structures, interpret predictions, and explore protein and binder design.",
+ "intro": "Begin by reading experimental structures and assessing their quality. Prediction, molecular simulation, and design are connected paths with different assumptions and validation needs.",
+ "topics": [
+ {
+ "id": "structure-literacy",
+ "title": "Structural biology and structure literacy",
+ "level": "Beginner",
+ "description": "Read a structure as evidence about a molecule and an experiment.",
+ "prerequisites": "Protein sequence and molecular biology basics.",
+ "concepts": [
+ "Protein architecture, interactions, thermodynamics, and structure–function relationships.",
+ "Experimental method, resolution where applicable, missing residues, and validation reports.",
+ "Chains, biological assemblies, sequence mapping, and molecular visualization."
+ ],
+ "outcome": "Inspect a structure and write a short account of what it supports and what remains uncertain.",
+ "practice": "Complete the protein-structure starter project, then locate a missing region or a validation concern in a second entry.",
+ "caution": "A deposited coordinate model is an interpretation of evidence. Check the experimental method and validation information before drawing conclusions.",
+ "resources": [
+ "pdb101",
+ "pdb-learn",
+ "chimerax",
+ "biopython"
+ ]
+ },
+ {
+ "id": "prediction",
+ "title": "Structure prediction and confidence",
+ "level": "Intermediate",
+ "description": "Understand the question a prediction answers and how to assess its reliability.",
+ "prerequisites": "Structure literacy and sequence alignment basics.",
+ "concepts": [
+ "Sequence-to-structure prediction, templates, alignments, and complexes.",
+ "Local confidence, relative-domain confidence, and model-specific quality measures.",
+ "Sequence correspondence, experimental comparisons, and sources of uncertainty."
+ ],
+ "outcome": "Explain why a predicted region or interface is more or less trustworthy.",
+ "practice": "Choose a protein with both experimental and predicted structures. Align the sequences first, inspect confidence, and document which regions are comparable.",
+ "caution": "Confidence scores are not interchangeable with experimental B-factors. A confident prediction alone does not establish binding, function, or a mechanism.",
+ "resources": [
+ "alphafold",
+ "af-confidence",
+ "colabfold",
+ "pdb101"
+ ]
+ },
+ {
+ "id": "binder-design",
+ "title": "Protein and binder design",
+ "level": "Advanced",
+ "description": "Follow a design problem from a biological objective to candidates that need experimental testing.",
+ "prerequisites": "Structure prediction and assessment, protein interactions, and basic scripting.",
+ "concepts": [
+ "Target preparation, biological assembly, accessible sites, and design constraints.",
+ "Backbone generation, sequence design, structure prediction, and candidate filtering.",
+ "Compare diffusion-based backbone design with optimization-based pipelines such as BindCraft.",
+ "Diversity, controls, expression and solubility considerations, and experimental validation."
+ ],
+ "outcome": "Describe a candidate-selection strategy and the evidence needed to test a proposed binder.",
+ "practice": "Read one published design study and map its stages, selection metrics, controls, and experimental outcomes. Begin with published outputs before scheduling expensive generation runs.",
+ "caution": "A favorable computational score is a screening signal. Report it separately from measured affinity, specificity, and experimental success.",
+ "resources": [
+ "rfdiffusion",
+ "proteinmpnn",
+ "alphafold",
+ "bindcraft"
+ ]
+ },
+ {
+ "id": "diffusion-for-design",
+ "title": "Diffusion models in molecular design",
+ "level": "Advanced",
+ "description": "Connect denoising and conditional generation to a biological design task.",
+ "prerequisites": "Basic machine learning; probability and linear algebra help with the deeper material.",
+ "concepts": [
+ "Forward corruption, learned denoising, sampling, and conditioning.",
+ "Representation choices, geometric constraints, and symmetry.",
+ "Training versus inference, diversity, and evaluation beyond visually plausible structures."
+ ],
+ "outcome": "Explain what is generated, what conditions the generation, and how candidates are evaluated.",
+ "practice": "Draw the sampling process for a binder-design example and identify where target information and constraints enter. Continue with the AI foundations path for the mathematics.",
+ "caution": "Learn the model's task and representation explicitly. Different diffusion systems do not share identical inputs, outputs, or validation criteria.",
+ "resources": [
+ "rfdiffusion",
+ "d2l"
+ ]
+ },
+ {
+ "id": "simulation",
+ "title": "Molecular simulation and biophysics",
+ "level": "Advanced",
+ "description": "Explore molecular motion through models with explicit physical assumptions.",
+ "prerequisites": "Thermodynamics, structural biology, and command-line basics.",
+ "concepts": [
+ "Force fields, parameterization, solvation, and boundary conditions.",
+ "Minimization, equilibration, sampling, replicates, and convergence.",
+ "Trajectory analysis and the relationship between observables and a biological question."
+ ],
+ "outcome": "Explain the assumptions and sampling limitations of a simulation study.",
+ "practice": "Follow an introductory simulation example and record the force field, ensemble, integration settings, and analysis choices.",
+ "caution": "A stable-looking trajectory alone does not demonstrate convergence or establish a biological mechanism.",
+ "resources": [
+ "openmm",
+ "gromacs"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "omics",
+ "title": "Make sense of omics data",
+ "short": "Omics & single-cell",
+ "number": "03",
+ "color": "blue",
+ "level": "Beginner to advanced",
+ "description": "Move from sequencing foundations to single-cell, multimodal, perturbation, and immune repertoire analyses.",
+ "intro": "Choose a biological question and learn one analysis end to end. Bulk analysis, single-cell analysis, and other omics specialisms share foundations, but each needs its own experimental and statistical context.",
+ "topics": [
+ {
+ "id": "bulk-rnaseq",
+ "title": "Sequencing and bulk RNA-seq",
+ "level": "Beginner",
+ "description": "Connect read processing and quantification to sample-level statistical analysis.",
+ "prerequisites": "Basic R or a Galaxy introduction; statistics and sample metadata.",
+ "concepts": [
+ "Read QC, alignment or quantification, references, and gene-level counts.",
+ "Sample-level QC, design formulas, contrasts, and differential expression.",
+ "Effect sizes, multiple testing, gene-set interpretation, and reporting."
+ ],
+ "outcome": "Produce a reproducible comparison with a clear design, QC plots, and an interpreted results table.",
+ "practice": "Start with the count-based RNA-seq project. Then follow a full FASTQ-to-results tutorial to learn where those counts come from.",
+ "caution": "A count-based tutorial does not teach raw-read processing by itself. Keep normalization for visualization distinct from the model's input requirements.",
+ "resources": [
+ "rnaseq",
+ "deseq2",
+ "galaxy",
+ "nf-rnaseq"
+ ]
+ },
+ {
+ "id": "single-cell",
+ "title": "Single-cell RNA-seq foundations",
+ "level": "Intermediate",
+ "description": "Learn the core workflow before adding integration or complex models.",
+ "prerequisites": "R or Python, count matrices, and experimental design.",
+ "concepts": [
+ "Cell and sample QC, ambient RNA, doublets, and normalization.",
+ "Dimensionality reduction, clustering, marker evidence, and cell annotation.",
+ "Donor-aware comparisons, pseudobulk approaches, and differential abundance."
+ ],
+ "outcome": "Explain the evidence for an annotation and the experimental unit for a comparison.",
+ "practice": "Follow one small tutorial in Scanpy or Seurat. Keep a table recording every filtering decision and inspect how one changed threshold affects the result.",
+ "caution": "Clusters are analytical groupings, and annotation requires biological evidence. Preserve donor metadata throughout the workflow.",
+ "resources": [
+ "sc-best",
+ "scanpy",
+ "seurat",
+ "anndata"
+ ]
+ },
+ {
+ "id": "integration",
+ "title": "Dataset integration and scvi-tools",
+ "level": "Advanced",
+ "description": "Address technical differences while checking that meaningful biological variation is retained.",
+ "prerequisites": "A complete single-cell workflow, covariates, and batch-effect concepts.",
+ "concepts": [
+ "Integration across datasets versus integration across molecular modalities.",
+ "Reference mapping, batch covariates, latent representations, and scVI/scANVI.",
+ "Evaluation of biological conservation alongside technical mixing."
+ ],
+ "outcome": "Justify an integration strategy and describe how you checked its consequences.",
+ "practice": "Compare an unintegrated baseline with one integration method. Inspect known biological groups and sample composition as well as a low-dimensional plot.",
+ "caution": "A well-mixed embedding is not sufficient evidence of a good integration. Confounded study designs can make technical and biological effects difficult to separate.",
+ "resources": [
+ "scvi",
+ "sc-best"
+ ]
+ },
+ {
+ "id": "multiomics",
+ "title": "CITE-seq and multimodal analysis",
+ "level": "Advanced",
+ "description": "Relate RNA, protein, and chromatin measurements while respecting how they were collected.",
+ "prerequisites": "Single-cell foundations and basic integration concepts.",
+ "concepts": [
+ "CITE-seq RNA and antibody-derived tags; protein background and modality-specific QC.",
+ "Paired versus unpaired measurements, missing modalities, and MuData.",
+ "totalVI for RNA–protein data and MultiVI for RNA–chromatin accessibility data."
+ ],
+ "outcome": "Choose a method whose assumptions match the modalities and pairing in the experiment.",
+ "practice": "Follow the totalVI CITE-seq tutorial. Compare RNA and protein evidence for selected markers and document cases where they disagree.",
+ "caution": "Multi-omics is broader than single-cell RNA–protein analysis. Describe each modality and its measurement process before selecting an integration tool.",
+ "resources": [
+ "totalvi",
+ "multivi",
+ "mudata",
+ "sc-best"
+ ]
+ },
+ {
+ "id": "perturbations",
+ "title": "Single-cell perturbation analysis",
+ "level": "Advanced",
+ "description": "Study how cells respond to genetic, chemical, or environmental interventions.",
+ "prerequisites": "Single-cell foundations, experimental controls, and sample-level inference.",
+ "concepts": [
+ "Perturb-seq design, guide assignment, controls, and perturbation efficacy.",
+ "Differential expression, differential abundance, and heterogeneous responses.",
+ "Observed-response analysis versus prediction of unseen responses; held-out evaluation."
+ ],
+ "outcome": "Define an appropriate comparison and explain what a model evaluation does and does not test.",
+ "practice": "Use a Pertpy tutorial to compare perturbations with controls. Record replicate structure, guide assignment choices, and the intended generalization task.",
+ "caution": "Random cell-level splits can fail to test the generalization you care about. Design evaluation around held-out donors, conditions, or perturbations as appropriate.",
+ "resources": [
+ "pertpy",
+ "sc-best",
+ "scvi"
+ ]
+ },
+ {
+ "id": "immune-repertoires",
+ "title": "TCR, BCR, and immune repertoires",
+ "level": "Advanced",
+ "description": "Connect immune receptor sequences, clonotypes, and cellular phenotypes.",
+ "prerequisites": "Basic immunology and single-cell data handling.",
+ "concepts": [
+ "V(D)J sequences, chain pairing, productive receptors, and clonotype definitions.",
+ "Clonal expansion, diversity, overlap, and sampling depth.",
+ "Linking repertoire information to RNA expression and cell states."
+ ],
+ "outcome": "Explain a clonotype definition and distinguish clonal relationships from evidence of antigen specificity.",
+ "practice": "Complete a Scirpy tutorial and compare two reasonable clonotype definitions. Report how the interpretation changes.",
+ "caution": "Receptor similarity or clonal expansion alone does not establish shared antigen specificity. Document sequence and grouping criteria.",
+ "resources": [
+ "scirpy",
+ "airr"
+ ]
+ },
+ {
+ "id": "other-omics",
+ "title": "Other omics and directions to explore",
+ "level": "Intermediate",
+ "description": "Keep the wider field visible while choosing a tractable next specialization.",
+ "prerequisites": "Biological data literacy and statistics.",
+ "concepts": [
+ "Variant analysis, genome annotation, and reference-dependent interpretation.",
+ "Proteomics and metabolomics: experimental platforms, quantification, and data processing.",
+ "Spatial omics: tissue context, spatial dependence, and assay-specific analysis."
+ ],
+ "outcome": "Choose a specialization and find an introductory workflow appropriate to its data.",
+ "practice": "Choose one Galaxy learning pathway and map its raw data, processing stages, biological question, and outputs.",
+ "caution": "This is an orientation to additional fields, not a complete curriculum for each one. Use the specialist training materials for detailed methods.",
+ "resources": [
+ "galaxy",
+ "ebi-training",
+ "ensembl",
+ "sc-best"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "workflows",
+ "title": "Build workflows that travel",
+ "short": "Workflows & reproducibility",
+ "number": "04",
+ "color": "ochre",
+ "level": "Intermediate",
+ "description": "Turn a working analysis into a documented, testable workflow with Nextflow or Snakemake.",
+ "intro": "Workflow engineering is shared across scientific tracks. Learn one engine first, then use a familiar analysis to understand dependencies, portability, and failure recovery.",
+ "topics": [
+ {
+ "id": "workflow-concepts",
+ "title": "From scripts to reproducible workflows",
+ "level": "Intermediate",
+ "description": "Learn the common ideas before committing to a particular engine.",
+ "prerequisites": "Shell basics, a working analysis script, and software environments.",
+ "concepts": [
+ "Tasks, input/output contracts, dependency graphs, and configuration.",
+ "Versioned software, containers, sample sheets, resource declarations, and logs.",
+ "Small fixtures, expected outputs, restart behavior, and provenance."
+ ],
+ "outcome": "Draw and implement a small analysis as a dependency graph.",
+ "practice": "Run the workflow-basics project as a plain Python script, then reproduce its expected output with one engine.",
+ "caution": "A workflow engine cannot repair unclear scientific assumptions or an incorrect analysis step. Validate the underlying computation first.",
+ "resources": [
+ "nextflow",
+ "snakemake",
+ "nfcore",
+ "apptainer"
+ ]
+ },
+ {
+ "id": "nextflow",
+ "title": "Nextflow and nf-core",
+ "level": "Intermediate",
+ "description": "Run, configure, and develop portable pipelines using dataflow concepts.",
+ "prerequisites": "Workflow concepts and command-line experience.",
+ "concepts": [
+ "Processes, channels, workflow composition, and modules.",
+ "Parameters, profiles, containers, executors, and resume behavior.",
+ "Using nf-core pipelines and understanding their documentation and quality conventions."
+ ],
+ "outcome": "Run a small Nextflow workflow, change a parameter, and explain its task dependencies.",
+ "practice": "Complete the official introductory training, then run main.nf in the workflow-basics project and compare its output with the reference file.",
+ "caution": "Start with a small local test profile. Check the data, storage, and compute requirements before running a production pipeline.",
+ "resources": [
+ "nextflow-training",
+ "nextflow",
+ "nfcore",
+ "nf-rnaseq"
+ ]
+ },
+ {
+ "id": "snakemake",
+ "title": "Snakemake",
+ "level": "Intermediate",
+ "description": "Express analysis steps as rules connected through their input and output files.",
+ "prerequisites": "Workflow concepts and basic Python.",
+ "concepts": [
+ "Rules, targets, wildcards, configuration, and dependency graphs.",
+ "Software environments, containers, resource declarations, and execution profiles.",
+ "Dry runs, logs, reports, and testing small examples."
+ ],
+ "outcome": "Write a small rule-based workflow and inspect what will run before executing it.",
+ "practice": "Run a dry run and then the Snakefile in the workflow-basics project. Change the input FASTA and predict which output should be recomputed.",
+ "caution": "Make all dependencies explicit. Hidden files, undeclared parameters, and changing environments undermine reproducibility.",
+ "resources": [
+ "snakemake",
+ "snakemake-tutorial",
+ "apptainer"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "ai",
+ "title": "Use AI thoughtfully in research",
+ "short": "AI for biological research",
+ "number": "05",
+ "color": "lavender",
+ "level": "Beginner to advanced",
+ "description": "Understand biological models, work effectively with LLMs, and build agents whose results you can evaluate.",
+ "intro": "AI literacy has several entry points. Practical LLM use can begin early; training biological models and building tool-using agents require deeper foundations. Keep the scientific question and evidence visible at every stage.",
+ "topics": [
+ {
+ "id": "model-foundations",
+ "title": "Machine learning and biological models",
+ "level": "Intermediate",
+ "description": "Learn what a model represents, optimizes, and can reasonably generalize to.",
+ "prerequisites": "Basic Python, statistics, and introductory linear algebra.",
+ "concepts": [
+ "Training, validation, test sets, leakage, baselines, and distribution shift.",
+ "Embeddings and transformers; variational autoencoders and latent variables.",
+ "Diffusion and conditional generation, with links to molecular design.",
+ "Using a pretrained model versus fine-tuning or training a new one."
+ ],
+ "outcome": "Describe a model's objective, input representation, baseline, and evaluation task.",
+ "practice": "Read one scvi-tools model guide and one protein-design model description. Compare their inputs, objectives, outputs, and evidence of usefulness.",
+ "caution": "A benchmark score only speaks to its evaluation setup. Ask how data were split and whether the test resembles the intended scientific application.",
+ "resources": [
+ "d2l",
+ "mlcourse",
+ "scvi",
+ "rfdiffusion"
+ ]
+ },
+ {
+ "id": "llms",
+ "title": "Working with LLMs for science",
+ "level": "Beginner",
+ "description": "Use an LLM for bounded tasks with explicit context and inspectable outputs.",
+ "prerequisites": "A clear task and the ability to assess the result or consult a qualified reviewer.",
+ "concepts": [
+ "Provide the question, source material, constraints, and desired output format.",
+ "Ground literature summaries in supplied papers and check claims against the original text.",
+ "For code assistance, provide schemas and small examples, inspect changes, and run meaningful checks.",
+ "Record the model, date, inputs, important instructions, and human verification."
+ ],
+ "outcome": "Create a useful research aid with a record of its sources and checks.",
+ "practice": "Give an LLM a paper's methods section and ask for a table of reported parameters with supporting quotations and locations. Mark absent information as not reported, then verify every row yourself.",
+ "caution": "Fluent output can contain incorrect claims, citations, or code. Use suitable public or authorized data and check the service's data-handling terms before supplying unpublished or sensitive material.",
+ "resources": [
+ "llm-science",
+ "carpentry-ai",
+ "hf-course"
+ ]
+ },
+ {
+ "id": "agents",
+ "title": "Agentic AI and scientific tools",
+ "level": "Advanced",
+ "description": "Connect a model to tools while keeping execution and evaluation observable.",
+ "prerequisites": "Programming, APIs, practical LLM use, and a reproducible baseline task.",
+ "concepts": [
+ "Tool calling, structured inputs and outputs, retrieval, state, and execution traces.",
+ "Bounded tool permissions, explicit stopping conditions, and human review where needed.",
+ "Task-level evaluation, failure cases, tool-result verification, and cost tracking."
+ ],
+ "outcome": "Specify and evaluate a small agent against a simpler scripted baseline.",
+ "practice": "Build a read-only assistant over a few public tutorials. Require source locations for answers and test it on a fixed set of answerable and unanswerable questions.",
+ "caution": "Start with a narrow task and inspect the trace. Greater autonomy is not itself evidence of better scientific results.",
+ "resources": [
+ "hf-agents",
+ "carpentry-ai"
+ ]
+ },
+ {
+ "id": "ai-evaluation",
+ "title": "Evaluate and document AI-assisted work",
+ "level": "Intermediate",
+ "description": "Make it clear which results come from evidence, computation, and model suggestions.",
+ "prerequisites": "Practical LLM experience or an introductory machine-learning project.",
+ "concepts": [
+ "Reference examples, baselines, held-out tasks, and explicit success criteria.",
+ "Citation verification, numerical checks, reproducible tool outputs, and failure analysis.",
+ "Versioned prompts or instructions, model settings, tool versions, and limitations."
+ ],
+ "outcome": "Write a short evaluation report with successes, failures, and reproducibility details.",
+ "practice": "Compare an LLM-assisted solution with a manual or scripted baseline on five fixed tasks. Report factual accuracy and completion, not just writing quality.",
+ "caution": "The model's own confidence is not an independent check. Verify important claims and calculations against external evidence or deterministic computation.",
+ "resources": [
+ "llm-science",
+ "carpentry-ai",
+ "hf-agents",
+ "quarto"
+ ]
+ }
+ ]
+ }
+ ],
+ "resources": [
+ {
+ "id": "python",
+ "title": "The Python Tutorial",
+ "url": "https://docs.python.org/3/tutorial/",
+ "kind": "Documentation",
+ "level": "Beginner",
+ "cost": "Free",
+ "language": "English",
+ "prerequisites": "Some general programming familiarity; complete beginners can start with a guided lesson.",
+ "summary": "The official language tutorial. Use it as a reference while writing small scripts rather than reading everything before practicing."
+ },
+ {
+ "id": "r4ds",
+ "title": "R for Data Science, second edition",
+ "url": "https://r4ds.hadley.nz/",
+ "kind": "Book",
+ "level": "Beginner",
+ "cost": "Free online",
+ "language": "English",
+ "prerequisites": "No prior R experience.",
+ "summary": "A practical route through importing, transforming, visualizing, and communicating tabular data in R."
+ },
+ {
+ "id": "carpentry",
+ "title": "Data Carpentry: genomics lessons",
+ "url": "https://datacarpentry.org/lessons/#genomics",
+ "kind": "Tutorial",
+ "level": "Beginner",
+ "cost": "Free",
+ "language": "English",
+ "prerequisites": "No prior command-line experience for the introductory lessons.",
+ "summary": "Learn project organization, the command line, sequence processing, and computing through biological examples."
+ },
+ {
+ "id": "elzero",
+ "title": "Elzero: Mastering Python",
+ "url": "https://elzero.org/category/courses/mastering-python/",
+ "kind": "Course",
+ "level": "Beginner",
+ "cost": "Free",
+ "language": "Arabic",
+ "prerequisites": "No prior Python experience.",
+ "summary": "An Arabic-language programming entry point retained from the original resource list. Pair the lessons with a small biological data task."
+ },
+ {
+ "id": "ensembl",
+ "title": "Ensembl training",
+ "url": "https://training.ensembl.org/",
+ "kind": "Tutorial",
+ "level": "Beginner",
+ "cost": "Free",
+ "language": "English",
+ "prerequisites": "Basic genetics.",
+ "summary": "Learn to navigate genome annotation, identifiers, comparative data, and Ensembl tools using worked training materials."
+ },
+ {
+ "id": "ncbi-learn",
+ "title": "NCBI Learn",
+ "url": "https://www.ncbi.nlm.nih.gov/learn/",
+ "kind": "Tutorial",
+ "level": "Beginner",
+ "cost": "Free",
+ "language": "English",
+ "prerequisites": "Basic molecular biology.",
+ "summary": "Find official introductions and training for NCBI databases and tools; choose a tutorial that matches your data source."
+ },
+ {
+ "id": "anndata",
+ "title": "AnnData documentation",
+ "url": "https://anndata.readthedocs.io/en/stable/",
+ "kind": "Documentation",
+ "level": "Intermediate",
+ "cost": "Free",
+ "language": "English",
+ "prerequisites": "Python and basic single-cell matrices.",
+ "summary": "Understand the annotated matrix structure used in many Python single-cell workflows, including observations, variables, and layers."
+ },
+ {
+ "id": "pdb101",
+ "title": "PDB-101: understanding PDB data",
+ "url": "https://pdb101.rcsb.org/learn/guide-to-understanding-pdb-data/introduction",
+ "kind": "Guide",
+ "level": "Beginner",
+ "cost": "Free",
+ "language": "English",
+ "prerequisites": "Basic protein biology.",
+ "summary": "A welcoming introduction to structure files, experimental information, assemblies, and interpretation."
+ },
+ {
+ "id": "statsthinking",
+ "title": "Statistical Thinking for the 21st Century",
+ "url": "https://statsthinking21.github.io/statsthinking21-core-site/",
+ "kind": "Book",
+ "level": "Beginner",
+ "cost": "Free online",
+ "language": "English",
+ "prerequisites": "Basic arithmetic and willingness to work through examples.",
+ "summary": "Develop statistical reasoning about data, probability, inference, and models before relying on a test by name."
+ },
+ {
+ "id": "rnaseq",
+ "title": "Bioconductor: gene-level RNA-seq workflow",
+ "url": "https://bioconductor.org/packages/release/workflows/html/rnaseqGene.html",
+ "kind": "Workflow",
+ "level": "Intermediate",
+ "cost": "Free",
+ "language": "English",
+ "prerequisites": "Basic R, sample metadata, and introductory statistics.",
+ "summary": "Connect RNA-seq processing with exploratory analysis and differential expression through a documented workflow."
+ },
+ {
+ "id": "sc-best",
+ "title": "Single-cell Best Practices",
+ "url": "https://www.sc-best-practices.org/",
+ "kind": "Book",
+ "level": "Intermediate",
+ "cost": "Free online",
+ "language": "English",
+ "prerequisites": "Basic Python or R and single-cell biology.",
+ "summary": "A question-oriented reference for single-cell analysis across modalities, including preprocessing, statistics, and integration."
+ },
+ {
+ "id": "git",
+ "title": "Software Carpentry: Version Control with Git",
+ "url": "https://swcarpentry.github.io/git-novice/",
+ "kind": "Tutorial",
+ "level": "Beginner",
+ "cost": "Free",
+ "language": "English",
+ "prerequisites": "Basic command-line use.",
+ "summary": "Practice tracking changes, working with remote repositories, and collaborating on a small project."
+ },
+ {
+ "id": "conda",
+ "title": "Conda: managing environments",
+ "url": "https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html",
+ "kind": "Documentation",
+ "level": "Beginner",
+ "cost": "Free",
+ "language": "English",
+ "prerequisites": "Basic command-line use.",
+ "summary": "Create and document isolated software environments, including environment files that can be shared with collaborators."
+ },
+ {
+ "id": "quarto",
+ "title": "Quarto: getting started",
+ "url": "https://quarto.org/docs/get-started/",
+ "kind": "Tutorial",
+ "level": "Beginner",
+ "cost": "Free",
+ "language": "English",
+ "prerequisites": "Basic R or Python for executable examples.",
+ "summary": "Combine analysis, narrative, and outputs in a reproducible report rather than copying results into an unrelated document."
+ },
+ {
+ "id": "linear-algebra",
+ "title": "MIT OpenCourseWare: Linear Algebra",
+ "url": "https://ocw.mit.edu/courses/18-06-linear-algebra-spring-2010/",
+ "kind": "Course",
+ "level": "Intermediate",
+ "cost": "Free",
+ "language": "English",
+ "prerequisites": "Algebra; consult the course's own prerequisite guidance.",
+ "summary": "A deeper route into matrices, projections, and related concepts that support PCA and machine learning."
+ },
+ {
+ "id": "d2l",
+ "title": "Dive into Deep Learning",
+ "url": "https://d2l.ai/",
+ "kind": "Book",
+ "level": "Intermediate",
+ "cost": "Free online",
+ "language": "English",
+ "prerequisites": "Python, probability, linear algebra, and basic calculus for deeper chapters.",
+ "summary": "Build conceptual and practical foundations in deep learning; select chapters relevant to the model you are studying."
+ },
+ {
+ "id": "pdb-learn",
+ "title": "RCSB PDB: learning resources",
+ "url": "https://www.rcsb.org/",
+ "kind": "Database",
+ "level": "Beginner",
+ "cost": "Free",
+ "language": "English",
+ "prerequisites": "Basic protein biology.",
+ "summary": "Find experimental structures and inspect entry-specific methods, sequence information, and validation evidence."
+ },
+ {
+ "id": "chimerax",
+ "title": "UCSF ChimeraX tutorials",
+ "url": "https://www.rbvi.ucsf.edu/chimerax/tutorials.html",
+ "kind": "Tutorial",
+ "level": "Beginner",
+ "cost": "Tutorials free; software terms vary by use",
+ "language": "English",
+ "prerequisites": "Basic structural biology.",
+ "summary": "Learn molecular visualization through worked examples; check the current software license for your intended use."
+ },
+ {
+ "id": "biopython",
+ "title": "Biopython Tutorial and Cookbook",
+ "url": "https://biopython.org/docs/latest/Tutorial/",
+ "kind": "Documentation",
+ "level": "Intermediate",
+ "cost": "Free",
+ "language": "English",
+ "prerequisites": "Basic Python.",
+ "summary": "Practical biological sequence and structure handling, including parsers used in the protein-structure starter project."
+ },
+ {
+ "id": "alphafold",
+ "title": "EMBL-EBI: AlphaFold practical guide",
+ "url": "https://www.ebi.ac.uk/training/online/courses/alphafold/",
+ "kind": "Course",
+ "level": "Intermediate",
+ "cost": "Free",
+ "language": "English",
+ "prerequisites": "Basic protein structure knowledge.",
+ "summary": "Learn access routes, interpretation, strengths, limitations, and confidence assessment for predicted structures."
+ },
+ {
+ "id": "af-confidence",
+ "title": "Interpreting AlphaFold confidence scores",
+ "url": "https://www.ebi.ac.uk/training/online/courses/alphafold/inputs-and-outputs/evaluating-alphafolds-predicted-structures-using-confidence-scores/",
+ "kind": "Guide",
+ "level": "Intermediate",
+ "cost": "Free",
+ "language": "English",
+ "prerequisites": "Protein structure basics.",
+ "summary": "Understand local confidence and relative-domain uncertainty before using a prediction to support a biological claim."
+ },
+ {
+ "id": "colabfold",
+ "title": "ColabFold",
+ "url": "https://github.com/sokrypton/ColabFold",
+ "kind": "Tool",
+ "level": "Intermediate",
+ "cost": "Code free; compute access varies",
+ "language": "English",
+ "prerequisites": "Structure prediction basics and familiarity with notebooks or command-line tools.",
+ "summary": "An accessible prediction toolkit with examples and execution options. Check current compute availability before planning a run."
+ },
+ {
+ "id": "rfdiffusion",
+ "title": "RFdiffusion",
+ "url": "https://github.com/RosettaCommons/RFdiffusion",
+ "kind": "Tool",
+ "level": "Advanced",
+ "cost": "Code available; GPU compute may cost",
+ "language": "English",
+ "prerequisites": "Protein design, structure assessment, and command-line experience.",
+ "summary": "Explore diffusion-based protein backbone generation and conditional design through the authors' code and examples."
+ },
+ {
+ "id": "proteinmpnn",
+ "title": "ProteinMPNN",
+ "url": "https://github.com/dauparas/ProteinMPNN",
+ "kind": "Tool",
+ "level": "Advanced",
+ "cost": "Code available; compute may cost",
+ "language": "English",
+ "prerequisites": "Protein structures, sequence design, and scripting.",
+ "summary": "Study sequence design conditioned on a protein backbone as a distinct stage in a broader design workflow."
+ },
+ {
+ "id": "openmm",
+ "title": "OpenMM user guide",
+ "url": "https://docs.openmm.org/latest/userguide/",
+ "kind": "Documentation",
+ "level": "Advanced",
+ "cost": "Free; compute may cost",
+ "language": "English",
+ "prerequisites": "Molecular simulation basics and Python.",
+ "summary": "Learn simulation setup, execution, and analysis with explicit attention to the physical model and settings."
+ },
+ {
+ "id": "gromacs",
+ "title": "GROMACS documentation",
+ "url": "https://manual.gromacs.org/current/",
+ "kind": "Documentation",
+ "level": "Advanced",
+ "cost": "Free; compute may cost",
+ "language": "English",
+ "prerequisites": "Thermodynamics, molecular structures, and command-line use.",
+ "summary": "A reference for molecular dynamics methods, file formats, commands, and reproducible simulation configuration."
+ },
+ {
+ "id": "deseq2",
+ "title": "DESeq2 vignette",
+ "url": "https://bioconductor.org/packages/release/bioc/vignettes/DESeq2/inst/doc/DESeq2.html",
+ "kind": "Documentation",
+ "level": "Intermediate",
+ "cost": "Free",
+ "language": "English",
+ "prerequisites": "R and experimental design.",
+ "summary": "Understand count-based differential expression, model design, contrasts, diagnostics, and interpretation."
+ },
+ {
+ "id": "galaxy",
+ "title": "Galaxy Training Network",
+ "url": "https://training.galaxyproject.org/",
+ "kind": "Tutorial",
+ "level": "Beginner",
+ "cost": "Training free; server quotas vary",
+ "language": "English",
+ "prerequisites": "Choose an introductory pathway; many require no programming.",
+ "summary": "Hands-on biological analysis tutorials across sequencing, proteomics, metabolomics, and other domains."
+ },
+ {
+ "id": "nf-rnaseq",
+ "title": "nf-core/rnaseq",
+ "url": "https://nf-co.re/rnaseq",
+ "kind": "Workflow",
+ "level": "Intermediate",
+ "cost": "Code free; compute and storage may cost",
+ "language": "English",
+ "prerequisites": "RNA-seq concepts, Nextflow, and suitable compute access.",
+ "summary": "A production workflow to examine after a smaller tutorial; learn its inputs, profiles, QC outputs, and documented options."
+ },
+ {
+ "id": "scanpy",
+ "title": "Scanpy tutorials",
+ "url": "https://scanpy.readthedocs.io/en/stable/tutorials/index.html",
+ "kind": "Tutorial",
+ "level": "Intermediate",
+ "cost": "Free",
+ "language": "English",
+ "prerequisites": "Basic Python and single-cell matrices.",
+ "summary": "Work through Python single-cell analysis examples and inspect how preprocessing decisions affect downstream results."
+ },
+ {
+ "id": "seurat",
+ "title": "Seurat guided clustering tutorial",
+ "url": "https://satijalab.org/seurat/articles/pbmc3k_tutorial.html",
+ "kind": "Tutorial",
+ "level": "Intermediate",
+ "cost": "Free",
+ "language": "English",
+ "prerequisites": "Basic R and single-cell concepts.",
+ "summary": "An R entry point to single-cell QC, normalization, dimensionality reduction, clustering, and marker exploration."
+ },
+ {
+ "id": "scvi",
+ "title": "scvi-tools tutorials and model guides",
+ "url": "https://docs.scvi-tools.org/en/stable/",
+ "kind": "Documentation",
+ "level": "Advanced",
+ "cost": "Free; compute may cost",
+ "language": "English",
+ "prerequisites": "Python, single-cell analysis, and statistics.",
+ "summary": "Choose probabilistic models by task and modality, and read their assumptions alongside the worked tutorials."
+ },
+ {
+ "id": "totalvi",
+ "title": "totalVI: RNA and protein analysis",
+ "url": "https://docs.scvi-tools.org/en/stable/user_guide/models/totalvi.html",
+ "kind": "Guide",
+ "level": "Advanced",
+ "cost": "Free; compute may cost",
+ "language": "English",
+ "prerequisites": "CITE-seq concepts, Python, and single-cell QC.",
+ "summary": "A model guide for joint RNA–protein analysis, with links to CITE-seq examples and discussion of the observation model."
+ },
+ {
+ "id": "multivi",
+ "title": "MultiVI: RNA and chromatin accessibility",
+ "url": "https://docs.scvi-tools.org/en/stable/user_guide/models/multivi.html",
+ "kind": "Guide",
+ "level": "Advanced",
+ "cost": "Free; compute may cost",
+ "language": "English",
+ "prerequisites": "Single-cell RNA/ATAC concepts and Python.",
+ "summary": "Study joint RNA–chromatin accessibility modeling, including the paired and unpaired data setting."
+ },
+ {
+ "id": "mudata",
+ "title": "MuData documentation",
+ "url": "https://mudata.scverse.org/latest/",
+ "kind": "Documentation",
+ "level": "Intermediate",
+ "cost": "Free",
+ "language": "English",
+ "prerequisites": "Python and AnnData.",
+ "summary": "Understand how multimodal observations and modality-specific matrices are organized and linked."
+ },
+ {
+ "id": "pertpy",
+ "title": "Pertpy: perturbation analysis",
+ "url": "https://pertpy.scverse.org/en/stable/",
+ "kind": "Tutorial",
+ "level": "Advanced",
+ "cost": "Free; compute may cost",
+ "language": "English",
+ "prerequisites": "Single-cell analysis and experimental design.",
+ "summary": "Explore guide assignment, perturbation efficacy, response comparisons, and prediction through documented examples."
+ },
+ {
+ "id": "scirpy",
+ "title": "Scirpy: immune receptor analysis",
+ "url": "https://scirpy.scverse.org/en/latest/",
+ "kind": "Tutorial",
+ "level": "Advanced",
+ "cost": "Free",
+ "language": "English",
+ "prerequisites": "Python, single-cell data, and basic immunology.",
+ "summary": "Learn repertoire QC, clonotype analysis, and integration of receptor information with cell-level measurements."
+ },
+ {
+ "id": "airr",
+ "title": "AIRR Community documentation",
+ "url": "https://docs.airr-community.org/en/stable/",
+ "kind": "Documentation",
+ "level": "Intermediate",
+ "cost": "Free",
+ "language": "English",
+ "prerequisites": "Basic adaptive immune repertoire concepts.",
+ "summary": "Use community terminology, data standards, and metadata guidance when handling receptor repertoire datasets."
+ },
+ {
+ "id": "ebi-training",
+ "title": "EMBL-EBI on-demand training",
+ "url": "https://www.ebi.ac.uk/training/on-demand",
+ "kind": "Course",
+ "level": "Beginner",
+ "cost": "Free",
+ "language": "English",
+ "prerequisites": "Vary by course.",
+ "summary": "Find focused introductions to biological databases and analysis areas, including routes into additional omics fields."
+ },
+ {
+ "id": "nextflow",
+ "title": "Nextflow documentation",
+ "url": "https://docs.seqera.io/nextflow",
+ "kind": "Documentation",
+ "level": "Intermediate",
+ "cost": "Free; compute may cost",
+ "language": "English",
+ "prerequisites": "Command-line use and workflow concepts.",
+ "summary": "Reference processes, channels, modules, profiles, executors, and dependency handling while building a small pipeline."
+ },
+ {
+ "id": "nextflow-training",
+ "title": "Nextflow community training",
+ "url": "https://training.nextflow.io/",
+ "kind": "Course",
+ "level": "Intermediate",
+ "cost": "Free",
+ "language": "English",
+ "prerequisites": "Basic shell skills; start with the introductory material.",
+ "summary": "A guided route from running a first pipeline to composing and configuring workflows."
+ },
+ {
+ "id": "nfcore",
+ "title": "nf-core documentation",
+ "url": "https://nf-co.re/docs/",
+ "kind": "Documentation",
+ "level": "Intermediate",
+ "cost": "Free",
+ "language": "English",
+ "prerequisites": "Nextflow basics.",
+ "summary": "Learn conventions for using and developing community pipelines, including configuration and contribution guidance."
+ },
+ {
+ "id": "snakemake",
+ "title": "Snakemake documentation",
+ "url": "https://snakemake.readthedocs.io/en/stable/",
+ "kind": "Documentation",
+ "level": "Intermediate",
+ "cost": "Free; compute may cost",
+ "language": "English",
+ "prerequisites": "Basic Python and command-line use.",
+ "summary": "Understand rules, file dependencies, software environments, execution, and reporting."
+ },
+ {
+ "id": "snakemake-tutorial",
+ "title": "Snakemake general-use tutorial",
+ "url": "https://snakemake.readthedocs.io/en/stable/tutorial/tutorial.html",
+ "kind": "Tutorial",
+ "level": "Intermediate",
+ "cost": "Free",
+ "language": "English",
+ "prerequisites": "Basic Python and shell use.",
+ "summary": "Build and extend an example workflow while learning dependency handling, configuration, and execution."
+ },
+ {
+ "id": "apptainer",
+ "title": "Apptainer user guide",
+ "url": "https://apptainer.org/docs/user/latest/",
+ "kind": "Documentation",
+ "level": "Intermediate",
+ "cost": "Free; infrastructure may cost",
+ "language": "English",
+ "prerequisites": "Linux and software environment basics.",
+ "summary": "Learn container execution and reproducibility concepts relevant to shared research computing systems."
+ },
+ {
+ "id": "mlcourse",
+ "title": "Google Machine Learning Crash Course",
+ "url": "https://developers.google.com/machine-learning/crash-course",
+ "kind": "Course",
+ "level": "Intermediate",
+ "cost": "Free",
+ "language": "English",
+ "prerequisites": "Python and introductory algebra/statistics; check module guidance.",
+ "summary": "An applied introduction to model fitting, generalization, data handling, and evaluation."
+ },
+ {
+ "id": "carpentry-ai",
+ "title": "Developing Software with Generative AI",
+ "url": "https://carpentries-incubator.github.io/software-development-with-genai/",
+ "kind": "Tutorial",
+ "level": "Intermediate",
+ "cost": "Free",
+ "language": "English",
+ "prerequisites": "Some programming experience; this is an evolving Carpentries Incubator lesson.",
+ "summary": "Practice AI-assisted software development through a research-computing lesson. The material is under development; check its current status and verify generated code."
+ },
+ {
+ "id": "hf-course",
+ "title": "Hugging Face LLM course",
+ "url": "https://huggingface.co/learn/llm-course/chapter1/1",
+ "kind": "Course",
+ "level": "Intermediate",
+ "cost": "Free; optional compute may cost",
+ "language": "English",
+ "prerequisites": "Python and introductory machine learning for implementation chapters.",
+ "summary": "Understand language models and their practical ecosystem; pair technical learning with source verification and task-level checks."
+ },
+ {
+ "id": "hf-agents",
+ "title": "Hugging Face Agents Course",
+ "url": "https://huggingface.co/learn/agents-course/unit0/introduction",
+ "kind": "Course",
+ "level": "Advanced",
+ "cost": "Course free; external services may cost",
+ "language": "English",
+ "prerequisites": "Python, APIs, and basic LLM familiarity.",
+ "summary": "An introduction to agent concepts, tools, and implementation. Evaluate any example on a bounded scientific task before expanding it."
+ },
+ {
+ "id": "llm-science",
+ "title": "Ten simple rules for using large language models in science",
+ "url": "https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1011767",
+ "kind": "Paper",
+ "level": "Beginner",
+ "cost": "Open access",
+ "language": "English",
+ "prerequisites": "A scientific task you want to support with an LLM.",
+ "summary": "A science-specific starting point for transparent, critical LLM use, with discussion of verification and appropriate applications."
+ },
+ {
+ "id": "bindcraft",
+ "title": "BindCraft",
+ "url": "https://github.com/martinpacesa/BindCraft",
+ "kind": "Tool",
+ "level": "Advanced",
+ "cost": "Code available; dependency licenses and GPU costs vary",
+ "language": "English",
+ "prerequisites": "Binder design, structure assessment, and suitable GPU access.",
+ "summary": "An optimization-based binder-design pipeline combining AlphaFold-based design, sequence design, and filtering. Compare its strategy with diffusion-based approaches and inspect dependency terms."
+ }
+ ],
+ "projects": [
+ {
+ "id": "rna-seq",
+ "title": "Your first RNA-seq comparison",
+ "track": "omics",
+ "level": "Beginner",
+ "description": "Use a small packaged airway count dataset to compare treated and untreated samples while accounting for cell line.",
+ "question": "Which genes show evidence of a treatment-associated expression change in this paired experimental design?",
+ "prerequisites": "Basic R, count matrices, and introductory experimental design.",
+ "data": "The Bioconductor airway example dataset: four cell lines measured with and without dexamethasone. Starts from counts, not FASTQ files.",
+ "outputs": [
+ "Sample metadata and a PCA plot",
+ "A differential-expression table with effect sizes and adjusted p-values",
+ "An MA plot and software session information"
+ ],
+ "steps": [
+ "Read the sample metadata and explain why cell line belongs in the design.",
+ "Run the supplied R script and inspect the PCA before interpreting differential expression.",
+ "Choose three genes, report effect sizes and adjusted p-values, and state the limits of the comparison.",
+ "Use the linked full RNA-seq workflow to learn how raw reads become counts."
+ ],
+ "resources": [
+ "rnaseq",
+ "deseq2"
+ ]
+ },
+ {
+ "id": "protein-structure",
+ "title": "Read your first protein structure",
+ "track": "structural",
+ "level": "Beginner",
+ "description": "Inspect the experimental crambin structure 1CRN and turn its metadata and residue information into a short scientific report.",
+ "question": "What does this experimental structure show, and what evidence should accompany a structural interpretation?",
+ "prerequisites": "Basic Python and protein biology.",
+ "data": "RCSB PDB entry 1CRN, downloaded as mmCIF by the supplied script. The entry is an experimental structure, not an AlphaFold prediction.",
+ "outputs": [
+ "A downloaded mmCIF file and a residue summary table",
+ "A report of experimental method, resolution, chains, and residue counts",
+ "An interpretation exercise linking structure to validation information"
+ ],
+ "steps": [
+ "Run the supplied script, open the structure in a molecular viewer, and identify chains and secondary structure.",
+ "Read the entry's experimental and validation information before describing its quality.",
+ "Explain what the residue B-factors represent in this experimental context.",
+ "For a later extension, choose a matched experimental/predicted protein pair and assess sequence correspondence and prediction confidence."
+ ],
+ "resources": [
+ "pdb101",
+ "biopython",
+ "chimerax",
+ "af-confidence"
+ ]
+ },
+ {
+ "id": "workflow-basics",
+ "title": "One analysis, two workflow engines",
+ "track": "workflows",
+ "level": "Intermediate",
+ "description": "Calculate sequence GC content with a plain script, then reproduce the same output using Nextflow or Snakemake.",
+ "question": "How can explicit dependencies make a small analysis easier to run and verify?",
+ "prerequisites": "Python and shell basics; install one workflow engine for the extension.",
+ "data": "Three tiny synthetic FASTA records shipped with the project. Ambiguous bases are counted separately and excluded from the GC denominator.",
+ "outputs": [
+ "A per-sequence CSV summary",
+ "A comparison against an exact expected result",
+ "A dependency graph and a documented rerun experiment"
+ ],
+ "steps": [
+ "Run the Python analysis and compare the CSV with expected.csv.",
+ "Choose one engine and run its supplied workflow on the same input.",
+ "Change one sequence, rerun, and inspect which task executes.",
+ "Explain how a new quality-check step would connect to the existing workflow."
+ ],
+ "resources": [
+ "nextflow-training",
+ "snakemake-tutorial"
+ ]
+ }
+ ]
+}
diff --git a/guides/ai.md b/guides/ai.md
new file mode 100644
index 0000000..ec84914
--- /dev/null
+++ b/guides/ai.md
@@ -0,0 +1,177 @@
+
+
+# Use AI thoughtfully in research
+
+[← Main guide](../README.md) · [Browse resources](resources.md)
+
+AI literacy has several entry points. Practical LLM use can begin early; training biological models and building tool-using agents require deeper foundations. Keep the scientific question and evidence visible at every stage.
+
+## Along this path
+
+- [Machine learning and biological models](#model-foundations)
+- [Working with LLMs for science](#llms)
+- [Agentic AI and scientific tools](#agents)
+- [Evaluate and document AI-assisted work](#ai-evaluation)
+
+
+
+## Machine learning and biological models
+
+**Level:** Intermediate
+
+Learn what a model represents, optimizes, and can reasonably generalize to.
+
+**Before you begin:** Basic Python, statistics, and introductory linear algebra.
+
+### What to understand
+
+- Training, validation, test sets, leakage, baselines, and distribution shift.
+- Embeddings and transformers; variational autoencoders and latent variables.
+- Diffusion and conditional generation, with links to molecular design.
+- Using a pretrained model versus fine-tuning or training a new one.
+
+### What you’ll be able to do
+
+Describe a model's objective, input representation, baseline, and evaluation task.
+
+### Try this
+
+Read one scvi-tools model guide and one protein-design model description. Compare their inputs, objectives, outputs, and evidence of usefulness.
+
+### Keep in mind
+
+A benchmark score only speaks to its evaluation setup. Ask how data were split and whether the test resembles the intended scientific application.
+
+### A few good resources
+
+- [Dive into Deep Learning](https://d2l.ai/) — Book · Intermediate · Free online · English. Build conceptual and practical foundations in deep learning; select chapters relevant to the model you are studying.
+ - Prerequisites: Python, probability, linear algebra, and basic calculus for deeper chapters.
+
+- [Google Machine Learning Crash Course](https://developers.google.com/machine-learning/crash-course) — Course · Intermediate · Free · English. An applied introduction to model fitting, generalization, data handling, and evaluation.
+ - Prerequisites: Python and introductory algebra/statistics; check module guidance.
+
+- [scvi-tools tutorials and model guides](https://docs.scvi-tools.org/en/stable/) — Documentation · Advanced · Free; compute may cost · English. Choose probabilistic models by task and modality, and read their assumptions alongside the worked tutorials.
+ - Prerequisites: Python, single-cell analysis, and statistics.
+
+- [RFdiffusion](https://github.com/RosettaCommons/RFdiffusion) — Tool · Advanced · Code available; GPU compute may cost · English. Explore diffusion-based protein backbone generation and conditional design through the authors' code and examples.
+ - Prerequisites: Protein design, structure assessment, and command-line experience.
+
+
+
+## Working with LLMs for science
+
+**Level:** Beginner
+
+Use an LLM for bounded tasks with explicit context and inspectable outputs.
+
+**Before you begin:** A clear task and the ability to assess the result or consult a qualified reviewer.
+
+### What to understand
+
+- Provide the question, source material, constraints, and desired output format.
+- Ground literature summaries in supplied papers and check claims against the original text.
+- For code assistance, provide schemas and small examples, inspect changes, and run meaningful checks.
+- Record the model, date, inputs, important instructions, and human verification.
+
+### What you’ll be able to do
+
+Create a useful research aid with a record of its sources and checks.
+
+### Try this
+
+Give an LLM a paper's methods section and ask for a table of reported parameters with supporting quotations and locations. Mark absent information as not reported, then verify every row yourself.
+
+### Keep in mind
+
+Fluent output can contain incorrect claims, citations, or code. Use suitable public or authorized data and check the service's data-handling terms before supplying unpublished or sensitive material.
+
+### A few good resources
+
+- [Ten simple rules for using large language models in science](https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1011767) — Paper · Beginner · Open access · English. A science-specific starting point for transparent, critical LLM use, with discussion of verification and appropriate applications.
+ - Prerequisites: A scientific task you want to support with an LLM.
+
+- [Developing Software with Generative AI](https://carpentries-incubator.github.io/software-development-with-genai/) — Tutorial · Intermediate · Free · English. Practice AI-assisted software development through a research-computing lesson. The material is under development; check its current status and verify generated code.
+ - Prerequisites: Some programming experience; this is an evolving Carpentries Incubator lesson.
+
+- [Hugging Face LLM course](https://huggingface.co/learn/llm-course/chapter1/1) — Course · Intermediate · Free; optional compute may cost · English. Understand language models and their practical ecosystem; pair technical learning with source verification and task-level checks.
+ - Prerequisites: Python and introductory machine learning for implementation chapters.
+
+
+
+## Agentic AI and scientific tools
+
+**Level:** Advanced
+
+Connect a model to tools while keeping execution and evaluation observable.
+
+**Before you begin:** Programming, APIs, practical LLM use, and a reproducible baseline task.
+
+### What to understand
+
+- Tool calling, structured inputs and outputs, retrieval, state, and execution traces.
+- Bounded tool permissions, explicit stopping conditions, and human review where needed.
+- Task-level evaluation, failure cases, tool-result verification, and cost tracking.
+
+### What you’ll be able to do
+
+Specify and evaluate a small agent against a simpler scripted baseline.
+
+### Try this
+
+Build a read-only assistant over a few public tutorials. Require source locations for answers and test it on a fixed set of answerable and unanswerable questions.
+
+### Keep in mind
+
+Start with a narrow task and inspect the trace. Greater autonomy is not itself evidence of better scientific results.
+
+### A few good resources
+
+- [Hugging Face Agents Course](https://huggingface.co/learn/agents-course/unit0/introduction) — Course · Advanced · Course free; external services may cost · English. An introduction to agent concepts, tools, and implementation. Evaluate any example on a bounded scientific task before expanding it.
+ - Prerequisites: Python, APIs, and basic LLM familiarity.
+
+- [Developing Software with Generative AI](https://carpentries-incubator.github.io/software-development-with-genai/) — Tutorial · Intermediate · Free · English. Practice AI-assisted software development through a research-computing lesson. The material is under development; check its current status and verify generated code.
+ - Prerequisites: Some programming experience; this is an evolving Carpentries Incubator lesson.
+
+
+
+## Evaluate and document AI-assisted work
+
+**Level:** Intermediate
+
+Make it clear which results come from evidence, computation, and model suggestions.
+
+**Before you begin:** Practical LLM experience or an introductory machine-learning project.
+
+### What to understand
+
+- Reference examples, baselines, held-out tasks, and explicit success criteria.
+- Citation verification, numerical checks, reproducible tool outputs, and failure analysis.
+- Versioned prompts or instructions, model settings, tool versions, and limitations.
+
+### What you’ll be able to do
+
+Write a short evaluation report with successes, failures, and reproducibility details.
+
+### Try this
+
+Compare an LLM-assisted solution with a manual or scripted baseline on five fixed tasks. Report factual accuracy and completion, not just writing quality.
+
+### Keep in mind
+
+The model's own confidence is not an independent check. Verify important claims and calculations against external evidence or deterministic computation.
+
+### A few good resources
+
+- [Ten simple rules for using large language models in science](https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1011767) — Paper · Beginner · Open access · English. A science-specific starting point for transparent, critical LLM use, with discussion of verification and appropriate applications.
+ - Prerequisites: A scientific task you want to support with an LLM.
+
+- [Developing Software with Generative AI](https://carpentries-incubator.github.io/software-development-with-genai/) — Tutorial · Intermediate · Free · English. Practice AI-assisted software development through a research-computing lesson. The material is under development; check its current status and verify generated code.
+ - Prerequisites: Some programming experience; this is an evolving Carpentries Incubator lesson.
+
+- [Hugging Face Agents Course](https://huggingface.co/learn/agents-course/unit0/introduction) — Course · Advanced · Course free; external services may cost · English. An introduction to agent concepts, tools, and implementation. Evaluate any example on a bounded scientific task before expanding it.
+ - Prerequisites: Python, APIs, and basic LLM familiarity.
+
+- [Quarto: getting started](https://quarto.org/docs/get-started/) — Tutorial · Beginner · Free · English. Combine analysis, narrative, and outputs in a reproducible report rather than copying results into an unrelated document.
+ - Prerequisites: Basic R or Python for executable examples.
+
+Collection reviewed: 2026-10-20. See [About](../README.md#about-this-collection) for scope and review details.
diff --git a/guides/foundations.md b/guides/foundations.md
new file mode 100644
index 0000000..6845f0d
--- /dev/null
+++ b/guides/foundations.md
@@ -0,0 +1,227 @@
+
+
+# Build your foundations
+
+[← Main guide](../README.md) · [Browse resources](resources.md)
+
+Start with the skills your first project needs. You can learn the deeper mathematics alongside your work; completing every course here is not an entry requirement.
+
+## Along this path
+
+- [Python, R, and the command line](#programming)
+- [Biological data and file formats](#biological-data)
+- [Statistics and experimental design](#statistics)
+- [Git, environments, and research habits](#reproducibility)
+- [Mathematics when you need it](#math)
+
+
+
+## Python, R, and the command line
+
+**Level:** Beginner
+
+Choose a language for a concrete task, then learn to read, transform, and visualize a small dataset.
+
+**Before you begin:** No programming experience required.
+
+### What to understand
+
+- Python: variables, functions, tables, plotting, and small scripts.
+- R: data frames, factors, tidy data, plotting, and biological analysis packages.
+- Shell: paths, pipes, redirection, permissions, and inspecting a text file.
+
+### What you’ll be able to do
+
+Write a short script that reads a table, checks its columns, and saves a useful summary.
+
+### Try this
+
+Use one small table in either Python or R. Report missing values, summarize one measurement by group, and plot the result. Explain the biological meaning of each column.
+
+### Keep in mind
+
+Choose one language for your first project. Language preference depends on the analysis and team; you do not need to learn Python and R simultaneously.
+
+### A few good resources
+
+- [The Python Tutorial](https://docs.python.org/3/tutorial/) — Documentation · Beginner · Free · English. The official language tutorial. Use it as a reference while writing small scripts rather than reading everything before practicing.
+ - Prerequisites: Some general programming familiarity; complete beginners can start with a guided lesson.
+
+- [R for Data Science, second edition](https://r4ds.hadley.nz/) — Book · Beginner · Free online · English. A practical route through importing, transforming, visualizing, and communicating tabular data in R.
+ - Prerequisites: No prior R experience.
+
+- [Data Carpentry: genomics lessons](https://datacarpentry.org/lessons/#genomics) — Tutorial · Beginner · Free · English. Learn project organization, the command line, sequence processing, and computing through biological examples.
+ - Prerequisites: No prior command-line experience for the introductory lessons.
+
+- [Elzero: Mastering Python](https://elzero.org/category/courses/mastering-python/) — Course · Beginner · Free · Arabic. An Arabic-language programming entry point retained from the original resource list. Pair the lessons with a small biological data task.
+ - Prerequisites: No prior Python experience.
+
+
+
+## Biological data and file formats
+
+**Level:** Beginner
+
+Understand what a file represents before choosing a tool to process it.
+
+**Before you begin:** Basic molecular biology and the ability to inspect a text file.
+
+### What to understand
+
+- Sequences and reads: FASTA, FASTQ, quality scores, and reference versions.
+- Alignments and annotation: SAM/BAM, VCF, BED, and GTF/GFF; learn coordinate conventions explicitly.
+- Analysis objects: count matrices, sample metadata, AnnData, and MuData.
+- Structures: PDB and mmCIF, chains, residues, assemblies, and identifiers.
+
+### What you’ll be able to do
+
+Explain the inputs, outputs, identifiers, and coordinate system of your chosen analysis.
+
+### Try this
+
+Make a data dictionary for a tutorial dataset. Record its accession, organism, reference genome or structure, sample units, and file formats.
+
+### Keep in mind
+
+Gene symbols, stable identifiers, and reference builds are not interchangeable. Preserve the versions and mapping decisions used in your analysis.
+
+### A few good resources
+
+- [Data Carpentry: genomics lessons](https://datacarpentry.org/lessons/#genomics) — Tutorial · Beginner · Free · English. Learn project organization, the command line, sequence processing, and computing through biological examples.
+ - Prerequisites: No prior command-line experience for the introductory lessons.
+
+- [Ensembl training](https://training.ensembl.org/) — Tutorial · Beginner · Free · English. Learn to navigate genome annotation, identifiers, comparative data, and Ensembl tools using worked training materials.
+ - Prerequisites: Basic genetics.
+
+- [NCBI Learn](https://www.ncbi.nlm.nih.gov/learn/) — Tutorial · Beginner · Free · English. Find official introductions and training for NCBI databases and tools; choose a tutorial that matches your data source.
+ - Prerequisites: Basic molecular biology.
+
+- [AnnData documentation](https://anndata.readthedocs.io/en/stable/) — Documentation · Intermediate · Free · English. Understand the annotated matrix structure used in many Python single-cell workflows, including observations, variables, and layers.
+ - Prerequisites: Python and basic single-cell matrices.
+
+- [PDB-101: understanding PDB data](https://pdb101.rcsb.org/learn/guide-to-understanding-pdb-data/introduction) — Guide · Beginner · Free · English. A welcoming introduction to structure files, experimental information, assemblies, and interpretation.
+ - Prerequisites: Basic protein biology.
+
+
+
+## Statistics and experimental design
+
+**Level:** Beginner
+
+Connect statistical decisions to the biological question and experimental units.
+
+**Before you begin:** Basic tables and plots; learn probability concepts as needed.
+
+### What to understand
+
+- Biological versus technical replication, controls, randomization, and confounding.
+- Distributions, effect sizes, uncertainty, hypothesis tests, and multiple testing.
+- Linear models, covariates, batch effects, and exploratory data analysis.
+- For single-cell studies, identify the independent biological samples before testing.
+
+### What you’ll be able to do
+
+Describe the comparison, independent samples, covariates, and limitations of a small study.
+
+### Try this
+
+Sketch two experimental designs: one where treatment is confounded with batch, and one where it is balanced. Explain what can be learned from each.
+
+### Keep in mind
+
+A small adjusted p-value does not establish a large effect or causality. Interpret effect sizes, design, and uncertainty together.
+
+### A few good resources
+
+- [Statistical Thinking for the 21st Century](https://statsthinking21.github.io/statsthinking21-core-site/) — Book · Beginner · Free online · English. Develop statistical reasoning about data, probability, inference, and models before relying on a test by name.
+ - Prerequisites: Basic arithmetic and willingness to work through examples.
+
+- [Bioconductor: gene-level RNA-seq workflow](https://bioconductor.org/packages/release/workflows/html/rnaseqGene.html) — Workflow · Intermediate · Free · English. Connect RNA-seq processing with exploratory analysis and differential expression through a documented workflow.
+ - Prerequisites: Basic R, sample metadata, and introductory statistics.
+
+- [Single-cell Best Practices](https://www.sc-best-practices.org/) — Book · Intermediate · Free online · English. A question-oriented reference for single-cell analysis across modalities, including preprocessing, statistics, and integration.
+ - Prerequisites: Basic Python or R and single-cell biology.
+
+
+
+## Git, environments, and research habits
+
+**Level:** Beginner
+
+Make it possible for your future self and a collaborator to repeat your work.
+
+**Before you begin:** A small script or notebook.
+
+### What to understand
+
+- Git commits, branches, readable READMEs, and reviewable changes.
+- Separate input data, code, configuration, and generated results.
+- Record package versions, random seeds, parameters, and dataset accessions.
+- Use environments first; learn containers when your workflow needs portability.
+
+### What you’ll be able to do
+
+Share a small project with clear setup and rerun instructions.
+
+### Try this
+
+Ask a peer to reproduce one plot using only your README. Record any missing dependency, parameter, or data-download instruction and repair it.
+
+### Keep in mind
+
+A notebook that ran once is not sufficient documentation. Restart the session and rerun it from the beginning before sharing.
+
+### A few good resources
+
+- [Software Carpentry: Version Control with Git](https://swcarpentry.github.io/git-novice/) — Tutorial · Beginner · Free · English. Practice tracking changes, working with remote repositories, and collaborating on a small project.
+ - Prerequisites: Basic command-line use.
+
+- [Data Carpentry: genomics lessons](https://datacarpentry.org/lessons/#genomics) — Tutorial · Beginner · Free · English. Learn project organization, the command line, sequence processing, and computing through biological examples.
+ - Prerequisites: No prior command-line experience for the introductory lessons.
+
+- [Conda: managing environments](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html) — Documentation · Beginner · Free · English. Create and document isolated software environments, including environment files that can be shared with collaborators.
+ - Prerequisites: Basic command-line use.
+
+- [Quarto: getting started](https://quarto.org/docs/get-started/) — Tutorial · Beginner · Free · English. Combine analysis, narrative, and outputs in a reproducible report rather than copying results into an unrelated document.
+ - Prerequisites: Basic R or Python for executable examples.
+
+
+
+## Mathematics when you need it
+
+**Level:** Intermediate
+
+Build intuition for the mathematics behind the methods you actually use.
+
+**Before you begin:** School-level algebra; programming helps with experiments.
+
+### What to understand
+
+- Linear algebra: vectors, matrices, projections, eigenvectors, and PCA.
+- Probability: conditional probability, likelihood, and uncertainty.
+- Calculus and optimization: gradients, objectives, and iterative fitting.
+
+### What you’ll be able to do
+
+Explain one method's inputs, objective, assumptions, and outputs in plain language.
+
+### Try this
+
+Apply PCA to a small numeric table, then explain what the axes describe and how scaling changes the result.
+
+### Keep in mind
+
+These topics are deeper study options. Do not delay an accessible first project until you have completed all of them.
+
+### A few good resources
+
+- [MIT OpenCourseWare: Linear Algebra](https://ocw.mit.edu/courses/18-06-linear-algebra-spring-2010/) — Course · Intermediate · Free · English. A deeper route into matrices, projections, and related concepts that support PCA and machine learning.
+ - Prerequisites: Algebra; consult the course's own prerequisite guidance.
+
+- [Statistical Thinking for the 21st Century](https://statsthinking21.github.io/statsthinking21-core-site/) — Book · Beginner · Free online · English. Develop statistical reasoning about data, probability, inference, and models before relying on a test by name.
+ - Prerequisites: Basic arithmetic and willingness to work through examples.
+
+- [Dive into Deep Learning](https://d2l.ai/) — Book · Intermediate · Free online · English. Build conceptual and practical foundations in deep learning; select chapters relevant to the model you are studying.
+ - Prerequisites: Python, probability, linear algebra, and basic calculus for deeper chapters.
+
+Collection reviewed: 2026-10-20. See [About](../README.md#about-this-collection) for scope and review details.
diff --git a/guides/legacy-resources.md b/guides/legacy-resources.md
new file mode 100644
index 0000000..e9144a8
--- /dev/null
+++ b/guides/legacy-resources.md
@@ -0,0 +1,89 @@
+# Historical resource list
+
+This is the original learning list, preserved for context. It has not been revalidated. For the current learning paths, use the [main guide](../README.md).
+
+---
+
+# Bioinformatics Resources
+This repo is dedicated to make bioinformatics resources available for anyone who wish to enter this field. (You may find it useful or not useful based on your level). I am not an expert in the field, just posting things based on my knowledge and the things which worked for me personally, they may/may not work with you, totally fine.
+
+| Header | Value |
+|---|:---|
+| Author | Ahmed Sameh |
+| Mail | sameh7831@gmail.com |
+| Education | BSc in Biotechnology/Biomolecular Chemistry, Faculty of Science, Cairo University. |
+
+**Table of Contents:**
+- [Road-Map](#Road-Map)
+- [Structural Bioinformatics Resources](#structural-bioinformatics)
+ - [Pre-requisites](#pre-requistes)
+ - [Resources](#resources)
+ - [Extra Notes](#extra-notes)
+- [HTS/Omics Data Analysis Resources](#high-throughput-sequencing-hts-and-omics)
+ - [Pre-requisites](#pre-requistes-1)
+ - [Resources](#resources-1)
+ - [Extra Notes](#extra-notes-1)
+- [Community and Support](#)
+
+
+# Road-Map
+In order to embark your journey in bioinformatics, you need to ask decide which branch of bioinformatics you are interested in the most? Up-to my very little knowledge, there are 2 main branches which are:
+1. Structural Bioinformatics which deals with the structure of biomolecules and structural data, whether they are proteins, nucleic acids, or in-oragnic molecules. This branch requires a background mainly related to thermodynamics and biophysics.
+2. The second branch is more concerned with High-throughput sequencing (HTS) and omics data (as genomics and transcriptomics) and the analysis of it's data.
+Below are road-maps and resources for both direction whether you decided to start either of them.
+
+## Structural Bioinformatics:
+### Pre-requistes:
+- Programming skills.
+- Thermodynamics background.
+- Structural biology background.
+- Mathematics background.
+- Machine-Learning background.
+
+### Resources
+| ```Skill``` | ```Resources``` | ```ETA to study``` | ```Extra Notes``` |
+|---|---|---|---|
+| **Programming Skills** | 1- [Bioinformatics sepcilization on coursera](https://www.coursera.org/learn/bioinformatics)
2- [Code Academy course](https://try.codecademy.com/learn-python-3?g_network=g&g_productchannel=&g_adid=528849219298&g_locinterest=&g_keyword=codecademy%20python&g_acctid=243-039-7011&g_adtype=&g_keywordid=kwd-295813001496&g_ifcreative=&g_campaign=account&g_locphysical=9112367&g_adgroupid=128133970308&g_productid=&g_source={sourceid}&g_merchantid=&g_placement=&g_partition=&g_campaignid=1726903838&g_ifproduct=&utm_id=t_kwd-295813001496:ag_128133970308:cp_1726903838:n_g:d_c&utm_source=google&utm_medium=paid-search&utm_term=codecademy%20python&utm_campaign=INTL_Brand_Exact&utm_content=528849219298&g_adtype=search&g_acctid=243-039-7011&gclid=CjwKCAiA-bmsBhAGEiwAoaQNmkvUEs5k3Txr_0C9Bh997QBgD_XcBKY9HJjJByXMDI-orn45F4njARoCFVgQAvD_BwE)
3- [Python official website](https://www.learnpython.org/)
4- [Elzero channel on youtube and website](https://elzero.org/category/courses/mastering-python/)
- [Python specialization on Coursera](https://www.coursera.org/specializations/python)
5- [Linux course on Future Learn](https://www.futurelearn.com/courses/linux-for-bioinformatics)
6- [Introduction to R for Biologists](https://melbournebioinformatics.github.io/r-intro-biologists/intro_r_biologists.html)
7- [R for Biologists](https://www.rforbiologists.org/) | 2-3 months | - Do not push yourself, it is totally fine if you are starting your journey. The journey demands time and patience.
- The first 4 resources are for python, it is recommended that you start with python as it is the most used programming language and that it is very easy to begin with.
- Make sure that you do lots of exercised and practices as this is the most important aspect in programming in general. The more you practice, the more you master it and become more fluent.
- The linux course can be started after the python one, to avoid overlapping.
- Consider letting R as a lower priority (you may not use throughout your work in structural bioinformatics). R mostly here used for data analysis and visualization. |
+| **Thermodynamics and Structural Biology Background** | 1- [Text books found here in that folder](https://github.com/Ahhmedsamehh/Bioinformatics_resources/tree/main/Thermodynamics)
2- [This repo is amazing for both thermodynamics and structural biology](https://github.com/carlocamilloni/Structural-Bioinformatics) | 2 Months | - This step is critical, you may find these resources not useful for you. If so, you can share it here with me and I will merge the pull request and I will accept it.
- My advice here is to enjoy that really, it is pure science and it is you laying the base for all of the future skills to follow. |
+| **Mathematics Background** | 1- [Linear Algebra course on Coursera](https://www.coursera.org/learnlinear-algebra-machine-learning)
2- [Linear Algebra course on Khan Academy](https://www.khanacademy.org/math/linear-algebra)
3- [Multivariate Calculus course on Coursera](https://www.coursera.org/learn/machine-learning-calculus?specialization=mathematics-for-machine-learning-and-data-science)
4- [Differential Calculus course on Khan Academy](https://www.khanacademy.org/math/differential-calculus)
5- [Linear Algebra lecture](https://www.youtube.com/watch?v=QVKj3LADCnA&list=PL49CF3715CB9EF31D) | 1 Month for Linear Algebra and 1 Month for Calculus | - I really recommend starting Linear Algebra before Calculus as it may pave the way for some concepts that you are going to need in Calculus (Matrix transformation, inverse matrix,...) |
+| **Machine Learning Background** | 1- [Machine Learning specialization on Coursera](https://www.coursera.org/specializations/machine-learning-introduction?)
2- [Machine Learning Specialization](https://www.youtube.com/playlist?list=PLkDaE6sCZn6FNC6YRfRQc_FbeQrF8BwGI) | 1-2 Months | - You can start this after finishing Mathematics.
- Andrew NG is considered the most famous and the best one to explain Machine Learning in the world. |
+
+### Extra Notes:
+- Do not rush and give the process time. I recommend that you start learning in the same order of the above table, but at the end do what you see best for you!
+- Practice makes perfect, make sure that the most important thing is to continuosly practice.
+- Also, do not be shy to ask those who have experience about career advices, things you do not understand, or even an general inquiry. It is totally fine if they did not reply, be brave.
+
+## High-throughput sequencing (HTS) and Omics:
+
+### Pre-requistes:
+- Programming Skills.
+- Biology Background.
+ - Genomics.
+ - Transcriptomics.
+ - Proteomics.
+ - Metabolomics.
+- Statistics.
+- Mathematics Background.
+- Machine Learning Background.
+
+### Resources
+| ```Skill``` | ```Resources``` | ```ETA to study``` | ```Extra Notes``` |
+|---|---|---|---|
+| **Programming Skills** | 1- [Bioinformatics sepcilization on coursera](https://www.coursera.org/learn/bioinformatics)
2- [Code Academy course](https://try.codecademy.com/learn-python-3?g_network=g&g_productchannel=&g_adid=528849219298&g_locinterest=&g_keyword=codecademy%20python&g_acctid=243-039-7011&g_adtype=&g_keywordid=kwd-295813001496&g_ifcreative=&g_campaign=account&g_locphysical=9112367&g_adgroupid=128133970308&g_productid=&g_source={sourceid}&g_merchantid=&g_placement=&g_partition=&g_campaignid=1726903838&g_ifproduct=&utm_id=t_kwd-295813001496:ag_128133970308:cp_1726903838:n_g:d_c&utm_source=google&utm_medium=paid-search&utm_term=codecademy%20python&utm_campaign=INTL_Brand_Exact&utm_content=528849219298&g_adtype=search&g_acctid=243-039-7011&gclid=CjwKCAiA-bmsBhAGEiwAoaQNmkvUEs5k3Txr_0C9Bh997QBgD_XcBKY9HJjJByXMDI-orn45F4njARoCFVgQAvD_BwE)
3- [Python official website](https://www.learnpython.org/)
4- [Elzero channel on youtube and website](https://elzero.org/category/courses/mastering-python/)
- [Python specialization on Coursera](https://www.coursera.org/specializations/python)
5- [Linux course on Future Learn](https://www.futurelearn.com/courses/linux-for-bioinformatics)
6- [Introduction to R for Biologists](https://melbournebioinformatics.github.io/r-intro-biologists/intro_r_biologists.html)
7- [R for Biologists](https://www.rforbiologists.org/) | 2-3 months | - These are the same resources as the [Structural Bioinformatics](#structural-bioinformatics) part, but here I would recommend to start learning R instead of python as it is by far more used than Python.
- After R, you can start with linux.
- Python here is the least priority. You may not even have to use it, but I have to say that the future is with Python as Python is really catching-up in terms of a better visualization, so your call :). |
+| **Genomics** | 1- [Khan Academy's Genomics and DNA Sequencing course](https://www.genome.gov/genetics-glossary/)
2- [National Human Genome Research Institute's Learn Genetics website](https://www.ncbi.nlm.nih.gov/books/n/crc9781003109242/chapter11/)
3-[Coursera's Introduction to Genomic Technologies Specialization](https://www.coursera.org/learn/introduction-genomics)
4- [Bioinformatics for Biologists: Analysing and Interpreting Genomics Datasets - FutureLearn](https://www.futurelearn.com/courses/bioinformatics-for-biologists-analysing-and-interpreting-genomics-datasets) | 2-3 Weeks | - Try as much to understand the theory behind each technology to be more aware of each step.
- Another point that may help is to read also papers that takes the same subject and see how they did the experiment and interpreted the data. |
+| **Transcriptomics** | 1- [edX's Introduction to Genomics and Transcriptomics course](https://www.edx.org/learn/bioinformatics/the-university-of-california-san-diego-introduction-to-genomic-data-science)
2- [DIY Transcriptomics site](https://diytranscriptomics.com/)
3-[Class Central Course](https://www.classcentral.com/course/youtube-transcriptomics-102691) | 2-3 weeks | - Same notes as the previous |
+| **Proteomics** | 1- [Nature Education's Introduction to Proteomics course](https://www.nature.com/articles/nbt.1658)
2- [The Human Proteome Organization (HUPO) Education Committee](https://hupo.org/page-1757455)
3- [Udemy's The Complete Proteomics Masterclass](https://www.udemy.com/course/bioinformatics-proteomics-analysis-guide-for-research-papers/)
3- [Experimental Methods in Systems Biology](https://www.coursera.org/learn/experimental-methods?irclickid=yjF1L6wfGxyPRp40SdwIk1m9UkHxF%3AywJ2JA1A0&irgwc=1&utm_medium=partners&utm_source=impact&utm_campaign=315774&utm_content=b2c) | 2-3 weeks | - The third course include modules related to Transcriptomics too.
- Rest of the notes are the same as the previous |
+| **Metabolomics** | 1- [Metabolomics Society's Education page](https://metabolomicssociety.org/)
2- [The Metabolomics Wiki](https://en.wikipedia.org/wiki/Metabolomics)
3- [Udemy's Introduction to Metabolomics](https://www.ebi.ac.uk/training/online/courses/metabolomics-introduction) | 2-3 weeks | - Same notes as the previous. |
+| **Statistics** | 1- [Coursera's Introduction to Statistical Inference for Bioinformatics Studies](https://www.coursera.org/learn/statistical-inference)
2- [edX's Introduction to Genomics and Transcriptomics](https://www.edx.org/learn/bioinformatics/the-university-of-california-san-diego-introduction-to-genomic-data-science)
3- [Johns Hopkins University's Biostatistics for Beginners](https://www.coursera.org/specializations/biostatistics-public-health)
4- [Statistics Folder](https://github.com/Ahhmedsamehh/Bioinformatics_resources/tree/main/Statistics) | 1 Month | - Make sure you practice a lot and do lots of exercises and try to integrate it with your work. Stats is very easy and fun, it is considered as the was you show and present your work. |
+| **Mathematics Background** | 1- [Linear Algebra course on Coursera](https://www.coursera.org/learnlinear-algebra-machine-learning)
2- [Linear Algebra course on Khan Academy](https://www.khanacademy.org/math/linear-algebra)
3- [Multivariate Calculus course on Coursera](https://www.coursera.org/learn/machine-learning-calculus?specialization=mathematics-for-machine-learning-and-data-science)
4- [Differential Calculus course on Khan Academy](https://www.khanacademy.org/math/differential-calculus)
5- [Linear Algebra lecture](https://www.youtube.com/watch?v=QVKj3LADCnA&list=PL49CF3715CB9EF31D) | 1 Month for Linear Algebra and 1 Month for Calculus | - Same resources and notes as in [Structural Bioinformatics](#structural-bioinformatics) section. |
+| **Machine Learning Background** | 1- [Machine Learning specialization on Coursera](https://www.coursera.org/specializations/machine-learning-introduction?)
2- [Machine Learning Specialization](https://www.youtube.com/playlist?list=PLkDaE6sCZn6FNC6YRfRQc_FbeQrF8BwGI) | 1-2 Months | - Same resources and notes as in [Structural Bioinformatics](#structural-bioinformatics) section. |
+
+### Extra Notes:
+- First of all, you have to decide and choose which track are you most interested in from Genomics, Transcriptomics, Proteomics, and Metabolomics.
+- A very important repo which has lots of beneficial resources (I even used it as a reference) is the following [repo](https://github.com/MohmedSoudy/Bioinformatics-pipeline?tab=readme-ov-file).
+- Practice makes perfect, make sure that the most important thing is to continuosly practice.
+- Also, do not be shy to ask those who have experience about career advices, things you do not understand, or even an general inquiry. It is totally fine if they did not reply, be brave.
+------------------------------------------------------------------------------------------------------------
+
+
+If you have any resource you wanna add or even have a question, do not hesitate to leave a comment or even send me directly to my email: sameh7831@gmail.com and I will be more than happy to help.
diff --git a/guides/omics.md b/guides/omics.md
new file mode 100644
index 0000000..7ffd165
--- /dev/null
+++ b/guides/omics.md
@@ -0,0 +1,302 @@
+
+
+# Make sense of omics data
+
+[← Main guide](../README.md) · [Browse resources](resources.md)
+
+Choose a biological question and learn one analysis end to end. Bulk analysis, single-cell analysis, and other omics specialisms share foundations, but each needs its own experimental and statistical context.
+
+## Along this path
+
+- [Sequencing and bulk RNA-seq](#bulk-rnaseq)
+- [Single-cell RNA-seq foundations](#single-cell)
+- [Dataset integration and scvi-tools](#integration)
+- [CITE-seq and multimodal analysis](#multiomics)
+- [Single-cell perturbation analysis](#perturbations)
+- [TCR, BCR, and immune repertoires](#immune-repertoires)
+- [Other omics and directions to explore](#other-omics)
+
+
+
+## Sequencing and bulk RNA-seq
+
+**Level:** Beginner
+
+Connect read processing and quantification to sample-level statistical analysis.
+
+**Before you begin:** Basic R or a Galaxy introduction; statistics and sample metadata.
+
+### What to understand
+
+- Read QC, alignment or quantification, references, and gene-level counts.
+- Sample-level QC, design formulas, contrasts, and differential expression.
+- Effect sizes, multiple testing, gene-set interpretation, and reporting.
+
+### What you’ll be able to do
+
+Produce a reproducible comparison with a clear design, QC plots, and an interpreted results table.
+
+### Try this
+
+Start with the count-based RNA-seq project. Then follow a full FASTQ-to-results tutorial to learn where those counts come from.
+
+### Keep in mind
+
+A count-based tutorial does not teach raw-read processing by itself. Keep normalization for visualization distinct from the model's input requirements.
+
+### A few good resources
+
+- [Bioconductor: gene-level RNA-seq workflow](https://bioconductor.org/packages/release/workflows/html/rnaseqGene.html) — Workflow · Intermediate · Free · English. Connect RNA-seq processing with exploratory analysis and differential expression through a documented workflow.
+ - Prerequisites: Basic R, sample metadata, and introductory statistics.
+
+- [DESeq2 vignette](https://bioconductor.org/packages/release/bioc/vignettes/DESeq2/inst/doc/DESeq2.html) — Documentation · Intermediate · Free · English. Understand count-based differential expression, model design, contrasts, diagnostics, and interpretation.
+ - Prerequisites: R and experimental design.
+
+- [Galaxy Training Network](https://training.galaxyproject.org/) — Tutorial · Beginner · Training free; server quotas vary · English. Hands-on biological analysis tutorials across sequencing, proteomics, metabolomics, and other domains.
+ - Prerequisites: Choose an introductory pathway; many require no programming.
+
+- [nf-core/rnaseq](https://nf-co.re/rnaseq) — Workflow · Intermediate · Code free; compute and storage may cost · English. A production workflow to examine after a smaller tutorial; learn its inputs, profiles, QC outputs, and documented options.
+ - Prerequisites: RNA-seq concepts, Nextflow, and suitable compute access.
+
+
+
+## Single-cell RNA-seq foundations
+
+**Level:** Intermediate
+
+Learn the core workflow before adding integration or complex models.
+
+**Before you begin:** R or Python, count matrices, and experimental design.
+
+### What to understand
+
+- Cell and sample QC, ambient RNA, doublets, and normalization.
+- Dimensionality reduction, clustering, marker evidence, and cell annotation.
+- Donor-aware comparisons, pseudobulk approaches, and differential abundance.
+
+### What you’ll be able to do
+
+Explain the evidence for an annotation and the experimental unit for a comparison.
+
+### Try this
+
+Follow one small tutorial in Scanpy or Seurat. Keep a table recording every filtering decision and inspect how one changed threshold affects the result.
+
+### Keep in mind
+
+Clusters are analytical groupings, and annotation requires biological evidence. Preserve donor metadata throughout the workflow.
+
+### A few good resources
+
+- [Single-cell Best Practices](https://www.sc-best-practices.org/) — Book · Intermediate · Free online · English. A question-oriented reference for single-cell analysis across modalities, including preprocessing, statistics, and integration.
+ - Prerequisites: Basic Python or R and single-cell biology.
+
+- [Scanpy tutorials](https://scanpy.readthedocs.io/en/stable/tutorials/index.html) — Tutorial · Intermediate · Free · English. Work through Python single-cell analysis examples and inspect how preprocessing decisions affect downstream results.
+ - Prerequisites: Basic Python and single-cell matrices.
+
+- [Seurat guided clustering tutorial](https://satijalab.org/seurat/articles/pbmc3k_tutorial.html) — Tutorial · Intermediate · Free · English. An R entry point to single-cell QC, normalization, dimensionality reduction, clustering, and marker exploration.
+ - Prerequisites: Basic R and single-cell concepts.
+
+- [AnnData documentation](https://anndata.readthedocs.io/en/stable/) — Documentation · Intermediate · Free · English. Understand the annotated matrix structure used in many Python single-cell workflows, including observations, variables, and layers.
+ - Prerequisites: Python and basic single-cell matrices.
+
+
+
+## Dataset integration and scvi-tools
+
+**Level:** Advanced
+
+Address technical differences while checking that meaningful biological variation is retained.
+
+**Before you begin:** A complete single-cell workflow, covariates, and batch-effect concepts.
+
+### What to understand
+
+- Integration across datasets versus integration across molecular modalities.
+- Reference mapping, batch covariates, latent representations, and scVI/scANVI.
+- Evaluation of biological conservation alongside technical mixing.
+
+### What you’ll be able to do
+
+Justify an integration strategy and describe how you checked its consequences.
+
+### Try this
+
+Compare an unintegrated baseline with one integration method. Inspect known biological groups and sample composition as well as a low-dimensional plot.
+
+### Keep in mind
+
+A well-mixed embedding is not sufficient evidence of a good integration. Confounded study designs can make technical and biological effects difficult to separate.
+
+### A few good resources
+
+- [scvi-tools tutorials and model guides](https://docs.scvi-tools.org/en/stable/) — Documentation · Advanced · Free; compute may cost · English. Choose probabilistic models by task and modality, and read their assumptions alongside the worked tutorials.
+ - Prerequisites: Python, single-cell analysis, and statistics.
+
+- [Single-cell Best Practices](https://www.sc-best-practices.org/) — Book · Intermediate · Free online · English. A question-oriented reference for single-cell analysis across modalities, including preprocessing, statistics, and integration.
+ - Prerequisites: Basic Python or R and single-cell biology.
+
+
+
+## CITE-seq and multimodal analysis
+
+**Level:** Advanced
+
+Relate RNA, protein, and chromatin measurements while respecting how they were collected.
+
+**Before you begin:** Single-cell foundations and basic integration concepts.
+
+### What to understand
+
+- CITE-seq RNA and antibody-derived tags; protein background and modality-specific QC.
+- Paired versus unpaired measurements, missing modalities, and MuData.
+- totalVI for RNA–protein data and MultiVI for RNA–chromatin accessibility data.
+
+### What you’ll be able to do
+
+Choose a method whose assumptions match the modalities and pairing in the experiment.
+
+### Try this
+
+Follow the totalVI CITE-seq tutorial. Compare RNA and protein evidence for selected markers and document cases where they disagree.
+
+### Keep in mind
+
+Multi-omics is broader than single-cell RNA–protein analysis. Describe each modality and its measurement process before selecting an integration tool.
+
+### A few good resources
+
+- [totalVI: RNA and protein analysis](https://docs.scvi-tools.org/en/stable/user_guide/models/totalvi.html) — Guide · Advanced · Free; compute may cost · English. A model guide for joint RNA–protein analysis, with links to CITE-seq examples and discussion of the observation model.
+ - Prerequisites: CITE-seq concepts, Python, and single-cell QC.
+
+- [MultiVI: RNA and chromatin accessibility](https://docs.scvi-tools.org/en/stable/user_guide/models/multivi.html) — Guide · Advanced · Free; compute may cost · English. Study joint RNA–chromatin accessibility modeling, including the paired and unpaired data setting.
+ - Prerequisites: Single-cell RNA/ATAC concepts and Python.
+
+- [MuData documentation](https://mudata.scverse.org/latest/) — Documentation · Intermediate · Free · English. Understand how multimodal observations and modality-specific matrices are organized and linked.
+ - Prerequisites: Python and AnnData.
+
+- [Single-cell Best Practices](https://www.sc-best-practices.org/) — Book · Intermediate · Free online · English. A question-oriented reference for single-cell analysis across modalities, including preprocessing, statistics, and integration.
+ - Prerequisites: Basic Python or R and single-cell biology.
+
+
+
+## Single-cell perturbation analysis
+
+**Level:** Advanced
+
+Study how cells respond to genetic, chemical, or environmental interventions.
+
+**Before you begin:** Single-cell foundations, experimental controls, and sample-level inference.
+
+### What to understand
+
+- Perturb-seq design, guide assignment, controls, and perturbation efficacy.
+- Differential expression, differential abundance, and heterogeneous responses.
+- Observed-response analysis versus prediction of unseen responses; held-out evaluation.
+
+### What you’ll be able to do
+
+Define an appropriate comparison and explain what a model evaluation does and does not test.
+
+### Try this
+
+Use a Pertpy tutorial to compare perturbations with controls. Record replicate structure, guide assignment choices, and the intended generalization task.
+
+### Keep in mind
+
+Random cell-level splits can fail to test the generalization you care about. Design evaluation around held-out donors, conditions, or perturbations as appropriate.
+
+### A few good resources
+
+- [Pertpy: perturbation analysis](https://pertpy.scverse.org/en/stable/) — Tutorial · Advanced · Free; compute may cost · English. Explore guide assignment, perturbation efficacy, response comparisons, and prediction through documented examples.
+ - Prerequisites: Single-cell analysis and experimental design.
+
+- [Single-cell Best Practices](https://www.sc-best-practices.org/) — Book · Intermediate · Free online · English. A question-oriented reference for single-cell analysis across modalities, including preprocessing, statistics, and integration.
+ - Prerequisites: Basic Python or R and single-cell biology.
+
+- [scvi-tools tutorials and model guides](https://docs.scvi-tools.org/en/stable/) — Documentation · Advanced · Free; compute may cost · English. Choose probabilistic models by task and modality, and read their assumptions alongside the worked tutorials.
+ - Prerequisites: Python, single-cell analysis, and statistics.
+
+
+
+## TCR, BCR, and immune repertoires
+
+**Level:** Advanced
+
+Connect immune receptor sequences, clonotypes, and cellular phenotypes.
+
+**Before you begin:** Basic immunology and single-cell data handling.
+
+### What to understand
+
+- V(D)J sequences, chain pairing, productive receptors, and clonotype definitions.
+- Clonal expansion, diversity, overlap, and sampling depth.
+- Linking repertoire information to RNA expression and cell states.
+
+### What you’ll be able to do
+
+Explain a clonotype definition and distinguish clonal relationships from evidence of antigen specificity.
+
+### Try this
+
+Complete a Scirpy tutorial and compare two reasonable clonotype definitions. Report how the interpretation changes.
+
+### Keep in mind
+
+Receptor similarity or clonal expansion alone does not establish shared antigen specificity. Document sequence and grouping criteria.
+
+### A few good resources
+
+- [Scirpy: immune receptor analysis](https://scirpy.scverse.org/en/latest/) — Tutorial · Advanced · Free · English. Learn repertoire QC, clonotype analysis, and integration of receptor information with cell-level measurements.
+ - Prerequisites: Python, single-cell data, and basic immunology.
+
+- [AIRR Community documentation](https://docs.airr-community.org/en/stable/) — Documentation · Intermediate · Free · English. Use community terminology, data standards, and metadata guidance when handling receptor repertoire datasets.
+ - Prerequisites: Basic adaptive immune repertoire concepts.
+
+
+
+## Other omics and directions to explore
+
+**Level:** Intermediate
+
+Keep the wider field visible while choosing a tractable next specialization.
+
+**Before you begin:** Biological data literacy and statistics.
+
+### What to understand
+
+- Variant analysis, genome annotation, and reference-dependent interpretation.
+- Proteomics and metabolomics: experimental platforms, quantification, and data processing.
+- Spatial omics: tissue context, spatial dependence, and assay-specific analysis.
+
+### What you’ll be able to do
+
+Choose a specialization and find an introductory workflow appropriate to its data.
+
+### Try this
+
+Choose one Galaxy learning pathway and map its raw data, processing stages, biological question, and outputs.
+
+### Keep in mind
+
+This is an orientation to additional fields, not a complete curriculum for each one. Use the specialist training materials for detailed methods.
+
+### A few good resources
+
+- [Galaxy Training Network](https://training.galaxyproject.org/) — Tutorial · Beginner · Training free; server quotas vary · English. Hands-on biological analysis tutorials across sequencing, proteomics, metabolomics, and other domains.
+ - Prerequisites: Choose an introductory pathway; many require no programming.
+
+- [EMBL-EBI on-demand training](https://www.ebi.ac.uk/training/on-demand) — Course · Beginner · Free · English. Find focused introductions to biological databases and analysis areas, including routes into additional omics fields.
+ - Prerequisites: Vary by course.
+
+- [Ensembl training](https://training.ensembl.org/) — Tutorial · Beginner · Free · English. Learn to navigate genome annotation, identifiers, comparative data, and Ensembl tools using worked training materials.
+ - Prerequisites: Basic genetics.
+
+- [Single-cell Best Practices](https://www.sc-best-practices.org/) — Book · Intermediate · Free online · English. A question-oriented reference for single-cell analysis across modalities, including preprocessing, statistics, and integration.
+ - Prerequisites: Basic Python or R and single-cell biology.
+
+## Put it into practice
+
+- [Your first RNA-seq comparison](../projects/rna-seq/README.md)
+
+Collection reviewed: 2026-10-20. See [About](../README.md#about-this-collection) for scope and review details.
diff --git a/guides/resources.md b/guides/resources.md
new file mode 100644
index 0000000..33dfb1d
--- /dev/null
+++ b/guides/resources.md
@@ -0,0 +1,162 @@
+
+
+# Resource library
+
+[← Main guide](../README.md)
+
+Select resources by task and prerequisites. Editorial review is not a guarantee of availability or independent validation.
+
+Collection reviewed: 2026-10-20.
+
+- [The Python Tutorial](https://docs.python.org/3/tutorial/) — Documentation · Beginner · Free · English. The official language tutorial. Use it as a reference while writing small scripts rather than reading everything before practicing.
+ - Prerequisites: Some general programming familiarity; complete beginners can start with a guided lesson.
+
+- [R for Data Science, second edition](https://r4ds.hadley.nz/) — Book · Beginner · Free online · English. A practical route through importing, transforming, visualizing, and communicating tabular data in R.
+ - Prerequisites: No prior R experience.
+
+- [Data Carpentry: genomics lessons](https://datacarpentry.org/lessons/#genomics) — Tutorial · Beginner · Free · English. Learn project organization, the command line, sequence processing, and computing through biological examples.
+ - Prerequisites: No prior command-line experience for the introductory lessons.
+
+- [Elzero: Mastering Python](https://elzero.org/category/courses/mastering-python/) — Course · Beginner · Free · Arabic. An Arabic-language programming entry point retained from the original resource list. Pair the lessons with a small biological data task.
+ - Prerequisites: No prior Python experience.
+
+- [Ensembl training](https://training.ensembl.org/) — Tutorial · Beginner · Free · English. Learn to navigate genome annotation, identifiers, comparative data, and Ensembl tools using worked training materials.
+ - Prerequisites: Basic genetics.
+
+- [NCBI Learn](https://www.ncbi.nlm.nih.gov/learn/) — Tutorial · Beginner · Free · English. Find official introductions and training for NCBI databases and tools; choose a tutorial that matches your data source.
+ - Prerequisites: Basic molecular biology.
+
+- [AnnData documentation](https://anndata.readthedocs.io/en/stable/) — Documentation · Intermediate · Free · English. Understand the annotated matrix structure used in many Python single-cell workflows, including observations, variables, and layers.
+ - Prerequisites: Python and basic single-cell matrices.
+
+- [PDB-101: understanding PDB data](https://pdb101.rcsb.org/learn/guide-to-understanding-pdb-data/introduction) — Guide · Beginner · Free · English. A welcoming introduction to structure files, experimental information, assemblies, and interpretation.
+ - Prerequisites: Basic protein biology.
+
+- [Statistical Thinking for the 21st Century](https://statsthinking21.github.io/statsthinking21-core-site/) — Book · Beginner · Free online · English. Develop statistical reasoning about data, probability, inference, and models before relying on a test by name.
+ - Prerequisites: Basic arithmetic and willingness to work through examples.
+
+- [Bioconductor: gene-level RNA-seq workflow](https://bioconductor.org/packages/release/workflows/html/rnaseqGene.html) — Workflow · Intermediate · Free · English. Connect RNA-seq processing with exploratory analysis and differential expression through a documented workflow.
+ - Prerequisites: Basic R, sample metadata, and introductory statistics.
+
+- [Single-cell Best Practices](https://www.sc-best-practices.org/) — Book · Intermediate · Free online · English. A question-oriented reference for single-cell analysis across modalities, including preprocessing, statistics, and integration.
+ - Prerequisites: Basic Python or R and single-cell biology.
+
+- [Software Carpentry: Version Control with Git](https://swcarpentry.github.io/git-novice/) — Tutorial · Beginner · Free · English. Practice tracking changes, working with remote repositories, and collaborating on a small project.
+ - Prerequisites: Basic command-line use.
+
+- [Conda: managing environments](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html) — Documentation · Beginner · Free · English. Create and document isolated software environments, including environment files that can be shared with collaborators.
+ - Prerequisites: Basic command-line use.
+
+- [Quarto: getting started](https://quarto.org/docs/get-started/) — Tutorial · Beginner · Free · English. Combine analysis, narrative, and outputs in a reproducible report rather than copying results into an unrelated document.
+ - Prerequisites: Basic R or Python for executable examples.
+
+- [MIT OpenCourseWare: Linear Algebra](https://ocw.mit.edu/courses/18-06-linear-algebra-spring-2010/) — Course · Intermediate · Free · English. A deeper route into matrices, projections, and related concepts that support PCA and machine learning.
+ - Prerequisites: Algebra; consult the course's own prerequisite guidance.
+
+- [Dive into Deep Learning](https://d2l.ai/) — Book · Intermediate · Free online · English. Build conceptual and practical foundations in deep learning; select chapters relevant to the model you are studying.
+ - Prerequisites: Python, probability, linear algebra, and basic calculus for deeper chapters.
+
+- [RCSB PDB: learning resources](https://www.rcsb.org/) — Database · Beginner · Free · English. Find experimental structures and inspect entry-specific methods, sequence information, and validation evidence.
+ - Prerequisites: Basic protein biology.
+
+- [UCSF ChimeraX tutorials](https://www.rbvi.ucsf.edu/chimerax/tutorials.html) — Tutorial · Beginner · Tutorials free; software terms vary by use · English. Learn molecular visualization through worked examples; check the current software license for your intended use.
+ - Prerequisites: Basic structural biology.
+
+- [Biopython Tutorial and Cookbook](https://biopython.org/docs/latest/Tutorial/) — Documentation · Intermediate · Free · English. Practical biological sequence and structure handling, including parsers used in the protein-structure starter project.
+ - Prerequisites: Basic Python.
+
+- [EMBL-EBI: AlphaFold practical guide](https://www.ebi.ac.uk/training/online/courses/alphafold/) — Course · Intermediate · Free · English. Learn access routes, interpretation, strengths, limitations, and confidence assessment for predicted structures.
+ - Prerequisites: Basic protein structure knowledge.
+
+- [Interpreting AlphaFold confidence scores](https://www.ebi.ac.uk/training/online/courses/alphafold/inputs-and-outputs/evaluating-alphafolds-predicted-structures-using-confidence-scores/) — Guide · Intermediate · Free · English. Understand local confidence and relative-domain uncertainty before using a prediction to support a biological claim.
+ - Prerequisites: Protein structure basics.
+
+- [ColabFold](https://github.com/sokrypton/ColabFold) — Tool · Intermediate · Code free; compute access varies · English. An accessible prediction toolkit with examples and execution options. Check current compute availability before planning a run.
+ - Prerequisites: Structure prediction basics and familiarity with notebooks or command-line tools.
+
+- [RFdiffusion](https://github.com/RosettaCommons/RFdiffusion) — Tool · Advanced · Code available; GPU compute may cost · English. Explore diffusion-based protein backbone generation and conditional design through the authors' code and examples.
+ - Prerequisites: Protein design, structure assessment, and command-line experience.
+
+- [ProteinMPNN](https://github.com/dauparas/ProteinMPNN) — Tool · Advanced · Code available; compute may cost · English. Study sequence design conditioned on a protein backbone as a distinct stage in a broader design workflow.
+ - Prerequisites: Protein structures, sequence design, and scripting.
+
+- [OpenMM user guide](https://docs.openmm.org/latest/userguide/) — Documentation · Advanced · Free; compute may cost · English. Learn simulation setup, execution, and analysis with explicit attention to the physical model and settings.
+ - Prerequisites: Molecular simulation basics and Python.
+
+- [GROMACS documentation](https://manual.gromacs.org/current/) — Documentation · Advanced · Free; compute may cost · English. A reference for molecular dynamics methods, file formats, commands, and reproducible simulation configuration.
+ - Prerequisites: Thermodynamics, molecular structures, and command-line use.
+
+- [DESeq2 vignette](https://bioconductor.org/packages/release/bioc/vignettes/DESeq2/inst/doc/DESeq2.html) — Documentation · Intermediate · Free · English. Understand count-based differential expression, model design, contrasts, diagnostics, and interpretation.
+ - Prerequisites: R and experimental design.
+
+- [Galaxy Training Network](https://training.galaxyproject.org/) — Tutorial · Beginner · Training free; server quotas vary · English. Hands-on biological analysis tutorials across sequencing, proteomics, metabolomics, and other domains.
+ - Prerequisites: Choose an introductory pathway; many require no programming.
+
+- [nf-core/rnaseq](https://nf-co.re/rnaseq) — Workflow · Intermediate · Code free; compute and storage may cost · English. A production workflow to examine after a smaller tutorial; learn its inputs, profiles, QC outputs, and documented options.
+ - Prerequisites: RNA-seq concepts, Nextflow, and suitable compute access.
+
+- [Scanpy tutorials](https://scanpy.readthedocs.io/en/stable/tutorials/index.html) — Tutorial · Intermediate · Free · English. Work through Python single-cell analysis examples and inspect how preprocessing decisions affect downstream results.
+ - Prerequisites: Basic Python and single-cell matrices.
+
+- [Seurat guided clustering tutorial](https://satijalab.org/seurat/articles/pbmc3k_tutorial.html) — Tutorial · Intermediate · Free · English. An R entry point to single-cell QC, normalization, dimensionality reduction, clustering, and marker exploration.
+ - Prerequisites: Basic R and single-cell concepts.
+
+- [scvi-tools tutorials and model guides](https://docs.scvi-tools.org/en/stable/) — Documentation · Advanced · Free; compute may cost · English. Choose probabilistic models by task and modality, and read their assumptions alongside the worked tutorials.
+ - Prerequisites: Python, single-cell analysis, and statistics.
+
+- [totalVI: RNA and protein analysis](https://docs.scvi-tools.org/en/stable/user_guide/models/totalvi.html) — Guide · Advanced · Free; compute may cost · English. A model guide for joint RNA–protein analysis, with links to CITE-seq examples and discussion of the observation model.
+ - Prerequisites: CITE-seq concepts, Python, and single-cell QC.
+
+- [MultiVI: RNA and chromatin accessibility](https://docs.scvi-tools.org/en/stable/user_guide/models/multivi.html) — Guide · Advanced · Free; compute may cost · English. Study joint RNA–chromatin accessibility modeling, including the paired and unpaired data setting.
+ - Prerequisites: Single-cell RNA/ATAC concepts and Python.
+
+- [MuData documentation](https://mudata.scverse.org/latest/) — Documentation · Intermediate · Free · English. Understand how multimodal observations and modality-specific matrices are organized and linked.
+ - Prerequisites: Python and AnnData.
+
+- [Pertpy: perturbation analysis](https://pertpy.scverse.org/en/stable/) — Tutorial · Advanced · Free; compute may cost · English. Explore guide assignment, perturbation efficacy, response comparisons, and prediction through documented examples.
+ - Prerequisites: Single-cell analysis and experimental design.
+
+- [Scirpy: immune receptor analysis](https://scirpy.scverse.org/en/latest/) — Tutorial · Advanced · Free · English. Learn repertoire QC, clonotype analysis, and integration of receptor information with cell-level measurements.
+ - Prerequisites: Python, single-cell data, and basic immunology.
+
+- [AIRR Community documentation](https://docs.airr-community.org/en/stable/) — Documentation · Intermediate · Free · English. Use community terminology, data standards, and metadata guidance when handling receptor repertoire datasets.
+ - Prerequisites: Basic adaptive immune repertoire concepts.
+
+- [EMBL-EBI on-demand training](https://www.ebi.ac.uk/training/on-demand) — Course · Beginner · Free · English. Find focused introductions to biological databases and analysis areas, including routes into additional omics fields.
+ - Prerequisites: Vary by course.
+
+- [Nextflow documentation](https://docs.seqera.io/nextflow) — Documentation · Intermediate · Free; compute may cost · English. Reference processes, channels, modules, profiles, executors, and dependency handling while building a small pipeline.
+ - Prerequisites: Command-line use and workflow concepts.
+
+- [Nextflow community training](https://training.nextflow.io/) — Course · Intermediate · Free · English. A guided route from running a first pipeline to composing and configuring workflows.
+ - Prerequisites: Basic shell skills; start with the introductory material.
+
+- [nf-core documentation](https://nf-co.re/docs/) — Documentation · Intermediate · Free · English. Learn conventions for using and developing community pipelines, including configuration and contribution guidance.
+ - Prerequisites: Nextflow basics.
+
+- [Snakemake documentation](https://snakemake.readthedocs.io/en/stable/) — Documentation · Intermediate · Free; compute may cost · English. Understand rules, file dependencies, software environments, execution, and reporting.
+ - Prerequisites: Basic Python and command-line use.
+
+- [Snakemake general-use tutorial](https://snakemake.readthedocs.io/en/stable/tutorial/tutorial.html) — Tutorial · Intermediate · Free · English. Build and extend an example workflow while learning dependency handling, configuration, and execution.
+ - Prerequisites: Basic Python and shell use.
+
+- [Apptainer user guide](https://apptainer.org/docs/user/latest/) — Documentation · Intermediate · Free; infrastructure may cost · English. Learn container execution and reproducibility concepts relevant to shared research computing systems.
+ - Prerequisites: Linux and software environment basics.
+
+- [Google Machine Learning Crash Course](https://developers.google.com/machine-learning/crash-course) — Course · Intermediate · Free · English. An applied introduction to model fitting, generalization, data handling, and evaluation.
+ - Prerequisites: Python and introductory algebra/statistics; check module guidance.
+
+- [Developing Software with Generative AI](https://carpentries-incubator.github.io/software-development-with-genai/) — Tutorial · Intermediate · Free · English. Practice AI-assisted software development through a research-computing lesson. The material is under development; check its current status and verify generated code.
+ - Prerequisites: Some programming experience; this is an evolving Carpentries Incubator lesson.
+
+- [Hugging Face LLM course](https://huggingface.co/learn/llm-course/chapter1/1) — Course · Intermediate · Free; optional compute may cost · English. Understand language models and their practical ecosystem; pair technical learning with source verification and task-level checks.
+ - Prerequisites: Python and introductory machine learning for implementation chapters.
+
+- [Hugging Face Agents Course](https://huggingface.co/learn/agents-course/unit0/introduction) — Course · Advanced · Course free; external services may cost · English. An introduction to agent concepts, tools, and implementation. Evaluate any example on a bounded scientific task before expanding it.
+ - Prerequisites: Python, APIs, and basic LLM familiarity.
+
+- [Ten simple rules for using large language models in science](https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1011767) — Paper · Beginner · Open access · English. A science-specific starting point for transparent, critical LLM use, with discussion of verification and appropriate applications.
+ - Prerequisites: A scientific task you want to support with an LLM.
+
+- [BindCraft](https://github.com/martinpacesa/BindCraft) — Tool · Advanced · Code available; dependency licenses and GPU costs vary · English. An optimization-based binder-design pipeline combining AlphaFold-based design, sequence design, and filtering. Compare its strategy with diffusion-based approaches and inspect dependency terms.
+ - Prerequisites: Binder design, structure assessment, and suitable GPU access.
diff --git a/guides/start-here.md b/guides/start-here.md
new file mode 100644
index 0000000..82dd623
--- /dev/null
+++ b/guides/start-here.md
@@ -0,0 +1,46 @@
+# Start here
+
+[← Main guide](../README.md)
+
+Choose the route closest to your background. The resource list is a menu, not a checklist: you can learn deeper mathematics and specialist methods alongside the work that needs them.
+
+## If you come from biology
+
+Start with [practical programming](foundations.md#programming) in one language. R is a natural choice for the RNA-seq starter; Python is used in the structure and workflow starters. Learn sample metadata and [experimental design](foundations.md#statistics), then complete one small project.
+
+## If you come from computing
+
+Start with [biological data and formats](foundations.md#biological-data). Learn how the assay works, what an independent biological sample is, and how controls and confounding affect interpretation. Reproduce a documented analysis before extending it.
+
+## If you are still exploring
+
+Inspect a [protein structure](../projects/protein-structure/README.md), or try an introductory [Galaxy tutorial](https://training.galaxyproject.org/). Notice which biological questions interest you, then choose a learning track.
+
+## Your learning map
+
+
+
+1. Choose a biological question.
+2. Learn the next necessary skill.
+3. Reproduce a small example and inspect the outputs.
+4. Explain what you found, what you changed, and what remains uncertain.
+5. Share the data accession, software versions, parameters, and rerun instructions.
+
+## Read the labels
+
+- **Beginner:** an accessible entry point; check the specific prerequisites.
+- **Intermediate:** some coding or biological analysis experience is assumed.
+- **Advanced:** build the preceding scientific, statistical, and computational context first.
+
+You do not need both R and Python, both workflow engines, or a complete machine-learning course before attempting a first analysis. Pick one route and add skills as needed.
+
+## Choose your next step
+
+- [Shared foundations](foundations.md)
+- [Structural bioinformatics and protein design](structural.md)
+- [Omics and single-cell analysis](omics.md)
+- [Workflow development](workflows.md)
+- [AI for biological research](ai.md)
+- [Starter projects](../projects/README.md)
+
+Arabic-language Python material is included in the [resource library](resources.md). Most specialist material is currently in English. Suggestions for additional Arabic resources are welcome.
diff --git a/guides/structural.md b/guides/structural.md
new file mode 100644
index 0000000..0ad82ce
--- /dev/null
+++ b/guides/structural.md
@@ -0,0 +1,220 @@
+
+
+# Explore structures. Design proteins.
+
+[← Main guide](../README.md) · [Browse resources](resources.md)
+
+Begin by reading experimental structures and assessing their quality. Prediction, molecular simulation, and design are connected paths with different assumptions and validation needs.
+
+## Along this path
+
+- [Structural biology and structure literacy](#structure-literacy)
+- [Structure prediction and confidence](#prediction)
+- [Protein and binder design](#binder-design)
+- [Diffusion models in molecular design](#diffusion-for-design)
+- [Molecular simulation and biophysics](#simulation)
+
+
+
+## Structural biology and structure literacy
+
+**Level:** Beginner
+
+Read a structure as evidence about a molecule and an experiment.
+
+**Before you begin:** Protein sequence and molecular biology basics.
+
+### What to understand
+
+- Protein architecture, interactions, thermodynamics, and structure–function relationships.
+- Experimental method, resolution where applicable, missing residues, and validation reports.
+- Chains, biological assemblies, sequence mapping, and molecular visualization.
+
+### What you’ll be able to do
+
+Inspect a structure and write a short account of what it supports and what remains uncertain.
+
+### Try this
+
+Complete the protein-structure starter project, then locate a missing region or a validation concern in a second entry.
+
+### Keep in mind
+
+A deposited coordinate model is an interpretation of evidence. Check the experimental method and validation information before drawing conclusions.
+
+### A few good resources
+
+- [PDB-101: understanding PDB data](https://pdb101.rcsb.org/learn/guide-to-understanding-pdb-data/introduction) — Guide · Beginner · Free · English. A welcoming introduction to structure files, experimental information, assemblies, and interpretation.
+ - Prerequisites: Basic protein biology.
+
+- [RCSB PDB: learning resources](https://www.rcsb.org/) — Database · Beginner · Free · English. Find experimental structures and inspect entry-specific methods, sequence information, and validation evidence.
+ - Prerequisites: Basic protein biology.
+
+- [UCSF ChimeraX tutorials](https://www.rbvi.ucsf.edu/chimerax/tutorials.html) — Tutorial · Beginner · Tutorials free; software terms vary by use · English. Learn molecular visualization through worked examples; check the current software license for your intended use.
+ - Prerequisites: Basic structural biology.
+
+- [Biopython Tutorial and Cookbook](https://biopython.org/docs/latest/Tutorial/) — Documentation · Intermediate · Free · English. Practical biological sequence and structure handling, including parsers used in the protein-structure starter project.
+ - Prerequisites: Basic Python.
+
+
+
+## Structure prediction and confidence
+
+**Level:** Intermediate
+
+Understand the question a prediction answers and how to assess its reliability.
+
+**Before you begin:** Structure literacy and sequence alignment basics.
+
+### What to understand
+
+- Sequence-to-structure prediction, templates, alignments, and complexes.
+- Local confidence, relative-domain confidence, and model-specific quality measures.
+- Sequence correspondence, experimental comparisons, and sources of uncertainty.
+
+### What you’ll be able to do
+
+Explain why a predicted region or interface is more or less trustworthy.
+
+### Try this
+
+Choose a protein with both experimental and predicted structures. Align the sequences first, inspect confidence, and document which regions are comparable.
+
+### Keep in mind
+
+Confidence scores are not interchangeable with experimental B-factors. A confident prediction alone does not establish binding, function, or a mechanism.
+
+### A few good resources
+
+- [EMBL-EBI: AlphaFold practical guide](https://www.ebi.ac.uk/training/online/courses/alphafold/) — Course · Intermediate · Free · English. Learn access routes, interpretation, strengths, limitations, and confidence assessment for predicted structures.
+ - Prerequisites: Basic protein structure knowledge.
+
+- [Interpreting AlphaFold confidence scores](https://www.ebi.ac.uk/training/online/courses/alphafold/inputs-and-outputs/evaluating-alphafolds-predicted-structures-using-confidence-scores/) — Guide · Intermediate · Free · English. Understand local confidence and relative-domain uncertainty before using a prediction to support a biological claim.
+ - Prerequisites: Protein structure basics.
+
+- [ColabFold](https://github.com/sokrypton/ColabFold) — Tool · Intermediate · Code free; compute access varies · English. An accessible prediction toolkit with examples and execution options. Check current compute availability before planning a run.
+ - Prerequisites: Structure prediction basics and familiarity with notebooks or command-line tools.
+
+- [PDB-101: understanding PDB data](https://pdb101.rcsb.org/learn/guide-to-understanding-pdb-data/introduction) — Guide · Beginner · Free · English. A welcoming introduction to structure files, experimental information, assemblies, and interpretation.
+ - Prerequisites: Basic protein biology.
+
+
+
+## Protein and binder design
+
+**Level:** Advanced
+
+Follow a design problem from a biological objective to candidates that need experimental testing.
+
+**Before you begin:** Structure prediction and assessment, protein interactions, and basic scripting.
+
+### What to understand
+
+- Target preparation, biological assembly, accessible sites, and design constraints.
+- Backbone generation, sequence design, structure prediction, and candidate filtering.
+- Compare diffusion-based backbone design with optimization-based pipelines such as BindCraft.
+- Diversity, controls, expression and solubility considerations, and experimental validation.
+
+### What you’ll be able to do
+
+Describe a candidate-selection strategy and the evidence needed to test a proposed binder.
+
+### Try this
+
+Read one published design study and map its stages, selection metrics, controls, and experimental outcomes. Begin with published outputs before scheduling expensive generation runs.
+
+### Keep in mind
+
+A favorable computational score is a screening signal. Report it separately from measured affinity, specificity, and experimental success.
+
+### A few good resources
+
+- [RFdiffusion](https://github.com/RosettaCommons/RFdiffusion) — Tool · Advanced · Code available; GPU compute may cost · English. Explore diffusion-based protein backbone generation and conditional design through the authors' code and examples.
+ - Prerequisites: Protein design, structure assessment, and command-line experience.
+
+- [ProteinMPNN](https://github.com/dauparas/ProteinMPNN) — Tool · Advanced · Code available; compute may cost · English. Study sequence design conditioned on a protein backbone as a distinct stage in a broader design workflow.
+ - Prerequisites: Protein structures, sequence design, and scripting.
+
+- [EMBL-EBI: AlphaFold practical guide](https://www.ebi.ac.uk/training/online/courses/alphafold/) — Course · Intermediate · Free · English. Learn access routes, interpretation, strengths, limitations, and confidence assessment for predicted structures.
+ - Prerequisites: Basic protein structure knowledge.
+
+- [BindCraft](https://github.com/martinpacesa/BindCraft) — Tool · Advanced · Code available; dependency licenses and GPU costs vary · English. An optimization-based binder-design pipeline combining AlphaFold-based design, sequence design, and filtering. Compare its strategy with diffusion-based approaches and inspect dependency terms.
+ - Prerequisites: Binder design, structure assessment, and suitable GPU access.
+
+
+
+## Diffusion models in molecular design
+
+**Level:** Advanced
+
+Connect denoising and conditional generation to a biological design task.
+
+**Before you begin:** Basic machine learning; probability and linear algebra help with the deeper material.
+
+### What to understand
+
+- Forward corruption, learned denoising, sampling, and conditioning.
+- Representation choices, geometric constraints, and symmetry.
+- Training versus inference, diversity, and evaluation beyond visually plausible structures.
+
+### What you’ll be able to do
+
+Explain what is generated, what conditions the generation, and how candidates are evaluated.
+
+### Try this
+
+Draw the sampling process for a binder-design example and identify where target information and constraints enter. Continue with the AI foundations path for the mathematics.
+
+### Keep in mind
+
+Learn the model's task and representation explicitly. Different diffusion systems do not share identical inputs, outputs, or validation criteria.
+
+### A few good resources
+
+- [RFdiffusion](https://github.com/RosettaCommons/RFdiffusion) — Tool · Advanced · Code available; GPU compute may cost · English. Explore diffusion-based protein backbone generation and conditional design through the authors' code and examples.
+ - Prerequisites: Protein design, structure assessment, and command-line experience.
+
+- [Dive into Deep Learning](https://d2l.ai/) — Book · Intermediate · Free online · English. Build conceptual and practical foundations in deep learning; select chapters relevant to the model you are studying.
+ - Prerequisites: Python, probability, linear algebra, and basic calculus for deeper chapters.
+
+
+
+## Molecular simulation and biophysics
+
+**Level:** Advanced
+
+Explore molecular motion through models with explicit physical assumptions.
+
+**Before you begin:** Thermodynamics, structural biology, and command-line basics.
+
+### What to understand
+
+- Force fields, parameterization, solvation, and boundary conditions.
+- Minimization, equilibration, sampling, replicates, and convergence.
+- Trajectory analysis and the relationship between observables and a biological question.
+
+### What you’ll be able to do
+
+Explain the assumptions and sampling limitations of a simulation study.
+
+### Try this
+
+Follow an introductory simulation example and record the force field, ensemble, integration settings, and analysis choices.
+
+### Keep in mind
+
+A stable-looking trajectory alone does not demonstrate convergence or establish a biological mechanism.
+
+### A few good resources
+
+- [OpenMM user guide](https://docs.openmm.org/latest/userguide/) — Documentation · Advanced · Free; compute may cost · English. Learn simulation setup, execution, and analysis with explicit attention to the physical model and settings.
+ - Prerequisites: Molecular simulation basics and Python.
+
+- [GROMACS documentation](https://manual.gromacs.org/current/) — Documentation · Advanced · Free; compute may cost · English. A reference for molecular dynamics methods, file formats, commands, and reproducible simulation configuration.
+ - Prerequisites: Thermodynamics, molecular structures, and command-line use.
+
+## Put it into practice
+
+- [Read your first protein structure](../projects/protein-structure/README.md)
+
+Collection reviewed: 2026-10-20. See [About](../README.md#about-this-collection) for scope and review details.
diff --git a/guides/workflows.md b/guides/workflows.md
new file mode 100644
index 0000000..08afb65
--- /dev/null
+++ b/guides/workflows.md
@@ -0,0 +1,142 @@
+
+
+# Build workflows that travel
+
+[← Main guide](../README.md) · [Browse resources](resources.md)
+
+Workflow engineering is shared across scientific tracks. Learn one engine first, then use a familiar analysis to understand dependencies, portability, and failure recovery.
+
+## Along this path
+
+- [From scripts to reproducible workflows](#workflow-concepts)
+- [Nextflow and nf-core](#nextflow)
+- [Snakemake](#snakemake)
+
+
+
+## From scripts to reproducible workflows
+
+**Level:** Intermediate
+
+Learn the common ideas before committing to a particular engine.
+
+**Before you begin:** Shell basics, a working analysis script, and software environments.
+
+### What to understand
+
+- Tasks, input/output contracts, dependency graphs, and configuration.
+- Versioned software, containers, sample sheets, resource declarations, and logs.
+- Small fixtures, expected outputs, restart behavior, and provenance.
+
+### What you’ll be able to do
+
+Draw and implement a small analysis as a dependency graph.
+
+### Try this
+
+Run the workflow-basics project as a plain Python script, then reproduce its expected output with one engine.
+
+### Keep in mind
+
+A workflow engine cannot repair unclear scientific assumptions or an incorrect analysis step. Validate the underlying computation first.
+
+### A few good resources
+
+- [Nextflow documentation](https://docs.seqera.io/nextflow) — Documentation · Intermediate · Free; compute may cost · English. Reference processes, channels, modules, profiles, executors, and dependency handling while building a small pipeline.
+ - Prerequisites: Command-line use and workflow concepts.
+
+- [Snakemake documentation](https://snakemake.readthedocs.io/en/stable/) — Documentation · Intermediate · Free; compute may cost · English. Understand rules, file dependencies, software environments, execution, and reporting.
+ - Prerequisites: Basic Python and command-line use.
+
+- [nf-core documentation](https://nf-co.re/docs/) — Documentation · Intermediate · Free · English. Learn conventions for using and developing community pipelines, including configuration and contribution guidance.
+ - Prerequisites: Nextflow basics.
+
+- [Apptainer user guide](https://apptainer.org/docs/user/latest/) — Documentation · Intermediate · Free; infrastructure may cost · English. Learn container execution and reproducibility concepts relevant to shared research computing systems.
+ - Prerequisites: Linux and software environment basics.
+
+
+
+## Nextflow and nf-core
+
+**Level:** Intermediate
+
+Run, configure, and develop portable pipelines using dataflow concepts.
+
+**Before you begin:** Workflow concepts and command-line experience.
+
+### What to understand
+
+- Processes, channels, workflow composition, and modules.
+- Parameters, profiles, containers, executors, and resume behavior.
+- Using nf-core pipelines and understanding their documentation and quality conventions.
+
+### What you’ll be able to do
+
+Run a small Nextflow workflow, change a parameter, and explain its task dependencies.
+
+### Try this
+
+Complete the official introductory training, then run main.nf in the workflow-basics project and compare its output with the reference file.
+
+### Keep in mind
+
+Start with a small local test profile. Check the data, storage, and compute requirements before running a production pipeline.
+
+### A few good resources
+
+- [Nextflow community training](https://training.nextflow.io/) — Course · Intermediate · Free · English. A guided route from running a first pipeline to composing and configuring workflows.
+ - Prerequisites: Basic shell skills; start with the introductory material.
+
+- [Nextflow documentation](https://docs.seqera.io/nextflow) — Documentation · Intermediate · Free; compute may cost · English. Reference processes, channels, modules, profiles, executors, and dependency handling while building a small pipeline.
+ - Prerequisites: Command-line use and workflow concepts.
+
+- [nf-core documentation](https://nf-co.re/docs/) — Documentation · Intermediate · Free · English. Learn conventions for using and developing community pipelines, including configuration and contribution guidance.
+ - Prerequisites: Nextflow basics.
+
+- [nf-core/rnaseq](https://nf-co.re/rnaseq) — Workflow · Intermediate · Code free; compute and storage may cost · English. A production workflow to examine after a smaller tutorial; learn its inputs, profiles, QC outputs, and documented options.
+ - Prerequisites: RNA-seq concepts, Nextflow, and suitable compute access.
+
+
+
+## Snakemake
+
+**Level:** Intermediate
+
+Express analysis steps as rules connected through their input and output files.
+
+**Before you begin:** Workflow concepts and basic Python.
+
+### What to understand
+
+- Rules, targets, wildcards, configuration, and dependency graphs.
+- Software environments, containers, resource declarations, and execution profiles.
+- Dry runs, logs, reports, and testing small examples.
+
+### What you’ll be able to do
+
+Write a small rule-based workflow and inspect what will run before executing it.
+
+### Try this
+
+Run a dry run and then the Snakefile in the workflow-basics project. Change the input FASTA and predict which output should be recomputed.
+
+### Keep in mind
+
+Make all dependencies explicit. Hidden files, undeclared parameters, and changing environments undermine reproducibility.
+
+### A few good resources
+
+- [Snakemake documentation](https://snakemake.readthedocs.io/en/stable/) — Documentation · Intermediate · Free; compute may cost · English. Understand rules, file dependencies, software environments, execution, and reporting.
+ - Prerequisites: Basic Python and command-line use.
+
+- [Snakemake general-use tutorial](https://snakemake.readthedocs.io/en/stable/tutorial/tutorial.html) — Tutorial · Intermediate · Free · English. Build and extend an example workflow while learning dependency handling, configuration, and execution.
+ - Prerequisites: Basic Python and shell use.
+
+- [Apptainer user guide](https://apptainer.org/docs/user/latest/) — Documentation · Intermediate · Free; infrastructure may cost · English. Learn container execution and reproducibility concepts relevant to shared research computing systems.
+ - Prerequisites: Linux and software environment basics.
+
+## Put it into practice
+
+- [One analysis, two workflow engines](../projects/workflow-basics/README.md)
+
+Collection reviewed: 2026-10-20. See [About](../README.md#about-this-collection) for scope and review details.
diff --git a/projects/README.md b/projects/README.md
new file mode 100644
index 0000000..3309a3e
--- /dev/null
+++ b/projects/README.md
@@ -0,0 +1,15 @@
+# Learn by doing
+
+[← Main guide](../README.md)
+
+These small examples connect a biological or computational question to inputs, outputs, and interpretation. They are teaching projects rather than production pipelines.
+
+| Project | Start here if… | What you will make |
+| --- | --- | --- |
+| [Your first RNA-seq comparison](rna-seq/README.md) | You know basic R and want to analyze gene counts. | A design-aware comparison, QC plots, and a results table. |
+| [Read your first protein structure](protein-structure/README.md) | You know basic Python and protein biology. | A structure report, a residue table, and interpretation notes. |
+| [One analysis, two workflow engines](workflow-basics/README.md) | You can run a Python script and want to learn workflows. | The same verified output from a script and a workflow engine. |
+
+Follow a project from a fresh session and record your software versions. The RNA-seq and protein-structure examples need external packages and initial network access. The plain Python workflow example uses only the standard library and includes its tiny synthetic input.
+
+Each project describes its expected outputs and interpretation limits. See [VALIDATION.md](../VALIDATION.md) for the checks performed during this update; do not assume every scientific runtime was available.
diff --git a/projects/protein-structure/README.md b/projects/protein-structure/README.md
new file mode 100644
index 0000000..27aa723
--- /dev/null
+++ b/projects/protein-structure/README.md
@@ -0,0 +1,44 @@
+# Read your first protein structure
+
+[← Projects](../README.md) · [Structural learning path](../../guides/structural.md)
+
+**Question:** What does an experimental protein structure show, and what information should accompany a structural interpretation?
+
+**Starting level:** basic Python and protein biology.
+
+## Data and setup
+
+The script downloads the mmCIF file for [RCSB PDB entry 1CRN](https://www.rcsb.org/structure/1CRN), an experimental structure of crambin. Read the entry for its source publication, experimental method, resolution, and validation information. This is not a predicted structure.
+
+Use Python 3.10+ in an isolated environment. From this directory:
+
+```sh
+python3 -m venv .venv
+source .venv/bin/activate
+python3 -m pip install -r requirements.txt
+python3 inspect_structure.py
+```
+
+On Windows, activate with `.venv\Scripts\activate` instead. The initial package installation and structure download need internet access. Later runs reuse `data/1CRN.cif`.
+
+## Inspect the outputs
+
+- `data/1CRN.cif`: the downloaded structure file.
+- `results/residues.csv`: standard residues with C-alpha atoms from the first coordinate model, including chain/residue identifiers, coordinates, and C-alpha B-factors.
+- `results/report.md`: a small metadata summary and Python/Biopython versions.
+
+For the current 1CRN entry, the teaching script should report 46 protein residues in chain A. Check the entry and file rather than assuming this count is a general rule for all structures. Water and hetero groups are excluded from the residue table. The script summarizes the first coordinate model; it does not reconstruct biological assemblies or resolve every alternate-conformation case.
+
+## Explain what you found
+
+1. Open the mmCIF in a molecular viewer, such as [ChimeraX](https://www.rbvi.ucsf.edu/chimerax/tutorials.html), subject to its current software terms.
+2. Identify the experimental method and reported resolution. Find the entry's validation information.
+3. Identify chains and secondary structure. Do the residue identifiers match what you expected?
+4. Explain what an experimental B-factor describes and why it should not be labeled as AlphaFold confidence.
+5. Write a short report separating observations, interpretations, and unresolved questions.
+
+## Extend the project
+
+Choose another protein with experimental and predicted structures. Check sequence correspondence, construct boundaries, and residue numbering before comparing coordinates. Then inspect [prediction confidence](https://www.ebi.ac.uk/training/online/courses/alphafold/inputs-and-outputs/evaluating-alphafolds-predicted-structures-using-confidence-scores/) and explain which regions are meaningfully comparable.
+
+This metadata summary is not a complete validation report. Continue with [PDB-101](https://pdb101.rcsb.org/learn/guide-to-understanding-pdb-data/introduction) and the [Biopython tutorial](https://biopython.org/docs/latest/Tutorial/).
diff --git a/projects/protein-structure/inspect_structure.py b/projects/protein-structure/inspect_structure.py
new file mode 100644
index 0000000..49b3363
--- /dev/null
+++ b/projects/protein-structure/inspect_structure.py
@@ -0,0 +1,70 @@
+#!/usr/bin/env python3
+"""Download experimental crambin structure 1CRN and report its first model."""
+import csv
+import platform
+from pathlib import Path
+from urllib.request import Request, urlopen
+
+try:
+ import Bio
+ from Bio.PDB import MMCIFParser
+ from Bio.PDB.MMCIF2Dict import MMCIF2Dict
+except ImportError as error:
+ raise SystemExit('Install Biopython first: python3 -m pip install -r requirements.txt') from error
+
+
+def main():
+ data = Path('data')
+ results = Path('results')
+ data.mkdir(exist_ok=True)
+ results.mkdir(exist_ok=True)
+ cif = data / '1CRN.cif'
+ url = 'https://files.rcsb.org/download/1CRN.cif'
+ if not cif.exists():
+ request = Request(url, headers={'User-Agent': 'BioinformaticsResourcesTeachingProject/1.0'})
+ with urlopen(request, timeout=60) as response:
+ content = response.read()
+ if not content.lstrip().startswith(b'data_'):
+ raise SystemExit('The download was not a valid mmCIF data block.')
+ cif.write_bytes(content)
+ structure = MMCIFParser(QUIET=True).get_structure('1CRN', str(cif))
+ metadata = MMCIF2Dict(str(cif))
+ model = next(structure.get_models())
+ rows = []
+ for chain in model:
+ for residue in chain:
+ # Hetero groups and waters are not counted as protein residues here.
+ if residue.id[0] != ' ' or 'CA' not in residue:
+ continue
+ atom = residue['CA']
+ rows.append({
+ 'chain': chain.id, 'residue_number': residue.id[1],
+ 'insertion_code': residue.id[2].strip(), 'residue_name': residue.resname,
+ 'ca_x': f'{atom.coord[0]:.3f}', 'ca_y': f'{atom.coord[1]:.3f}',
+ 'ca_z': f'{atom.coord[2]:.3f}', 'ca_b_factor': f'{atom.bfactor:.2f}',
+ })
+ if not rows:
+ raise SystemExit('No standard residues with C-alpha atoms were found.')
+ with (results / 'residues.csv').open('w', newline='') as handle:
+ writer = csv.DictWriter(handle, fieldnames=list(rows[0]))
+ writer.writeheader()
+ writer.writerows(rows)
+ method = ', '.join(metadata.get('_exptl.method', ['Not reported']))
+ resolution = ', '.join(metadata.get('_refine.ls_d_res_high', ['Not reported']))
+ report = [
+ '# Structure inspection: 1CRN', '', f'Source: {url}',
+ f'Experimental method: {method}', f'Reported resolution (angstrom): {resolution}',
+ f'First model: {model.id}; protein chains represented: {", ".join(sorted({r["chain"] for r in rows}))}',
+ f'Standard residues with C-alpha atoms in the first model: {len(rows)}',
+ f'Python: {platform.python_version()}; Biopython: {Bio.__version__}', '',
+ 'The residue table contains C-alpha coordinates and experimental B-factors.',
+ 'These B-factors are not AlphaFold pLDDT confidence scores.',
+ 'This simple summary is not a structure validation report or a biological-assembly analysis.',
+ 'Inspect the RCSB entry and validation information: https://www.rcsb.org/structure/1CRN',
+ ]
+ (results / 'report.md').write_text('\n\n'.join(report) + '\n')
+ print(f'Wrote {len(rows)} residue rows and results/report.md')
+
+
+if __name__ == '__main__':
+ main()
diff --git a/projects/protein-structure/requirements.txt b/projects/protein-structure/requirements.txt
new file mode 100644
index 0000000..825578b
--- /dev/null
+++ b/projects/protein-structure/requirements.txt
@@ -0,0 +1 @@
+biopython>=1.84,<2
diff --git a/projects/rna-seq/README.md b/projects/rna-seq/README.md
new file mode 100644
index 0000000..577c546
--- /dev/null
+++ b/projects/rna-seq/README.md
@@ -0,0 +1,55 @@
+# Your first RNA-seq comparison
+
+[← Projects](../README.md) · [Omics learning path](../../guides/omics.md)
+
+**Question:** Which genes show evidence of a treatment-associated expression change when comparing dexamethasone-treated and untreated airway cells while accounting for cell line?
+
+**Starting level:** basic R, count matrices, and introductory experimental design. This is a count-based teaching analysis, not a raw FASTQ processing pipeline.
+
+## Data and provenance
+
+The [Bioconductor airway package](https://bioconductor.org/packages/airway/) provides a packaged RNA-seq example with four cell lines measured under two treatment conditions. Consult the package's documentation and `citation("airway")` for the original experiment and data provenance. No separate download of FASTQ files is needed for this example.
+
+## Set up and run
+
+Use a current R version supported by a compatible Bioconductor release. From R, install:
+
+```r
+install.packages("BiocManager")
+BiocManager::install(c("airway", "DESeq2"))
+install.packages("ggplot2")
+```
+
+From this directory, run:
+
+```sh
+Rscript analysis.R
+```
+
+Package installation needs internet access. The script stops with a dependency message rather than installing software itself. Record your R and Bioconductor versions; they influence package availability and exact results.
+
+## Inspect the outputs
+
+- `results/sample-metadata.csv`: eight samples with their treatment and cell-line metadata.
+- `results/pca.pdf`: exploratory sample relationships; inspect outliers and treatment/cell-line patterns.
+- `results/differential-expression.csv`: gene identifiers, unshrunken log2 fold changes, standard errors, test statistics, p-values, and adjusted p-values.
+- `results/ma.pdf`: expression changes plotted against mean expression.
+- `results/session-info.txt` and `results/analysis-notes.txt`: software versions and key decisions.
+
+The design is `~ cell + dex`, and the contrast is treated versus untreated. Positive log2 fold changes indicate greater expression in treated samples. A teaching filter retains genes with at least ten counts in at least four samples. The script asserts the expected sample layout before fitting.
+
+## Explain what you found
+
+1. Why does the design include cell line? Draw the experiment as four paired comparisons.
+2. Which samples are close in the PCA, and what would make you investigate an apparent outlier?
+3. Choose three genes and report effect sizes, adjusted p-values, and any missing values. Avoid treating an arbitrary threshold as a biological conclusion.
+4. What would change if treatment and cell line were confounded?
+5. Why should counts be supplied to DESeq2 without first converting them to log-expression or TPM?
+
+Exact gene totals and p-values can change with package versions and analysis choices. Unshrunken effect sizes can be unstable for low-information genes; read the DESeq2 shrinkage guidance before interpreting a ranking based on fold change. This study-specific comparison does not establish a universal response across cell types or a mechanism.
+
+## Continue learning
+
+- [DESeq2 vignette](https://bioconductor.org/packages/release/bioc/vignettes/DESeq2/inst/doc/DESeq2.html)
+- [Gene-level RNA-seq workflow](https://bioconductor.org/packages/release/workflows/html/rnaseqGene.html), including how raw reads become counts
+- [Project validation status](../../VALIDATION.md)
diff --git a/projects/rna-seq/analysis.R b/projects/rna-seq/analysis.R
new file mode 100644
index 0000000..bf3262d
--- /dev/null
+++ b/projects/rna-seq/analysis.R
@@ -0,0 +1,55 @@
+#!/usr/bin/env Rscript
+# Run from this project directory: Rscript analysis.R
+# Install dependencies first; see README.md. Do not transform counts before DESeq2.
+required <- c("airway", "DESeq2", "ggplot2")
+missing <- required[!vapply(required, requireNamespace, logical(1), quietly = TRUE)]
+if (length(missing)) {
+ stop("Install the packages listed in README.md first: ", paste(missing, collapse = ", "))
+}
+suppressPackageStartupMessages({
+ library(airway)
+ library(DESeq2)
+ library(ggplot2)
+})
+set.seed(42)
+dir.create("results", showWarnings = FALSE)
+data("airway", package = "airway")
+airway$dex <- relevel(factor(airway$dex), ref = "untrt")
+airway$cell <- factor(airway$cell)
+metadata <- as.data.frame(colData(airway))
+write.csv(metadata, "results/sample-metadata.csv", row.names = TRUE)
+
+# The four cell lines each have treated and untreated observations.
+stopifnot(ncol(airway) == 8L, all(table(airway$cell, airway$dex) == 1L))
+dds <- DESeqDataSet(airway, design = ~ cell + dex)
+# A transparent teaching filter; justify filtering for your actual study.
+dds <- dds[rowSums(counts(dds) >= 10) >= 4, ]
+dds <- DESeq(dds)
+res <- results(dds, contrast = c("dex", "trt", "untrt"), alpha = 0.05)
+res <- res[order(res$padj, na.last = TRUE), ]
+result_table <- cbind(gene_id = rownames(res), as.data.frame(res))
+write.csv(result_table, "results/differential-expression.csv", row.names = FALSE)
+
+vsd <- vst(dds, blind = FALSE)
+pca <- plotPCA(vsd, intgroup = c("dex", "cell"), returnData = TRUE)
+percent <- round(100 * attr(pca, "percentVar"))
+p <- ggplot(pca, aes(PC1, PC2, color = dex, shape = cell)) +
+ geom_point(size = 3) + theme_minimal(base_size = 12) +
+ labs(title = "Airway: exploratory sample relationships",
+ x = paste0("PC1: ", percent[1], "% variance"),
+ y = paste0("PC2: ", percent[2], "% variance"),
+ color = "Treatment", shape = "Cell line")
+ggsave("results/pca.pdf", p, width = 7, height = 5)
+pdf("results/ma.pdf", width = 7, height = 5)
+plotMA(res, main = "Dexamethasone: treated versus untreated", ylim = c(-5, 5))
+dev.off()
+writeLines(capture.output(sessionInfo()), "results/session-info.txt")
+writeLines(c(
+ "Dataset: Bioconductor airway; see package citation and provenance.",
+ "Design: ~ cell + dex; contrast: trt versus untrt.",
+ "Filter: at least four samples with at least ten counts.",
+ "Positive log2 fold change means higher expression in treated samples.",
+ "Unshrunken effect estimates are reported; see DESeq2 guidance on shrinkage.",
+ "This example starts from counts, not raw reads."
+), "results/analysis-notes.txt")
+message("Wrote outputs to results/. Inspect sample metadata and PCA before interpreting the table.")
diff --git a/projects/workflow-basics/README.md b/projects/workflow-basics/README.md
new file mode 100644
index 0000000..99146ec
--- /dev/null
+++ b/projects/workflow-basics/README.md
@@ -0,0 +1,63 @@
+# One analysis, two workflow engines
+
+[← Projects](../README.md) · [Workflow learning path](../../guides/workflows.md)
+
+**Question:** How can explicit dependencies make a small analysis easier to run and verify?
+
+The same Python script calculates GC content for three tiny, synthetic DNA sequences. Nextflow and Snakemake wrap that computation. Choose one engine initially; the paired examples let you compare concepts later.
+
+## Start with the analysis
+
+Python 3.9+ and no additional packages are required for this step. From this directory:
+
+```sh
+python3 gc_content.py sequences.fasta results/plain/gc.csv
+diff expected.csv results/plain/gc.csv
+```
+
+On Windows, compare the two files in your editor or use the site's cross-platform checker. A successful `diff` prints nothing and exits with status zero.
+
+Expected result:
+
+```csv
+sequence_id,length,ambiguous_bases,gc_percent
+sequence_a,8,0,50.00
+sequence_b,6,2,100.00
+sequence_c,6,0,0.00
+```
+
+The GC denominator includes only A/C/G/T bases. Ambiguous IUPAC bases are counted separately; an entirely ambiguous sequence has `NA` GC percentage. Empty records, duplicate identifiers, and non-IUPAC DNA characters are rejected.
+
+## Choose Nextflow
+
+Install Nextflow and its supported Java runtime using the [official setup instructions](https://docs.seqera.io/nextflow/getting-started/installation). Then run:
+
+```sh
+nextflow run main.nf
+diff expected.csv results/nextflow/gc.csv
+nextflow run main.nf -resume
+```
+
+The FASTA and analysis script are both declared inputs. The process stages them into its work directory and publishes the result. Change a sequence and rerun with `-resume` to investigate how caching responds to changed inputs.
+
+## Or choose Snakemake
+
+Install Snakemake following its [official installation instructions](https://snakemake.readthedocs.io/en/stable/getting_started/installation.html). Then run:
+
+```sh
+snakemake --cores 1 --dry-run
+snakemake --cores 1
+diff expected.csv results/snakemake/gc.csv
+```
+
+The output target determines the rule dependencies. The script and FASTA are explicit inputs. Inspect the [current documentation](https://snakemake.readthedocs.io/en/stable/) for graph and report options supported by your installed version.
+
+## Explain what happened
+
+1. Identify the task, inputs, output, and dependency graph in each implementation.
+2. Change the input and rerun. Which step executes, and why?
+3. Change the analysis script. How does each engine detect that change?
+4. Add a quality-check step before GC calculation. What contract should it enforce?
+5. Record `python3 --version` and your engine's version. How would you capture the environment for a collaborator?
+
+This intentionally small example uses your local Python environment and does not pin an operating system or container. Add versioned environments and appropriate compute profiles when progressing to a research workflow. Validation status is recorded in [VALIDATION.md](../../VALIDATION.md).
diff --git a/projects/workflow-basics/Snakefile b/projects/workflow-basics/Snakefile
new file mode 100644
index 0000000..64332b7
--- /dev/null
+++ b/projects/workflow-basics/Snakefile
@@ -0,0 +1,20 @@
+from pathlib import Path
+
+# Paths are relative to this file, so this also works with snakemake -s /path/Snakefile.
+PROJECT = Path(workflow.basedir)
+FASTA = str(PROJECT / "sequences.fasta")
+ANALYSIS = str(PROJECT / "gc_content.py")
+OUTPUT = str(PROJECT / "results/snakemake/gc.csv")
+
+rule all:
+ input:
+ OUTPUT
+
+rule gc_content:
+ input:
+ fasta=FASTA,
+ analysis=ANALYSIS
+ output:
+ OUTPUT
+ shell:
+ "python3 {input.analysis:q} {input.fasta:q} {output:q}"
diff --git a/projects/workflow-basics/expected.csv b/projects/workflow-basics/expected.csv
new file mode 100644
index 0000000..f9670f8
--- /dev/null
+++ b/projects/workflow-basics/expected.csv
@@ -0,0 +1,4 @@
+sequence_id,length,ambiguous_bases,gc_percent
+sequence_a,8,0,50.00
+sequence_b,6,2,100.00
+sequence_c,6,0,0.00
diff --git a/projects/workflow-basics/gc_content.py b/projects/workflow-basics/gc_content.py
new file mode 100644
index 0000000..9eabf2f
--- /dev/null
+++ b/projects/workflow-basics/gc_content.py
@@ -0,0 +1,58 @@
+#!/usr/bin/env python3
+"""Summarize a small DNA FASTA. Ambiguous bases are excluded from GC %."""
+import argparse
+import csv
+from pathlib import Path
+
+
+def records(path):
+ name, sequence, seen = None, [], set()
+ for number, raw in enumerate(Path(path).read_text().splitlines(), 1):
+ line = raw.strip()
+ if not line:
+ continue
+ if line.startswith('>'):
+ if name is not None:
+ yield name, ''.join(sequence)
+ name = line[1:].strip().split()[0] if line[1:].strip() else ''
+ if not name or name in seen:
+ raise ValueError(f'Empty or duplicate FASTA identifier at line {number}')
+ seen.add(name)
+ sequence = []
+ else:
+ if name is None:
+ raise ValueError(f'Sequence before a FASTA header at line {number}')
+ bases = ''.join(line.split()).upper()
+ if set(bases) - set('ACGTRYSWKMBDHVN'):
+ raise ValueError(f'Non-IUPAC DNA characters at line {number}')
+ sequence.append(bases)
+ if name is not None:
+ yield name, ''.join(sequence)
+
+
+def summarize(sequence):
+ if not sequence:
+ raise ValueError('Empty sequence record')
+ known = sum(sequence.count(base) for base in 'ACGT')
+ gc = sequence.count('G') + sequence.count('C')
+ return len(sequence), len(sequence) - known, f'{100 * gc / known:.2f}' if known else 'NA'
+
+
+def main():
+ parser = argparse.ArgumentParser(description=__doc__)
+ parser.add_argument('fasta')
+ parser.add_argument('output')
+ args = parser.parse_args()
+ rows = [(name, *summarize(seq)) for name, seq in records(args.fasta)]
+ if not rows:
+ raise SystemExit('No FASTA records found')
+ output = Path(args.output)
+ output.parent.mkdir(parents=True, exist_ok=True)
+ with output.open('w', newline='') as handle:
+ writer = csv.writer(handle, lineterminator='\n')
+ writer.writerow(['sequence_id', 'length', 'ambiguous_bases', 'gc_percent'])
+ writer.writerows(rows)
+
+
+if __name__ == '__main__':
+ main()
diff --git a/projects/workflow-basics/main.nf b/projects/workflow-basics/main.nf
new file mode 100644
index 0000000..bd6177e
--- /dev/null
+++ b/projects/workflow-basics/main.nf
@@ -0,0 +1,22 @@
+nextflow.enable.dsl = 2
+
+params.fasta = "${projectDir}/sequences.fasta"
+params.outdir = "${projectDir}/results/nextflow"
+
+process GC_CONTENT {
+ tag "${fasta.simpleName}"
+ publishDir params.outdir, mode: 'copy', overwrite: true
+ input:
+ path fasta
+ path analysis
+ output:
+ path 'gc.csv'
+ script:
+ """
+ python3 "${analysis}" "${fasta}" gc.csv
+ """
+}
+
+workflow {
+ GC_CONTENT(file(params.fasta, checkIfExists: true), file("${projectDir}/gc_content.py", checkIfExists: true))
+}
diff --git a/projects/workflow-basics/sequences.fasta b/projects/workflow-basics/sequences.fasta
new file mode 100644
index 0000000..cc21a0a
--- /dev/null
+++ b/projects/workflow-basics/sequences.fasta
@@ -0,0 +1,6 @@
+>sequence_a synthetic teaching sequence
+ACGTACGT
+>sequence_b ambiguous bases are excluded
+GGCCNN
+>sequence_c no GC bases
+ATATAT
diff --git a/scripts/build.py b/scripts/build.py
new file mode 100644
index 0000000..254190b
--- /dev/null
+++ b/scripts/build.py
@@ -0,0 +1,263 @@
+#!/usr/bin/env python3
+"""Build the static field guide and its GitHub Markdown from one catalog.
+
+Python standard library only. Run from any directory with Python 3.9+.
+"""
+import argparse
+import html
+import json
+import shutil
+from pathlib import Path
+
+ROOT = Path(__file__).resolve().parents[1]
+DATA = json.loads((ROOT / 'content/catalog.json').read_text())
+RESOURCES = {r['id']: r for r in DATA['resources']}
+TRACKS = {t['id']: t for t in DATA['tracks']}
+REPO = DATA['repository']
+SITE = 'https://ahhmedsamehh.github.io/Bioinformatics_resources/'
+E = html.escape
+
+ICONS = {
+ 'home': '
{E(eyebrow)}
{E(lead)}
{E(p["description"])}
Open the project {icon("arrow")}' + + +def home(): + cards = '' + for t in DATA['tracks']: + cards += f'''{E(t['description'])}
Your next chapter starts here
Find your footing in bioinformatics. Explore carefully chosen resources, follow a learning path, and turn a biological question into something you can investigate.
Start where you are. You don’t need to learn everything at once.
Start with one question, one dataset, and one small win. Build the next skill when you need it. There is room here for first steps and deeper explorations alike.
Let’s find a good first step {icon('arrow')}Small projects with a question, a dataset, and something to show for it.
Keep a biological question in view while you learn to work with data.
Build the experimental context that makes an analysis meaningful.
You can get a feel for the work before choosing a specialization.
Two scientific tracks share a practical foundation. Workflow engineering and AI connect across them.
What would you like to understand: a protein structure, a treatment response, or a reproducible analysis?
Use each topic’s prerequisites and outcome to choose a resource. Start with one; the library is a menu, not a completion checklist.
Inspect the data and run the analysis from the beginning. Keep notes about decisions and things you cannot yet explain.
Record your dataset, versions, parameters, results, and limitations. A clear explanation is part of the result.
Beginner means an accessible entry point. Intermediate assumes some coding or analysis experience. Advanced assumes the preceding scientific and statistical context. You can revisit the foundations whenever you need them.
Prefer Arabic for your first programming steps? Explore Arabic-language resources. Most specialist material in this collection is currently in English; suggestions for strong Arabic resources are welcome.
{E(r["summary"])}
{E(r["kind"])} · {E(r["level"])} · {E(r["cost"])} · {E(r["language"])}{E(q['description'])}
Before you begin: {E(q['prerequisites'])}
{E(q['outcome'])}
{E(q['practice'])}
{E(q['caution'])}
{E(r['summary'])}
{E(r['prerequisites'])}
Try a broader term, another level, or clear the filters.
Collection review dates describe editorial review, not certification or a guarantee of availability. Resource versions, access terms, and compute requirements can change.
' + + +def projects_page(): + return intro('Learn by doing', 'Small projects. Real understanding.', 'Each project starts with a question, identifies its data, and gives you something concrete to inspect and explain. The first two are beginner entry points; the workflow project builds on basic scripting.') + '{E(p['question'])}
Before you begin: {E(p['prerequisites'])}
{E(p['data'])}
This project began as Ahmed Sameh’s personal collection of bioinformatics resources. It keeps that spirit: approachable explanations, encouragement to practice, and resources selected for a clear learning purpose.
The structural and omics tracks are the scientific areas emphasized here, rather than a complete division of bioinformatics. Workflows and AI are shared skills, and the specialist topics are invitations to explore further.
Each topic explains its prerequisites, learning outcome, practical exercise, and interpretation limits. Resources include their format, level, language, access information, and why they are useful. Difficulty labels are guidance rather than a fixed sequence.
The current website and GitHub topic pages are generated from the same catalog. The collection was editorially reviewed on 20 October 2026. This does not mean every course or scientific workflow has been completed or independently validated by the curator.
Found a broken link, a confusing explanation, or a resource worth adding? Please open an issue or send a pull request with the topic, prerequisites, access terms, and a sentence explaining its value.
Arabic-language learning resources and accessible introductions to specialist topics are especially welcome. See the contribution guide for the editing and build process.
Links generally lead to the resource authors, maintainers, or publishers. Linked materials retain their own licenses and terms; consult those sources when reusing them. The repository’s original code and guide text use its MIT license.
The historical list and existing book folders remain available in the repository for continuity. New recommendations favor maintained source links. Read the historical list ↗