I have seen a lot of misinformation in this thread about Mac M1 systems. I feel the need to address these as an new answer rather than a comment.
First, I have yet to see a command line tool that did not run on M1. Perhaps those with GUIs do not.
There is no need to compile to ARM! Even with that invisible translation layer, a tool written for X64 CPU runs much-much faster on M1 than on its native processor!
In the biostar handbook I have an installation script where a single command(!) bootstraps a fully operational bioinformation environment in about 5 minutes (it all depends on your network speed actually).
Installs everything, sets proper promts, paths, conda, mamba, creates a custom environment bioinfo
filled with the most common bioinformatics tools, boom, in just a single command. Runs the same way on Mac and Linux, and is my go-to script to bootstrap environments in general.
The environment comes with a doctor.py
script that checks that the installation is complete. Everything runs on M1 without explicitly invoking the Rosetta environment. Here is the relevant output:
ialbert@yolo ~
$ conda activate bioinfo
(bioinfo)
ialbert@yolo ~
$ uname -a
Darwin yolo.local 21.5.0 Darwin Kernel Version 21.5.0: Tue Apr 26 21:08:29 PDT 2022;
root:xnu-8020.121.3~4/RELEASE_ARM64_T8101 x86_64
(bioinfo)
ialbert@yolo ~
$ ~/bin/doctor.py
# Doctor! Doctor! Give me the news.
# Checking 15 symptoms...
# bwa ... OK
# datamash ... OK
# fastqc -h ... OK
# hisat2 ... OK
# seqret -h ... OK
# featureCounts ... OK
# efetch ... OK
# esearch ... OK
# samtools ... OK
# fastq-dump ... OK
# bowtie2 ... OK
# bcftools ... OK
# seqtk ... OK
# seqkit ... OK
# bio ... OK
# You are doing well!
The installation script and the doctor were all developed in the trenches, over many years, addressing the problems people actually had, while teaching the command line to people that never used the command line before. It is robust, battle-tested and it works.
M1 is the progress in technology that we all needed. The M1 is the huge leap forward, out of the rut of incrementally better Intel CPUs at increasingly ridiculous power use and cost. This is why Apple is now worth Google+Facebook+Amazon combined! They are producing the true innovation.
Deliberately avoiding the M1 for some silly reason, is like a caveman refusing to use the wheel because the old-style of pushing and dragging still "works" and they are all "used to it".
Sorry this isn't a specific laptop recommendation, but I believe investing in RAM over GPU is a better idea. Having abundant RAM and never accidentally using swap memory that slow down processes loading lots of data into memory (many bioinformatic processes) in general seems like the way to go.
Curious what others think about the dedicated GPU question - I think bioinformatic applications that harness the GPU are more experimental for things like NVIDIA's parabricks and do not have lots of wide-spread application, as in writing something reliant on GPU might prevent others from using your tool. If people are regularly using applications dependent, or significantly sped up with a dedicated GPU, please let me know.
Thanks a lot for the help David
right now the emphasis and interest in GPUs mostly centers on running/using certain kinds of machine learning algorithms that can exploit them.
if by 'bioinformatics' you definitely mean to include machine learning applications, then probably youd want to balance the two. if however youll divide time between NGS data analysis, R, GSEA, large file parsing, etc. as well as ML applications, go with extra RAM.
Please clarify if you intend to use this laptop as your sole computer or you will have access to other compute resources (central IT/cloud etc) for doing the heavy lifting.
If $1000 is your budget then that is what you have to work with. Unless portability is a must, you may also want to look at a desktop solution (AMD CPU's are well priced) as well.
Certain discrete ("dedicated") GPUs will allow you to do machine learning. But you'll have to adjust your budget upwards by another couple grand and it will add to delivery time.