Skip to content

Commit

Permalink
reduced packages.tsv to only python, r and the essential r-packages. …
Browse files Browse the repository at this point in the history
…Everything else is now inside csp_wiesner_johannes repo
  • Loading branch information
JohannesWiesner committed Feb 6, 2024
1 parent 31f7c7c commit 64d4a70
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 64 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Using `.yml` files as recipes to create conda environments is already a good ste

## Presolved environments using Github Actions

This repository contains a subfolder called `environments` with a `packages.tsv` file in it. The `packages.tsv` file contains all packages that the [**Complex Systems in Psychiatry Lab**](https://www.zi-mannheim.de/en/research/departments-research-groups-institutes/psychiatry-psychotherapy/researchgroups-psychiatry-e/complex-systems-in-psychiatry.html) needs for its research (but can be easily adapted to your own needs). `environments` again contains two subfolders `windows-latest` and `ubuntu-latest`. These folders contain pre-solved files of the package specifications found in `packages.tsv` for both Windows and Ubuntu by running a Github Actions workflow that uses tcy & Micromamba behind the scenes to create these files.
This repository contains a subfolder called `environments` with a `packages.tsv` file in it. The `packages.tsv` file by default only contains Python, R and the essential R-packages (but can be easily adapted to your own needs, see next section). `environments` also contains two subfolders `windows-latest` and `ubuntu-latest`. These folders contain files that have the solved package specifications found in `packages.tsv` for both Windows and Ubuntu by running a Github Actions workflow that uses tcy & Micromamba behind the scenes to create these files.

Users can download this repository and use the `ubuntu-latest_solved.yml` or `windows-latest_solved.yml` files to create a conda environment.

Expand Down
64 changes: 1 addition & 63 deletions environments/packages.tsv
Original file line number Diff line number Diff line change
@@ -1,66 +1,4 @@
package_name version installation_command package_manager conda_channel area link necessity description comment language bug_flag
nimare pip install nimare pip statistical modelling https://nimare.readthedocs.io/en/stable/ required Used to derive statistical images from neurosynth.org Python
python <3.10 conda install -c conda-forge python conda conda-forge language https://anaconda.org/conda-forge/python required the python programming language itself Python
datalad conda install -c conda-forge datalad conda conda-forge data wrangling https://www.datalad.org/ required Allows you to download and manage datalad datasets https://www.datalad.org/ Python
tableone conda install -c conda-forge tableone conda conda-forge data wrangling https://github.com/tompollard/tableone required Package for plotting descriptive statistics Python
plotly-orca conda install -c plotly plotly-orca conda plotly dependency https://plotly.com/python/orca-management/ required Optional addon for plotly to export static images Plotly people now recommend to use kaleido instead (https://plotly.com/python/static-image-export/). So this should be changed to kaleido Python
bokeh conda install -c bokeh bokeh conda bokeh dependency https://docs.bokeh.org/en/latest/ required Optional addon for holoviews to create interactive plots Python
spyder conda install -c anaconda spyder conda conda-forge ide https://www.spyder-ide.org/ required scientific python IDE Python
scikit-learn conda install -c conda-forge scikit-learn conda conda-forge machine learning https://scikit-learn.org/stable/index.html required machine learning libary similar to nilearn, this can be installed both using conda and pip (sklearn developers don't recommend one over the other), note that sciki-learn is a dependeny from nilearn and so will automatically be installed when installing nilearn Python
nilearn conda install -c conda-forge nilearn conda conda-forge neuroimaging https://nilearn.github.io/index.html# required Statistics for NeuroImaging in python there seems to be a discussion to use conda instead of pip among the nilearn developers but currently pip seems to be recommended Python
nipype conda install -c conda-forge nipype conda conda-forge neuroimaging https://nipype.readthedocs.io/en/latest/index.html required python interface package for common neuroimaging software Python
plotly conda install -c plotly plotly conda plotly plotting https://plotly.com/python/ required Plotting library similar to seaborn but allows for interactive plots We also install plotly-orca, so we are able to plot static images (.jpg,.png, etc.) Python
holoviews conda install -c pyviz holoviews conda pyviz plotting https://holoviews.org/index.html required wrapper around common python plotting libraries (note that installation command will also install bokeh and pyviz, which is the recommended way from holoviews) Johannes niplot module needs this Python
statannotations conda install -c conda-forge statannotations conda conda-forge plotting https://github.com/trevismd/statannotations required A library that allows you to plot figures using seaborn and also computing significance tests and adding asterisks Note, that the original package statannot is not maintained anymore, this is why we use statannotations which is a maintained branch Python
fastcluster conda install -c conda-forge fastcluster conda conda-forge statistical modelling https://anaconda.org/conda-forge/fastcluster required This package can speed up hierarchical clustering methods such as used in seaborn.clustermap Python
pingouin conda install -c conda-forge pingouin conda conda-forge statistical modelling https://pingouin-stats.org/index.html# required Implements commong statistical tests (ANOVA, t-test, etc.) Python
pymer4 conda install -c conda-forge pymer4 conda ejolly statistical modelling https://eshinjolly.com/pymer4/index.html required A library that allows you to compute mixed models (with the lme4 R package) using python (and the ryp2 package) pymer4 depends on R (and lme4) and on rpy2 so this will automatically be installed in the environment (see: https://eshinjolly.com/pymer4/installation.html) Python
network_control pip install network_control pip statistical modelling https://github.com/BassettLab/control_package required Package to compute network control measures Python
cca-zoo pip install cca-zoo pip statistical modelling https://cca-zoo.readthedocs.io/en/latest/index.html required implementing canonical correlation analysis in python Python
bctpy pip install btcpy pip statistical modelling https://github.com/aestrivex/bctpy required A library that allows you to compute all sorts of topological measures on connectivity matrices Python
gower pip install gower pip statistical modelling https://pypi.org/project/gower/ required A package that allows you to compute Gower Distance Matrices Python
antropy pip install antropy pip statistical modelling https://github.com/raphaelvallat/antropy optional AntroPy is a Python 3 package providing several time-efficient algorithms for computing the complexity of time-series. Python
mne conda install -c conda-forge mne conda conda-forge statistical modelling https://mne.tools/stable/index.html optional Python package for analyzing MEG/EEG data Python
pyvis pip install pyvis pip plotting https://pyvis.readthedocs.io/en/latest/index.html optional Visualizing graphs/networks in an interactive fashion This will automatically install networkx as a dependency Python
distro pip install distro pip system https://pypi.org/project/distro/ required distro provides information about the OS distribution it runs on, such as a reliable machine-readable ID, or version information. This package is useful to detect on which specific distro your current python script is running. For example you might want to run the script both on your personal machine and on the server. In this case paths might change and you want to have an option to automatically change paths by detecting the OS Python
abagen pip install abagen pip statistical modelling https://abagen.readthedocs.io/en/stable/installation.html required abagen lets you get information about gene receptor densities using the Allen Human Brain Atlas and a custom atlas of your choice Python
oct2py conda install -c conda-forge oct2py conda conda-forge system https://pypi.org/project/oct2py/ required Oct2py allows use to run Octave from Python (so you can execute .m files) Python
hvplot conda install -c pyviz hvplot conda pyviz plotting https://hvplot.holoviz.org/index.html required hvplot allows to use all the pandas plotting functions (e.g. df.hist()) but outputs interactive instead of static figures Python
groupyr pip install groupyr pip statistical modelling https://richiehalford.org/groupyr/index.html required Allows you to compute group sparse regression / classification Python cross-platform
clustergrammer pip install clustergrammer pip plotting https://clustergrammer.readthedocs.io/clustergrammer_py.html required Let’s you create interactive clustermaps Python
nisupply pip install nisupply pip data wrangling https://github.com/JohannesWiesner/nisupply required Johannes Wiesner’s repository to deal with unstructured neuroimaging datasets Python
pybids conda install -c conda-forge pybids conda conda-forge data wrangling https://bids-standard.github.io/pybids/ required Pybids helps to query BIDS-datasets Python
python conda install -c conda-forge python conda conda-forge language https://anaconda.org/conda-forge/python required the python programming language itself Python
r-essentials conda install -c conda-forge r-essentials conda conda-forge data wrangling https://tinyurl.com/54j96j5x required The R Essentials bundle contains approximately 200 of the most popular R packages for data science, including the IRKernel, dplyr, shiny, ggplot2, tidyr, caret, and nnet. It is used as an example in the following guides. R
r-repr conda install -c conda-forge r-repr conda conda-forge dependency https://anaconda.org/conda-forge/r-repr required This is required if you want to use the Variable Inspector from Jupyter-Lab to be able to inspect R-objects https://github.com/lckr/jupyterlab-variableInspector#requirements-for-r-functionality R
rtools conda install -c r rtools conda r dependency https://anaconda.org/r/rtools required Why do I added this? Check why exactly this has to be installed. Current hypothesis: This is needed for devtools.This package is necessary to be able to install R-packages from GitHub. This package is not available in Linux R linux
lckr-jupyterlab-variableinspector pip install lckr-jupyterlab-variableinspector pip dependency https://github.com/lckr/jupyterlab-variableInspector required Adds a variable inspector to jupyterlab Optional addon for jupyterlab that adds a variable explorer. I couldn't install it on Windows. See issues from JohannesWiesner on GitHub (you can filter for my name in the repo on GitHub). But on Linux it works fine R windows
r-devtools conda install -c conda-forge r-devtools conda conda-forge development https://anaconda.org/conda-forge/r-devtools required Installing R-packages from GitHub This package is necessary to be able to install R-packages from GitHub (aka. that can not be installed using conda or CRAN). After installed you can run commands like devtools::install_github() R
rstudio conda install -c r rstudio conda r ide https://www.rstudio.com/ required An IDE for R Currently not recommended to install R-studio in a conda environment because this will downgrade your R-version to 3.x.x. The current alternative is jupyter-lab. This should be checked regularily to see if a new update was released. Maybe in the future it wil become in a more recent version in conda-forge? R cross-platform
jupyterlab conda install -c conda-forge jupyterlab conda conda-forge ide https://jupyter.org/ required An alternative IDE to RStudio, which might be faster and offers a more pythonic experience R
r-base conda install -c conda-forge r-base conda conda-forge language https://anaconda.org/conda-forge/r-base required the R programming language itself R
r-reticulate conda install -c conda-forge r-reticulate conda conda-forge data wrangling https://cran.r-project.org/web/packages/RcppCNPy/vignettes/UsingReticulate.pdf required reticulate allows you to read in data generated from Python (e.g. .npy files) R
scikit-image conda install -c conda-forge scikit-image conda conda-forge statistical modelling https://scikit-image.org/ required We need that for otsu thresholding Python
pyarrow conda install -c conda-forge pyarrow conda conda-forge data wrangling https://arrow.apache.org/docs/python/install.html optional pyarrow is required to save pandas data frames as .feather files (which is the format to exchange data between python and R) Not recommended to install that, because the 'R-side' of this version can not be installed on the CIMH servers (not sure if this issue still exists). Besides, one can also use rpy2 to exchange files. Python cross-platform
xmltodict pip install xmltodict pip data wrangling https://pypi.org/project/xmltodict/ optional working with xml files this is required for Johannes pycat library Python
yellowbrick conda install -c districtdatalabs yellowbrick conda districtdatalabs plotting https://www.scikit-yb.org/en/latest/index.html optional Builds upon seaborn and has some advanced plotting classes such as Radviz (https://www.scikit-yb.org/en/latest/api/features/radviz.html) Python
dash conda install -c conda-forge dash conda conda-forge plotting https://dash.plotly.com/introduction optional Used for nct_tutorial from Johannes Python
dash-bootstrap-components conda install -c conda-forge dash-bootstrap-components conda conda-forge plotting https://dash-bootstrap-components.opensource.faculty.ai/docs/quickstart/ optional Used for nct_tutorial from Johannes Allows to create dash-apps using a grid-layout (e.g. rows and columns) Python
adjustText pip install adjustText pip plotting https://github.com/JohannesWiesner/pycat/blob/master/pycat.py optional adjust text in matplotlib figures Python
dash-cytoscape pip install dash-cytoscape pip plotting https://dash.plotly.com/cytoscape optional Used for nct_tutorial from Johannes Allows to plot networks in dash Python
brainrender pip install brainrender pip plotting https://github.com/brainglobe/brainrender optional plotting 3D brains Python
semopy pip install semopy pip statistical modelling https://semopy.com/ optional Used for structural equation modelling in python Bug: scikit-learn has now to be installed as scikit-learn, not sklearn (https://gitlab.com/georgy.m/semopy/-/issues/35), once issue is solved we can re-include semopy again Python
gemmr pip install gemmr pip statistical modelling https://github.com/murraylab/gemmr optional A library that allows you to use Witten et als. PMA function via rpy2 Python
resample pip install resample pip statistical modelling https://github.com/scikit-hep/resample optional Allows you to do permutation and bootstrapping resampling This requires a C-compiler to be installed on your machine. On CIMH machines this can be tedious to install Python cross-platform
pytorch conda install -c pytorch pytorch conda pytorch machine learning https://anaconda.org/pytorch/pytorch optional Tensor library for deep learning using GPUs and CPUs Python
tensorboardx conda install -c conda-forge tensorboardx conda conda-forge machine learning https://anaconda.org/conda-forge/tensorboardx optional Allows researchers to use simple interface to log events within PyTorch Python
neurokit2 conda install -c conda-forge neurokit2 conda conda-forge statistical modelling https://github.com/neuropsychology/NeuroKit optional NeuroKit2 is a user-friendly package providing easy access to advanced biosignal processing routines This package is specifically needed to compute multiscale sample entropy (there are also other packages though, that can do this or might include this in the future which are also smaller: https://github.com/nikdon/pyEntropy, https://github.com/ELIFE-ASU/PyInform) Python
fmriprep-docker pip install fmriprep-docker pip neuroimaging https://fmriprep.org/en/20.2.0/installation.html#the-fmriprep-docker-wrapper optional This package makes the invocation of fmriprep easier Python
jupyter-book conda install -c conda-forge jupyter-book conda conda-forge ide https://jupyterbook.org/en/stable/intro.html optional Used for creating workshop webpages. Not needed for any data analysis Python
sklearn-pandas conda install -c conda-forge sklearn-pandas conda conda-forge data wrangling https://github.com/scikit-learn-contrib/sklearn-pandas optional Nötig, um scikit-learn transfomer direkt auf pandas data frames anzuwenden Python
arrow conda install -c conda-forge --strict-channel-priority r-arrow conda conda-forge data wrangling https://arrow.apache.org/docs/r/ optional Note: This currently seems to work for Windows but struggles with installation on Linux! Arrow is required to save data frames as .feather files (which is the format to exchange data between python and R). This documented error happens on the server: https://arrow.apache.org/docs/r/articles/install.html#package-failed-to-build-c-dependencies R cross-platform
r-matrixstats conda install -c conda-forge r-matrixstats conda conda-forge data wrangling https://anaconda.org/conda-forge/r-matrixstats optional required for reproducing Xia et al. CCA analysis R
r-pma conda install -c conda-forge r-pma conda conda-forge statistical modelling https://anaconda.org/conda-forge/r-pma optional Package to conduct sparse canonical correlation analysis Why do I added this? This is the same as install.packages('PMA') that can also be found in this spreadsheet? Choose either this package or install PMA package with CRAN, but not both. If you can succesfully use the gemmr package and if you can rerun Xia et al. script, then you don't have to use install.package('PMA'') R
PMA install.packages('PMA') cran statistical modelling https://cran.r-project.org/web/packages/PMA/index.html optional required for reproducing Xia et al. CCA analysis R
lme4 install.packages('lme4') cran statistical modelling https://cran.r-project.org/web/packages/lme4/lme4.pdf optional Fitting mixed models in R Note, that when using the python package pymer4, you will already have lme4 installed, so this installation would become obsolete. You might also need to install stamod (https://community.rstudio.com/t/error-message-when-trying-to-install-lmer-package-and-load-lmer-library/85418) R
r-dendextend conda install -c conda-forge r-dendextend conda conda-forge plotting https://r-charts.com/part-whole/circular-dendrogram/ optional Allows to customize dendrograms (e.g. coloring branches, adding labels) Should be installed together with circlize R
r-circlize conda install -c conda-forge r-circlize conda conda-forge plotting https://r-charts.com/part-whole/circular-dendrogram/ optional Allows to draw circular dendrograms Should be installed together with dendextend R

0 comments on commit 64d4a70

Please sign in to comment.