From 3eabd4e64fc9c3337654b741b662813accdbdec9 Mon Sep 17 00:00:00 2001 From: Andrew Webb Date: Wed, 14 Jun 2023 14:35:58 +0200 Subject: [PATCH] Made some small changes to the README etc. for setup --- .gitignore | 214 +++++++++++++++++++++++++++++++++++++++++++++++ README.md | 24 +++++- requirements.txt | 3 +- 3 files changed, 236 insertions(+), 5 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9bf29cb --- /dev/null +++ b/.gitignore @@ -0,0 +1,214 @@ +## PYTHON IGNORES (from github/gitignore/python.gitignore) + +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ + +## R IGNORES (from github/gitignore/R.gitignore) + +# History files +.Rhistory +.Rapp.history + +# Session Data files +.RData +.RDataTmp + +# User-specific files +.Ruserdata + +# Example code in package build process +*-Ex.R + +# Output files from R CMD build +/*.tar.gz + +# Output files from R CMD check +/*.Rcheck/ + +# RStudio files +.Rproj.user/ + +# produced vignettes +vignettes/*.html +vignettes/*.pdf + +# OAuth2 token, see https://github.com/hadley/httr/releases/tag/v0.3 +.httr-oauth + +# knitr and R markdown default cache directories +*_cache/ +/cache/ + +# Temporary files created by R markdown +*.utf8.md +*.knit.md + +# R Environment Variables +.Renviron + +# pkgdown site +docs/ + +# translation temp files +po/*~ + +# RStudio Connect folder +rsconnect/ \ No newline at end of file diff --git a/README.md b/README.md index 2ca874b..d92d0e4 100644 --- a/README.md +++ b/README.md @@ -31,13 +31,31 @@ We recommend setting up a python virtual environment and installing all the requ git clone https://github.com/surabhisnath/Relating_ObjectiveComplexity_SubjectiveComplexity_Beauty_BinaryPixelPatterns.git cd Relating_ObjectiveComplexity_SubjectiveComplexity_Beauty_BinaryPixelPatterns -python3 -m venv ./env +python3 -m venv .env + +# On macOS/Linux source env/bin/activate +# On Windows +.env\Scripts\activate -pip install -r requirements.txt` +pip install -r requirements.txt ``` -To reproduce the plots and results from the paper, simply run `DescriptiveAnalysis.ipynb` and `MixedEffectsModelling.R`. +To reproduce the plots from the paper, run +```bash +jupyter-lab +``` +and open the file `scripts/DescriptiveAnalysis.ipynb`. + +To reproduce the model fits from the paper +- Ensure you have a working R installation +- Install the required libraries + - *E.g.*, `install.packages(c("lme4", "ggplot2", "interactions", "dplyr", "mediation"))` from an R console +- Run `MixedEffectsModelling.R` +```R +setwd('/path/to/Relating_ObjectiveComplexity_SubjectiveComplexity_Beauty_BinaryPixelPatterns/scripts') +source("MixedEffectsModelling.R") +``` ## Citation diff --git a/requirements.txt b/requirements.txt index 2c12634..ab5f5b1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,9 +2,8 @@ imageio==2.19.3 matplotlib==3.5.2 numpy==1.21.5 pybdm==0.1.0 -re pandas statsmodels seaborn scipy -pickle \ No newline at end of file +jupyterlab \ No newline at end of file