/scona

Code to analyse structural covariance brain networks using python.

Primary LanguageJupyter NotebookMIT LicenseMIT

scona

Join the chat at https://gitter.im/WhitakerLab/scona Build Status License: MIT Binder

Welcome to the scona GitHub repository! ✨

Get Started

If you don't want to bother reading the whole of this page, here are three ways to get your hands dirty and explore scona:

  • Install scona as a python package with pip

    pip install -e git+https://github.com/WhitakerLab/scona.git#egg=scona

  • Check out our tutorial for examples of basic functionality. Or run it interactively in Binder.

  • Read the docs: https://whitakerlab.github.io/scona

What are we doing?

scona is a toolkit to perform structural covariance brain network analyses using python.

scona takes regional cortical thickness data obtained from structural MRI and generates a matrix of correlations between regions over a cohort of subjects. The correlation matrix is used alongside the networkx package to generate a variety of networks and network measures.

The scona codebase was first developed by Dr Kirstie Whitaker for the Neuroscience in Psychiatry Network publication "Adolescence is associated with genomically patterned consolidation of the hubs of the human brain connectome" published in PNAS in 2016 (Whitaker*, Vertes* et al, 2016). In 2017, Isla Staden was awarded a Mozilla Science Lab mini-grant to develop Kirstie's original code into a documented, tested python package that is easy to use and re-use.

Why do we need another package?

There are lots of tools to analyse brain networks available. Some require you to link together lots of different packages, particularly when you think about visualising your results. Others will do the full analyses but require you to work with very specifically formatted datasets. Our goal with scona is to balance these two by providing a package that can take in data pre-processed in multiple different ways and run your analysis all the way to the end.

The code is modular, extendable and well documented. You can run a standard analysis from beginning to end (including exporting "ready for publication" figures) with just a few clicks of a button. We welcome any contributions to extend these "standard analysis" into a suite of possible investigations of structural covariance brain network data.

Who is scona built for?

scona ties together the excellent graph theoretical analyses provided by NetworkX along with some neuroscience know-how. For example, we've incorporated methods to include anatomical locations of your regions of interest, double edge swapping to preserve degree distribution in random graphs, and some standard reporting mechanisms that would be expected in a neuroimaging journal article.

Our target audience are researchers who have structural brain imaging data and would like to run quite standard structural covariance network analyses. We don't want experts in neuroimaging to have to also become expert in building reproducible pipelines and well tested software. (Although we'd love to answer questions if you are interested in improving your development skills!) scona is available to help researchers get started (and publish) their analyses quickly and reliably.

We would also like to encourage network ninjas to incorporate their methods and ideas into the package either as code or by submitting an issue and a recommendation.

Get involved

scona is openly developed and welcomes contributors.

If you're thinking about contributing (:green_heart: you are loved), our roadmap and our contributing guidelines are a good place to start. You don't need advanced skills or knowledge to help out. Newbies to Python, neuroscience, network analyses, git and GitHub are all welcome.

The only rule you absolutely have to follow when you're contributing to scona is to act in accordance with our code of conduct. We value the participation of every member of our community and want to ensure that every contributor has an enjoyable and fulfilling experience.

Our detailed development guide can be found at DEVELOPMENT_GUIDE.md. Once you've read the contributing guidelines, and if you think you need the additional information on linting, testing, and writing and building the documentation, please check out those instructions too.

If you have questions or want to get in touch you can join our gitter lobby, tweet @Whitaker_Lab or email Isla at islastaden@gmail.com.

Other Stuff

To view our (successful) Mozilla Mini-Grant application, head here.

In October 2017 scona ran a MozFest session