Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
/.quarto/
/docs/
/docs/
**/*.quarto_ipynb
13 changes: 9 additions & 4 deletions _quarto.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,17 @@ book:
author: "<a href='https://arashabadi.github.io/'>Arash B. Abadi</a>"
date: last-modified
cover-image: images/patoq_cover_t.png
repo-url: https://github.com/arashabadi/patoq
repo-actions: [edit, issue]

chapters:
- index.qmd
- part: "Prerequisites"
chapters:
- prerequisites.qmd
- part: "Main Sections"
- part: prerequisites.qmd
chapters:
- biology_fundamentals.qmd
- mathematics_fundamentals.qmd
- computer_science_fundamentals.qmd
- part: "Special topics"
chapters:
- omics-data.qmd
- modeling-simulation.qmd
Expand Down
19 changes: 19 additions & 0 deletions biology_fundamentals.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Biology fundamentals and resources

## Key Concepts In Biology
- Molecular Biology: DNA, RNA, proteins, gene expression
- Cell Biology: Cell structure, organelles, and functions
- Genetics: Inheritance, genetic variation, genomics
- Biochemistry: Metabolic pathways, enzyme kinetics
- Biophysics: Physical principles in biological systems

## Recommended Resources
- **Books**:
- *Molecular Biology of the Cell* by Bruce Alberts
- *Lewin's Genes* by Jocelyn E. Krebs et al.
- *Lehninger Principles of Biochemistry* by Nelson and Cox
- *Physical Biology of the Cell* by Rob Phillips

- **Online Courses**:
- [Introduction to Biology: The Secret of Life](https://www.edx.org/course/introduction-to-biology-the-secret-of-life) on edX
- [MIT OpenCourseWare: Introduction to Biology](https://ocw.mit.edu/courses/7-01sc-fundamentals-of-biology-fall-2011/)
191 changes: 191 additions & 0 deletions computer_science_fundamentals.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,191 @@
# Computer science fundamentals and resources

- *Bioinformatics Data Skills* by Vince Buffalo



# Operating system Linux
## Linux basic resources
### Books
### Online courses

## Linux advanced resources
### Books
### Online courses

## Linux persian reources

## Linux fast tutorial


# Git and Github

## Git basic resources

### Books
- [head first git](https://i-love-git.com/)

### Online courses
- [git - the simple guide - no deep shit!](https://rogerdudler.github.io/git-guide/)
- [Git Tutorial - Medium by Jaaeehoonkim](https://medium.com/@jaaeehoonkim/git-tutorial-1-31d0b1db1940)

## Git advanced resources
### Books
- The best and most reliable: [Free book of Pro Git](https://git-scm.com/book/en/v2)
- [Happy Git and GitHub for the useR](https://happygitwithr.com/)

### Online courses
- [Introduction to Git and GitHub](https://www.coursera.org/learn/introduction-git-github) on Coursera

## Git persian reources
- [ دوره رایگان، جذاب و خیلییی کوتاه گیت جادی تو فرادرس](https://faradars.org/courses/fvgit9609-git-github-gitlab)
- [Milad Bahrami youtube playlist](https://www.youtube.com/playlist?list=PLhpS3tgUDZcpamFNTdjXyRKzFGaBAkcLq)
- [Ashkan Rahmani youtube playlist](https://www.youtube.com/playlist?list=PLG-hncsy5aQ4keIG-pNoGj-zzU7TpFNPR)
- [Git mag youtube playlist](https://www.youtube.com/playlist?list=PL1xdRbCBrpofX93iVIkyujskR4cCy261S)
- [Salar Hagh youtube playlist](https://www.youtube.com/playlist?list=PLprvbQiR3cN9M3g22ui3MiEFkqLpVubAU)
- [neolearn youtube video](https://www.youtube.com/watch?v=TEx_mRpIDkA)
- [Sarvin Style Coding youtube video](https://www.youtube.com/watch?v=xDdal3QSypE)


## Git fast tutorial
<div style="text-align: center">
![Source: Google Images](./images/git/git_finalfinal.jpg){.image width="700px"}
</div>

### What is Version Control?

Imagine you're writing a research paper. You make changes, save different versions, and sometimes want to go back to previous versions. Version control is like having a time machine for your files - it helps you track changes, collaborate with others, and maintain a history of your work.

Git was made by Linus Torvalds, the same person who made Linux! It is like a super-powered save system. Instead of saving files with names like `paper_FINAL_final_UPDATED_NEW.docx` or `proj_NEW_LASTEST.R`, Git keeps track of all changes automatically.

### Basic Git Concepts & Commands

- **Repository (Repo)**: Think of it as a project folder that Git watches. Like a photo album that keeps track of all your project's versions. **Local repo** is a copy of the remote repo on your computer. **Remote repo** can be the version stored on GitHub or GitLab.

- **Commit**: Like taking a snapshot of your work. Each commit is a saved point you can return to. Like saving a checkpoint in a video game or giving your file a name/version.

<div style="text-align: center">
![Git in a nutshell - [Source](https://medium.com/@jaaeehoonkim/git-tutorial-1-31d0b1db1940)](./images/git/git-medium.png){.image width="600px"}
</div>

- **Branch**: Like creating a parallel universe for your work. You can experiment without affecting the main project. Like writing a draft of your paper without changing the original. Also can be used to collaborate with others, simultaneously working on the same project! You can **Merge** your changes back to the main branch after you are done. Master/Main branch is the main branch of the repo.

<div style="text-align: center">
![Git Branches - [Source](https://www.nobledesktop.com/learn/git/git-branches)](./images/git/git-branches-merge.png){.image width="500px"}
</div>

```bash
# Start a new project (create a new repository)
git init

# Check the status of your files
git status

# Add files to be saved (staging)
git add filename.txt # Add specific file
git add . # Add all files

# Save your changes (commit)
git commit -m "Description of changes"

# See your project history
git log

# Reset your branch to the latest commit
git reset --hard
```

### GitHub: Your Project's Home on the Internet

![GitHub vs Bitbucket vs GitLab](./images/git/github.jpg)

GitHub is like a social network for your code. It's where you can store your projects online, collaborate with others and share your work with the world. GitHub has **Repository Hosting** - a cloud storage specifically for code, **Issue Tracking** - a to-do list for your project and bug reporting, **Pull Requests** - suggesting changes to someone else's work or requesting changes to your own work, **Code Review** - peer review process for your code, and **CI/CD** features.
Common workflows in GitHub: **Fork a Repository**: Like making a copy of someone else's project. You can modify it without affecting the original. **Push Changes**: Like uploading your changes to GitHub. **Clone a Repository**: Like downloading a project to your computer.

```bash
# Clone a repository
git clone https://github.com/username/repository.git

# Get updates from remote repository
git pull

# Send your changes to remote repository
git push

```

### Common Scenarios and Best Practices

When working with Git, follow these key practices: write short & clear commit messages to document changes, create feature branches for new work, keep your local copy updated regularly, and review changes before committing. For beginners, **start with basic commands and simple projects**, you can utilize visual tools like GitHub Desktop or VS Code's Git integration but I prefer to use the command line (more straightforward), learn from mistakes. Git maintains history so you can always revert!!

What usually happens daily:

1. **Starting a New Project**
```bash
git init
git add .
git commit -m "Initial commit"
```
* **Note**: I prefer to initialize a new repository in GitHub with a README file and LICENSE, and then clone it to my local machine.

2. **Updating Your Work**
```bash
git pull
# Make changes
git add .
git commit -m "Description of changes"
git push
```

3. **Working with Branches**
```bash
git checkout -b new-branch-name
# Make changes
git add .
git commit -m "Description of changes"
git push
git checkout main
git merge new-branch-name
```

<div style="text-align: center">
![Git and B Cell Analogy!](./images/git/git-bcell-r.png){.image width="500px"}
</div>


# R
## Link to fast tutorial

## R basic resources

### Books

### Online courses

## R advanced resources

### Books

### Online courses

## R persian reources
- *R for Data Science* by Hadley Wickham
- [R Programming](https://www.coursera.org/learn/r-programming) on Coursera

## R fast tutorial

# Python

## Python basic resources
### Books
- *Python for Biologists* by Martin Jones
### Online courses

## Python advanced resources
### Books
### Online courses
- [Python for Data Science and AI](https://www.coursera.org/learn/python-for-applied-data-science-ai) on Coursera

## Python persian reources

## Python fast tutorial
Binary file added images/bioinformatics_ven_diagram.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
64 changes: 4 additions & 60 deletions index.qmd
Original file line number Diff line number Diff line change
@@ -1,67 +1,11 @@
## Welcome
# Welcome {.unnumbered}

PATOQ (پاتوق) is a curated collection of resources & quick tutorials around Bioinformatics, Data Science, ML, etc. The term "Patoq" is a Persian (Farsi) word that means "gathering place" or "social hangout". PATOQ is a gathering place where individuals interested in bioinformatics, computational biology, data science, machine learning, and related fields can find valuable information and stay current with the latest advancements.
PATOQ (پاتوق) is a curated collection of resources & quick tutorials around Bioinformatics, Data Science, ML, etc.

## Table of Contents
The term "Patoq" is a Persian (Farsi) word that means "gathering place" or "social hangout".

- Prerequisites
- Biology Fundamentals
- Programming Fundamentals
- Mathematics Fundamentals
- Statistics and Probability Fundamentals
- Project Management and Communication Skills
- Case Studies and Practical Applications
PATOQ is a gathering place where individuals interested in bioinformatics, computational biology, data science, machine learning, and related fields can find valuable information and stay current with the latest advancements.

- Main Sections
- Omics Data Analysis and Interpretation
- Genomics
- Transcriptomics
- Proteomics
- Metabolomics
- Epigenomics
- Metagenomics
- Network and Pathway Analysis
- Modeling and Simulation
- Molecular Modeling and Dynamics
- Systems Biology
- Computational Ecology, Evolution and Phylogenetics
- Computational Pharmacology and Drug Design
- Mathematical Modeling of Biological Systems
- Integrated Platforms, Tools, and Technologies
- Version Control: Git & GitHub
- SaaS Platforms
- Cloud Computing and Data Management
- High-Performance Computing (HPC)
- Collaborative Research Tools
- Data Visualization Techniques
- Big Data Analysis
- Specialized Topics
- Artificial Intelligence
- Clinical Bioinformatics
- Agricultural Bioinformatics
- Synthetic Biology
- Personalized Medicine
- Environmental Bioinformatics & Epidemiology
- Biomolecular Engineering
- Genetic Engineering

- Additional Resources
- YouTube Channels
- Persian Resources (بنمایگان پارسی)
- Open-Source Projects and Repositories
- Courses
- Books
- Scientific Journals & Publications
- Vignettes & Websites
- R packages
- Miscellaneous
- Topic Based
- Conferences, Workshops, and Webinars
- Career Guidance and Job Opportunities
- Networking and Collaboration
- Regular Updates

<!-- End of Table of Contents -->

This book is a Quarto-based online HTML book for the PATOQ project. See [CONTRIBUTING.md](https://github.com/arashabadi/patoq/blob/main/CONTRIBUTING.md) for more information.

Expand Down
37 changes: 37 additions & 0 deletions mathematics_fundamentals.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Mathematics fundamentals and resources

## Key Concepts
- Linear Algebra: Vectors, matrices, and their applications
- Calculus: Differential and integral calculus
- Discrete Mathematics: Combinatorics, graph theory
- Algorithms and Data Structures
- Numerical Methods

## Recommended Resources
- **Books**:
- *Introduction to Linear Algebra* by Gilbert Strang
- *Discrete Mathematics and Its Applications* by Kenneth H. Rosen
- *Numerical Recipes* by William H. Press et al.

- **Online Courses**:
- [Linear Algebra](https://www.edx.org/course/linear-algebra-foundations-to-frontiers) on edX
- [Calculus 1A: Differentiation](https://www.edx.org/course/calculus-1a-differentiation) on edX

# Statistics fundamentals and resources

## Key Concepts
- Probability Theory: Distributions, random variables
- Statistical Inference: Hypothesis testing, confidence intervals
- Regression Analysis: Linear and non-linear models
- Multivariate Statistics
- Machine Learning Basics

## Recommended Resources
- **Books**:
- *The Elements of Statistical Learning* by Trevor Hastie et al.
- *Applied Multivariate Statistical Analysis* by Richard A. Johnson
- *Statistical Inference* by George Casella and Roger L. Berger

- **Online Courses**:
- [Statistics and Data Science](https://www.edx.org/professional-certificate/mitx-statistics-and-data-science) on edX
- [Probability and Statistics](https://www.coursera.org/learn/probability-intro) on Coursera
Loading