DataLad support the UKBiobank
DataLad extension for working with the UKbiobank
UKbiobank is a national and international health resource with unparalleled research opportunities, open to all bona fide health researchers. UK Biobank aims to improve the prevention, diagnosis and treatment of a wide range of serious and life-threatening illnesses – including cancer, heart diseases, stroke, diabetes, arthritis, osteoporosis, eye disorders, depression and forms of dementia. It is following the health and well-being of 500,000 volunteer participants and provides health information, which does not identify them, to approved researchers in the UK and overseas, from academia and industry.
Command(s) provided by this extension
ukb-init-- Initialize an existing dataset to track a UKBiobank participant
ukb-update-- Update an existing dataset of a UKbiobank participant
Before you install this package, please make sure that you install a recent
version of git-annex. Afterwards,
install the latest version of
PyPi. It is recommended to use
a dedicated virtualenv:
# create and enter a new virtual environment (optional)
virtualenv --system-site-packages --python=python3 ~/env/datalad
# install from PyPi
pip install datalad_ukbiobank
You will also need to download the
ukbfetch utility provided by the UK
Biobank. See the ukbfetch documentation
To track UKB data for a single participant (example ID: 1234), start by creating and initializing a new dataset:
% datalad create 1234
% cd 1234
% datalad ukb-init --bids 1234 20227_2_0 20227_3_0 25755_2_0 25755_3_0
In this example only two data records with two instances each are selected.
However, any other selection is supported too. The
--bids flag enables
an additional dataset layout with a BIDS-like structure.
After initialization, run
ukb-update at any time to (re-)download data
from UKB, and update the dataset in order to track changes longitudinally.
datalad -c datalad.ukbiobank.keyfile=<pathtoaccesstoken> ukb-update
This will maintain two or three branches:
incoming: tracking the pristine UKB downloads
incoming-native: a "native" representation of the extracted downloads for single file access using UKB naming conventions
incoming-bids: an alternative dataset layout using BIDS conventions (if enabled with
Changes can then be merged manually into the main branch. Alternatively,
ukb-update --merge merges
incoming-bids if enabled)
Use with pre-downloaded data
Re-download can be avoided (while maintaining all other functionality), if the
ukbfetch utility is replaced by a shim that obtains the relevant files from
where they have been downloaded to. An example script is provided at
One simple way to use this script is to add a symlink at
~/env/datalad/bin/ for example:
ln -s tools/ukbfetch_surrogate.sh ~/env/datalad/bin/ukbfetch`
Use on non-UNIX-like operating systems
This code relies on a number of POSIX filesystem features that may make it somewhat hard to get working on Windows. Contributions to port this extension to non-POSIX platforms are welcome, but presently this is not supported.
All bugs, concerns and enhancement requests for this software can be submitted here: https://github.com/datalad/ukbiobank/issues
If you have a problem or would like to ask a question about how to use DataLad,
please submit a question to
NeuroStars.org with a
NeuroStars.org is a platform similar to StackOverflow but dedicated to
All previous DataLad questions are available here: http://neurostars.org/tags/datalad/
This development was supported by European Union’s Horizon 2020 research and innovation programme under grant agreement VirtualBrainCloud (H2020-EU.220.127.116.11, grant no. 826421).
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for datalad_ukbiobank-0.3.4-py2.py3-none-any.whl