MarkDuplicates (GATK)报错:打开的文件句柄过多(Too many open files)

使用GATK对bam文件进行去重操作的时候发现报错了

使用GATKbam文件进行去重操作的时候发现报错了:

attachments-2024-02-aAZ3iUjd65d5962754cd2.png

理解了一下应该是程序在读取运行中间文件的时候,超过了Linux操作系统允许的用户IO读取范围,所以查看了一下Linux对于当前用户读取文件数量的软限制:

attachments-2024-02-uudnwDL565d5967207800.png

发现进程最大允许读取的文件数量是1024(默认值)

root用户可以对文件读取的软限制进行临时修改

ulimit -n 3000

修改后:

attachments-2024-02-YNdDOwWn65d596cbc547a.png

如果想要永久修改需要管理员权限,更改系统配置文件:

sudo vi /etc/security/limits.conf

如果不想修改系统配置以适应软件读取的话,GATK提供了参数可以控制读取文件句柄的数量:

attachments-2024-02-podIicuT65d5970fa0352.pngattachments-2024-02-ep2wKVd765d59734e63ed.png

这个参数指定了当读取结束溢出到磁盘时保持打开的最大文件句柄数。一般情况下,设置的这个数字要比每个进程可打开的最大文件数量稍低一些。

所以我们在运行的时候加入该参数对文件读取进行限制:

gatk --java-options '-Xmx50G -XX:ConcGCThreads=2 -XX:ParallelGCThreads=2 -Djava.io.tmpdir=xxx  MarkDuplicates -MAX_FILE_HANDLES 2800 -I bam -O bam -M metrics

然后就可以正常运行啦。

  • 发表于 2024-02-21 14:29
  • 阅读 ( 513 )
  • 分类:转录组

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
每天学习一点点
每天学习一点点

44 篇文章

作家榜 »

  1. omicsgene 691 文章
  2. 安生水 340 文章
  3. Daitoue 167 文章
  4. 生物女学霸 120 文章
  5. 红橙子 78 文章
  6. xun 76 文章
  7. rzx 74 文章
  8. CORNERSTONE 72 文章