AnantharamanLab / METABOLIC

A scalable high-throughput metabolic and biogeochemical functional trait profiler
177 stars 44 forks source link

Installation and running of METABOLIC docker file #63

Open B-1991-ing opened 2 years ago

B-1991-ing commented 2 years ago

Describe the bug A clear and concise description of what the bug is.

To Reproduce Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior A clear and concise description of what you expected to happen.

Screenshots If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

Smartphone (please complete the following information):

Additional context Add any other context about the problem here.

Dear all,

Thank you very much for developing the docker installation for METABOLIC. My current boss likes it very much and suggested me this paper - METABOLIC: High-throughput profiling of microbial genomes for functional traits, biogeochemistry, and community-scale metabolic networks.

I installed the METABOLIC image on my Mac under the terminal directory - /Users/bing/ through the command line - docker pull tin6150/metabolic:4.0.

I then operated the flollowing Build Commands as below after operating the command line - docker pull tin6150/metabolic:4.0. docker build -t tin6150/base4metabolic -f Dockerfile.base . | tee Dockerfile.base.log WHAT I GOT: [+] Building 0.1s (1/2)
=> [internal] load build definition from Dockerfile.base 0.0s => => transferring dockerfile: 2B 0.0s failed to solve with frontend dockerfile.v0: failed to read dockerfile: open /var/lib/docker/tmp/buildkit-mount033990402/Dockerfile.base: no such file or directory

docker build -t tin6150/perl4metabolic -f Dockerfile.perl . | tee Dockerfile.perl.log WHAT I GOT: [+] Building 0.1s (1/2)
=> [internal] load build definition from Dockerfile.perl 0.0s => => transferring dockerfile: 2B 0.0s failed to solve with frontend dockerfile.v0: failed to read dockerfile: open /var/lib/docker/tmp/buildkit-mount809121847/Dockerfile.perl: no such file or directory

docker build -t tin6150/metabolic -f Dockerfile.metabolic . | tee Dockerfile.log WHAT I GOT: [+] Building 0.1s (1/2)
=> [internal] load build definition from Dockerfile.metabolic 0.0s => => transferring dockerfile: 2B 0.0s failed to solve with frontend dockerfile.v0: failed to read dockerfile: open /var/lib/docker/tmp/buildkit-mount398916690/Dockerfile.metabolic: no such file or directory

docker build -t tin6150/metabolic:4.0 -f Dockerfile.metabolic . | tee Dockerfile.log WHAT I GOT: [+] Building 0.1s (1/2)
=> [internal] load build definition from Dockerfile.metabolic 0.0s => => transferring dockerfile: 2B 0.0s failed to solve with frontend dockerfile.v0: failed to read dockerfile: open /var/lib/docker/tmp/buildkit-mount164655761/Dockerfile.metabolic: no such file or directory

IN ADDITION, under the directory - /Users/bing/METABOLIC, I also run this command line - docker run -v "$(pwd)":/tmp/home --entrypoint "perl" tin6150/metabolic:4.0 /opt/METABOLIC/METABOLIC-G.pl -t 34 -in-gn /Users/bing/Desktop/amplicon_seqs -o /tmp/home/metabolic_out WHAT I GOT:

(base) bing@Bings-MacBook-Pro METABOLIC % docker run -v "$(pwd)":/tmp/home --entrypoint "perl" tin6150/metabolic:4.0 /opt/METABOLIC/METABOLIC-G.pl -t 34 -in-gn /Users/bing/Desktop/amplicon_seqs -o /tmp/home/metabolic_out mkdir: cannot create directory ‘/tmp/home/metabolic_out’: File exists mkdir: cannot create directory ‘/tmp/home/metabolic_out/intermediate_files’: File exists ls: cannot access '/Users/bing/Desktop/amplicon_seqs/.fasta': No such file or directory [2022-03-06 06:00:49] The Prodigal annotation is running... [2022-03-06 06:00:49] The Prodigal annotation is finished ls: cannot access '/Users/bing/Desktop/amplicon_seqs/.faa': No such file or directory sh: 1: cannot create /Users/bing/Desktop/amplicon_seqs/faa.total: Directory nonexistent mv: cannot stat '/Users/bing/Desktop/amplicon_seqs/faa.total': No such file or directory mkdir: cannot create directory ‘/tmp/home/metabolic_out/intermediate_files/Hmmsearch_Outputs’: File exists [2022-03-06 06:00:50] The hmmsearch is running with 34 cpu threads...

