VcfMultiToOne

Convert VCF with multiple samples to a VCF with one SAMPLE, duplicating variant and adding the sample name in the INFO column.
Usage
This program is now part of the main jvarkit tool. See jvarkit for compiling.
Usage: java -jar dist/jvarkit.jar vcfmulti2one [options] Files
Usage: vcfmulti2one [options] Files
Options:
--anonymize, -x
anonymize samples
Default: false
--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
-r, --hr, -hr, --discard_hom_ref
discard if variant is hom-ref
Default: false
-c, --nc, -nc, --discard_no_call
discard if variant is no-call
Default: false
-a, --discard_non_available
discard if variant is not available (see htsjdk definition 'available if
the type of this genotype is set')
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].
-o, --out
Output file. Optional . Default: stdout
--version
print version and exit
Keywords
- vcf
- sample
See also in Biostars
Creation Date
20150312
Source code
Unit Tests
Contribute
- Issue Tracker: http://github.com/lindenb/jvarkit/issues
- Source Code: http://github.com/lindenb/jvarkit
License
The project is licensed under the MIT license.
Citing
Should you cite vcfmulti2one ? 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
Input
if there is only one input with the '.list' suffix, it is interpreted as a file containing the path to the vcf files
$ curl -s "http://ftp-trace.ncbi.nih.gov/1000genomes/ftp/release/20130502/ALL.chr1.phase3_shapeit2_mvncall_integrated_v5.20130502.genotypes.vcf.gz" |\
gunzip -c |\
java -jar dist/jvarkit.jar vcfmulti2one -c -r -a |\
grep -v '##' |\
grep -E '(CHROM|SAMPLENAME)' | head | verticalize
>>> 2
$1 #CHROM : 1
$2 POS : 10177
$3 ID : .
$4 REF : A
$5 ALT : AC
$6 QUAL : 100
$7 FILTER : PASS
$8 INFO : AA=|||unknown(NO_COVERAGE);AC=2130;AF=0.425319;AFR_AF=0.4909;AMR_AF=0.3602;AN=5008;DP=103152;EAS_AF=0.3363;EUR_AF=0.4056;NS=2504;SAMPLENAME=HG00096;SAS_AF=0
.4949
$9 FORMAT : GT
$10 SAMPLE : 1|0
<<< 2
>>> 3
$1 #CHROM : 1
$2 POS : 10177
$3 ID : .
$4 REF : A
$5 ALT : AC
$6 QUAL : 100
$7 FILTER : PASS
$8 INFO : AA=|||unknown(NO_COVERAGE);AC=2130;AF=0.425319;AFR_AF=0.4909;AMR_AF=0.3602;AN=5008;DP=103152;EAS_AF=0.3363;EUR_AF=0.4056;NS=2504;SAMPLENAME=HG00097;SAS_AF=0
.4949
$9 FORMAT : GT
$10 SAMPLE : 0|1
<<< 3
>>> 4
$1 #CHROM : 1
$2 POS : 10177
$3 ID : .
$4 REF : A
$5 ALT : AC
$6 QUAL : 100
$7 FILTER : PASS
$8 INFO : AA=|||unknown(NO_COVERAGE);AC=2130;AF=0.425319;AFR_AF=0.4909;AMR_AF=0.3602;AN=5008;DP=103152;EAS_AF=0.3363;EUR_AF=0.4056;NS=2504;SAMPLENAME=HG00099;SAS_AF=0
.4949
$9 FORMAT : GT
$10 SAMPLE : 0|1
<<< 4
>>> 5
$1 #CHROM : 1
$2 POS : 10177
$3 ID : .
$4 REF : A
$5 ALT : AC
$6 QUAL : 100
$7 FILTER : PASS
$8 INFO : AA=|||unknown(NO_COVERAGE);AC=2130;AF=0.425319;AFR_AF=0.4909;AMR_AF=0.3602;AN=5008;DP=103152;EAS_AF=0.3363;EUR_AF=0.4056;NS=2504;SAMPLENAME=HG00100;SAS_AF=0
.4949
$9 FORMAT : GT
$10 SAMPLE : 1|0
<<< 5
>>> 6
$1 #CHROM : 1
$2 POS : 10177
$3 ID : .
$4 REF : A
$5 ALT : AC
$6 QUAL : 100
$7 FILTER : PASS
$8 INFO : AA=|||unknown(NO_COVERAGE);AC=2130;AF=0.425319;AFR_AF=0.4909;AMR_AF=0.3602;AN=5008;DP=103152;EAS_AF=0.3363;EUR_AF=0.4056;NS=2504;SAMPLENAME=HG00102;SAS_AF=0
.4949
$9 FORMAT : GT
$10 SAMPLE : 1|0
<<< 6
>>> 7
$1 #CHROM : 1
$2 POS : 10177
$3 ID : .
$4 REF : A
$5 ALT : AC
$6 QUAL : 100
$7 FILTER : PASS
$8 INFO : AA=|||unknown(NO_COVERAGE);AC=2130;AF=0.425319;AFR_AF=0.4909;AMR_AF=0.3602;AN=5008;DP=103152;EAS_AF=0.3363;EUR_AF=0.4056;NS=2504;SAMPLENAME=HG00103;SAS_AF=0
.4949
$9 FORMAT : GT
$10 SAMPLE : 1|0
<<< 7
>>> 8
$1 #CHROM : 1
$2 POS : 10177
$3 ID : .
$4 REF : A
$5 ALT : AC
$6 QUAL : 100
$7 FILTER : PASS
$8 INFO : AA=|||unknown(NO_COVERAGE);AC=2130;AF=0.425319;AFR_AF=0.4909;AMR_AF=0.3602;AN=5008;DP=103152;EAS_AF=0.3363;EUR_AF=0.4056;NS=2504;SAMPLENAME=HG00105;SAS_AF=0
.4949
$9 FORMAT : GT
$10 SAMPLE : 1|0
<<< 8
>>> 9
$1 #CHROM : 1
$2 POS : 10177
$3 ID : .
$4 REF : A
$5 ALT : AC
$6 QUAL : 100
$7 FILTER : PASS
$8 INFO : AA=|||unknown(NO_COVERAGE);AC=2130;AF=0.425319;AFR_AF=0.4909;AMR_AF=0.3602;AN=5008;DP=103152;EAS_AF=0.3363;EUR_AF=0.4056;NS=2504;SAMPLENAME=HG00106;SAS_AF=0
.4949
$9 FORMAT : GT
$10 SAMPLE : 1|0
<<< 9
>>> 10
$1 #CHROM : 1
$2 POS : 10177
$3 ID : .
$4 REF : A
$5 ALT : AC
$6 QUAL : 100
$7 FILTER : PASS
$8 INFO : AA=|||unknown(NO_COVERAGE);AC=2130;AF=0.425319;AFR_AF=0.4909;AMR_AF=0.3602;AN=5008;DP=103152;EAS_AF=0.3363;EUR_AF=0.4056;NS=2504;SAMPLENAME=HG00114;SAS_AF=0
.4949
$9 FORMAT : GT
$10 SAMPLE : 0|1
<<< 10