@@ -1,17 +1,28 @@ | |||
***After generating all VCF files you want to include in the panel,*** | |||
***you can use bcftools-merge to merge them into a single Panel of Normal VCF.*** | |||
#### Usage | |||
$ open-choppy-env | |||
$ choppy install YaqingLiu/bcftools | |||
```shell | |||
# Enter the Choppy work environment | |||
open-choppy-env | |||
# APP `bcftools-merge` should be installed for the first time | |||
choppy install YaqingLiu/bcftools-merge | |||
# Create input file `samples.json` | |||
touch samples.json | |||
# Submit your job | |||
choppy batch YaqingLiu/bcftools-merge-latest samples.json -p project_name | |||
``` | |||
#### Input File | |||
Input file should be in the form of json. | |||
Input file `samples.json` should be in the form of json. | |||
For example: | |||
``` | |||
```json | |||
{ | |||
"vcf": [ | |||
"oss://choppy-cromwell-result/test-choppy/..._pon.vcf", | |||
"oss://choppy-cromwell-result/test-choppy/..._pon.vcf", | |||
"oss://choppy-cromwell-result/test-choppy/..._pon.vcf" | |||
], | |||
"sample_id": "somatic_normal" | |||
"panel_id": "PON_20200923", | |||
"sample_id": "PON_20200923" | |||
} | |||
``` | |||
``` | |||
*PS: sample_id is necessary for Choppy system* |
@@ -1,6 +1,7 @@ | |||
{ | |||
"{{ project_name }}.vcf": {{ vcf | tojson }}, | |||
"{{ project_name }}.panel_id": {{ panel_id }} | |||
"{{ project_name }}.bcftools_docker": "{{ bcftools_docker }}", | |||
"{{ project_name }}.vcf": {{ vcf | tojson }}, | |||
"{{ project_name }}.disk_size": "{{ disk_size }}", | |||
"{{ project_name }}.cluster_config": "{{ cluster_config }}" | |||
} |
@@ -1,6 +1,7 @@ | |||
task bcftools { | |||
Array[File] vcf | |||
String panel_id | |||
String docker | |||
String cluster_config | |||
String disk_size | |||
@@ -16,7 +17,7 @@ task bcftools { | |||
bcftools index /cromwell_root/tmp/bcftools/$(basename $i.gz) -f | |||
done | |||
bcftools merge -m all -f PASS,. --force-samples /cromwell_root/tmp/bcftools/*.vcf.gz | bcftools plugin fill-AN-AC | bcftools filter -i 'SUM(AC)>1' > panel_of_normal.vcf | |||
bcftools merge -m all -f PASS,. --force-samples /cromwell_root/tmp/bcftools/*.vcf.gz | bcftools plugin fill-AN-AC | bcftools filter -i 'SUM(AC)>1' > ${panel_id}_pon.vcf | |||
>>> | |||
runtime { | |||
@@ -27,6 +28,6 @@ task bcftools { | |||
} | |||
output { | |||
File panel_of_normal_vcf = "panel_of_normal.vcf" | |||
File panel_of_normal_vcf = "${panel_id}_pon.vcf" | |||
} | |||
} |
@@ -6,10 +6,12 @@ workflow {{ project_name }} { | |||
String disk_size | |||
String cluster_config | |||
Array[File] vcf | |||
String panel_id | |||
call bcftools.bcftools as bcftools { | |||
input: | |||
vcf=vcf, | |||
panel_id=panel_id, | |||
docker=bcftools_docker, | |||
disk_size=disk_size, | |||
cluster_config=cluster_config |