June 19, 2024

Welcome to our documentation on working with the UK Biobank in the Research Analysis Platform environment! We hope these documentation, as well as the ukbAid package, can help streamline and automate many of the challenging aspects of working in the RAP server environment, on top of working with such a large dataset like the UK Biobank.

Purpose and aims

We started this overall project with two aim goals:

  1. To build up a process and workflow for effective collaboration that follows best practices and principles in openness, reproducibility, and scientific rigor.
  2. To build a community around a shared project at Steno Aarhus in order to create a better research culture that embraces these principles listed in the first reason above, as well as in sharing and contributing.

In that regard, we follow the principle that anyone who participates in the community and on sub-projects is considered a collaborator. There are multiple opportunities for people to participate, such as through frequent code reviews, administration around the community, providing feedback on the project, and making edits and suggestions, among others.

What is the UK Biobank?

UK Biobank is a large-scale biomedical database and research resource, containing in-depth genetic and health information from half a million UK participants. The database is regularly augmented with additional data and is globally accessible to approved researchers. Variables can be browsed on the Showcase page. Almost anything you can think of is available. With our project, we have access to all the data. However, even though we have access, we can’t just do any analysis, it has to still fall under the project description.

Who can join?

All researchers (including PhD students) at AUH and AU who are interested are welcome to join. The project description and application to UK Biobank was deliberately very broad, so if you have ideas for your application and they fit under the project description, then please check out the Next Steps below!


Some key considerations that are relevant to our registered project with AU/AUH and their ethics consideration:

  • While we are open to various types of projects, they must fall under our project description in order to be covered by our registration at AU and AUH.
  • For projects that would like to use images, you will need to submit a very specific and detailed application to the ethics board at AU/AUH since our current registered project with them doesn’t not allow broad applications that don’t explicitly specify what we aim to do with images.

What do you get when you join?

  • Access to documentation and tools to make it easier for you do to research using the UK Biobank.
  • A community of people, both novice and experienced, who have knowledge and skills in a range of areas and who all have a shared vision for collaborating, sharing, learning, and teaching.
  • An educational opportunity to learn better research practices, better coding skills and knowledge, better statistical knowledge, and better teamworking and collaboration skills.
  • Frequent code reviews of your analysis, to help you along the way in learning best practices and checking that the code does as you intend it to.
  • Shared code from others on the project that you can use in your own project as well as for inspiration and learning.


  • Contributions: Because of the nature of the project and the range of different tasks involved, there are many things to do related to this project that don’t always directly relate to research. Like adding documentation, contributing to the ukbAid package code, contributing your own UK Biobank analysis code, organizing meetings and activities, or doing reviews of code or text. There is something for everyone! In this way, we expect that anyone doing a project with us will also contribute to the community and other activities, including looking over others’ project code and text.
  • Authorship: We follow the principle of “if you’ve contributed on a fairly regular basis to this community, you deserve authorship on any outputs from this project”. Authorship is a strange, archaic concept that doesn’t easily fit into the modern research environment. So we instead view it as “contributorship” and leave the decision of being a “formal author” on any output to the contributors. These decisions will happen at the end of a projects lifecycle before uploading to an archive (like a preprint archive).
  • Project activities: Activities like writing the paper, or coding for the analysis, or any thing else related to the project, must be done through Git and GitHub on the our steno-aarhus organization. You can have a “fork”/copy of the repository on your personal GitHub, but do your main work through the Steno account. We expect this because, in order to help troubleshoot and deal with any technical issues, it is significantly easier for us if it is on the Steno account.

Next steps

flowchart LR
    subgraph Submission
        direction TB
        submit_request>Submit project<br>proposal]:::yours --> 
            pr_created([Proposal created<br>on GitHub]) --> 
            committee_approved([Reviewed and approved<br>by committee]) -->
            proj_created([Project created<br>for you])
    subgraph Protocol
        direction TB
        review_variables>Review and select<br>variables you need]:::yours -->
            write_protocol>Write up a<br>draft protocol]:::yours -->
            protocol_reviewed([Protocol reviewed by<br>contributors/committee]) -->
            upload_protocol>Upload protocol<br>to Zenodo]:::yours
    subgraph RAP [Working in RAP]
        direction TB
        work_on_rap>Conduct analysis]:::yours -->
          create_output>Create output results<br>like tables, figures,<br>and other values]:::yours -->
          code_review([Code reviewed<br>])
    subgraph Local [Working outside of RAP]
        direction TB
        write_paper>Write up the<br>paper using the<br>results]:::yours -->
          paper_review([Paper reviewed]) -->
          authorship([Discussion on authorship<br>based on contributorship]) -->
          upload_archive>Upload paper to<br> Zenodo archive]:::yours -->
          submit_journal>Submit to journal]:::yours

    Submission --> Protocol --> RAP --> Local
    classDef yours stroke:#000000,stroke-width:0.75px

The boxes that are in bold are things you are responsible for doing. The circular ones are others, like the committe members.

  1. Review the project description page.
  2. Do the steps in the requesting access page.
  3. Wait for project approval.
  4. If given approval, do the steps in the initial setup page.
  5. Then use the working in the RAP page to help you do your analysis and work with the data.