OpenGene / fastp

An ultra-fast all-in-one FASTQ preprocessor (QC/adapters/trimming/filtering/splitting/merging...)
MIT License
1.87k stars 332 forks source link

installing fastp on M1 Macbook Pro #420

Open adamsbp opened 2 years ago

adamsbp commented 2 years ago

has anybody tried to install is on M1 MacBook Pro?

sklages commented 2 years ago

well, have you tried?

$ conda install -c bioconda fastp
<..>
The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    fastp-0.22.0               |       hfd59bb5_0         228 KB  bioconda
    openssl-1.1.1q             |       hfe4f2af_0         1.9 MB  conda-forge
    ------------------------------------------------------------
<..>

$ fastp --version
fastp 0.22.0

Here MacBook Pro (14", 2021), 32G

josesho commented 1 year ago

Unfortunately does not work for me.

Running

conda install -c bioconda fastp

gives

Solving environment: failed with initial frozen solve. Retrying with flexible solve.

PackagesNotFoundError: The following packages are not available from current channels:

  - fastp

Current channels:

  - https://conda.anaconda.org/bioconda/osx-arm64
  - https://conda.anaconda.org/bioconda/noarch
  - https://conda.anaconda.org/conda-forge/osx-arm64
  - https://conda.anaconda.org/conda-forge/noarch
  - https://repo.anaconda.com/pkgs/main/osx-arm64
  - https://repo.anaconda.com/pkgs/main/noarch
  - https://repo.anaconda.com/pkgs/r/osx-arm64
  - https://repo.anaconda.com/pkgs/r/noarch

To search for alternate channels that may provide the conda package you're
looking for, navigate to

    https://anaconda.org

and use the search bar at the top of the page.

Looking at the fastp package page on anaconda indicates there are only linux-64 and osx-64 packages....

mschilli87 commented 1 year ago
brew install fastp

confirms:

fastp: The x86_64 architecture is required for this software.
josesho commented 1 year ago

I personally got around it by installing a separate version of Brew for x86 (relying on Rosetta 2), and using that to install fastp. I don't think you can run it natively on ARM64 systems. Not sure how @sklages did it?

sklages commented 1 year ago

I did it via conda as stated. But not natively:

€ fastp --version
fastp 0.22.0

# and, yes:
€ file /Users/xxx/opt/anaconda3/bin/fastp
/Users/xxx/opt/anaconda3/bin/fastp: Mach-O 64-bit executable x86_64

There is no newer version in bioconda repo yet. System: MBP M1 Pro (2021)

josesho commented 1 year ago

Right, I think @adamsbp was asking for a native install, I guess both you and he could be clearer. In any case, emulation on M1 is the way to go......

sklages commented 1 year ago

Right, I think @adamsbp was asking for a native install, I guess both you and he could be clearer. In any case, emulation on M1 is the way to go......

He did not even mention if he tried to install fastp. He was not asking for native install. I did it via simple conda ... so what should have been clearer?

The github install instructions are very linux-flavored ..

josesho commented 1 year ago

Well again I want to chalk it up to the inefficiencies of asynchronous text communication, but I myself assumed that he was asking for a native install given that he specified the hardware (and you yourself note the instructions are linux-heavy).

Also it's slightly disingenuous to claim you could install using "simple conda" when it's actually running under x86 emulation. 🤷‍♂️ I was slightly confused when I tried your solution, until I checked the bioconda repos.

peflanag commented 1 year ago

Hey, I'm a microbiologist who's self thought at command line to do basic bioinformatic analysis for organisms I sequence. I have a new MacBook Air M2 chip and when I install envs via conda that's fine but when I try to install packages I get the following errors. This is the case for fastp, hraken2 etc. I wouldn't mind because it's my personal laptop but I will be getting a new Mac Pro or MacStudio for work but if no package works on M1/M2 im at a loss. Is there any work arounds? I would have assumed since the M1/M2 chips have been out for a while that it would have been fine installing packages. If there's a work around I'd love to hear it! Like I said, I'm not a bioinformatician so I need the dummies version! thanks in advance guys!

Screenshot 2023-07-14 at 10 25 56
josesho commented 1 year ago

Hey, for M1/M2 Macs you'll need to install Homebrew, but not for the ARM64 environment, but x86.

See here for more info: https://gist.github.com/progrium/b286cd8c82ce0825b2eb3b0b3a0720a0

You basically want to run the x86 shell, install Homebrew, then install fastp via Homebrew.

peflanag commented 1 year ago

Ah ok, cheers @josesho So I have Homebrew installed. So I assume I uninstall and then instal a different version? But then that will only work if the packages are on homebrew? So fastp is but if kraken2 isn't then I can't install? Am I making sense?

josesho commented 1 year ago

I think you can install both x86 and ARM versions of Homebrew; see this.

Can't comment about kraken2, and this thread is about fastp anyway. You might have better luck on kraken2 forums.

If you still get stuck, you should look at Docker as a viable alternative...

peflanag commented 1 year ago

Cheers @josesho

hurleyLi commented 8 months ago

so complicated...... but works by installing the intel brew!

chenrui333 commented 5 months ago

native arm build should be fixed on homebrew side with this PR, https://github.com/Homebrew/homebrew-core/pull/168488

juanbigotes commented 1 month ago

Hi @chenrui333. Can you explain a little bit more about the fix you mentioned? It is a bit confusing. Thanks!