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

Please provide a list of EMAN2 dependencies #393

Closed
samfux84 opened this issue May 27, 2019 · 9 comments
Closed

Please provide a list of EMAN2 dependencies #393

samfux84 opened this issue May 27, 2019 · 9 comments

Comments

@samfux84
Copy link

Hi,

Neither on https://blake.bcm.edu/emanwiki/EMAN2 nor on github the list of required dependencies for EMAN2 is available.

Install dependencies

conda install cmake=3.9 -c defaults
conda install eman-deps=14 -c cryoem -c defaults -c conda-forge

Not everybody uses conda. On many HPC clusters, conda is not available. On our HPC cluster, we do not support conda. Therefore could you please provide a list of dependencies required for EMAN2 ?

Best regards

Sam

@shadowwalkersb
Copy link
Member

Please, see the list used to build eman-deps, https://github.com/cryoem/eman-deps-feedstock/blob/0a4718059822ff88bd5778249f4bdb7555e5175f/recipe/meta.yaml#L11-L41. This link, now, is available in the wiki instructions for source builds.

@samfux84
Copy link
Author

Thank you, this is exactly what I was looking for.

@sludtke42
Copy link
Member

sludtke42 commented May 27, 2019 via email

@samfux84
Copy link
Author

@sludtke42: Thank you for your reply.

I can fully understand that Anaconda simplifies the installation of software for many users. But I still think that it is important to provide the list of dependencies for people that do not use anaconda. There is no need to provide installation instructions for any of the dependencies, but without knowing what a software depends on, it might be quite difficult to install it.

I work as application specialist managing more than 300 applications and libraries on the HPC cluster of our university (we use the SPACK package manager, https://spack.readthedocs.io/ for installations).

I prefer to not use Anaconda as a simple installation can easily contain 100'000 small files, which is not optimal for high-performance file systems that are optimized for big files.

I would like to add some comments regarding some of your points A)-G)

A) Our users have a quota of 100'000 files/directories for their home directory (because there is a nightly backup running for ca. 2500 users, and before we introduced the quota, the backup was not finishing overnight because some users had several million files in their home). An Anaconda (or even a Miniconda) installation easily exceeds the quota and then the users complain that they can no longer write new files to their home directory.

Therefore this is not really helping the cluster users as long as Conda installations contain that many files.

B) We already provide a large number of centrally installed packages, therefore no need for the users to do redundant installations in Anaconda:

https://scicomp.ethz.ch/wiki/Leonhard_applications_and_libraries
https://scicomp.ethz.ch/wiki/Euler_applications_and_libraries

E) For this purpose, we use SPACK, https://spack.readthedocs.io

G) On a HPC cluster, install size is not too important as storage space has become very cheap. What matters on HPC file systems is the number of files, as random I/O with a large number of files kills the performance of every HPC file system.

@sludtke42
Copy link
Member

sludtke42 commented May 28, 2019 via email

@samfux84
Copy link
Author

@sludtke42: Thank you for your reply and for taking the time for this discussion.

Please do not get me wrong, I don't want you to change anything with regards to EMAN2 (except that the list of dependencies is published on the wiki, which is meanwhile the case).

Not my business to get into your institutions cluster management policies, but I'll say that in many fields, like genomics/bioinformatics, a large number of small files is simply how everything is configured to operate. There are cluster configuration strategies and policies that can deal with this sort of thing, but everyone's user base is different.

I think that there is a misunderstanding and I am sorry for not being more clear about this. The 100'000 files/directories quota only applies to home directories. For guest users on our cluster, this is the only permanent storage they have. For research groups that invested into our HPC cluster, there are other file systems (NetApp, Lustre) where they can have hundreds of terabytes of data and millions of inodes.

My point with regards to the quota is just, that on many clusters, guest users have limits and if the software that they would like to use is not installed centrally, they can hardly install anything in their home directory that requires a Conda installation for the dependencies. For everybody else I don't see any problem.

Best regards

Sam

@sludtke42
Copy link
Member

sludtke42 commented May 28, 2019 via email

@Icecream-blue-sky
Copy link

Please, see the list used to build eman-deps, https://github.com/cryoem/eman-deps-feedstock/blob/0a4718059822ff88bd5778249f4bdb7555e5175f/recipe/meta.yaml#L11-L41. This link, now, is available in the wiki instructions for source builds.
Hi,shadowwalkersb!
Are these dependencies complete? Why I follow https://blake.bcm.edu/emanwiki/EMAN2/COMPILE_EMAN2_ANACONDA using conda create -n eman2 eman-deps-dev -c cryoem -c defaults -c conda-forge to install eman2 dependencies on windows(just ot know what dependencies are in eman2, then manually install them on linux), I found that the dependencies is different from the list you provide(https://github.com/cryoem/eman-deps-feedstock/blob/0a4718059822ff88bd5778249f4bdb7555e5175f/recipe/meta.yaml#L11-L41)?
image

@shadowwalkersb
Copy link
Member

The link on the Wiki is the correct one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants