-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Minor changes to documentation + suggestion of TOC (#228)
* fix .gitattributes for files stored in git lfs * minor edits + draft TOC description for sphinx docs
- Loading branch information
Showing
16 changed files
with
230 additions
and
70 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 |
---|---|---|
|
@@ -100,7 +100,7 @@ When you're ready to contribute code to address an open issue, please follow the | |
Our continuous integration (CI) testing runs [a number of checks](https://github.com/comorment/containers/actions) for each pull request on [GitHub Actions](https://github.com/features/actions). | ||
You can run most of these tests locally, which is something you should do *before* opening a PR to help speed up the review process and make it easier for us. | ||
|
||
And finally, please update the [CHANGELOG](https://github.com/comorment/containers/blob/main/CHANGELOG.md) with notes on your contribution in the "Unreleased" section at the top. | ||
And finally, please update the [CHANGELOG](CHANGELOG.md) with notes on your contribution in the "Unreleased" section at the top. | ||
|
||
After all of the above checks have passed, you can now open [a new GitHub pull request](https://github.com/comorment/containers/pulls). | ||
Make sure you have a clear description of the problem and the solution, and include a link to relevant issues. | ||
|
@@ -109,3 +109,119 @@ When you're ready to contribute code to address an open issue, please follow the | |
|
||
</details> | ||
|
||
## Information for developers | ||
|
||
The list of tools included in the different Dockerfiles and installer bash scripts for each container | ||
is provided [here](docker/README.md). Please keep this up to date when pushing new container builds. | ||
|
||
### Sphinx | ||
|
||
We use sphinx to generate online documentation from README.md files of this repository. | ||
This uses [MyST](https://myst-parser.readthedocs.io) package to generate links in the documentation. | ||
Here are few rules that we follow across ``.md`` files to make it work well: | ||
|
||
* use full path to the file in this repository | ||
|
||
### Folder structure | ||
|
||
These folders are relevant to the users: | ||
* ``docs`` folder contain user documentation | ||
* ``usecases`` folder contain extended examples / tutorials | ||
* ``singularity`` folder contain pre-build containers | ||
* ``reference`` folder contain reference data used in use-cases | ||
* ``scripts`` folder contain pipelines such as ``gwas.py`` and ``pgs-toolkit``, as well as other helper scripts. | ||
|
||
These folders are relevant to developers: | ||
* ``docker`` folder contains several ``Dockerfile`` files (container definitions) | ||
and relevant shell scripts (in ``docker/scripts/``) used within those Dockerfile's. Unit-tests validating functionality of the resulting containers are available in the ``tests`` folder. | ||
* ``sphinx-docs`` provides scripts used to build sphinx documentation. | ||
|
||
### Note about NREC machine | ||
|
||
We use NREC machine to develop and build containers. | ||
NREC machine has small local disk (~20 TB) and a larger external volume attached (~400 TB) | ||
If you use NREC machine, it's important to not store large data or install large software to your home folder which is located on a small disk, | ||
using ``/nrec/projects space`` instead: | ||
|
||
``` | ||
Filesystem Size Used Avail Use% Mounted on | ||
/dev/sda1 20G 9.6G 9.7G 50% / | ||
/dev/mapper/nrec_extvol-comorment 393G 346G 28G 93% /nrec/projects | ||
/dev/mapper/nrec_extvol_2-comorment_2 935G 609G 279G 69% /nrec/space | ||
``` | ||
|
||
Both docker and singularity were configured to avoid placing cached files into local file system. | ||
For docker this involves changing ``/etc/docker/daemon.json`` file by adding this: | ||
|
||
``` | ||
{ | ||
"data-root": "/nrec/projects/docker_root" | ||
} | ||
``` | ||
|
||
(as described <https://tienbm90.medium.com/how-to-change-docker-root-data-directory-89a39be1a70b> ; you may use ``docker info`` command to check the data-root) | ||
|
||
For singularity, the configuration is described here <https://sylabs.io/guides/3.6/user-guide/build_env.html> | ||
and it was done for the root user by adding the following line into /etc/environment | ||
|
||
``` | ||
export SINGULARITY_CACHEDIR="/nrec/projects/singularity_cache" | ||
``` | ||
|
||
Common software, such as git-lfs, is installed to /nrec/projects/bin. | ||
Therefore it's reasonable for all users of the NREC comorment instance | ||
to add this folder to the path by changing ``~/.bashrc`` and ``~/.bash_profile``. | ||
|
||
``` | ||
export PATH="/nrec/projects/bin:$PATH" | ||
``` | ||
|
||
A cloned version of comorment repositories is available here: | ||
|
||
``` | ||
/nrec/projects/github/comorment/containers | ||
/nrec/projects/github/comorment/reference | ||
``` | ||
|
||
Feel free to change these folders and use git pull / git push. TBD: currently the folder is cloned as 'ofrei' user - I'm not sure if it will actually work to pull & push. But let's figure this out. | ||
|
||
### Testing container builds | ||
|
||
Some basic checks for the functionality of the different container builds are provided in ``<containers>/tests/``, implemented in Python. | ||
The tests can be executed using the [Pytest](https://docs.pytest.org) testing framework. | ||
|
||
To install Pytest in the current Python environment, issue: | ||
|
||
``` | ||
pip install pytest # --user optional | ||
``` | ||
|
||
New virtual environment using [conda](https://docs.conda.io/en/latest/index.html): | ||
|
||
``` | ||
conda create -n pytest python=3 pytest -y # creates env "pytest" | ||
conda activate pytest # activates env "pytest" | ||
``` | ||
|
||
Then, all checks can be executed by issuing: | ||
|
||
``` | ||
cd <containers> | ||
py.test -v tests # with verbose output | ||
``` | ||
|
||
Checks for individual containers (e.g., ``gwas.sif``) can be executed by issuing: | ||
|
||
``` | ||
py.test -v tests/test_<container-prefix>.py | ||
``` | ||
|
||
Note that the proper container files (*.sif files) corresponding to the different test scripts must exist in ``<containers>/singularity/>``, | ||
not only git LFS pointer files. | ||
|
||
### Git clone ignoring LFS | ||
|
||
See [stackoverflow.com/questions/42019529/how-to-clone-pull-a-git-repository-ignoring-lfs](https://stackoverflow.com/questions/42019529/how-to-clone-pull-a-git-repository-ignoring-lfs) | ||
``` | ||
GIT_LFS_SKIP_SMUDGE=1 git clone [email protected]:comorment/containers.git | ||
``` |
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
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
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
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
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
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
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
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,2 @@ | ||
reference/examples/gsmr/gsmr_example.recode.log filter=lfs diff=lfs merge=lfs -text | ||
gsmr_example.recode.log filter=lfs diff=lfs merge=lfs -text |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
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
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,2 @@ | ||
example_3chr.log filter=lfs diff=lfs merge=lfs -text | ||
myld.log filter=lfs diff=lfs merge=lfs -text |
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,18 @@ | ||
run2_chr3.log filter=lfs diff=lfs merge=lfs -text | ||
run2_PHENO.regenie.log filter=lfs diff=lfs merge=lfs -text | ||
run1_CASE2.regenie.log filter=lfs diff=lfs merge=lfs -text | ||
run1_CASE.regenie.log filter=lfs diff=lfs merge=lfs -text | ||
run1_chr1.log filter=lfs diff=lfs merge=lfs -text | ||
run1.log filter=lfs diff=lfs merge=lfs -text | ||
run1.regenie.step1.log filter=lfs diff=lfs merge=lfs -text | ||
run1_CASE2.plink2.log filter=lfs diff=lfs merge=lfs -text | ||
run1_chr3.log filter=lfs diff=lfs merge=lfs -text | ||
run2_chr1.log filter=lfs diff=lfs merge=lfs -text | ||
run2_PHENO2.plink2.log filter=lfs diff=lfs merge=lfs -text | ||
run2_PHENO2.regenie.log filter=lfs diff=lfs merge=lfs -text | ||
run1_CASE.plink2.log filter=lfs diff=lfs merge=lfs -text | ||
run1_chr2.log filter=lfs diff=lfs merge=lfs -text | ||
run2_chr2.log filter=lfs diff=lfs merge=lfs -text | ||
run2.regenie.step1.log filter=lfs diff=lfs merge=lfs -text | ||
run2.log filter=lfs diff=lfs merge=lfs -text | ||
run2_PHENO.plink2.log filter=lfs diff=lfs merge=lfs -text |
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 @@ | ||
out_vcf.log filter=lfs diff=lfs merge=lfs -text |