-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
58f03fe
commit 4f32201
Showing
1 changed file
with
57 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
|
||
# 📄 General Overview of Project Workflow | ||
|
||
Once your [onboarding](https://intranet.neuro.polymtl.ca/onboarding/README.html) is complete, you will be ready to tackle your project! | ||
|
||
## 🖥️ Setting up 🖥️ | ||
|
||
**Step 1.** | ||
* Make sure that your VPN connection is established or that you are connected to the Polytechnique wifi. | ||
|
||
**Step 2.** | ||
* Log in to one of the available [Neuropoly compute nodes](https://intranet.neuro.polymtl.ca/computing-resources/neuropoly/README.html): | ||
``` | ||
ssh <POLYGRAMES_USERNAME>@<STATION>.neuro.polymtl.ca | ||
``` | ||
|
||
**Step 3.** | ||
* Create your project working directory: | ||
``` | ||
cd data_nvme_<POLYGRAMES_USERNAME> | ||
mkdir <PROJECT_NAME> | ||
cd <PROJECT_NAME> | ||
``` | ||
|
||
**Step 4. Developing version-controlled software** | ||
* Ideally, you are working on code in Github repository (either a branch of an existing repo, or a new one that you created). | ||
* After adding your NeuroPoly workstation [SSH key to your Github account](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account?platform=linux), you are ready to make a local fork of that remote repository: | ||
``` | ||
cd data_nvme_<POLYGRAMES_USERNAME>/<PROJECT_NAME> | ||
git clone -b "<YOUR_WORKING_BRANCH>" [email protected]:<REPOSITORY>.git | ||
``` | ||
|
||
**Step 5. The data** | ||
* It is critical to make sure that you know what data you are working with. | ||
* Ideally, it should be in [BIDS](https://bids-specification.readthedocs.io/en/stable/) format on the [`data.neuro`](https://intranet.neuro.polymtl.ca/data/git-datasets.html) storage node: `data.neuro:datasets/<PROJECT_DATASET>`. | ||
* Thanks to `git annex`, the following command will copy the directory structure and some small files of your dataset on `data.neuro`: | ||
``` | ||
cd data_nvme_<POLYGRAMES_USERNAME>/<PROJECT_NAME> | ||
git clone [email protected]:datasets/<PROJECT_DATASET> | ||
``` | ||
|
||
## 🌊 Workflow 🌊 | ||
|
||
### ⌨️ Code | ||
Any changes you make to the code should be added in small commits and pushed to your github branch. | ||
|
||
### 💿 Data | ||
* If you need to access your data files directly, you can use `git annex` to download the larger files to the [Neuropoly computer](https://intranet.neuro.polymtl.ca/computing-resources/neuropoly/README.html) you are working from: | ||
``` | ||
cd data_nvme_<POLYGRAMES_USERNAME>/<PROJECT_NAME>/<PROJECT_DATASET> | ||
git annex get . | ||
``` | ||
* However, in order to save space, make sure to "undownload" those big files once you are done working with them with: | ||
``` | ||
git annex drop . | ||
``` | ||
* Any data derivatives that you output should be added to `data.neuro:datasets/<PROJECT_DATASET>` according to the [BIDS](https://bids-specification.readthedocs.io/en/stable/) data standard! More documentation on how to version control your data on `data.neuro` can be found [here](https://intranet.neuro.polymtl.ca/data/git-datasets.html#update). |