Open maggietsui opened 2 years ago
Can you please post the output of: ulimit -a command
Thanks for the quick response!
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 2063554
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 4096
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
It appears that you have standard limit of 1024 for simultaneously open files. Isaac needs more to be able to store data temporarily on the disk.
You need to increase the ulimit -n. I would recommend going to 10240 to make sure the issue does not occur on bigger data set. You might need to have administrative privileges on the box to alter this limit.
R.
Thank you so much, that tip worked and my test sample ran successfully. However, I think there is a problem with my command, as when I tried to run all of my ~100 samples on my cluster, the jobs were using way more CPU cores than I specified. A sysadmin reached out to me:
"Your jobs on Wynton (job ID 570950) were using far more CPU cores than the 8 requested by each task. The process "isaac-align" looked to be trying to use every core in whatever node it was running on. "
Here are the SGE submission parameters I used
#$ -cwd
#$ -pe smp 8
#$ -l mem_free=8G
#$ -l scratch=50G
#$ -l h_rt=48:00:00
#$ -t 1-100
#$ -e /wynton/scratch/mtsui/WASP_step2_logs
#$ -o /wynton/scratch/mtsui/WASP_step2_logs
and here was the isaac align command:
/wynton/home/rotation/mtsui/ASE_project/Isaac4/bin/isaac-align \
-r ~/ASE_project/GRCh38.d1.vd1.fa \
-b $WES_DIR/$patient \
--base-calls-format fastq-gz \
-o $WES_DIR/$patient \
-t $TMPDIR \
-m 60
is there a parameter that I should be using to limit the amount of cores used? Would adding --jobs 8 fix this issue?
Yep. That's what it does. It was designed to take maximum advantage of the hardware. The -j will limit the number of threads that do heavy compute, but it will not have effect on idle threads or those that are designated for io. So it will allocate more.
The -j is mainly to debug for hardware bottlenecks. Not sure if it will help you make sysadmins happy.
Best strategy is to submit one isaac-align process per node and let it use the entire box. You can also play with multiple samples per run using --sample-sheet parameter. This would save time if the individual samples are small relatively to the startup cost.
Another tip is to make sure --temp-directory points to a fast low-latency local storage such as SSD.
R.
Hi,
I am testing isaac-align on one WGS sample and this is the command I used
It appears to run fine and then I get a "Failed to allocate a file handle" error. I included the last lines of the error log here:
Any suggestions would be appreciated, thanks!!
Maggie