Error: Failed to open sequence file /Users/bing/Desktop/amplicon_seqs/total.faa for reading

Error: Failed to open sequence file /Users/bing/Desktop/amplicon_seqs/total.faa for reading

Error: Failed to open sequence file /Users/bing/Desktop/amplicon_seqs/total.faa for reading

Error: Failed to open sequence file /Users/bing/Desktop/amplicon_seqs/total.faa for reading

Error: Failed to open sequence file /Users/bing/Desktop/amplicon_seqs/total.faa for reading

Error: Failed to open sequence file /Users/bing/Desktop/amplicon_seqs/total.faa for reading..........................................

So, my question is I didn't install the docker successfully I think.

I am looking forward your reply.

Best,

Bing Song

ChaoLab commented 2 years ago

Hi Bing, Thank you very much for your interest in our software. Currently, we are not maintaining the docker installation. Instead, we recommend the conda installation approach: https://github.com/AnantharamanLab/METABOLIC/wiki/Installation#anaconda-environment which is much faster and easier. It works well in both Mac and Linux systems.

Chao

B-1991-ing commented 2 years ago

Dear Chao,

Thank you very much for your quick response.

I run the command line - conda env create -f / /Users/bing/Desktop/METABOLIC/METABOLIC_v4.0_env.yml on my Mac under the directory - /Users/bing. WHAT I GOT: SpecNotFound: /Users/bing/Desktop/METABOLIC/METABOLIC_v4.0_env.yml was not found on anaconda.org. You may need to be logged in. Try running: anaconda login

I run the command line - conda env create -f conda env create -f https://github.com/AnantharamanLab/METABOLIC/blob/master/METABOLIC_v4.0_env.yml under the directory - /Users/bing. WHAT I GOT:

>>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<<

