Closed sirselim closed 2 years ago
Hi, thanks for bringing this to my attention. From the error it seems that the offending part of the compilation is found in fasthash. Interestingly enough that crate was still in the Cargo.toml file, but isn't used in Sepia anymore. I just pushed a new updated Cargo.toml, can you try to re-compile again with the new Cargo.toml file?
Thanks a lot, -Henk
Thanks Henk, that was fast!
Very please to report back that that was all that was needed, I have successfully build Sepia on arm64 (Nvidia Jetson Xavier AGX).
/media/nvme/software/sepia$ cargo build --release
Compiling quote v1.0.10
Compiling memoffset v0.6.4
Compiling num_cpus v1.13.0
Compiling getrandom v0.1.16
Compiling crossbeam-channel v0.5.1
Compiling miniz_oxide v0.4.4
Compiling atty v0.2.14
Compiling libz-sys v1.1.3
Compiling bzip2-sys v0.1.11+1.0.8
Compiling lzma-sys v0.1.17
Compiling buf_redux v0.8.4
Compiling bstr v0.2.17
Compiling linereader v0.4.0
Compiling crossbeam-epoch v0.9.5
Compiling clap v2.33.3
Compiling bzip2 v0.4.3
Compiling rand_core v0.5.1
Compiling xz2 v0.1.6
Compiling syn v1.0.81
Compiling flate2 v1.0.22
Compiling crossbeam-deque v0.8.1
Compiling rand_chacha v0.2.2
Compiling rayon-core v1.9.1
Compiling rand v0.7.3
Compiling rayon v1.5.1
Compiling needletail v0.4.1
Compiling hyperloglog v0.0.12
Compiling serde_derive v1.0.130
Compiling thiserror-impl v1.0.30
Compiling sysinfo v0.20.5
Compiling thiserror v1.0.30
Compiling bgzip v0.2.1
Compiling niffler v2.3.2
Compiling serde v1.0.130
Compiling bincode v1.3.3
Compiling serde_json v1.0.69
Compiling hashbrown v0.3.1
Compiling boomphf v0.5.9
Compiling sepia v0.1.0 (/media/nvme/software/sepia)
Finished release [optimized] target(s) in 1m 26s
Testing the help options:
/media/nvme/software/sepia$ target/release/sepia --help
sepia 0.0.3.
Henk C. den Bakker <henkcdenbakker@gmail.com>
perfect hash index based read classifier and more
USAGE:
sepia [SUBCOMMAND]
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
SUBCOMMANDS:
batch_classify classifies batch of samples reads
build builds an index
classify classifies reads using an lca approach
help Prints this message or the help of the given subcommand(s)
Building the demo index:
/media/nvme/software/sepia$ target/release/sepia build -r ref_demo.txt -k 31 -m 21 -p 4 -c 2 -i demo_index
Ref_file : ref_demo.txt
db : demo_index
k-mer size: 31
minimizer size: 21
hash mode: sepia
minimizers for 2 samples inferred in parallel.
length taxonomy: 26, root value: 1
5 bits reserved to store taxon information.
Creating index...
Estimating total number of unique kmers/minimizers...
16 accessions processed.ed.
Estimated index size: 0.002 Gb
Estimated number of minimizers: 7013632
Initial size of compact hash set set to 10019474
Buidling index...
Creating final index...
processed 16/16 accessions
Saving index to file.
This is fantastic and I can't wait to dig in and "play" a lot more. Thank you for your hard work on this!
It would be interesting to know whether this is all that is required for it to build on M1 Macs as well (#20).
Cheers,
This will be a similar issue to #20 - compiling on non-x64_x86 processors.
I tried compiling on an Nvidia Jetson Xavier AGX (8-core ARM v8.2 64-bit CPU) and received the below error:
I'm excited to see tools such as Sepia coming to Rust and would love to see them accessible on non Intel/AMD based machines.
I'm happy to do any testing if it is useful. Thanks for your hard work.