PennLINC Project Setup Guide
Each project at PennLINC has several key elements to facilitate collaboration and ensure reproducbility. For clarity in naming, all elements should be named similarly– often Lastname_ProjectName
with CamelCasing, where “Lastname” is the last name of the first author / trainee leading the project. Links to much of the relevant software can be found in the lab Software and Environments page.
Github repository
All code, from the beginning of the project, should be in a github repository. This is a prerequisite for reproducible neuroscience – please start your project out on the right foot! These repos should reside in the PennLINC org, not your personal github.
Github pages wiki
Careful tracking of your project is essential. While well-commented code, reproducible analytic notebooks, and a well-maintained trello board (see below) are very helpful, an “overview” wiki also helps a lot to document how the different pieces of code fit together. This can be easily made using markdown and github pages (like this one), see the project docs page. Note that this wiki is what your replication buddy will use at pre-defined checkpoints for replicating your code; see the project reproducability guide.
Slack channel
All projects in the lab are collaborative, and furthermore form a knowledge and code base for other subsequent projects. A lot of valuable knowledge (esp re: troubleshooting) tends to be captured in correspondence. As such, it is critical for the lab that this knowledge is not “locked away” in inaccessible repositories like private email inboxes or direct message channels on slack. As such nearly all project discussion should occur in a project specific slack channel; this will be created (by Ted) when the project is initiated. Please try to avoid using direct message channels on slack for project communication.
Ted is a slack admin and can add you to the “BBL” slack, which encompasses all the labs in LiBI and the Psychosis and Development Section; PennLINC is a member.
The main execption to this are documents (e.g., manuscripts) that need review; please send these directly to Ted via email. See also the note on Communication and Collaboration.
Trello board
Trello is a simple webapp that we use for project tracking. There is a “board” for each project (Ted will create); all boards are part of the Trello PennLINC organization. Get a trello username and send it to Ted so he can add you.
Google drive folder
It is often useful to have a shared directory on google drive to share relevant articles and manuscript drafts.
Zotero library
Right at the start of a project, when people on the team start sending you relevant papers, download zotero and create a reference library for the project. Definately do this before you start doing a literature review.
Project folder
While some projects can be done locally on your laptop, many require more computing resources. In general, we now reccomend projects use the PMACS LPC; see the PMACS pages for details. However, some projects may be best served by using the computational resources of CUBIC; see the CUBIC pages for more details. Regardless, each project should use a common directory structure to ensure reproducability.