diff --git a/content/02.introduction.md b/content/02.introduction.md new file mode 100644 index 0000000..534bc5f --- /dev/null +++ b/content/02.introduction.md @@ -0,0 +1,10 @@ +## Introduction + +- Importance of computation in biological research and scope. +- Importance to reproducibility in computational biology. +- Mentioning previous literature and some of their major takeaways and topics not fully covered in here (what kind of languages to learn, advanced text editors/IDEs, +- The computational biology best-practices continuum: reproducibility at the personal level, sharing our research with others and over time. +- Addressing the audience: computational biologists researchers – data analysts, workflow designers, software developers, mathematical modelers, etc. +- Structure of this manuscript: mention Figure 1 and Figure 2. + - **Figure 1:** Funnel structure for better computational biology. + - **Figure 2:** Types of computational biology projects per level. diff --git a/content/02.manuscript.md b/content/02.manuscript.md deleted file mode 100644 index 3a302b8..0000000 --- a/content/02.manuscript.md +++ /dev/null @@ -1,54 +0,0 @@ -## Introduction - -- Importance of computation in biological research and scope. -- Importance to reproducibility in computational biology. -- Mentioning previous literature and some of their major takeaways and topics not fully covered in here (what kind of languages to learn, advanced text editors/IDEs, -- The computational biology best-practices continuum: reproducibility at the personal level, sharing our research with others and over time. -- Addressing the audience: computational biologists researchers – data analysts, workflow designers, software developers, mathematical modelers, etc. -- Structure of this manuscript: mention Figure 1 and Figure 2. - - **Figure 1:** Funnel structure for better computational biology. - - **Figure 2:** Types of computational biology projects per level. - -## Level 1: Individual Research - -Goal: How should you manage your computational biology project? - -Topics: -- Literate programming: R Markdown, Jupyter Notebooks -- Version control: Git / GitHub (commits) -- Software versioning and environment managers (Conda, python-env) -- Modularize, snippets -- Coding style: variable naming, linter, pep8, commenting -- Programming practices: paradigms (object-oriented, procedural), assertions, pair-programming - -## Level 2: Collaboration - -Goal: How to allow your collaborators to reproduce and interact with your research/software? - -Topics: -- Sharing notebooks: R Markdowns and Jupyter Notebooks (Binder, Google CoLab) -- Sharing apps: Shiny apps, Dashboard. -- GitHub (branching, pull requests) -- Workflow automation: Snakemake (NextFlow, Make, Bash script) -- Sharing data and metadata - -## Level 3: Community - -Goal: How to develop and maintain a computational biology project with community feedback over time? - -Topics: -- GitHub releases and semantic versioning -- Git Flow, GitHub Issues -- Continuous integration and unit tests -- Dependencies per user: pip-tools -- Sharing software as Python packages, Conda/Bioconda or containers (Docker, Singularity) -- Include license (MIT) and DOIs -- Documentation: read the docs. - -Note: Maybe add software development methodologies (Agile, Scrum, Sprints). - -## All three levels in action - -- Example of computational biology project 1: RNA-seq analysis (workflow) -- Example of computational biology project 2: Genome-scale metabolic model (systems biology project) -- Example of computational biology project 3: Software development (computational tool) diff --git a/content/03.personal-research.md b/content/03.personal-research.md new file mode 100644 index 0000000..c445777 --- /dev/null +++ b/content/03.personal-research.md @@ -0,0 +1,11 @@ +## Level 1: Personal Research + +Goal: How should you manage your computational biology project? + +Topics: +- Literate programming: R Markdown, Jupyter Notebooks +- Version control: Git / GitHub (commits) +- Software versioning and environment managers (Conda, python-env) +- Modularize, snippets +- Coding style: variable naming, linter, pep8, commenting +- Programming practices: paradigms (object-oriented, procedural), assertions, pair-programming diff --git a/content/04.collaboration.md b/content/04.collaboration.md new file mode 100644 index 0000000..361ba07 --- /dev/null +++ b/content/04.collaboration.md @@ -0,0 +1,10 @@ +## Level 2: Collaboration + +Goal: How to allow your collaborators to reproduce and interact with your research/software? + +Topics: +- Sharing notebooks: R Markdowns and Jupyter Notebooks (Binder, Google CoLab) +- Sharing apps: Shiny apps, Dashboard. +- GitHub (branching, pull requests) +- Workflow automation: Snakemake (NextFlow, Make, Bash script) +- Sharing data and metadata diff --git a/content/05.community.md b/content/05.community.md new file mode 100644 index 0000000..df24728 --- /dev/null +++ b/content/05.community.md @@ -0,0 +1,12 @@ +## Level 3: Community + +Goal: How to develop and maintain a computational biology project with community feedback over time? + +Topics: +- GitHub releases and semantic versioning +- Git Flow, GitHub Issues +- Continuous integration and unit tests +- Dependencies per user: pip-tools +- Sharing software as Python packages, Conda/Bioconda or containers (Docker, Singularity) +- Include license (MIT) and DOIs +- Documentation: read the docs. diff --git a/content/06.case-studies.md b/content/06.case-studies.md new file mode 100644 index 0000000..8bb0e6c --- /dev/null +++ b/content/06.case-studies.md @@ -0,0 +1,5 @@ +## Case studies + +- Example of computational biology project 1: RNA-seq analysis (workflow) +- Example of computational biology project 2: Genome-scale metabolic model (systems biology project) +- Example of computational biology project 3: Software development (computational tool) diff --git a/content/07.conclusion.md b/content/07.conclusion.md new file mode 100644 index 0000000..595f008 --- /dev/null +++ b/content/07.conclusion.md @@ -0,0 +1,3 @@ +## Conclusion + +Pending diff --git a/content/08.acknowledgments.md b/content/08.acknowledgments.md new file mode 100644 index 0000000..cc5eb07 --- /dev/null +++ b/content/08.acknowledgments.md @@ -0,0 +1,3 @@ +## Acknowledgments + +Pending