I used information from this article.
Picard:
git clone /~https://github.com/broadinstitute/picard.git
cd picard
./gradlew shadowJar
GATK 3.7:
wget https://software.broadinstitute.org/gatk/download/auth?package=GATK-archive&version=3.7-0-gcfedb67
Execute first two steps only in case your BAM is malformed:
- Create Sequence Dictionary
java -jar picard/build/libs/picard.jar CreateSequenceDictionary R=<name.fasta> O=<name.dict>
- Add or Replace Read Groups
java -jar picard/build/libs/picard.jar AddOrReplaceReadGroups I=<bam01.bam> O=<bam01_RG.bam> RGPL=illumina RGLB=lib1 RGPU=unit1 RGSM=2
- Create target intervals
java -jar GenomeAnalysisTK.jar -T RealignerTargetCreator -R <file.fasta> -I <file.bam> -o <name.list>
- Realign reads
java -jar GenomeAnalysisTK.jar -T IndelRealigner -R <file.fasta> -I <file.bam> -targetIntervals <name.list> -o <file_realigned.bam>