Traceback (most recent call last):
  File "/Users/bing/opt/anaconda3/lib/python3.9/site-packages/conda/exceptions.py", line 1079, in __call__
    return func(*args, **kwargs)
  File "/Users/bing/opt/anaconda3/lib/python3.9/site-packages/conda_env/cli/main.py", line 80, in do_call
    exit_code = getattr(module, func_name)(args, parser)
  File "/Users/bing/opt/anaconda3/lib/python3.9/site-packages/conda_env/cli/main_create.py", line 88, in execute
    spec = specs.detect(name=name, filename=get_filename(args.file), directory=os.getcwd())
  File "/Users/bing/opt/anaconda3/lib/python3.9/site-packages/conda_env/specs/__init__.py", line 43, in detect
    if spec.can_handle():
  File "/Users/bing/opt/anaconda3/lib/python3.9/site-packages/conda_env/specs/yaml_file.py", line 18, in can_handle
    self._environment = env.from_file(self.filename)
  File "/Users/bing/opt/anaconda3/lib/python3.9/site-packages/conda_env/env.py", line 166, in from_file
    return from_yaml(yamlstr, filename=filename)
  File "/Users/bing/opt/anaconda3/lib/python3.9/site-packages/conda_env/env.py", line 143, in from_yaml
    data = yaml_safe_load(yamlstr)
  File "/Users/bing/opt/anaconda3/lib/python3.9/site-packages/conda/common/serialize.py", line 67, in yaml_safe_load
    return yaml.safe_load(string, version="1.2")
  File "/Users/bing/opt/anaconda3/lib/python3.9/site-packages/ruamel_yaml/main.py", line 980, in safe_load
    return load(stream, SafeLoader, version)
  File "/Users/bing/opt/anaconda3/lib/python3.9/site-packages/ruamel_yaml/main.py", line 935, in load
    return loader._constructor.get_single_data()
  File "/Users/bing/opt/anaconda3/lib/python3.9/site-packages/ruamel_yaml/constructor.py", line 109, in get_single_data
    node = self.composer.get_single_node()
  File "/Users/bing/opt/anaconda3/lib/python3.9/site-packages/ruamel_yaml/composer.py", line 78, in get_single_node
    document = self.compose_document()
  File "/Users/bing/opt/anaconda3/lib/python3.9/site-packages/ruamel_yaml/composer.py", line 104, in compose_document
    self.parser.get_event()
  File "/Users/bing/opt/anaconda3/lib/python3.9/site-packages/ruamel_yaml/parser.py", line 163, in get_event
    self.current_event = self.state()
  File "/Users/bing/opt/anaconda3/lib/python3.9/site-packages/ruamel_yaml/parser.py", line 239, in parse_document_end
    token = self.scanner.peek_token()
  File "/Users/bing/opt/anaconda3/lib/python3.9/site-packages/ruamel_yaml/scanner.py", line 182, in peek_token
    self.fetch_more_tokens()
  File "/Users/bing/opt/anaconda3/lib/python3.9/site-packages/ruamel_yaml/scanner.py", line 282, in fetch_more_tokens
    return self.fetch_value()
  File "/Users/bing/opt/anaconda3/lib/python3.9/site-packages/ruamel_yaml/scanner.py", line 651, in fetch_value
    raise ScannerError(
ruamel_yaml.scanner.ScannerError: mapping values are not allowed here
  in "<unicode string>", line 26, column 67:
     ... e" content="{&quot;version&quot;: &quot;4&quot;, &quot;rollouts& ... 
                                         ^ (line: 26)

$ /Users/bing/opt/anaconda3/bin/conda-env create -f https://github.com/AnantharamanLab/METABOLIC/blob/master/METABOLIC_v4.0_env.yml ....................................

What happened there?

Best,

Bing

ChaoLab commented 2 years ago

Did you download the yml file to your server or Mac?

B-1991-ing commented 2 years ago

I think so, as I downloaded https://github.com/AnantharamanLab/METABOLIC/blob/master/METABOLIC_v4.0_env.yml to the directory - /Users/bing/Desktop/METABOLIC on my Mac.

patriciatran commented 2 years ago

In your command try using the path to the yml file on your computer. make sure there are no extra spaces or dashes:

conda create -n /Users/bing/Desktop/METABOLIC/METABOLIC_v4.0_env.yml

B-1991-ing commented 2 years ago

Hi Patricia,

Thank you very much for your reply.

I run the command line - conda create -n /Users/bing/Desktop/METABOLIC/METABOLIC_v4.0_env.yml on my Mac terminal.

WHAT I GOT:

Screenshot 2022-03-08 at 19 56 20

Best,

Bing

patriciatran commented 2 years ago

could you try cd into /Users/bing/Desktop/METABOLIC/ and typing: conda env create -f METABOLIC_v4.0_env.yml and tell me what you get please?

B-1991-ing commented 2 years ago

I changed the directory to /Users/bing/Desktop/METABOLIC/ and run the command line - conda env create -f METABOLIC_v4.0_env.yml.

WHAT I GOT:

Screenshot 2022-03-08 at 20 23 52

I run the command line - conda create -n METABOLIC_v4.0_env.yml. The conda environment is "METABOLIC_v4.0_env.yml" instead of "METABOLIC_v4.0".

WHAT I GOT:

Screenshot 2022-03-08 at 20 25 19
patriciatran commented 2 years ago

ooooh ok. I think the yml file was made for a Linux install -- do we have a way to make it work on mac @ChaoLab ?

B-1991-ing commented 2 years ago

You are right. But, I still downloaded the yml file you uploaded a few minutes ago and run it.

WHAT I GOT

Screenshot 2022-03-08 at 21 14 27