最近利用GATK4分析数据数据,遇到Unable to load libgkl_compression.so from native/libgkl_compression.so (No space left on device)的报错信息,查阅一些资料后,特将解决方案记录在此。
运行命令:
gatk MarkDuplicates --REMOVE_DUPLICATES true -I test.bwa.sort.bam -O test.bwa.sort.rmmarkdup.bam -M test.markdup.metrics
出现的报错信息如下:
Using GATK jar /miniconda3/share/gatk4-4.2.0.0-0/gatk-package-4.2.0.0-local.jar
Running:
java -Dsamjdk.use_async_io_read_samtools=false -Dsamjdk.use_async_io_write_samtools=true -Dsamjdk.use_async_io_write_tribble=false -Dsamjdk.compression_level=2 -jar /miniconda3/share/gatk4-4.2.0.0-0/gatk-package-4.2.0.0-local.jar MarkDuplicates --REMOVE_DUPLICATES true -I UDI1247.bwa.sort.bam -O UDI1247.bwa.sort.rmmarkdup.bam -M UDI1247.markdup.metrics
16:19:18.478 INFO NativeLibraryLoader - Loading libgkl_compression.so from jar:file:/miniconda3/share/gatk4-4.2.0.0-0/gatk-package-4.2.0.0-local.jar!/com/intel/gkl/native/libgkl_compression.so
16:19:18.511 WARN NativeLibraryLoader - Unable to load libgkl_compression.so from native/libgkl_compression.so (No space left on device)
16:19:18.512 INFO NativeLibraryLoader - Loading libgkl_compression.so from jar:file:/miniconda3/share/gatk4-4.2.0.0-0/gatk-package-4.2.0.0-local.jar!/com/intel/gkl/native/libgkl_compression.so
16:19:18.513 WARN NativeLibraryLoader - Unable to load libgkl_compression.so from native/libgkl_compression.so (No space left on device)
[Wed Mar 24 16:19:18 CST 2021] MarkDuplicates --INPUT test.bwa.sort.bam --OUTPUT test.bwa.sort.rmmarkdup.bam --METRICS_FILE test.markdup.metrics --REMOVE_DUPLICATES true --MAX_SEQUENCES_FOR_DISK_READ_ENDS_MAP 50000 --MAX_FILE_HANDLES_FOR_READ_ENDS_MAP 8000 --SORTING_COLLECTION_SIZE_RATIO 0.25 --TAG_DUPLICATE_SET_MEMBERS false --REMOVE_SEQUENCING_DUPLICATES false --TAGGING_POLICY DontTag --CLEAR_DT true --DUPLEX_UMI false --ADD_PG_TAG_TO_READS true --ASSUME_SORTED false --DUPLICATE_SCORING_STRATEGY SUM_OF_BASE_QUALITIES --PROGRAM_RECORD_ID MarkDuplicates --PROGRAM_GROUP_NAME MarkDuplicates --READ_NAME_REGEX <optimized capture of last three ':' separated fields as numeric values> --OPTICAL_DUPLICATE_PIXEL_DISTANCE 100 --MAX_OPTICAL_DUPLICATE_SET_SIZE 300000 --VERBOSITY INFO --QUIET false --VALIDATION_STRINGENCY STRICT --COMPRESSION_LEVEL 2 --MAX_RECORDS_IN_RAM 500000 --CREATE_INDEX false --CREATE_MD5_FILE false --GA4GH_CLIENT_SECRETS client_secrets.json --help false --version false --showHidden false --USE_JDK_DEFLATER false --USE_JDK_INFLATER false
Mar 24, 2021 4:19:18 PM shaded.cloud_nio.com.google.auth.oauth2.ComputeEngineCredentials runningOnComputeEngine
INFO: Failed to detect whether we are running on Google Compute Engine.
[Wed Mar 24 16:19:18 CST 2021] Executing as xiaob@RDServer on Linux 4.4.243-1.el6.elrepo.x86_64 amd64; OpenJDK 64-Bit Server VM 1.8.0_282-b08; Deflater: Jdk; Inflater: Jdk; Provider GCS is available; Picard version: Version:4.2.0.0
INFO 2021-03-24 16:19:18 MarkDuplicates Start of doWork freeMemory: 2548815480; totalMemory: 2574778368; maxMemory: 28631367680
INFO 2021-03-24 16:19:18 MarkDuplicates Reading input file and constructing read end information.
INFO 2021-03-24 16:19:18 MarkDuplicates Will retain up to 103736839 data points before spilling to disk.
16:19:19.208 WARN IntelDeflaterFactory - IntelInflater is not supported, using Java.util.zip.Inflater
[Wed Mar 24 16:19:22 CST 2021] picard.sam.markduplicates.MarkDuplicates done. Elapsed time: 0.07 minutes.
Runtime.totalMemory()=2736783360
To get help, see http://broadinstitute.github.io/picard/index.html#GettingHelp
htsjdk.samtools.SAMException: Could not create temporary directory /tmp/xiaob/CSPI.4509444900752321540.tmp
at htsjdk.samtools.util.IOUtil.createTempDir(IOUtil.java:992)
at htsjdk.samtools.CoordinateSortedPairInfoMap.<init>(CoordinateSortedPairInfoMap.java:59)
at picard.sam.markduplicates.util.DiskBasedReadEndsForMarkDuplicatesMap.<init>(DiskBasedReadEndsForMarkDuplicatesMap.java:57)
at picard.sam.markduplicates.MarkDuplicates.buildSortedReadEndLists(MarkDuplicates.java:511)
at picard.sam.markduplicates.MarkDuplicates.doWork(MarkDuplicates.java:257)
at picard.cmdline.CommandLineProgram.instanceMain(CommandLineProgram.java:308)
at org.broadinstitute.hellbender.cmdline.PicardCommandLineProgramExecutor.instanceMain(PicardCommandLineProgramExecutor.java:37)
at org.broadinstitute.hellbender.Main.runCommandLineProgram(Main.java:160)
at org.broadinstitute.hellbender.Main.mainEntry(Main.java:203)
at org.broadinstitute.hellbender.Main.main(Main.java:289)
主要提示存储不够,用df -h检查了空间是有的,根据论坛Error: Unable to load libgkl_compression.so from native/libgkl_compression.so (No space left on device) – GATK (broadinstitute.org)提示,猜测可能软件默认了一个TMP DIR,查阅MarkDuplicates (Picard) – GATK (broadinstitute.org)的参数列表,设置一个空间足够的TMP DIR,运行命令如下:
gatk MarkDuplicates --REMOVE_DUPLICATES true -I UDI1247.bwa.sort.bam -O UDI1247.bwa.sort.rmmarkdup.bam -M UDI1247.markdup.metrics --TMP_DIR /temp
如此顺利运行
网友评论