Sort a VCF using the internal dictionary or an external reference order (Deprecated: use bcftools sort).
use picard sortvcf
Usage: sortvcfonref2 [options] Files
Options:
--bcf-output
If this program writes a VCF to a file, The format is first guessed from
the file suffix. Otherwise, force BCF output. The current supported BCF
version is : 2.1 which is not compatible with bcftools/htslib (last
checked 2019-11-15)
Default: false
--generate-vcf-md5
Generate MD5 checksum for VCF output.
Default: false
-h, --help
print help and exit
--helpFormat
What kind of help. One of [usage,markdown,xml].
--maxRecordsInRam
When writing files that need to be sorted, this will specify the number
of records stored in RAM before spilling to disk. Increasing this number
reduces the number of file handles needed to sort a file, and increases
the amount of RAM needed
Default: 50000
-o, --out
Output file. Optional . Default: stdout
-R, --reference
Indexed fasta Reference file. This file must be indexed with samtools
faidx and with picard CreateSequenceDictionary
--tmpDir
tmp working directory. Default: java.io.tmpDir
Default: []
--version
print version and exit
${PATH}
. Setting JAVA_HOME is not enough : (e.g: https://github.com/lindenb/jvarkit/issues/23 )$ git clone "https://github.com/lindenb/jvarkit.git"
$ cd jvarkit
$ ./gradlew sortvcfonref2
The java jar file will be installed in the dist
directory.
The project is licensed under the MIT license.
Should you cite sortvcfonref2 ? https://github.com/mr-c/shouldacite/blob/master/should-I-cite-this-software.md
The current reference is:
http://dx.doi.org/10.6084/m9.figshare.1425030
Lindenbaum, Pierre (2015): JVarkit: java-based utilities for Bioinformatics. figshare. http://dx.doi.org/10.6084/m9.figshare.1425030
Use picard SortVcf http://broadinstitute.github.io/picard/command-line-overview.html#SortVcf.
Use bcftools sort
cat input.vcf |\
java -jar dist/sortvcfonref2.jar -R ref.fa |\
bgzip -c > result.vcf.gz && \
tabix -p vcf -f result.vcf.gz