The TrainTrack is the educational side of a Brainhack event, and it is the right place for everyone to learn about open science and some important skills for developing in open science.
This year we want to make the TrainTrack a multimodal experience. For many newcomers (but also oldcomers) looking for learning about the latest tools for brainhacking, we want to make this chance the perfect one to really dive in! The TrainTrack is structured in three layers:
mini lectures: to make the most of a virtual event, we want to maximize interactivity; we believe that everyone can take advantage of any pre-recorded videos and watch them whenever it is feasible, to spend the time during the hackathon interacting with other participants;
amazing BrainArt tutorials: once again we joined forces with the BrainArt SIG! This year they have pre-recorded tutorials that you can watch whenever you would like and there will be live sessions with the speakers!
live Q&A sessions: it does not matter if a topic is new or already known, there is always something to learn when discussing with each other; check the schedule to see when they are going live!
We collected videos from many of the amazing virtual events from the past year and put together a playlist to prepare for the hackathon! The videos cover six general topics: version control; code testing; reproducible workflows; data visualization; machine learning; community building.
Pre-recorded tutorials
Did anyone say "brain art"? Check these amazing videos out!
Hands-on sessions
Learn by doing always feels like something special - this is why this year we put together a series of hands-on sessions. These sessions need small groups to allow everyone to get their hands dirty, and since we have a limited number of fellows to lead them we are collecting expression of interest to register - we will confirm the registration for every form submitted. If you are interested in multiple topics, you can submit multiple forms, but take into account that we will aim at giving the chance to participate to as more people as we can. You can find the form here.
Fellow: Sin Kim
Time slot: Rising Sun
Fellow: Eva Lancaster
Time slot: Atlantis
Fellow: Han Zhang
Time slot: Atlantis
Fellow: Şeyma Bayrak
Time slot: Rising Sun
Fellow: Stephane Heunis
Time slot: Atlantis
Fellow: Sid Chopra
Time slot: Rising Sun
Fellow: Sina Mansour
Time slot: Rising Sun
Fellow: Martina Vilas
Time slot: Atlantis
Fellow: Jivesh Ramduny
Time slot: Rising Sun
Fellow: Marta Topor
Time slot: Atlantis
Live Q&A - Version Control & Code Testing
Live Q&A on Version control best practices. Open to hackathon attendees that have registered for the event.
Live Q&A - Reproducible Workflows
Live Q&A on Reproducible Workflows practices. Open to hackathon attendees that have registered for the event.
Live Q&A - Data Visualization & Machine Learning
Live Q&A on Data visualization and Machine learning practices. Open to hackathon attendees that have registered for the event.
Live Q&A - Community Building
Live Q&A on Community Building. Open to hackathon attendees that have registered for the event.
BrainArt Session
Presentation and discussions of creating art with the brain. Led by the OHBM BrainArt SIG.
Learn Git and Github by writing a Git guide on Github
Language: englishDates: 17th and 18th of JuneTime: 3AM-6AM UTC
Github is a useful, flexible collaboration tool that can be used for a wide variety of projects, not just code. In this session, we will practice using Github and review Git concepts at the same time by fixing an incomplete Git guide on Github. You will take turns being contributors and maintainers. Bonus points if you go all out and use Git to interact with Github to write about Git.
Goals:
Contributors: know how to fork, revise, commit, and submit pull requests
Maintainers: know how to handle issues and review pull requests
Understand Git’s object model, structure and stages
basic Git commands
Prerequisites: The guide will be written in Markdown, a simple language for creating formatted text. While not required, installing Git and using Git to interact with the repository is highly recommended.
Learn Git and Github by writing a Git guide on Github
Language: englishDates: 17th and 18th of JuneTime: 4PM-7PM UTC
Github is a useful, flexible collaboration tool that can be used for a wide variety of projects, not just code. In this session, we will practice using Github and review Git concepts at the same time by fixing an incomplete Git guide on Github. You will take turns being contributors and maintainers. Bonus points if you go all out and use Git to interact with Github to write about Git.
Goals:
Contributors: know how to fork, revise, commit, and submit pull requests
Maintainers: know how to handle issues and review pull requests
Understand Git’s object model, structure and stages
basic Git commands
Prerequisites: The guide will be written in Markdown, a simple language for creating formatted text. While not required, installing Git and using Git to interact with the repository is highly recommended.
Language: englishDates: 17th and 18th of JuneTime: 4PM-7PM UTC
No matter which language your programming depends on, bugs inevitably exist even for experienced coders. Simply running the code to completion does not guarantee it has no bugs. This makes code testing very necessary and important. In this session, we will go through key steps of code testing, potential tools, and some tips for efficient debugging/programming. You will be assigned into small groups to practice on some scenarios by testing Python code.
Goals:
Understand the key steps of code testing
Grab some tools that assist efficient coding (for different programming languages)
Debug the code that does NOT run to completion (for Python)
Debug the code that runs to completion (for Python)
Prerequisites: Basic knowledge of Python and Jupyter Notebook is preferable but not necessary. The hands-on session will be on Google Colaboratory (coding TensorFlow).
'I’d like to reproduce your results…' and other tales in Reproducible Workflows
Language: englishDates: 16th and 18th of JuneTime: 3AM-6AM UTC
Almost all researchers have data and analysis scripts that generate results in the form of figures. Yet, few other researchers can use these exact data and scripts to generate the same figures, or to reproduce all results of the study. In this session, we’ll take you on a journey of building reproducible workflows that help alleviate the anxiety associated with receiving that dreaded email 'I’d like to reproduce your results...' We’ll start with helping others run your code on their machines, and end up with a fully reproducible workflow running in the cloud, with several pit stops in between.
Goals:
Set up a `requirements.txt` file that specifies package requirements so that someone else can install and run your code on a different machine
Specify and set up a virtual environment in which to install your package requirements
Share instructions via GitHub for running your code, including installing the requirements in a virtual environment
Transform your code into a Jupyter notebook in order to make use of its useful features for running code, describing the analyses, and displaying visualisations.
Set up the basics for allowing your code/notebook to run in the cloud with Binder, so that others do not have to install anything in order to run your code
Understand how containers can play a role in this context
Understand how data management with DataLad can improve your reproducible workflows.
Prerequisites: This session assumes a basic skill level in Python programming, and not much more. Even if you don’t know how to program at all, you will still be able to follow along (using prepared code notebooks running in the cloud) and even learn some Python while you are at it!
'I’d like to reproduce your results…' and other tales in Reproducible Workflows
Language: englishDates: 16th and 18th of JuneTime: 4PM-7PM UTC
Almost all researchers have data and analysis scripts that generate results in the form of figures. Yet, few other researchers can use these exact data and scripts to generate the same figures, or to reproduce all results of the study. In this session, we’ll take you on a journey of building reproducible workflows that help alleviate the anxiety associated with receiving that dreaded email 'I’d like to reproduce your results...' We’ll start with helping others run your code on their machines, and end up with a fully reproducible workflow running in the cloud, with several pit stops in between.
Goals:
Set up a `requirements.txt` file that specifies package requirements so that someone else can install and run your code on a different machine
Specify and set up a virtual environment in which to install your package requirements
Share instructions via GitHub for running your code, including installing the requirements in a virtual environment
Transform your code into a Jupyter notebook in order to make use of its useful features for running code, describing the analyses, and displaying visualisations.
Set up the basics for allowing your code/notebook to run in the cloud with Binder, so that others do not have to install anything in order to run your code
Understand how containers can play a role in this context
Understand how data management with DataLad can improve your reproducible workflows.
Prerequisites: This session assumes a basic skill level in Python programming, and not much more. Even if you don’t know how to program at all, you will still be able to follow along (using prepared code notebooks running in the cloud) and even learn some Python while you are at it!
Introduction to Neuroimaging Data Visualization in R
Language: englishDates: 16th and 18th of JuneTime: 3AM-6AM UTC
This short interactive workshop will introduce the basics of visualizing neuroimaging data in R and introduce you to some of the packages available in R. First, we will cover the principles of reproducible and programmatic data visualizations. We will then work through an R notebook where you will learn how to load, view, and run basic manipulations on Nifti images within R. We will also cover visualizing ROI- and vertex-level data, as well as edge-level brain network visualizations.
Goals:
Understand why reproducible and programmatic data visualizations are important for open science
Learn to load, view and run basic manipulation on structural and functional NIFTI images.
Be introduced to the tools available in R for visualizing ROI-, Vertex- and Edge-level neuroimaging data.
Prerequisites: Expected prior knowledge: A understanding of basic R syntax. We will be using RStudio cloud, so please make sure you have created a free account here: https://rstudio.cloud/
Machine learning and Data Visualization with Python
Language: englishDates: 16th and 18th of JuneTime: 3AM-6AM UTC
In this session, we will delve into using the Python programming language to fit various machine learning models on a sample neuroimaging dataset. We'll be using tools from numpy, pandas, and sklearn packages to read the input data, modify it and extract informative knowledge using the machine learning models. Thereafter, we'll use the visualization tools at our disposal to make sense of the fitted models. These visualizations can come in handy for translating our findings into a clarified visualization that summarizes the conclusions in a figure. While an elementary knowledge of the python programming language or familiarity with programming languages in general is anticipated, you are not required to have any tools installed to attend this session. We'll conduct all of our analysis on the cloud and in a simple step-by-step tutorial that can assist individuals who are new to programming.
Goals:
The main goal of this session is to get acquainted with the publicly available python tools that can aid your future scientific discoveries. Namely, we'll explore using different functions from commonly used python packages (numpy, matplotlib, pandas, seaborn, nilearn). We'll explore how these tools can help us in extracting knowledge from raw data using methods of machine learning and data visualization.
Prerequisites: Expected prior knowledge: A understanding of basic R syntax. A undersanding of R Markdown syntax also be useful would be useful, but not essential as we will breifly cover the basics. Here is a link to some lessons around R Markdown.
Introduction to Machine Learning and Data Visualisation with Python
Language: englishDates: 16th and 18th of JuneTime: 4PM-7AM UTC
This short interactive session will show you how to use the scikit-learn Python package to perform basic machine learning analysis. It will also cover how to visualize your results with the matplotlib and seaborn Python packages.
Goals:
Learn how to load and prepare your data for machine learning analysis with scikit-learn.
Learn how to perform linear regression and classification analysis with scikit-learn.
Learn the concepts of regularization, cross-validation, parameter tuning, and how to implement them using scikit-learn.
Learn how to inspect and evaluate a machine learning model.
Learn how to plot your results with matplotlib and seaborn.
Open Science = Collaborative Science. A Community Building Workshop
Language: englishDates: 16th and 17th of JuneTime: 3AM-6AM UTC
The Community Building workshop will be led by Jivesh Ramduny (@JRamduny) and Marta Topor (@MartaTopor) to introduce the importance of establishing an Open Science community with regards to the issues that surrounds the reproducibility crisis in research. The workshop will allow participants at all career stages to brainstorm about ideas that are fundamental to facilitate different community activities in addition to fostering an Open Science culture in academia via short- and long-term credible and collaborative projects. The workshop will also provide a practical section to allow participants to start planning their own community activities in an effort to help them start an Open Science community at their institutions or within their networks.
Goals:
Participants will learn about the barriers that impact reproducible and open science in research, and potential solutions that are in place to address these issues through community interaction. Participants will interact with the TAs and other attendees to share their experiences (if any) on Open Science and community projects. They will also learn about the different types of community engagement activities and practical aspects that are central to establishing or contributing to community projects. Lastly, participants will be given a practical task: to discuss and plan an Open Science Community Project as a group. They will have a chance to present their ideas and receive feedback and advice from other attendees and the TAs.
Open Science = Collaborative Science. A Community Building Workshop
Language: englishDates: 16th and 17th of JuneTime: 4PM-7PM UTC
The Community Building workshop will be led by Jivesh Ramduny (@JRamduny) and Marta Topor (@MartaTopor) to introduce the importance of establishing an Open Science community with regards to the issues that surrounds the reproducibility crisis in research. The workshop will allow participants at all career stages to brainstorm about ideas that are fundamental to facilitate different community activities in addition to fostering an Open Science culture in academia via short- and long-term credible and collaborative projects. The workshop will also provide a practical section to allow participants to start planning their own community activities in an effort to help them start an Open Science community at their institutions or within their networks.
Goals:
Participants will learn about the barriers that impact reproducible and open science in research, and potential solutions that are in place to address these issues through community interaction. Participants will interact with the TAs and other attendees to share their experiences (if any) on Open Science and community projects. They will also learn about the different types of community engagement activities and practical aspects that are central to establishing or contributing to community projects. Lastly, participants will be given a practical task: to discuss and plan an Open Science Community Project as a group. They will have a chance to present their ideas and receive feedback and advice from other attendees and the TAs.