sina-mansour / UKB-connectomics

This repository will host scripts used to map structural and functional brain connectivity matrices for the UK biobank dataset.
https://www.biorxiv.org/content/10.1101/2023.03.10.532036v1
62 stars 7 forks source link

MRtrix3 code version #38

Closed Lestropie closed 1 year ago

Lestropie commented 1 year ago

During development, we used a git branch on MRtrix3 to include all of the enhancements utilised in this project. However branches are mutable and guarantee of persistence is low.

There's a couple of options here:

  1. If you want for the code here to be dynamically updated to be possible to execute using the "best" code available:

    1. Leave the MRtrix3 ukb branch in place until MRtrix version 3.1.0 is released
    2. When that release happens, change code here to pull that new MRtrix version
    3. Delete the ukb MRtrix3 branch
  2. If instead, you want this repository to be an effectively immutable reference of what was actually executed in generation of the distributed data, then either:

    1. Modify the code here such that instead of cloning a specific MRtrix3 branch, it points to the exact commit that the ukb branch currently points to; or
    2. Delete the MRtrix3 ukb branch, and then create instead a ukb tag on MRtrix3, that points to the same commit (unlike a branch, a tag is considered immutable)

I am in preference of 2.i. We don't expect people to be re-running this script on subjects already processed, and so we don't want to be dragging in unrelated code updates. Within point 2, 2.ii would result in creation of a new tag for all clones of the repository that does not represent an incremental update of the software as defined by semantic versioning. 2.i is only a minor change here, does not require MRtrix3 changes (and allows me to delete that branch), and the version of MRtrix3 used in generation of the data can be referenced as 3.0.3 plus relevant updates (see also #37).

sina-mansour commented 1 year ago

Thanks Rob.

Yes, I think we could replace ukb here with the exact commit (I think it would be dc5d004).

This can ensure the reproducibility and traceability of the exact version used. (I'll apply this change soon)

sina-mansour commented 1 year ago

This is now updated to link to the appropriate commit.