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

running on M1 mac issues, solved! #77

Open
madeleineaaseremedios opened this issue Jun 19, 2024 · 0 comments
Open

running on M1 mac issues, solved! #77

madeleineaaseremedios opened this issue Jun 19, 2024 · 0 comments

Comments

@madeleineaaseremedios
Copy link

madeleineaaseremedios commented Jun 19, 2024

Hi,
I had a few problems getting this to run on my M1 mac with python 3.11.5, but with a few changes, I think it's all worked okay now.

  1. Error message:
cd LG_db; \
	tar --skip-old-files -xzvf BCnS_LGs.tar.gz; \
	cd BCnS_LGs; \
	snakemake
tar: Option --skip-old-files is not supported

This isn't GNU-tar it's the mac bsdtar, so that option doesn't exist. You can get GNUtar for macs, but instead for now, I changed tar --skip-old-files to tar -k in the Makefile.

  1. Error message:
/bin/bash: line 1: hmmbuild: command not found
[Thu Jun 13 13:23:20 2024]
Error in rule make_hmm:
    jobid: 1846
    input: aligned/mer_BFL_EMU_HVU_PYE_RES_447.fasta
    output: hmms/mer_BFL_EMU_HVU_PYE_RES_447.hmm
    shell:
        
        hmmbuild hmms/mer_BFL_EMU_HVU_PYE_RES_447.hmm aligned/mer_BFL_EMU_HVU_PYE_RES_447.fasta
        
        (one of the commands exited with non-zero exit code; note that snakemake uses bash strict mode!)

HMMER was not listed as a dependency, but it didn't work for me until I installed it with pip.

  1. Error message:
snakemake: error: unrecognized arguments: -r

snakemake -r is deprecated (it's default true now), so I just deleted the -r from the command.

  1. Error message:
Error in rule make_diamond_and_blast_db:
    jobid: 10
    input: odp/db/Popi_prots.pep.gz, odp/db/input_check/Popi_pass.txt
    output: odp/db/dmnd/Popi_prots.gz.dmnd, odp/db/Popi_prots.pep.gz.phr, odp/db/Popi_prots.pep.gz.pin, odp/db/Popi_prots.pep.gz.psq
    shell:

        mkdir -p odp/db/dmnd
        diamond makedb --in odp/db/Popi_prots.pep.gz --db odp/db/dmnd/Popi_prots.gz.dmnd
        zcat odp/db/Popi_prots.pep.gz | makeblastdb -in - -out odp/db/Popi_prots.pep.gz -title Popi_prots.pep.gz -dbtype prot
        
        (one of the commands exited with non-zero exit code; note that snakemake uses bash strict mode!)

So, in odp, I changed all instances of zcat to zcat < based on this.

  1. Error message:
UserWarning: Starting a Matplotlib GUI outside of the main thread will likely fail.
  # make the black dots a little lighter
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'NSWindow should only be instantiated on the main thread!'

The issue I am now getting is a problem with plotting, and it seems to be a problem with macs so, based on the fix here where they set matplotlib mode to Agg (so that doesn't make an interactive gui, it just writes to files), I added the line matplotlib.use('Agg') underneath line 1381 import matplotlib in odp_functions.py, and under line 7 in odp_plotting_functions.py.

It seems to work now, I hope this is useful to someone else!

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

1 participant