Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

new environment for annotation #139

Merged
merged 2 commits into from
Aug 23, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 20 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ cd ./grace
# create a conda playground from environment.yaml
conda env create -f environment.yaml


# To activate this environment, use
#
# $ conda activate grace-environment
Expand All @@ -92,14 +93,32 @@ pre-commit install

```

For the annotation, use the following lines to load and activate that correct environment:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we need to explicitly explain to the users what they will and won't be able to do when using either environment. I'm happy to change the README.md afterwards, there are other documentation issues that need to be added 😃


```sh
# create the playground from environment_annotation.yml
conda env create -f environment_annotation.yaml
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

conda env create -f environment_annotation.yaml
needs to become
conda env create -f environment_annotation.yml
otherwise the file is not found

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll fix this in the follow-up README.md update


# To activate this environment, use
#
# $ conda activate grace-annotation
#
# To deactivate an active environment, use
#
# $ conda deactivate

conda activate grace-annotation

```

---


## Annotator GUI

Our repository contains a graphical user interface (GUI) which allows the user to manually annotate the regions of interests (motifs) in their cryo-EM data.

To test the annotator, make sure you've [installed](#installation) the repository & navigate to:
To test the annotator, make sure you've [installed](#installation) the repository using the annotation environment & navigate to:

```sh
python examples/show_data.py
Expand Down
341 changes: 341 additions & 0 deletions environment_annotation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,341 @@
name: grace-annotation
channels:
- conda-forge
- defaults
dependencies:
- alabaster=0.7.13
- aom=3.5.0
- app-model=0.1.4
- appdirs=1.4.4
- appnope=0.1.3
- asciitree=0.3.3
- asttokens=2.2.1
- attrs=23.1.0
- aws-c-auth=0.7.0
- aws-c-cal=0.6.0
- aws-c-common=0.8.23
- aws-c-compression=0.2.17
- aws-c-event-stream=0.3.1
- aws-c-http=0.7.10
- aws-c-io=0.13.28
- aws-c-mqtt=0.8.14
- aws-c-s3=0.3.13
- aws-c-sdkutils=0.1.11
- aws-checksums=0.1.16
- aws-crt-cpp=0.20.3
- aws-sdk-cpp=1.10.57
- babel=2.12.1
- backcall=0.2.0
- backports=1.0
- backports.functools_lru_cache=1.6.5
- blosc=1.21.4
- bokeh=3.2.0
- brotli=1.0.9
- brotli-bin=1.0.9
- brotli-python=1.0.9
- brunsli=0.1
- bzip2=1.0.8
- c-ares=1.19.1
- c-blosc2=2.10.0
- ca-certificates=2023.7.22
- cachey=0.2.1
- certifi=2023.7.22
- cffi=1.15.1
- cfgv=3.3.1
- cfitsio=4.2.0
- charls=2.4.2
- charset-normalizer=3.2.0
- click=8.1.4
- cloudpickle=2.2.1
- colorama=0.4.6
- comm=0.1.3
- contourpy=1.1.0
- cytoolz=0.12.0
- dask=2023.7.0
- dask-core=2023.7.0
- dav1d=1.2.1
- debugpy=1.6.7
- decorator=5.1.1
- distlib=0.3.7
- distributed=2023.7.0
- docstring_parser=0.15
- docutils=0.17.1
- entrypoints=0.4
- executing=1.2.0
- expat=2.5.0
- fasteners=0.17.3
- filelock=3.12.2
- font-ttf-dejavu-sans-mono=2.37
- font-ttf-inconsolata=3.000
- font-ttf-source-code-pro=2.038
- font-ttf-ubuntu=0.83
- fontconfig=2.14.2
- fonts-conda-ecosystem=1
- fonts-conda-forge=1
- freetype=2.12.1
- freetype-py=2.4.0
- fsspec=2023.6.0
- gettext=0.21.1
- gflags=2.2.2
- giflib=5.2.1
- glib=2.76.4
- glib-tools=2.76.4
- glog=0.6.0
- gmp=6.2.1
- gmpy2=2.1.2
- gst-plugins-base=1.22.4
- gstreamer=1.22.4
- hdf5=1.14.1
- heapdict=1.0.1
- hsluv=5.0.2
- icu=72.1
- identify=2.5.26
- idna=3.4
- imagecodecs=2023.1.23
- imageio=2.31.1
- imagesize=1.4.1
- importlib-metadata=6.8.0
- importlib_metadata=6.8.0
- importlib_resources=6.0.0
- in-n-out=0.1.8
- ipykernel=6.24.0
- ipython=8.14.0
- ipython_genutils=0.2.0
- jedi=0.18.2
- jinja2=3.1.2
- joblib=1.3.0
- jsonschema=4.18.0
- jsonschema-specifications=2023.6.1
- jupyter_client=8.3.0
- jupyter_core=5.3.1
- jxrlib=1.1
- kiwisolver=1.4.4
- krb5=1.20.1
- lazy_loader=0.2
- lcms2=2.15
- lerc=4.0.0
- libabseil=20230125.3
- libaec=1.0.6
- libarrow=12.0.1
- libavif=0.11.1
- libblas=3.9.0
- libbrotlicommon=1.0.9
- libbrotlidec=1.0.9
- libbrotlienc=1.0.9
- libcblas=3.9.0
- libclang=15.0.7
- libclang13=15.0.7
- libcrc32c=1.1.2
- libcurl=8.1.2
- libcxx=16.0.6
- libdeflate=1.18
- libedit=3.1.20191231
- libev=4.33
- libevent=2.1.12
- libexpat=2.5.0
- libffi=3.4.2
- libgfortran=5.0.0
- libgfortran5=12.2.0
- libglib=2.76.4
- libgoogle-cloud=2.12.0
- libgrpc=1.54.2
- libiconv=1.17
- libjpeg-turbo=2.1.5.1
- liblapack=3.9.0
- libllvm15=15.0.7
- libnghttp2=1.52.0
- libogg=1.3.4
- libopenblas=0.3.23
- libopus=1.3.1
- libpng=1.6.39
- libpq=15.3
- libprotobuf=3.21.12
- libsodium=1.0.18
- libsqlite=3.42.0
- libssh2=1.11.0
- libthrift=0.18.1
- libtiff=4.5.1
- libutf8proc=2.8.0
- libvorbis=1.3.7
- libwebp-base=1.3.1
- libxcb=1.15
- libxml2=2.11.4
- libzlib=1.2.13
- libzopfli=1.0.3
- llvm-openmp=16.0.6
- locket=1.0.0
- lz4=4.3.2
- lz4-c=1.9.4
- magicgui=0.7.2
- markdown-it-py=3.0.0
- markupsafe=2.1.3
- matplotlib-inline=0.1.6
- mdurl=0.1.0
- mkl=2022.2.1
- mpc=1.3.1
- mpfr=4.2.0
- mpmath=1.3.0
- msgpack-python=1.0.5
- mypy_extensions=1.0.0
- mysql-common=8.0.33
- mysql-libs=8.0.33
- napari=0.4.18
- napari-console=0.0.8
- napari-plugin-engine=0.2.0
- napari-svg=0.1.10
- ncurses=6.4
- nest-asyncio=1.5.6
- networkx=3.1
- nodeenv=1.8.0
- npe2=0.7.0
- nspr=4.35
- nss=3.89
- numcodecs=0.11.0
- numexpr=2.8.4
- numpy=1.25.1
- numpydoc=1.5.0
- openjpeg=2.5.0
- openssl=3.1.2
- orc=1.9.0
- packaging=23.1
- pandas=2.0.3
- parso=0.8.3
- partd=1.4.0
- pcre2=10.40
- pexpect=4.8.0
- pickleshare=0.7.5
- pillow=10.0.0
- pint=0.22
- pip=23.1.2
- pkgutil-resolve-name=1.3.10
- platformdirs=3.10.0
- ply=3.11
- pooch=1.7.0
- pre-commit=3.3.3
- prompt-toolkit=3.0.39
- prompt_toolkit=3.0.39
- psutil=5.9.5
- psygnal=0.9.1
- pthread-stubs=0.4
- ptyprocess=0.7.0
- pure_eval=0.2.2
- py-cpuinfo=9.0.0
- pycparser=2.21
- pydantic=1.10.10
- pygments=2.15.1
- pyopengl=3.1.6
- pyproject_hooks=1.0.0
- pyqt=5.15.7
- pyqt5-sip=12.11.0
- pysocks=1.7.1
- pytables=3.8.0
- python=3.11.4
- python-build=0.10.0
- python-dateutil=2.8.2
- python-tzdata=2023.3
- python_abi=3.11
- pytomlpp=1.0.13
- pytorch=2.0.0
- pytz=2023.3
- pywavelets=1.4.1
- pyyaml=6.0
- pyzmq=25.1.0
- qt-main=5.15.8
- qtconsole-base=5.4.3
- qtpy=2.3.1
- re2=2023.03.02
- readline=8.2
- referencing=0.29.1
- requests=2.31.0
- rich=13.4.2
- rpds-py=0.8.10
- scikit-image=0.21.0
- scikit-learn=1.3.0
- scipy=1.11.1
- setuptools=68.0.0
- shellingham=1.5.1
- sip=6.7.9
- six=1.16.0
- sleef=3.5.1
- snappy=1.1.10
- snowballstemmer=2.2.0
- sortedcontainers=2.4.0
- sphinx=4.5.0
- sphinxcontrib-applehelp=1.0.4
- sphinxcontrib-devhelp=1.0.2
- sphinxcontrib-htmlhelp=2.0.1
- sphinxcontrib-jsmath=1.0.1
- sphinxcontrib-qthelp=1.0.3
- sphinxcontrib-serializinghtml=1.1.5
- stack_data=0.6.2
- superqt=0.4.1
- sympy=1.12
- tbb=2021.9.0
- tblib=1.7.0
- threadpoolctl=3.1.0
- tifffile=2023.7.10
- tk=8.6.12
- toml=0.10.2
- tomli=2.0.1
- toolz=0.12.0
- tornado=6.3.2
- tqdm=4.65.0
- traitlets=5.9.0
- typer=0.9.0
- typing-extensions=4.7.1
- typing_extensions=4.7.1
- tzdata=2023c
- ukkonen=1.0.1
- virtualenv=20.24.3
- vispy=0.12.2
- wcwidth=0.2.6
- wheel=0.40.0
- wrapt=1.15.0
- xorg-libxau=1.0.11
- xorg-libxdmcp=1.1.3
- xyzservices=2023.5.0
- xz=5.2.6
- yaml=0.2.5
- zarr=2.15.0
- zeromq=4.3.4
- zfp=1.0.0
- zict=3.0.0
- zipp=3.16.0
- zlib=1.2.13
- zlib-ng=2.0.7
- zstd=1.5.2
- pip:
- absl-py==1.4.0
- cachetools==5.3.1
- cycler==0.11.0
- fonttools==4.40.0
- google-auth==2.21.0
- google-auth-oauthlib==1.0.0
- grace==0.0.1
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the environment gets confused when instructed to install grace, which is not on pip just yet.

