Giter Club home page Giter Club logo

Comments (12)

ekg avatar ekg commented on August 11, 2024 1

from pggb.

zmz1988 avatar zmz1988 commented on August 11, 2024 1

Oh I didn't take the warning message so seriously, when I tested the test file! Now I know the problem! I will change to a computer with Intel core and try!

Thanks a lot! Also looking forward to the version that can support arm64!

from pggb.

ekg avatar ekg commented on August 11, 2024

from pggb.

subwaystation avatar subwaystation commented on August 11, 2024

Hi @zmz1988,

for me docker build --target binary -t ${USER}/pggb:latest . works with the latest pggb commit. The Dockerfile itself is designed in a way to already have the GCC version incorporated that's required to compile seqwish.
So my impression is that you maybe changed the Dockerfile?
Did you just go for

git clone --recursive https://github.com/pangenome/pggb
cd pggb
docker build --target binary -t ${USER}/pggb:latest .

?
Or it could be your hardware does not support -mcx16. But that seems very unlikely: https://superuser.com/questions/187254/how-prevalent-are-old-x64-processors-lacking-the-cmpxchg16b-instruction.

from pggb.

zmz1988 avatar zmz1988 commented on August 11, 2024

Hi @ekg @subwaystation , Thank you both for answering me!

I did exactly as suggested in the installation section of readme file. I never use docker before, so I had to install docker with the version of Mac with Apple chip. Then in my terminal, use the exact lines as showed above. I'm still so naive to understand how to change the docker file...

I checked my machine. After gcc --version:
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/4.2.1 Apple clang version 12.0.5 (clang-1205.0.22.11) Target: arm64-apple-darwin20.6.0 Thread model: posix InstalledDir: /Library/Developer/CommandLineTools/usr/bin

I also checked the options for the gcc command by typing gcc- help in terminal, and I didn't find -mcx16. So I guess that my machine does not support -mcx16?

I tried to pull a gcc version in docker, but am still slowly learning how to do it...

from pggb.

subwaystation avatar subwaystation commented on August 11, 2024

Your local GCC should not affect the GCC when running the pggb docker container.
Can you please try docker pull ghcr.io/pangenome/pggb:latest followed by docker run -it -v ${PWD}/data/:/data ghcr.io/pangenome/pggb:latest "pggb -i /data/HLA/DRB1-3123.fa.gz -N -s 5000 -I 0 -p 80 -n 10 -k 8 -t 2 -v -L -o /data/out -m"?
First you pull the already created docker image, then you run it with a test data set. Make sure that you cd into the pggb folder first!

from pggb.

zmz1988 avatar zmz1988 commented on August 11, 2024

I get an error. Please see the following:

MacBook-Pro-2 pggb % docker run -it -v ${PWD}/data/:/data ghcr.io/pangenome/pggb:latest "pggb -i /data/HLA/DRB1-3123.fa.gz -N -s 5000 -I 0 -p 80 -n 10 -k 8 -t 2 -v -L -o /data/out -m" WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested [wfmash::map] Reference = [/data/HLA/DRB1-3123.fa.gz] [wfmash::map] Query = [/data/HLA/DRB1-3123.fa.gz] [wfmash::map] Kmer size = 16 [wfmash::map] Window size = 2 [wfmash::map] Segment length = 5000 (read split disabled) [wfmash::map] Block length min = 15000 [wfmash::map] Alphabet = DNA [wfmash::map] Percentage identity threshold = 80% [wfmash::map] Mapping output file = //wfmash-s3ZAf5 [wfmash::map] Filter mode = 1 (1 = map, 2 = one-to-one, 3 = none) [wfmash::map] Execution threads = 2 [wfmash::skch::Sketch::build] minimizers picked from reference = 108363 terminate called after throwing an instance of 'std::overflow_error' what(): robin_hood::map overflow qemu: uncaught target signal 6 (Aborted) - core dumped Command terminated by signal 6 wfmash -X -s 5000 -l 15000 -N -p 80 -n 10 -k 16 -t 2 /data/HLA/DRB1-3123.fa.gz /data/HLA/DRB1-3123.fa.gz 0.34s user 0.01s system 101% cpu 0.35s total 22548Kb max memory

Is it related the memory issue that I don't have enough memory? I had to run it locally, as the cluster I use does not support docker...

from pggb.

subwaystation avatar subwaystation commented on August 11, 2024

Alright, now I get the problem. You have an ARM64 CPU architecture, but all our tools are build for the AMD64 architecture. No wonder you couldn't build seqwish. It was because an instruction specifically for the AMD64 architecture was set.

Maybe a better way to approach this is tool by tool, first. Because we didn't test any of them on a ARM64 CPU architecture. I am afraid, non of the major developers has access to such a machine.
Get a more recent GCC and try to build https://github.com/ekg/wfmash, https://github.com/pangenome/smoothxg as instructed in the README.
If that works we can take a closer look at the seqwish problem. But it might take some time to figure out some compiler errors.
Unfortunately, you can't install all the tools from Bioconda, because the ARM64 support is still pretty scarce there, too.

@ekg @AndreaGuarracino What do you think about ARM64 regarding pggb and its tools?

from pggb.

subwaystation avatar subwaystation commented on August 11, 2024

We should support arm64!

Seems like Rust won't be there any time soon! rust-lang/rust#73908 (comment).

from pggb.

subwaystation avatar subwaystation commented on August 11, 2024

@zmz1988 Please tell us, if switching the machine architecture worked for you :)

from pggb.

zmz1988 avatar zmz1988 commented on August 11, 2024

@subwaystation Works smoothly in MacBook with Intel core i7!
Thanks a lot!!

from pggb.

subwaystation avatar subwaystation commented on August 11, 2024

Thanks for letting us know! Have fun building graphs ;)

The support of arm64 is not on a very close horizon, so I am closing this issue.

from pggb.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.