-
Notifications
You must be signed in to change notification settings - Fork 514
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
"Illegal instruction" error when using --clipAdapterType CellRanger4 #1218
Comments
Hi Vincent, this is the problem with Cheers |
Hey Alex, Sorry for the delayed answer. Thanks for the tip! Cheers |
Hi Vincent, I would recommend switching to 2.7.9a and compiling. It includes the SIMDe software that adjusts the code for a given architecture. When compiling, You would need to specify your SIMD architecture with: Cheers |
Hi Alex, I followed your recommendation and compiled the latest 2.7.9a with: I have absolutely no clue what is the SIMD architecture of my server, how can I know that? I also tried the same command as in the README markdown file:
But I get the same error message:
So I'll stick with v.2.7.8a for now I guess... Thanks |
Hi Vincent, sorry, there was a mistake in the README file, it should be: Finding which SIMD extensions your processor support is not as easy as it should be. Or you can simply use Cheers |
Hi Alex, Thanks for the info. I've found the I tried running STAR alignReads with the I've also done a quick "safety check" of the output bam files, and they are perfectly identical to the ones I've got with the same command run on v.2.7.8a So it seems all good to me from my side! Cheers |
Hi Alex, I am running my STAR on HPC and I tried compiling STAR using your command Thanks, |
Hi @alexdobin - Will this issue get fixed so that users don't need to recompile STAR to use |
Hi Leandro, |
Thanks for the response, but I think bioconda (and usually conda in general) only has different STAR packages per platform (Linux x64, Mac OSX, etc) not supported CPU extensions. I'll have to see the it's even possible to make a pull request for the bioconda STAR packaging repo so that it compiles and makes different packages depending on CPU extensions. |
It sounds like this is specifically a packaging problem. If the goal for Bioconda is to maximize compatibility, they should do what Debian Med does for distributing STAR and target SSE2: https://salsa.debian.org/med-team/rna-star/-/blob/master/debian/patches/do-not-enforce-avx2.patch If you want to run a binary specifically suited to different CPU families, the conda packagers could do an approach like https://github.com/bwa-mem2/bwa-mem2 where you build a star binary for each instruction set: SSE2, AVX2, AVX512 and then have an entry script to find and run the right one. This is all a conda packaging problem, not a problem with STAR though. |
Hello! Reviving this thread since I am having this issue on a HPC run by a bioinformatics core at my institution and they tried updating to the most recent version of STAR. Where exactly do we implement the commands Is this just on commandline when I login to the HPC or do these need to go in my star command? |
@Lil-Psilocybe How did you install STAR, and what is the oldest CPU architecture that you expect to run STAR on? Those are compile time environment variables to be set at the time that STAR is compiled from source code. If you installed STAR from bioconda, that version is not compatible with older CPUs and will not run on them. |
The installs are done by the bioinfo. core and they would have the arch info; I don't use a conda environment here either. I'll make them aware to this thread. I'll be in touch with this info, thanks! |
You also may try only scheduling it to run on newer nodes, whether by targeting a specific set of nodes or limiting to a certain feature support in your scheduler. AVX2 has been present on all Intel Xeon processors since 2014, and all AMD Epyc processors since 2017, so only servers that are greater than 9 years old should encounter this problem. If your nodes are virtualized I would speculate that some hypervisor configuration could break this as well, I've seen hypervisors not pass through all supported CPU flags into VMs but I'd expect the binary would still run because the support is actually there. |
We got it to run! Just recompiling and then running on Xeon proceesors got it to work, thanks for your detailed response though! I'll be back in case anything else comes up |
Hello,
I'm using STARsolo for aligning/demultiplexing BRB-seq libraries.
These are bulk RNA-seq libraries with a very similar construct to 10x.
I recently saw the new option
--clipAdapterType CellRanger4
which sounds super cool because that's exactly the trimming we were doing.However, when using this option, after loading the genome, it exits with an "Illegal instruction" error:
If I use all other options but this one, the run is successful.
I tried removing some options, in case there would be some incompatibilities, but it kept failing.
Here is the simplest command I've run
Thanks in advance!
The text was updated successfully, but these errors were encountered: