Picard的安装与注意事项

最近想学习下使用GATK所介绍的best practice流程来call SNP流程

最开始按照网上的教程,在BWA比对后,准备用picard来压缩排序sam文件为bam文件,并对bam文件进行duplicates marking,这是就需要用到picard软件

按照教程网页上给的下载路径https://sourceforge.net/projects/picard/,里面是2015年的1.119版本,下载解压缩后,按照官网教程https://broadinstitute.github.io/picard/进行测试时发现,picard竟然无法正常使用

这是查了后才知道,由于picard是java软件,picard-1.119版本却不支持我的电脑上的java 1.8

下面为当前最新版本的下载与安装

下载:https://github.com/broadinstitute/picard/releases/latest

上述网页会提供三个下载文件选项picard.jar,Source code (zip),Source code (tar.gz)

  1. 第一个与后两者有略微不同,其可以直接进行使用,如

    java -jar picard.jar -h
    

    会列出picard所包含的所有的工具以及对应的简介

  2. 后两者需要先解压缩,然后按照下述代码进行安装(先切换到压缩后的文件路径下)

    ./gradlew shadowJar
    java -jar build/libs/picard.jar
    ./gradlew jar
    

    最后也就是生成一个picard.jar文件,跟第一种方法一样了

后续picard使用也就是官网所示的用法了

java jvm-args -jar picard.jar PicardToolName OPTION1=value1 OPTION2=value2...

跟picard-1.119版本不同在于没有在一个文件下中显示所有picard的.jar文件,但是所有文件都可在官网查用处以用法

最后一个小提示

如果使用picard.jar SortSam工具时,报错:java.io.IOException: 设备上没有空间

解决方法:这个不错应该是java生成的临时日记文件太大,其所在路径大小不足以容纳,因此需要额外在一个足够大空间下创建一个tmp文件来存放临时日记(如果不是这个解释的话,先忽略上述解释~~~),然后使用-Dava.io.tmpdir=/home/anlan/tmp,即:

java -Djava.io.tmpdir=/home/anlan/tmp -Xmx10g -jar ~/biosoft/picardtools/picard.jar SortSam I=KPGP-00001_L6.sam O=KPGP-00001_L6.bam SORT_ORDER=coordinate