Coder Social home page Coder Social logo

crissotomayor / bios259-w24 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from asntech/bios259-w24

0.0 0.0 0.0 6.2 MB

Course material for BIOS259: The Art of Reproducible Science - A Hands-on Approach

License: Creative Commons Attribution 4.0 International

Shell 11.57% Python 79.16% Dockerfile 9.27%

bios259-w24's Introduction

BIOS 259: The Art of Reproducible Science: A Hands-on Approach

Welcome to BIOS 259! This is course material for (BIOS 259) The Art of Reproducible Science: A Hands-on Approach

Course description

This mini-course is designed to equip graduate students and postdocs with essential skills to ensure computational research reproducibility. Through practical exercises and interactive sessions, participants will learn best practices, tools, and techniques for doing open and reproducible research. Topics covered include version control, containerization, data management, workflows, and documentation strategies. This course empowers students to overcome challenges associated with reproducibility, fostering rigorous scientific inquiry, and enhancing the credibility and impact of their computational work, while also exploring the primary causes and consequences of irreproducibility in research. Participants will gain valuable insights and practical experience in achieving computational reproducibility across various domains, including biology.

Learning goals

This course aims to foster a culture of reproducibility, open science, open source and collaboration in research and provide the necessary tools and skills. Through active engagement and completion of course activities, you will be able to:

  • Understand the importance and causes of computational reproducibility in research
  • Gain proficiency in version control systems (e.g., Git) for collaborative code and data tracking
  • Create and share conda environments for software dependency management
  • Utilize containerization tools (e.g., Docker, Singularity) for portable computing environments.
  • Learn techniques for automating workflows and generating reproducible results
  • Develop effective strategies for managing and documenting data and code to ensure reproducibility
  • Implement best practices for transparent and reproducible project organization

Topics covered

Version Control with Git: Learn how to track changes, collaborate effectively, and maintain a robust version history of your code and documents.

Environment management with Conda/Bioconda/Mamba: Explore Conda/Mamba, a famous package manager, and learn how to manage software dependencies in your projects efficiently and reproducibly. Additionally, we use channels, including Bioconda, for specialized bioinformatics packages.

Containerization with Docker and Singularity: Understand how to encapsulate your computational environment, ensuring consistent and reproducible execution across different systems.

Workflow management using Snakemake/nf-core: Dive into Snakemake, a powerful workflow management system, and gain hands-on experience creating, executing, and managing complex computational workflows. We will also explore the basics of Nextflow and get hands-on experience with nf-core pipelines.

Documentation and code and data sharing: Learn best practices for organizing, sharing, and documenting code and data to facilitate reproducibility and enable others to build upon your work.

Prerequisites

  • Basic understanding and familiarity with programming (e.g., Python, R)
  • Basic understanding of Unix/Linux Bash

Course schedule and material

Date Day Topics covered Time Location Material
02.26.2024 Mon Introduction to reproducibility and setting up 10:00-13:00 M218A Slides, Setup instructions
02.28.2024 Wed Version Control (Git/GitHub) 10:00-13:00 M218A Slides, Git cheat sheet
03.01.2024 Fri Environment management (Conda, Bioconda, Mamba) 10:00-13:00 M218A Slides, Conda cheat sheet
03.04.2024 Mon Containerization (Docker, Singularity) 10:00-13:00 M218A
03.06.2024 Wed Workflows (Snakemake, Nextflow/nf-core) 10:00-13:00 M218A
03.08.2024 Fri Document and share (Notebooks, FAIR data, and open code) and wrap-up 10:00-13:00 LK208

Resources and additional reading material

bios259-w24's People

Contributors

asntech avatar alvinacode avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.