knights-lab / BURST

An ultrafast optimal aligner for mapping large NGS data to large genome databases.
GNU Affero General Public License v3.0
57 stars 9 forks source link

"Illegal Instruction" from conda-installed BURST v1 #37

Open nickp60 opened 2 years ago

nickp60 commented 2 years ago

Hello, I am getting the following error after installing BURST for use with SHOGUN:

$ burst15
This is BURST [v1.0 DB 15]

BURST aligner (v1.0; DB15 version)
Compiled with AVX-128 and multithreading

Basic parameters:
--references (-r) <name>: FASTA/edx DB of reference sequences [required]
--accelerator (-a) <name>: Creates/uses a helper DB (acc/acx) [optional]
--queries (-q) <name>: FASTA file of queries to search [required if aligning]
--output (-o) <name>: Blast6/edb file for output alignments/database [required]

Behavior parameters:
--forwardreverse (-fr): also search the reverse complement of queries
--whitespace (-w): write full query names in output (include whitespace)
--xalphabet (-x): Allow any alphabet and disable ambiguity matching
--nwildcard (-y): Allow N,X to match anything (in query and reference)
--taxonomy (-b) <name>: taxonomy map (to interpolate, use -m CAPITALIST)
--mode (-m) <name>: Pick an alignment reporting mode by name. Available modes:
  BEST (report first best match by hybrid BLAST id)
  ALLPATHS (report all ties with same error profile)
  CAPITALIST (minimize set of references AND interpolate taxonomy) [default]
  FORAGE (report all matches above specified threshold)
  ANY (report any valid hit above specified threshold)
--makedb (-d) [name qLen]: Create a database from input references
  [name]: Optional. Can be DNA, RNA, or QUICK [QUICK]
  [qLen]: Optional. Max query length to search in DB [500]

Performance parameters:
--dbpartition (-dp) <int>: Split DB making into <int> chunks (lossy) [1]
--taxacut (-bc) <num>: allow 1/<int> rank discord OR % conf; 1/[10]
--taxa_ncbi (-bn): Assume NCBI header format '>xxx|accsn...' for taxonomy
--skipambig (-sa): Do not consider highly ambiguous queries (5+ ambigs)
--taxasuppress (-bs) [STRICT]: Suppress taxonomic specificity by %ID
Illegal instruction

Running any subsequent command results in some logging followed by the "Illegal Instruction" error and empty outputs.

burst15 --queries /path/to/inputs/473_IGO_12587_1_S132_L003_R1_001.fastq.gz --references /dbs/shogun/burst/rep82.edx --output /results/alignment.burst.b6 --threads 2 --mode CAPITALIST --id 0.98 --npenalize --skipambig --forwardreverse --accelerator /dbs/shogun/burst/rep82.acx 
This is BURST [v1.0 DB 15]
 --> Setting threads to 2
 --> Setting run mode to CAPITALIST
Illegal instruction
AbishStephen commented 8 months ago

Hi, I had the same issue, I think it's to do with the default instruction set that is incompatible with your CPU. I compiled it from source after looking at the output of the lscpu command on my terminal (-march=nehalem), and added the -fopenmp flag to the GCC compiler. It is working fine now.