comprna / RATTLE

Reference-free reconstruction and error correction of transcriptomes from Nanopore long-read sequencing
GNU General Public License v3.0
57 stars 10 forks source link

Illegal instruction error on RATTLE correct #39

Open Csam488 opened 1 year ago

Csam488 commented 1 year ago

I'm experiencing an Illegal instruction error when attempting to run RATTLE correct. The error is consistent when using different fastq files with the only difference being the number of reads reported to be processed (ranges from 30-38). I'm running RATTLE on a HPC system using Intel(R) Xeon(R) E5-2695 v4 CPUs. Can I please get instructions on how to correct this error.

The commands I have used are:

./rattle cluster -i data.fastq -t 4 --iso -o ./ ./rattle extract_clusters -c lusters.out -o ./clusters -i data.fastq --fastq ./rattle correct -c clusters.out -o ./clusters -i data.fastq --verbose

eileen-xue commented 1 year ago

Hi,

Does the CPUs support sse4.1? RATTLE sub-module spoa has this error "Illegal instruction (core dumped)" with some old processors.

Eileen

Csam488 commented 1 year ago

Hi Eileen,

The CUPs support both see4.1 and 4.2

eileen-xue commented 1 year ago

Hi,

  1. I notice the extract clusters step command is incorrect, it should be -c clusters.out.
  2. Can you run RATTLE with the example dataset correctly?
  3. If it is possible, could you please provide a copy of the output error message report?

Thanks, Eileen

Csam488 commented 1 year ago

Hi,

Apologies, there was a typo introduced when I simplified my file names

The full error (with the verbose option) I'm getting is

Reading fasta file... Done
Illegal instruction                                                              ] 38/6714 (0.565982%)

I get the same error with the example dataset

Reading fasta file... Done
[==Illegal instruction                                                           ] 732/8304 (8.81503%)
eileen-xue commented 1 year ago

Hi,

Try to replace spoa/CMakeLists.txt Line 17-21 with the following code

option(spoa_optimize_for_native "Build with -march=native" ON)
option(spoa_optimize_for_portability "Build with -msse4.1" ON)
option(spoa_generate_dispatch "Use SIMDe to generate x86 dispatch" OFF)

if (NOT spoa_generate_dispatch)
  if (spoa_optimize_for_portability)
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse4.1")
  elseif (spoa_optimize_for_native)
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
  endif ()
endif ()

Eileen

Csam488 commented 1 year ago

Hi Eileen,

I made the changes but it still gives the same error with the example dataset

eileen-xue commented 1 year ago

Hi,

What operation system and version you are using?

And try to remove the previous version and reinstall RATTLE with the following command

cd RATTLE
make clean
./build.sh

Eileen