Pip subprocess error:
ERROR: Could not find a version that satisfies the requirement grace==0.0.1 (from versions: ... )
ERROR: No matching distribution found for grace==0.0.1

failed

CondaEnvException: Pip failed

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is something we need to keep changing whenever we make a new environment (because we install grace with the pip . -e, it considers grace a "pip installed" package)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's fine to do so, given that README.md has all the detailed instructions.

- grpcio==1.56.0
- iniconfig==2.0.0
- lazy-loader==0.3
- markdown==3.4.3
- matplotlib==3.7.2
- mrcfile==1.4.3
- oauthlib==3.2.2
- opencv-python==4.8.0.74
- pluggy==1.2.0
- protobuf==4.23.4
- pyarrow==12.0.1
- pyasn1==0.5.0
- pyasn1-modules==0.3.0
- pyparsing==3.0.9
- pytest==7.4.0
- requests-oauthlib==1.3.1
- rsa==4.9
- seaborn==0.12.2
- starfile==0.4.12
- tensorboard==2.13.0
- tensorboard-data-server==0.7.1
- torch==2.0.1
- torch-geometric==2.3.1
- torchvision==0.15.2
- urllib3==1.26.16
- werkzeug==2.3.6
prefix: /Users/bcostagomes/anaconda3/envs/test_grace
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does the prefix belong in the env.yaml?