Bladeren bron

1500bp

master
LUYAO REN 4 jaren geleden
bovenliggende
commit
9e62b71018
12 gewijzigde bestanden met toevoegingen van 288 en 442 verwijderingen
  1. +32
    -0
      codescripts/get_flanking_region.py
  2. +58
    -18
      codescripts/get_sv_region.sh
  3. +96
    -0
      codescripts/split_filtered_voted.py
  4. +0
    -42
      codescripts/vcf2bed.py
  5. +5
    -66
      inputs
  6. +0
    -33
      tasks/MIEpos2bed.wdl
  7. +46
    -19
      tasks/bedAnnotation.wdl
  8. +0
    -114
      tasks/bedCoverage.wdl
  9. +0
    -104
      tasks/diffBed.wdl
  10. +6
    -10
      tasks/mergeBed.wdl
  11. +32
    -0
      tasks/vcf2bed.wdl
  12. +13
    -36
      workflow.wdl

+ 32
- 0
codescripts/get_flanking_region.py Bestand weergeven

@@ -0,0 +1,32 @@
import pandas as pd
import sys, argparse, os


# input arguments
parser = argparse.ArgumentParser(description="This script is to get 1500bp surround SV breakpoint,")

parser.add_argument('-SV', '--SV_bed_file', type=str, help='The SV breakpoint bed file', required=True)
parser.add_argument('-prefix', '--prefix', type=str, help='The prefix of output file', required=True)


args = parser.parse_args()
SV = args.SV_bed_file
prefix = args.prefix


sv = pd.read_table(SV,header=None)
# left
for i in range(50,1550,50):
sv.iloc[:,2] = sv.iloc[:,1]
sv.iloc[:,1] = sv.iloc[:,1] - 50
file_name = prefix + '.' + str(i) + '.left.bed'
sv.to_csv(file_name,sep="\t",index=0,header=None)


sv = pd.read_table(SV,header=None)
# right
for i in range(50,1550,50):
sv.iloc[:,1] = sv.iloc[:,2]
sv.iloc[:,2] = sv.iloc[:,2] + 50
file_name = prefix + '.' + str(i) + '.right.bed'
sv.to_csv(file_name,sep="\t",index=0,header=None)

+ 58
- 18
codescripts/get_sv_region.sh Bestand weergeven

@@ -23,6 +23,7 @@ cat SV.DUP | awk '{print $1 "\t" $3 "\t" ($3 + 500)}' > sv.dup.break.point.righ
cat sv.dup.break.point.left sv.dup.break.point.right | grep -v 'chrM' | sort -k1,1 -k2,2n > sv.dup.break.point.500.bed



cat SV.INS | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.50
cat sv.ins.left.50 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.100
cat sv.ins.left.100 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.150
@@ -32,8 +33,33 @@ cat sv.ins.left.250 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.300
cat sv.ins.left.300 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.350
cat sv.ins.left.350 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.400

cat sv.ins.left.400 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.450
cat sv.ins.left.450 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.500
cat sv.ins.left.500 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.550
cat sv.ins.left.550 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.600
cat sv.ins.left.600 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.650
cat sv.ins.left.650 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.700
cat sv.ins.left.700 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.750
cat sv.ins.left.750 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.800
cat sv.ins.left.800 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.850
cat sv.ins.left.850 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.900
cat sv.ins.left.900 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.950
cat sv.ins.left.950 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.1000
cat sv.ins.left.1000 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.1050
cat sv.ins.left.1050 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.1100
cat sv.ins.left.1100 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.1150
cat sv.ins.left.1150 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.1200
cat sv.ins.left.1200 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.1250
cat sv.ins.left.1250 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.1300
cat sv.ins.left.1300 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.1350
cat sv.ins.left.1350 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.1400
cat sv.ins.left.1400 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.1450
cat sv.ins.left.1450 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.1500




cat SV.INS | awk '{print $1"\t"$3 "\t" ($3 + 50)}' > sv.ins.right.50
cat SV.INS | awk '{print $1"\t"$2 "\t" ($2 + 50)}' > sv.ins.right.50
cat sv.ins.right.50 | awk '{print $1"\t"$3 "\t" ($3 + 50)}' > sv.ins.right.100
cat sv.ins.right.100 | awk '{print $1"\t"$3 "\t" ($3 + 50)}' > sv.ins.right.150
cat sv.ins.right.150 | awk '{print $1"\t"$3 "\t" ($3 + 50)}' > sv.ins.right.200
@@ -42,26 +68,33 @@ cat sv.ins.right.250 | awk '{print $1"\t"$3 "\t" ($3 + 50)}' > sv.ins.right.300
cat sv.ins.right.300 | awk '{print $1"\t"$3 "\t" ($3 + 50)}' > sv.ins.right.350
cat sv.ins.right.350 | awk '{print $1"\t"$3 "\t" ($3 + 50)}' > sv.ins.right.400

cat sv.ins.right.400 | awk '{print $1"\t"$3 "\t" ($3 + 50)}' > sv.ins.right.450
cat sv.ins.right.450 | awk '{print $1"\t"$3 "\t" ($3 + 50)}' > sv.ins.right.500
cat sv.ins.right.500 | awk '{print $1"\t"$3 "\t" ($3 + 50)}' > sv.ins.right.550
cat sv.ins.right.550 | awk '{print $1"\t"$3 "\t" ($3 + 50)}' > sv.ins.right.600
cat sv.ins.right.600 | awk '{print $1"\t"$3 "\t" ($3 + 50)}' > sv.ins.right.650
cat sv.ins.right.650 | awk '{print $1"\t"$3 "\t" ($3 + 50)}' > sv.ins.right.700
cat sv.ins.right.700 | awk '{print $1"\t"$3 "\t" ($3 + 50)}' > sv.ins.right.750
cat sv.ins.right.750 | awk '{print $1"\t"$3 "\t" ($3 + 50)}' > sv.ins.right.800
cat sv.ins.right.800 | awk '{print $1"\t"$3 "\t" ($3 + 50)}' > sv.ins.right.850
cat sv.ins.right.850 | awk '{print $1"\t"$3 "\t" ($3 + 50)}' > sv.ins.right.900
cat sv.ins.right.900 | awk '{print $1"\t"$3 "\t" ($3 + 50)}' > sv.ins.right.950
cat sv.ins.right.950 | awk '{print $1"\t"$3 "\t" ($3 + 50)}' > sv.ins.right.1000













cat SV.INS | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.50
cat sv.ins.left.50 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.100
cat sv.ins.left.100 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.150
cat sv.ins.left.150 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.200
cat sv.ins.left.200 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.250
cat sv.ins.left.250 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.300
cat sv.ins.left.300 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.350
cat sv.ins.left.350 | awk '{print $1 "\t" ($2 - 50) "\t" $2}' > sv.ins.left.400


cat SV.INS | awk '{print $1"\t"$2 "\t" ($2 + 50)}' > sv.ins.right.50
cat sv.ins.right.50 | awk '{print $1"\t"$2 "\t" ($2 + 50)}' > sv.ins.right.100
cat sv.ins.right.100 | awk '{print $1"\t"$2 "\t" ($2 + 50)}' > sv.ins.right.150
cat sv.ins.right.150 | awk '{print $1"\t"$2 "\t" ($2 + 50)}' > sv.ins.right.200
cat sv.ins.right.200 | awk '{print $1"\t"$2 "\t" ($2 + 50)}' > sv.ins.right.250
cat sv.ins.right.250 | awk '{print $1"\t"$2 "\t" ($2 + 50)}' > sv.ins.right.300
cat sv.ins.right.300 | awk '{print $1"\t"$2 "\t" ($2 + 50)}' > sv.ins.right.350
cat sv.ins.right.350 | awk '{print $1"\t"$2 "\t" ($2 + 50)}' > sv.ins.right.400



@@ -87,12 +120,19 @@ cat sv.del.right.350 | awk '{print $1 "\t" $3 "\t" ($3 + 50)}' > sv.del.right.40



bedtools subtract -a GRCh38.bed -b diff.merged.bed > easy_region.bed


python /mnt/pgx_src_data_pool_4/home/renluyao/manuscript/SV/count_bed.py LCL5.high.confidence.bed

bedtools intersect -a LCL5.high.confidence.bed -b /mnt/pgx_src_data_pool_4/home/renluyao/Quartet/GIAB/NA12878_HG001/HG001_GRCh38_GIAB_highconf_CG-IllFB-IllGATKHC-Ion-10X-SOLID_CHROM1-X_v.3.3.2_highconf_nosomaticdel_noCENorHET7.bed > LCL5.nist.common.bed
bedtools intersect -a LCL6.high.confidence.bed -b /mnt/pgx_src_data_pool_4/home/renluyao/Quartet/GIAB/NA12878_HG001/HG001_GRCh38_GIAB_highconf_CG-IllFB-IllGATKHC-Ion-10X-SOLID_CHROM1-X_v.3.3.2_highconf_nosomaticdel_noCENorHET7.bed > LCL6.nist.common.bed
bedtools intersect -a LCL7.high.confidence.bed -b /mnt/pgx_src_data_pool_4/home/renluyao/Quartet/GIAB/NA12878_HG001/HG001_GRCh38_GIAB_highconf_CG-IllFB-IllGATKHC-Ion-10X-SOLID_CHROM1-X_v.3.3.2_highconf_nosomaticdel_noCENorHET7.bed > LCL7.nist.common.bed
bedtools intersect -a LCL8.high.confidence.bed -b /mnt/pgx_src_data_pool_4/home/renluyao/Quartet/GIAB/NA12878_HG001/HG001_GRCh38_GIAB_highconf_CG-IllFB-IllGATKHC-Ion-10X-SOLID_CHROM1-X_v.3.3.2_highconf_nosomaticdel_noCENorHET7.bed > LCL8.nist.common.bed

bedtools intersect -a LCL5.high.confidence.bed -b ensembl.bed > LCL5.ensembl.bed


rtg vcffilter -i clinivar.chr.vcf.gz -o clinivar.chr.LCL5.vcf.gz --include-bed=LCL5.high.confidence.bed




+ 96
- 0
codescripts/split_filtered_voted.py Bestand weergeven

@@ -0,0 +1,96 @@
import pandas as pd
import os
import sys, argparse, os


# input arguments
parser = argparse.ArgumentParser(description="this script is to exclude indel over 50bp")

parser.add_argument('-a', '--sample_vcf', type=str, help='All variants from a specific sample', required=True)
parser.add_argument('-f', '--filtered', type=str, help='Filtered variants', required=True)
parser.add_argument('-v', '--voted', type=str, help='Voted variants by replicates', required=True)
parser.add_argument('-p', '--prefix', type=str, help='Prefix of output file', required=True)



args = parser.parse_args()
vcf = args.sample_vcf
filtered = args.filtered
voted = args.voted
prefix = args.prefix

vcf_dat = pd.read_table(vcf,header=None)
filtered_dat = pd.read_table(filtered,header=None)
voted_dat = pd.read_table(voted,header=None)
merged_filtered_df = pd.merge(vcf_dat, filtered_dat, how='inner', left_on=[0,1], right_on = [0,1])
merged_voted_df = pd.merge(vcf_dat, voted_dat, how='inner', left_on=[0,1], right_on = [0,1])

filtered_name = prefix + '.filtered.bed'
filtered_file = open(filtered_name,'w')

voted_name = prefix + '.voted.bed'
voted_file = open(voted_name,'w')


for row in merged_filtered_df.itertuples():
if ',' in row._4:
alt_strings = row._4.split(',')
alt_len = [len(i) for i in alt_strings]
alt = max(alt_len)
else:
alt = len(row._4)
ref = row._3
pos = row._2
if len(ref) == 1 and alt == 1:
StartPos = int(pos) -1
EndPos = int(pos)
cate = 'SNV'
elif len(ref) > alt:
StartPos = int(pos) - 1
EndPos = int(pos) + (len(ref) - 1)
cate = 'INDEL'
elif alt > len(ref):
StartPos = int(pos) - 1
EndPos = int(pos) + (alt - 1)
cate = 'INDEL'
elif len(ref) == alt:
StartPos = int(pos) - 1
EndPos = int(pos) + (alt - 1)
cate = 'INDEL'
outline = row._1 + '\t' + str(StartPos) + '\t' + str(EndPos) + '\t' + cate + '\t' + row._5 +'\n'
filtered_file.write(outline)

for row in merged_voted_df.itertuples():
if ',' in row._4:
alt_strings = row._4.split(',')
alt_len = [len(i) for i in alt_strings]
alt = max(alt_len)
else:
alt = len(row._4)
ref = row._3
pos = row._2
if len(ref) == 1 and alt == 1:
StartPos = int(pos) -1
EndPos = int(pos)
cate = 'SNV'
elif len(ref) > alt:
StartPos = int(pos) - 1
EndPos = int(pos) + (len(ref) - 1)
cate = 'INDEL'
elif alt > len(ref):
StartPos = int(pos) - 1
EndPos = int(pos) + (alt - 1)
cate = 'INDEL'
elif len(ref) == alt:
StartPos = int(pos) - 1
EndPos = int(pos) + (alt - 1)
cate = 'INDEL'
outline = row._1 + '\t' + str(StartPos) + '\t' + str(EndPos) + '\t' + cate + '\t' + row._5 +'\n'
voted_file.write(outline)








+ 0
- 42
codescripts/vcf2bed.py Bestand weergeven

@@ -1,42 +0,0 @@
import sys,getopt
import os
import fileinput
outFile = open(sys.argv[2],'w')
for line in fileinput.input(sys.argv[1]):
line = line.rstrip()
strings = line.strip().split('\t')
#d5
if ',' in strings[6]:
alt_strings = strings[6].split(',')
alt_len = [len(i) for i in alt_strings]
alt = max(alt_len)
else:
alt = len(strings[6])
ref = strings[5]
pos = int(strings[1])
if len(ref) == 1 and alt == 1:
StartPos = int(pos) -1
EndPos = int(pos)
cate = 'SNV'
elif len(ref) > alt:
StartPos = int(pos) - 1
EndPos = int(pos) + (len(ref) - 1)
cate = 'INDEL'
elif alt > len(ref):
StartPos = int(pos) - 1
EndPos = int(pos) + (alt - 1)
cate = 'INDEL'
elif len(ref) == alt:
StartPos = int(pos) - 1
EndPos = int(pos) + (alt - 1)
cate = 'INDEL'
outline = '\t'.join(strings) + '\t' + str(StartPos) + '\t' + str(EndPos) + '\t' + cate + '\n'
outFile.write(outline)









+ 5
- 66
inputs Bestand weergeven

@@ -1,71 +1,10 @@
{
"{{ project_name }}.INS_bedAnnotation.right_150": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/INS_break_points/sv.ins.right.150",
"{{ project_name }}.INS_bedAnnotation.left_400": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/INS_break_points/sv.ins.left.400",
"{{ project_name }}.INS_bedCoverage.right_200": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/INS_break_points/sv.ins.right.200",
"{{ project_name }}.INS_bedCoverage.right_100": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/INS_break_points/sv.ins.right.100",
"{{ project_name }}.INS_bedAnnotation.left_350": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/INS_break_points/sv.ins.left.350",
"{{ project_name }}.INS_bedAnnotation.right_200": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/INS_break_points/sv.ins.right.200",
"{{ project_name }}.MIEpos2bed.docker": "registry-vpc.cn-shanghai.aliyuncs.com/pgx-docker-registry/high_confidence_call_manuscript:v1.4",
"{{ project_name }}.INS_bedCoverage.docker": "registry-internal.cn-shanghai.aliyuncs.com/pgx-docker-registry/bedtools:v2.27.1",
"{{ project_name }}.diffBed.docker": "registry-internal.cn-shanghai.aliyuncs.com/pgx-docker-registry/bedtools:v2.27.1",
"{{ project_name }}.INS_bedCoverage.left_400": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/INS_break_points/sv.ins.left.400",
"{{ project_name }}.INS_bedAnnotation.left_300": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/INS_break_points/sv.ins.left.300",
"{{ project_name }}.INS_bedCoverage.right_400": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/INS_break_points/sv.ins.right.400",
"{{ project_name }}.disk_size": "100",
"{{ project_name }}.DEL_bedCoverage.right_150": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/DEL_break_points/sv.del.right.150",
"{{ project_name }}.DEL_bedCoverage.left_400": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/DEL_break_points/sv.del.left.400",
"{{ project_name }}.DEL_bedCoverage.left_200": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/DEL_break_points/sv.del.left.200",
"{{ project_name }}.INS_bedAnnotation.left_200": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/INS_break_points/sv.ins.left.200",
"{{ project_name }}.INS_bedCoverage.right_50": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/INS_break_points/sv.ins.right.50",
"{{ project_name }}.INS_bedAnnotation.right_300": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/INS_break_points/sv.ins.right.300",
"{{ project_name }}.INS_bedAnnotation.right_350": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/INS_break_points/sv.ins.right.350",
"{{ project_name }}.disk_size": "200",
"{{ project_name }}.bedAnnotation.docker": "registry-internal.cn-shanghai.aliyuncs.com/pgx-docker-registry/bedtools:v2.27.1",
"{{ project_name }}.inputSamplesFile": "{{ inputSamplesFile }}",
"{{ project_name }}.DEL_bedCoverage.left_350": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/DEL_break_points/sv.del.left.350",
"{{ project_name }}.diffBed.centromere": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/centro_pericentro_region.bed",
"{{ project_name }}.diffBed.sv_tra_bp": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/sv.tra.break.point.500.bed",
"{{ project_name }}.diffBed.sv_del": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/SV.DEL",
"{{ project_name }}.INS_bedAnnotation.right_50": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/INS_break_points/sv.ins.right.50",
"{{ project_name }}.sample_name": "{{ sample_name }}",
"{{ project_name }}.DEL_bedCoverage.right_200": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/DEL_break_points/sv.del.right.200",
"{{ project_name }}.INS_bedCoverage.left_250": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/INS_break_points/sv.ins.left.250",
"{{ project_name }}.INS_bedCoverage.left_150": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/INS_break_points/sv.ins.left.150",
"{{ project_name }}.INS_bedAnnotation.left_150": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/INS_break_points/sv.ins.left.150",
"{{ project_name }}.INS_bedAnnotation.right_400": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/INS_break_points/sv.ins.right.400",
"{{ project_name }}.INS_bedCoverage.right_150": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/INS_break_points/sv.ins.right.150",
"{{ project_name }}.DEL_bedCoverage.right_250": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/DEL_break_points/sv.del.right.250",
"{{ project_name }}.DEL_bedCoverage.right_300": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/DEL_break_points/sv.del.right.300",
"{{ project_name }}.diffBed.sv_ins_bp": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/sv.ins.break.point.500.bed",
"{{ project_name }}.diffBed.sv_inv": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/SV.INV",
"{{ project_name }}.INS_bedCoverage.left_350": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/INS_break_points/sv.ins.left.350",
"{{ project_name }}.INS_bedAnnotation.right_250": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/INS_break_points/sv.ins.right.250",
"{{ project_name }}.DEL_bedCoverage.left_100": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/DEL_break_points/sv.del.left.100",
"{{ project_name }}.DEL_bedCoverage.left_250": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/DEL_break_points/sv.del.left.250",
"{{ project_name }}.INS_bedCoverage.left_300": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/INS_break_points/sv.ins.left.300",
"{{ project_name }}.DEL_bedCoverage.right_100": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/DEL_break_points/sv.del.right.100",
"{{ project_name }}.INS_bedAnnotation.left_250": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/INS_break_points/sv.ins.left.250",
"{{ project_name }}.diffBed.lcr": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/btu356_LCR-hs38.bed",
"{{ project_name }}.INS_bedCoverage.left_50": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/INS_break_points/sv.ins.left.50",
"{{ project_name }}.DEL_bedCoverage.left_50": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/DEL_break_points/sv.del.left.50",
"{{ project_name }}.INS_bedCoverage.right_300": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/INS_break_points/sv.ins.right.300",
"{{ project_name }}.INS_bedCoverage.right_250": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/INS_break_points/sv.ins.right.250",
"{{ project_name }}.breakpoint_directory": "{{ breakpoint_directory }}",
"{{ project_name }}.cluster_config": "OnDemand bcs.a2.xlarge img-ubuntu-vpc",
"{{ project_name }}.INS_bedAnnotation.left_100": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/INS_break_points/sv.ins.left.100",
"{{ project_name }}.mergeBed.docker": "registry-internal.cn-shanghai.aliyuncs.com/pgx-docker-registry/bedtools:v2.27.1",
"{{ project_name }}.diffBed.sv_dup_bp": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/sv.dup.break.point.500.bed",
"{{ project_name }}.DEL_bedCoverage.docker": "registry-internal.cn-shanghai.aliyuncs.com/pgx-docker-registry/bedtools:v2.27.1",
"{{ project_name }}.diffBed.sv_del_bp": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/sv.del.break.point.500.bed",
"{{ project_name }}.DEL_bedCoverage.left_150": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/DEL_break_points/sv.del.left.50",
"{{ project_name }}.INS_bedCoverage.right_350": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/INS_break_points/sv.ins.right.350",
"{{ project_name }}.DEL_bedCoverage.right_350": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/DEL_break_points/sv.del.right.350",
"{{ project_name }}.INS_bedCoverage.left_200": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/INS_break_points/sv.ins.left.200",
"{{ project_name }}.DEL_bedCoverage.right_400": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/DEL_break_points/sv.del.right.400",
"{{ project_name }}.INS_bedCoverage.left_100": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/INS_break_points/sv.ins.left.100",
"{{ project_name }}.diffBed.sv_dup": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/SV.DUP",
"{{ project_name }}.INS_bedAnnotation.docker": "registry-internal.cn-shanghai.aliyuncs.com/pgx-docker-registry/bedtools:v2.27.1",
"{{ project_name }}.diffBed.easy_region": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/easy_region.bed",
"{{ project_name }}.diffBed.sv_inv_bp": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/sv.inv.break.point.500.bed",
"{{ project_name }}.INS_bedAnnotation.right_100": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/INS_break_points/sv.ins.right.100",
"{{ project_name }}.DEL_bedCoverage.left_300": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/DEL_break_points/sv.del.left.300",
"{{ project_name }}.INS_bedAnnotation.left_50": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/INS_break_points/sv.ins.left.50",
"{{ project_name }}.DEL_bedCoverage.right_50": "oss://pgx-result/renluyao/manuscript/bedregion_snp_distrubution/DEL_break_points/sv.del.right.50"
"{{ project_name }}.mergeBed.docker": "registry-vpc.cn-shanghai.aliyuncs.com/pgx-docker-registry/high_confidence_call_manuscript:v1.4",
"{{ project_name }}.vcf2bed.docker": "registry-vpc.cn-shanghai.aliyuncs.com/pgx-docker-registry/high_confidence_call_manuscript:v1.4"
}

+ 0
- 33
tasks/MIEpos2bed.wdl Bestand weergeven

@@ -1,33 +0,0 @@
task MIEpos2bed {
File mie_file
String chromo
String sample_name
String docker
String cluster_config
String disk_size
command <<<

python /opt/vcf2bed.py ${mie_file} ${sample_name}.${chromo}.info.txt

cat ${sample_name}.${chromo}.info.txt | grep -v '0:4:4' | grep -v '1:4:4' | awk '{ if ($3 != 0) { print } }' | cut -f1,8,9 > ${sample_name}.${chromo}.allvariants.bed

cat ${sample_name}.${chromo}.info.txt | grep -v '0:4:4' | grep -v '1:4:4' | awk '{ if ($3 != 0) { print } }' | grep 'MIE' | cut -f1,8,9 > ${sample_name}.${chromo}.mie.bed

cat ${sample_name}.${chromo}.info.txt | awk '{print $1,$8,$9,$10,$2,$3,$4,$5,$6,$7}' | sed 's/\s\+/\t/g' > ${sample_name}.${chromo}.info.bed

>>>

runtime {
docker:docker
cluster: cluster_config
systemDisk: "cloud_ssd 40"
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
}
output {
File info = "${sample_name}.${chromo}.info.txt"
File mie_bed = "${sample_name}.${chromo}.mie.bed"
File all_bed = "${sample_name}.${chromo}.allvariants.bed"
File info_bed = "${sample_name}.${chromo}.info.bed"
}
}

+ 46
- 19
tasks/bedAnnotation.wdl Bestand weergeven

@@ -1,21 +1,7 @@
task bedAnnotation {
File all_info_bed
File left_50
File left_100
File left_150
File left_200
File left_250
File left_300
File left_350
File left_400
File right_50
File right_100
File right_150
File right_200
File right_250
File right_300
File right_350
File right_400
File filtered_bed
File voted_bed
File breakpoint_directory
String sample_name
String docker
String cluster_config
@@ -23,7 +9,39 @@ task bedAnnotation {
command <<<

/opt/ccdg/bedtools-2.27.1/bin/bedtools annotate -counts -i ${all_info_bed} -files ${left_400} ${left_350} ${left_300} ${left_250} ${left_200} ${left_150} ${left_100} ${left_50} ${right_50} ${right_100} ${right_150} ${right_200} ${right_250} ${right_300} ${right_350} ${right_400} > ${sample_name}.info.bed.annotation.txt
# filtered
# BND
/opt/ccdg/bedtools-2.27.1/bin/bedtools annotate -counts -i ${filtered_bed} -files ${breakpoint_directory}/D5.BND.1500.left.bed ${breakpoint_directory}/D5.BND.1450.left.bed ${breakpoint_directory}/D5.BND.1400.left.bed ${breakpoint_directory}/D5.BND.1350.left.bed ${breakpoint_directory}/D5.BND.1300.left.bed ${breakpoint_directory}/D5.BND.1250.left.bed ${breakpoint_directory}/D5.BND.1200.left.bed ${breakpoint_directory}/D5.BND.1150.left.bed ${breakpoint_directory}/D5.BND.1100.left.bed ${breakpoint_directory}/D5.BND.1050.left.bed ${breakpoint_directory}/D5.BND.1000.left.bed ${breakpoint_directory}/D5.BND.950.left.bed ${breakpoint_directory}/D5.BND.900.left.bed ${breakpoint_directory}/D5.BND.850.left.bed ${breakpoint_directory}/D5.BND.800.left.bed ${breakpoint_directory}/D5.BND.750.left.bed ${breakpoint_directory}/D5.BND.700.left.bed ${breakpoint_directory}/D5.BND.650.left.bed ${breakpoint_directory}/D5.BND.600.left.bed ${breakpoint_directory}/D5.BND.550.left.bed ${breakpoint_directory}/D5.BND.500.left.bed ${breakpoint_directory}/D5.BND.450.left.bed ${breakpoint_directory}/D5.BND.400.left.bed ${breakpoint_directory}/D5.BND.350.left.bed ${breakpoint_directory}/D5.BND.300.left.bed ${breakpoint_directory}/D5.BND.250.left.bed ${breakpoint_directory}/D5.BND.200.left.bed ${breakpoint_directory}/D5.BND.150.left.bed ${breakpoint_directory}/D5.BND.100.left.bed ${breakpoint_directory}/D5.BND.50.left.bed ${breakpoint_directory}/D5.BND.50.right.bed ${breakpoint_directory}/D5.BND.100.right.bed ${breakpoint_directory}/D5.BND.150.right.bed ${breakpoint_directory}/D5.BND.200.right.bed ${breakpoint_directory}/D5.BND.250.right.bed ${breakpoint_directory}/D5.BND.300.right.bed ${breakpoint_directory}/D5.BND.350.right.bed ${breakpoint_directory}/D5.BND.400.right.bed ${breakpoint_directory}/D5.BND.450.right.bed ${breakpoint_directory}/D5.BND.500.right.bed ${breakpoint_directory}/D5.BND.550.right.bed ${breakpoint_directory}/D5.BND.600.right.bed ${breakpoint_directory}/D5.BND.650.right.bed ${breakpoint_directory}/D5.BND.700.right.bed ${breakpoint_directory}/D5.BND.750.right.bed ${breakpoint_directory}/D5.BND.800.right.bed ${breakpoint_directory}/D5.BND.850.right.bed ${breakpoint_directory}/D5.BND.900.right.bed ${breakpoint_directory}/D5.BND.950.right.bed ${breakpoint_directory}/D5.BND.1000.right.bed ${breakpoint_directory}/D5.BND.1050.right.bed ${breakpoint_directory}/D5.BND.1100.right.bed ${breakpoint_directory}/D5.BND.1150.right.bed ${breakpoint_directory}/D5.BND.1200.right.bed ${breakpoint_directory}/D5.BND.1250.right.bed ${breakpoint_directory}/D5.BND.1300.right.bed ${breakpoint_directory}/D5.BND.1350.right.bed ${breakpoint_directory}/D5.BND.1400.right.bed ${breakpoint_directory}/D5.BND.1450.right.bed ${breakpoint_directory}/D5.BND.1500.right.bed > ${sample_name}.BND.filtered.txt

# DEL
/opt/ccdg/bedtools-2.27.1/bin/bedtools annotate -counts -i ${filtered_bed} -files ${breakpoint_directory}/D5.DEL.1500.left.bed ${breakpoint_directory}/D5.DEL.1450.left.bed ${breakpoint_directory}/D5.DEL.1400.left.bed ${breakpoint_directory}/D5.DEL.1350.left.bed ${breakpoint_directory}/D5.DEL.1300.left.bed ${breakpoint_directory}/D5.DEL.1250.left.bed ${breakpoint_directory}/D5.DEL.1200.left.bed ${breakpoint_directory}/D5.DEL.1150.left.bed ${breakpoint_directory}/D5.DEL.1100.left.bed ${breakpoint_directory}/D5.DEL.1050.left.bed ${breakpoint_directory}/D5.DEL.1000.left.bed ${breakpoint_directory}/D5.DEL.950.left.bed ${breakpoint_directory}/D5.DEL.900.left.bed ${breakpoint_directory}/D5.DEL.850.left.bed ${breakpoint_directory}/D5.DEL.800.left.bed ${breakpoint_directory}/D5.DEL.750.left.bed ${breakpoint_directory}/D5.DEL.700.left.bed ${breakpoint_directory}/D5.DEL.650.left.bed ${breakpoint_directory}/D5.DEL.600.left.bed ${breakpoint_directory}/D5.DEL.550.left.bed ${breakpoint_directory}/D5.DEL.500.left.bed ${breakpoint_directory}/D5.DEL.450.left.bed ${breakpoint_directory}/D5.DEL.400.left.bed ${breakpoint_directory}/D5.DEL.350.left.bed ${breakpoint_directory}/D5.DEL.300.left.bed ${breakpoint_directory}/D5.DEL.250.left.bed ${breakpoint_directory}/D5.DEL.200.left.bed ${breakpoint_directory}/D5.DEL.150.left.bed ${breakpoint_directory}/D5.DEL.100.left.bed ${breakpoint_directory}/D5.DEL.50.left.bed ${breakpoint_directory}/D5.DEL.50.right.bed ${breakpoint_directory}/D5.DEL.100.right.bed ${breakpoint_directory}/D5.DEL.150.right.bed ${breakpoint_directory}/D5.DEL.200.right.bed ${breakpoint_directory}/D5.DEL.250.right.bed ${breakpoint_directory}/D5.DEL.300.right.bed ${breakpoint_directory}/D5.DEL.350.right.bed ${breakpoint_directory}/D5.DEL.400.right.bed ${breakpoint_directory}/D5.DEL.450.right.bed ${breakpoint_directory}/D5.DEL.500.right.bed ${breakpoint_directory}/D5.DEL.550.right.bed ${breakpoint_directory}/D5.DEL.600.right.bed ${breakpoint_directory}/D5.DEL.650.right.bed ${breakpoint_directory}/D5.DEL.700.right.bed ${breakpoint_directory}/D5.DEL.750.right.bed ${breakpoint_directory}/D5.DEL.800.right.bed ${breakpoint_directory}/D5.DEL.850.right.bed ${breakpoint_directory}/D5.DEL.900.right.bed ${breakpoint_directory}/D5.DEL.950.right.bed ${breakpoint_directory}/D5.DEL.1000.right.bed ${breakpoint_directory}/D5.DEL.1050.right.bed ${breakpoint_directory}/D5.DEL.1100.right.bed ${breakpoint_directory}/D5.DEL.1150.right.bed ${breakpoint_directory}/D5.DEL.1200.right.bed ${breakpoint_directory}/D5.DEL.1250.right.bed ${breakpoint_directory}/D5.DEL.1300.right.bed ${breakpoint_directory}/D5.DEL.1350.right.bed ${breakpoint_directory}/D5.DEL.1400.right.bed ${breakpoint_directory}/D5.DEL.1450.right.bed ${breakpoint_directory}/D5.DEL.1500.right.bed > ${sample_name}.DEL.filtered.txt

# INS
/opt/ccdg/bedtools-2.27.1/bin/bedtools annotate -counts -i ${filtered_bed} -files ${breakpoint_directory}/D5.INS.1500.left.bed ${breakpoint_directory}/D5.INS.1450.left.bed ${breakpoint_directory}/D5.INS.1400.left.bed ${breakpoint_directory}/D5.INS.1350.left.bed ${breakpoint_directory}/D5.INS.1300.left.bed ${breakpoint_directory}/D5.INS.1250.left.bed ${breakpoint_directory}/D5.INS.1200.left.bed ${breakpoint_directory}/D5.INS.1150.left.bed ${breakpoint_directory}/D5.INS.1100.left.bed ${breakpoint_directory}/D5.INS.1050.left.bed ${breakpoint_directory}/D5.INS.1000.left.bed ${breakpoint_directory}/D5.INS.950.left.bed ${breakpoint_directory}/D5.INS.900.left.bed ${breakpoint_directory}/D5.INS.850.left.bed ${breakpoint_directory}/D5.INS.800.left.bed ${breakpoint_directory}/D5.INS.750.left.bed ${breakpoint_directory}/D5.INS.700.left.bed ${breakpoint_directory}/D5.INS.650.left.bed ${breakpoint_directory}/D5.INS.600.left.bed ${breakpoint_directory}/D5.INS.550.left.bed ${breakpoint_directory}/D5.INS.500.left.bed ${breakpoint_directory}/D5.INS.450.left.bed ${breakpoint_directory}/D5.INS.400.left.bed ${breakpoint_directory}/D5.INS.350.left.bed ${breakpoint_directory}/D5.INS.300.left.bed ${breakpoint_directory}/D5.INS.250.left.bed ${breakpoint_directory}/D5.INS.200.left.bed ${breakpoint_directory}/D5.INS.150.left.bed ${breakpoint_directory}/D5.INS.100.left.bed ${breakpoint_directory}/D5.INS.50.left.bed ${breakpoint_directory}/D5.INS.50.right.bed ${breakpoint_directory}/D5.INS.100.right.bed ${breakpoint_directory}/D5.INS.150.right.bed ${breakpoint_directory}/D5.INS.200.right.bed ${breakpoint_directory}/D5.INS.250.right.bed ${breakpoint_directory}/D5.INS.300.right.bed ${breakpoint_directory}/D5.INS.350.right.bed ${breakpoint_directory}/D5.INS.400.right.bed ${breakpoint_directory}/D5.INS.450.right.bed ${breakpoint_directory}/D5.INS.500.right.bed ${breakpoint_directory}/D5.INS.550.right.bed ${breakpoint_directory}/D5.INS.600.right.bed ${breakpoint_directory}/D5.INS.650.right.bed ${breakpoint_directory}/D5.INS.700.right.bed ${breakpoint_directory}/D5.INS.750.right.bed ${breakpoint_directory}/D5.INS.800.right.bed ${breakpoint_directory}/D5.INS.850.right.bed ${breakpoint_directory}/D5.INS.900.right.bed ${breakpoint_directory}/D5.INS.950.right.bed ${breakpoint_directory}/D5.INS.1000.right.bed ${breakpoint_directory}/D5.INS.1050.right.bed ${breakpoint_directory}/D5.INS.1100.right.bed ${breakpoint_directory}/D5.INS.1150.right.bed ${breakpoint_directory}/D5.INS.1200.right.bed ${breakpoint_directory}/D5.INS.1250.right.bed ${breakpoint_directory}/D5.INS.1300.right.bed ${breakpoint_directory}/D5.INS.1350.right.bed ${breakpoint_directory}/D5.INS.1400.right.bed ${breakpoint_directory}/D5.INS.1450.right.bed ${breakpoint_directory}/D5.INS.1500.right.bed > ${sample_name}.INS.filtered.txt

# INV
/opt/ccdg/bedtools-2.27.1/bin/bedtools annotate -counts -i ${filtered_bed} -files ${breakpoint_directory}/D5.INV.1500.left.bed ${breakpoint_directory}/D5.INV.1450.left.bed ${breakpoint_directory}/D5.INV.1400.left.bed ${breakpoint_directory}/D5.INV.1350.left.bed ${breakpoint_directory}/D5.INV.1300.left.bed ${breakpoint_directory}/D5.INV.1250.left.bed ${breakpoint_directory}/D5.INV.1200.left.bed ${breakpoint_directory}/D5.INV.1150.left.bed ${breakpoint_directory}/D5.INV.1100.left.bed ${breakpoint_directory}/D5.INV.1050.left.bed ${breakpoint_directory}/D5.INV.1000.left.bed ${breakpoint_directory}/D5.INV.950.left.bed ${breakpoint_directory}/D5.INV.900.left.bed ${breakpoint_directory}/D5.INV.850.left.bed ${breakpoint_directory}/D5.INV.800.left.bed ${breakpoint_directory}/D5.INV.750.left.bed ${breakpoint_directory}/D5.INV.700.left.bed ${breakpoint_directory}/D5.INV.650.left.bed ${breakpoint_directory}/D5.INV.600.left.bed ${breakpoint_directory}/D5.INV.550.left.bed ${breakpoint_directory}/D5.INV.500.left.bed ${breakpoint_directory}/D5.INV.450.left.bed ${breakpoint_directory}/D5.INV.400.left.bed ${breakpoint_directory}/D5.INV.350.left.bed ${breakpoint_directory}/D5.INV.300.left.bed ${breakpoint_directory}/D5.INV.250.left.bed ${breakpoint_directory}/D5.INV.200.left.bed ${breakpoint_directory}/D5.INV.150.left.bed ${breakpoint_directory}/D5.INV.100.left.bed ${breakpoint_directory}/D5.INV.50.left.bed ${breakpoint_directory}/D5.INV.50.right.bed ${breakpoint_directory}/D5.INV.100.right.bed ${breakpoint_directory}/D5.INV.150.right.bed ${breakpoint_directory}/D5.INV.200.right.bed ${breakpoint_directory}/D5.INV.250.right.bed ${breakpoint_directory}/D5.INV.300.right.bed ${breakpoint_directory}/D5.INV.350.right.bed ${breakpoint_directory}/D5.INV.400.right.bed ${breakpoint_directory}/D5.INV.450.right.bed ${breakpoint_directory}/D5.INV.500.right.bed ${breakpoint_directory}/D5.INV.550.right.bed ${breakpoint_directory}/D5.INV.600.right.bed ${breakpoint_directory}/D5.INV.650.right.bed ${breakpoint_directory}/D5.INV.700.right.bed ${breakpoint_directory}/D5.INV.750.right.bed ${breakpoint_directory}/D5.INV.800.right.bed ${breakpoint_directory}/D5.INV.850.right.bed ${breakpoint_directory}/D5.INV.900.right.bed ${breakpoint_directory}/D5.INV.950.right.bed ${breakpoint_directory}/D5.INV.1000.right.bed ${breakpoint_directory}/D5.INV.1050.right.bed ${breakpoint_directory}/D5.INV.1100.right.bed ${breakpoint_directory}/D5.INV.1150.right.bed ${breakpoint_directory}/D5.INV.1200.right.bed ${breakpoint_directory}/D5.INV.1250.right.bed ${breakpoint_directory}/D5.INV.1300.right.bed ${breakpoint_directory}/D5.INV.1350.right.bed ${breakpoint_directory}/D5.INV.1400.right.bed ${breakpoint_directory}/D5.INV.1450.right.bed ${breakpoint_directory}/D5.INV.1500.right.bed > ${sample_name}.INV.filtered.txt

# DUP
/opt/ccdg/bedtools-2.27.1/bin/bedtools annotate -counts -i ${filtered_bed} -files ${breakpoint_directory}/D5.DUP.1500.left.bed ${breakpoint_directory}/D5.DUP.1450.left.bed ${breakpoint_directory}/D5.DUP.1400.left.bed ${breakpoint_directory}/D5.DUP.1350.left.bed ${breakpoint_directory}/D5.DUP.1300.left.bed ${breakpoint_directory}/D5.DUP.1250.left.bed ${breakpoint_directory}/D5.DUP.1200.left.bed ${breakpoint_directory}/D5.DUP.1150.left.bed ${breakpoint_directory}/D5.DUP.1100.left.bed ${breakpoint_directory}/D5.DUP.1050.left.bed ${breakpoint_directory}/D5.DUP.1000.left.bed ${breakpoint_directory}/D5.DUP.950.left.bed ${breakpoint_directory}/D5.DUP.900.left.bed ${breakpoint_directory}/D5.DUP.850.left.bed ${breakpoint_directory}/D5.DUP.800.left.bed ${breakpoint_directory}/D5.DUP.750.left.bed ${breakpoint_directory}/D5.DUP.700.left.bed ${breakpoint_directory}/D5.DUP.650.left.bed ${breakpoint_directory}/D5.DUP.600.left.bed ${breakpoint_directory}/D5.DUP.550.left.bed ${breakpoint_directory}/D5.DUP.500.left.bed ${breakpoint_directory}/D5.DUP.450.left.bed ${breakpoint_directory}/D5.DUP.400.left.bed ${breakpoint_directory}/D5.DUP.350.left.bed ${breakpoint_directory}/D5.DUP.300.left.bed ${breakpoint_directory}/D5.DUP.250.left.bed ${breakpoint_directory}/D5.DUP.200.left.bed ${breakpoint_directory}/D5.DUP.150.left.bed ${breakpoint_directory}/D5.DUP.100.left.bed ${breakpoint_directory}/D5.DUP.50.left.bed ${breakpoint_directory}/D5.DUP.50.right.bed ${breakpoint_directory}/D5.DUP.100.right.bed ${breakpoint_directory}/D5.DUP.150.right.bed ${breakpoint_directory}/D5.DUP.200.right.bed ${breakpoint_directory}/D5.DUP.250.right.bed ${breakpoint_directory}/D5.DUP.300.right.bed ${breakpoint_directory}/D5.DUP.350.right.bed ${breakpoint_directory}/D5.DUP.400.right.bed ${breakpoint_directory}/D5.DUP.450.right.bed ${breakpoint_directory}/D5.DUP.500.right.bed ${breakpoint_directory}/D5.DUP.550.right.bed ${breakpoint_directory}/D5.DUP.600.right.bed ${breakpoint_directory}/D5.DUP.650.right.bed ${breakpoint_directory}/D5.DUP.700.right.bed ${breakpoint_directory}/D5.DUP.750.right.bed ${breakpoint_directory}/D5.DUP.800.right.bed ${breakpoint_directory}/D5.DUP.850.right.bed ${breakpoint_directory}/D5.DUP.900.right.bed ${breakpoint_directory}/D5.DUP.950.right.bed ${breakpoint_directory}/D5.DUP.1000.right.bed ${breakpoint_directory}/D5.DUP.1050.right.bed ${breakpoint_directory}/D5.DUP.1100.right.bed ${breakpoint_directory}/D5.DUP.1150.right.bed ${breakpoint_directory}/D5.DUP.1200.right.bed ${breakpoint_directory}/D5.DUP.1250.right.bed ${breakpoint_directory}/D5.DUP.1300.right.bed ${breakpoint_directory}/D5.DUP.1350.right.bed ${breakpoint_directory}/D5.DUP.1400.right.bed ${breakpoint_directory}/D5.DUP.1450.right.bed ${breakpoint_directory}/D5.DUP.1500.right.bed > ${sample_name}.DUP.filtered.txt


# voted
# BND
/opt/ccdg/bedtools-2.27.1/bin/bedtools annotate -counts -i ${voted_bed} -files ${breakpoint_directory}/D5.BND.1500.left.bed ${breakpoint_directory}/D5.BND.1450.left.bed ${breakpoint_directory}/D5.BND.1400.left.bed ${breakpoint_directory}/D5.BND.1350.left.bed ${breakpoint_directory}/D5.BND.1300.left.bed ${breakpoint_directory}/D5.BND.1250.left.bed ${breakpoint_directory}/D5.BND.1200.left.bed ${breakpoint_directory}/D5.BND.1150.left.bed ${breakpoint_directory}/D5.BND.1100.left.bed ${breakpoint_directory}/D5.BND.1050.left.bed ${breakpoint_directory}/D5.BND.1000.left.bed ${breakpoint_directory}/D5.BND.950.left.bed ${breakpoint_directory}/D5.BND.900.left.bed ${breakpoint_directory}/D5.BND.850.left.bed ${breakpoint_directory}/D5.BND.800.left.bed ${breakpoint_directory}/D5.BND.750.left.bed ${breakpoint_directory}/D5.BND.700.left.bed ${breakpoint_directory}/D5.BND.650.left.bed ${breakpoint_directory}/D5.BND.600.left.bed ${breakpoint_directory}/D5.BND.550.left.bed ${breakpoint_directory}/D5.BND.500.left.bed ${breakpoint_directory}/D5.BND.450.left.bed ${breakpoint_directory}/D5.BND.400.left.bed ${breakpoint_directory}/D5.BND.350.left.bed ${breakpoint_directory}/D5.BND.300.left.bed ${breakpoint_directory}/D5.BND.250.left.bed ${breakpoint_directory}/D5.BND.200.left.bed ${breakpoint_directory}/D5.BND.150.left.bed ${breakpoint_directory}/D5.BND.100.left.bed ${breakpoint_directory}/D5.BND.50.left.bed ${breakpoint_directory}/D5.BND.50.right.bed ${breakpoint_directory}/D5.BND.100.right.bed ${breakpoint_directory}/D5.BND.150.right.bed ${breakpoint_directory}/D5.BND.200.right.bed ${breakpoint_directory}/D5.BND.250.right.bed ${breakpoint_directory}/D5.BND.300.right.bed ${breakpoint_directory}/D5.BND.350.right.bed ${breakpoint_directory}/D5.BND.400.right.bed ${breakpoint_directory}/D5.BND.450.right.bed ${breakpoint_directory}/D5.BND.500.right.bed ${breakpoint_directory}/D5.BND.550.right.bed ${breakpoint_directory}/D5.BND.600.right.bed ${breakpoint_directory}/D5.BND.650.right.bed ${breakpoint_directory}/D5.BND.700.right.bed ${breakpoint_directory}/D5.BND.750.right.bed ${breakpoint_directory}/D5.BND.800.right.bed ${breakpoint_directory}/D5.BND.850.right.bed ${breakpoint_directory}/D5.BND.900.right.bed ${breakpoint_directory}/D5.BND.950.right.bed ${breakpoint_directory}/D5.BND.1000.right.bed ${breakpoint_directory}/D5.BND.1050.right.bed ${breakpoint_directory}/D5.BND.1100.right.bed ${breakpoint_directory}/D5.BND.1150.right.bed ${breakpoint_directory}/D5.BND.1200.right.bed ${breakpoint_directory}/D5.BND.1250.right.bed ${breakpoint_directory}/D5.BND.1300.right.bed ${breakpoint_directory}/D5.BND.1350.right.bed ${breakpoint_directory}/D5.BND.1400.right.bed ${breakpoint_directory}/D5.BND.1450.right.bed ${breakpoint_directory}/D5.BND.1500.right.bed > ${sample_name}.BND.voted.txt

# DEL
/opt/ccdg/bedtools-2.27.1/bin/bedtools annotate -counts -i ${voted_bed} -files ${breakpoint_directory}/D5.DEL.1500.left.bed ${breakpoint_directory}/D5.DEL.1450.left.bed ${breakpoint_directory}/D5.DEL.1400.left.bed ${breakpoint_directory}/D5.DEL.1350.left.bed ${breakpoint_directory}/D5.DEL.1300.left.bed ${breakpoint_directory}/D5.DEL.1250.left.bed ${breakpoint_directory}/D5.DEL.1200.left.bed ${breakpoint_directory}/D5.DEL.1150.left.bed ${breakpoint_directory}/D5.DEL.1100.left.bed ${breakpoint_directory}/D5.DEL.1050.left.bed ${breakpoint_directory}/D5.DEL.1000.left.bed ${breakpoint_directory}/D5.DEL.950.left.bed ${breakpoint_directory}/D5.DEL.900.left.bed ${breakpoint_directory}/D5.DEL.850.left.bed ${breakpoint_directory}/D5.DEL.800.left.bed ${breakpoint_directory}/D5.DEL.750.left.bed ${breakpoint_directory}/D5.DEL.700.left.bed ${breakpoint_directory}/D5.DEL.650.left.bed ${breakpoint_directory}/D5.DEL.600.left.bed ${breakpoint_directory}/D5.DEL.550.left.bed ${breakpoint_directory}/D5.DEL.500.left.bed ${breakpoint_directory}/D5.DEL.450.left.bed ${breakpoint_directory}/D5.DEL.400.left.bed ${breakpoint_directory}/D5.DEL.350.left.bed ${breakpoint_directory}/D5.DEL.300.left.bed ${breakpoint_directory}/D5.DEL.250.left.bed ${breakpoint_directory}/D5.DEL.200.left.bed ${breakpoint_directory}/D5.DEL.150.left.bed ${breakpoint_directory}/D5.DEL.100.left.bed ${breakpoint_directory}/D5.DEL.50.left.bed ${breakpoint_directory}/D5.DEL.50.right.bed ${breakpoint_directory}/D5.DEL.100.right.bed ${breakpoint_directory}/D5.DEL.150.right.bed ${breakpoint_directory}/D5.DEL.200.right.bed ${breakpoint_directory}/D5.DEL.250.right.bed ${breakpoint_directory}/D5.DEL.300.right.bed ${breakpoint_directory}/D5.DEL.350.right.bed ${breakpoint_directory}/D5.DEL.400.right.bed ${breakpoint_directory}/D5.DEL.450.right.bed ${breakpoint_directory}/D5.DEL.500.right.bed ${breakpoint_directory}/D5.DEL.550.right.bed ${breakpoint_directory}/D5.DEL.600.right.bed ${breakpoint_directory}/D5.DEL.650.right.bed ${breakpoint_directory}/D5.DEL.700.right.bed ${breakpoint_directory}/D5.DEL.750.right.bed ${breakpoint_directory}/D5.DEL.800.right.bed ${breakpoint_directory}/D5.DEL.850.right.bed ${breakpoint_directory}/D5.DEL.900.right.bed ${breakpoint_directory}/D5.DEL.950.right.bed ${breakpoint_directory}/D5.DEL.1000.right.bed ${breakpoint_directory}/D5.DEL.1050.right.bed ${breakpoint_directory}/D5.DEL.1100.right.bed ${breakpoint_directory}/D5.DEL.1150.right.bed ${breakpoint_directory}/D5.DEL.1200.right.bed ${breakpoint_directory}/D5.DEL.1250.right.bed ${breakpoint_directory}/D5.DEL.1300.right.bed ${breakpoint_directory}/D5.DEL.1350.right.bed ${breakpoint_directory}/D5.DEL.1400.right.bed ${breakpoint_directory}/D5.DEL.1450.right.bed ${breakpoint_directory}/D5.DEL.1500.right.bed > ${sample_name}.DEL.voted.txt

# INS
/opt/ccdg/bedtools-2.27.1/bin/bedtools annotate -counts -i ${voted_bed} -files ${breakpoint_directory}/D5.INS.1500.left.bed ${breakpoint_directory}/D5.INS.1450.left.bed ${breakpoint_directory}/D5.INS.1400.left.bed ${breakpoint_directory}/D5.INS.1350.left.bed ${breakpoint_directory}/D5.INS.1300.left.bed ${breakpoint_directory}/D5.INS.1250.left.bed ${breakpoint_directory}/D5.INS.1200.left.bed ${breakpoint_directory}/D5.INS.1150.left.bed ${breakpoint_directory}/D5.INS.1100.left.bed ${breakpoint_directory}/D5.INS.1050.left.bed ${breakpoint_directory}/D5.INS.1000.left.bed ${breakpoint_directory}/D5.INS.950.left.bed ${breakpoint_directory}/D5.INS.900.left.bed ${breakpoint_directory}/D5.INS.850.left.bed ${breakpoint_directory}/D5.INS.800.left.bed ${breakpoint_directory}/D5.INS.750.left.bed ${breakpoint_directory}/D5.INS.700.left.bed ${breakpoint_directory}/D5.INS.650.left.bed ${breakpoint_directory}/D5.INS.600.left.bed ${breakpoint_directory}/D5.INS.550.left.bed ${breakpoint_directory}/D5.INS.500.left.bed ${breakpoint_directory}/D5.INS.450.left.bed ${breakpoint_directory}/D5.INS.400.left.bed ${breakpoint_directory}/D5.INS.350.left.bed ${breakpoint_directory}/D5.INS.300.left.bed ${breakpoint_directory}/D5.INS.250.left.bed ${breakpoint_directory}/D5.INS.200.left.bed ${breakpoint_directory}/D5.INS.150.left.bed ${breakpoint_directory}/D5.INS.100.left.bed ${breakpoint_directory}/D5.INS.50.left.bed ${breakpoint_directory}/D5.INS.50.right.bed ${breakpoint_directory}/D5.INS.100.right.bed ${breakpoint_directory}/D5.INS.150.right.bed ${breakpoint_directory}/D5.INS.200.right.bed ${breakpoint_directory}/D5.INS.250.right.bed ${breakpoint_directory}/D5.INS.300.right.bed ${breakpoint_directory}/D5.INS.350.right.bed ${breakpoint_directory}/D5.INS.400.right.bed ${breakpoint_directory}/D5.INS.450.right.bed ${breakpoint_directory}/D5.INS.500.right.bed ${breakpoint_directory}/D5.INS.550.right.bed ${breakpoint_directory}/D5.INS.600.right.bed ${breakpoint_directory}/D5.INS.650.right.bed ${breakpoint_directory}/D5.INS.700.right.bed ${breakpoint_directory}/D5.INS.750.right.bed ${breakpoint_directory}/D5.INS.800.right.bed ${breakpoint_directory}/D5.INS.850.right.bed ${breakpoint_directory}/D5.INS.900.right.bed ${breakpoint_directory}/D5.INS.950.right.bed ${breakpoint_directory}/D5.INS.1000.right.bed ${breakpoint_directory}/D5.INS.1050.right.bed ${breakpoint_directory}/D5.INS.1100.right.bed ${breakpoint_directory}/D5.INS.1150.right.bed ${breakpoint_directory}/D5.INS.1200.right.bed ${breakpoint_directory}/D5.INS.1250.right.bed ${breakpoint_directory}/D5.INS.1300.right.bed ${breakpoint_directory}/D5.INS.1350.right.bed ${breakpoint_directory}/D5.INS.1400.right.bed ${breakpoint_directory}/D5.INS.1450.right.bed ${breakpoint_directory}/D5.INS.1500.right.bed > ${sample_name}.INS.voted.txt

# INV
/opt/ccdg/bedtools-2.27.1/bin/bedtools annotate -counts -i ${voted_bed} -files ${breakpoint_directory}/D5.INV.1500.left.bed ${breakpoint_directory}/D5.INV.1450.left.bed ${breakpoint_directory}/D5.INV.1400.left.bed ${breakpoint_directory}/D5.INV.1350.left.bed ${breakpoint_directory}/D5.INV.1300.left.bed ${breakpoint_directory}/D5.INV.1250.left.bed ${breakpoint_directory}/D5.INV.1200.left.bed ${breakpoint_directory}/D5.INV.1150.left.bed ${breakpoint_directory}/D5.INV.1100.left.bed ${breakpoint_directory}/D5.INV.1050.left.bed ${breakpoint_directory}/D5.INV.1000.left.bed ${breakpoint_directory}/D5.INV.950.left.bed ${breakpoint_directory}/D5.INV.900.left.bed ${breakpoint_directory}/D5.INV.850.left.bed ${breakpoint_directory}/D5.INV.800.left.bed ${breakpoint_directory}/D5.INV.750.left.bed ${breakpoint_directory}/D5.INV.700.left.bed ${breakpoint_directory}/D5.INV.650.left.bed ${breakpoint_directory}/D5.INV.600.left.bed ${breakpoint_directory}/D5.INV.550.left.bed ${breakpoint_directory}/D5.INV.500.left.bed ${breakpoint_directory}/D5.INV.450.left.bed ${breakpoint_directory}/D5.INV.400.left.bed ${breakpoint_directory}/D5.INV.350.left.bed ${breakpoint_directory}/D5.INV.300.left.bed ${breakpoint_directory}/D5.INV.250.left.bed ${breakpoint_directory}/D5.INV.200.left.bed ${breakpoint_directory}/D5.INV.150.left.bed ${breakpoint_directory}/D5.INV.100.left.bed ${breakpoint_directory}/D5.INV.50.left.bed ${breakpoint_directory}/D5.INV.50.right.bed ${breakpoint_directory}/D5.INV.100.right.bed ${breakpoint_directory}/D5.INV.150.right.bed ${breakpoint_directory}/D5.INV.200.right.bed ${breakpoint_directory}/D5.INV.250.right.bed ${breakpoint_directory}/D5.INV.300.right.bed ${breakpoint_directory}/D5.INV.350.right.bed ${breakpoint_directory}/D5.INV.400.right.bed ${breakpoint_directory}/D5.INV.450.right.bed ${breakpoint_directory}/D5.INV.500.right.bed ${breakpoint_directory}/D5.INV.550.right.bed ${breakpoint_directory}/D5.INV.600.right.bed ${breakpoint_directory}/D5.INV.650.right.bed ${breakpoint_directory}/D5.INV.700.right.bed ${breakpoint_directory}/D5.INV.750.right.bed ${breakpoint_directory}/D5.INV.800.right.bed ${breakpoint_directory}/D5.INV.850.right.bed ${breakpoint_directory}/D5.INV.900.right.bed ${breakpoint_directory}/D5.INV.950.right.bed ${breakpoint_directory}/D5.INV.1000.right.bed ${breakpoint_directory}/D5.INV.1050.right.bed ${breakpoint_directory}/D5.INV.1100.right.bed ${breakpoint_directory}/D5.INV.1150.right.bed ${breakpoint_directory}/D5.INV.1200.right.bed ${breakpoint_directory}/D5.INV.1250.right.bed ${breakpoint_directory}/D5.INV.1300.right.bed ${breakpoint_directory}/D5.INV.1350.right.bed ${breakpoint_directory}/D5.INV.1400.right.bed ${breakpoint_directory}/D5.INV.1450.right.bed ${breakpoint_directory}/D5.INV.1500.right.bed > ${sample_name}.INV.voted.txt

# DUP
/opt/ccdg/bedtools-2.27.1/bin/bedtools annotate -counts -i ${voted_bed} -files ${breakpoint_directory}/D5.DUP.1500.left.bed ${breakpoint_directory}/D5.DUP.1450.left.bed ${breakpoint_directory}/D5.DUP.1400.left.bed ${breakpoint_directory}/D5.DUP.1350.left.bed ${breakpoint_directory}/D5.DUP.1300.left.bed ${breakpoint_directory}/D5.DUP.1250.left.bed ${breakpoint_directory}/D5.DUP.1200.left.bed ${breakpoint_directory}/D5.DUP.1150.left.bed ${breakpoint_directory}/D5.DUP.1100.left.bed ${breakpoint_directory}/D5.DUP.1050.left.bed ${breakpoint_directory}/D5.DUP.1000.left.bed ${breakpoint_directory}/D5.DUP.950.left.bed ${breakpoint_directory}/D5.DUP.900.left.bed ${breakpoint_directory}/D5.DUP.850.left.bed ${breakpoint_directory}/D5.DUP.800.left.bed ${breakpoint_directory}/D5.DUP.750.left.bed ${breakpoint_directory}/D5.DUP.700.left.bed ${breakpoint_directory}/D5.DUP.650.left.bed ${breakpoint_directory}/D5.DUP.600.left.bed ${breakpoint_directory}/D5.DUP.550.left.bed ${breakpoint_directory}/D5.DUP.500.left.bed ${breakpoint_directory}/D5.DUP.450.left.bed ${breakpoint_directory}/D5.DUP.400.left.bed ${breakpoint_directory}/D5.DUP.350.left.bed ${breakpoint_directory}/D5.DUP.300.left.bed ${breakpoint_directory}/D5.DUP.250.left.bed ${breakpoint_directory}/D5.DUP.200.left.bed ${breakpoint_directory}/D5.DUP.150.left.bed ${breakpoint_directory}/D5.DUP.100.left.bed ${breakpoint_directory}/D5.DUP.50.left.bed ${breakpoint_directory}/D5.DUP.50.right.bed ${breakpoint_directory}/D5.DUP.100.right.bed ${breakpoint_directory}/D5.DUP.150.right.bed ${breakpoint_directory}/D5.DUP.200.right.bed ${breakpoint_directory}/D5.DUP.250.right.bed ${breakpoint_directory}/D5.DUP.300.right.bed ${breakpoint_directory}/D5.DUP.350.right.bed ${breakpoint_directory}/D5.DUP.400.right.bed ${breakpoint_directory}/D5.DUP.450.right.bed ${breakpoint_directory}/D5.DUP.500.right.bed ${breakpoint_directory}/D5.DUP.550.right.bed ${breakpoint_directory}/D5.DUP.600.right.bed ${breakpoint_directory}/D5.DUP.650.right.bed ${breakpoint_directory}/D5.DUP.700.right.bed ${breakpoint_directory}/D5.DUP.750.right.bed ${breakpoint_directory}/D5.DUP.800.right.bed ${breakpoint_directory}/D5.DUP.850.right.bed ${breakpoint_directory}/D5.DUP.900.right.bed ${breakpoint_directory}/D5.DUP.950.right.bed ${breakpoint_directory}/D5.DUP.1000.right.bed ${breakpoint_directory}/D5.DUP.1050.right.bed ${breakpoint_directory}/D5.DUP.1100.right.bed ${breakpoint_directory}/D5.DUP.1150.right.bed ${breakpoint_directory}/D5.DUP.1200.right.bed ${breakpoint_directory}/D5.DUP.1250.right.bed ${breakpoint_directory}/D5.DUP.1300.right.bed ${breakpoint_directory}/D5.DUP.1350.right.bed ${breakpoint_directory}/D5.DUP.1400.right.bed ${breakpoint_directory}/D5.DUP.1450.right.bed ${breakpoint_directory}/D5.DUP.1500.right.bed > ${sample_name}.DUP.voted.txt


>>>

@@ -34,6 +52,15 @@ task bedAnnotation {
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
}
output {
File info_bed_annotation = "${sample_name}.info.bed.annotation.txt"
File filtered_bnd = "${sample_name}.BND.filtered.txt"
File filtered_ins = "${sample_name}.INS.filtered.txt"
File filtered_inv = "${sample_name}.INV.filtered.txt"
File filtered_del = "${sample_name}.DEL.filtered.txt"
File filtered_dup = "${sample_name}.DUP.filtered.txt"
File voted_bnd = "${sample_name}.BND.voted.txt"
File voted_ins = "${sample_name}.INS.voted.txt"
File voted_inv = "${sample_name}.INV.voted.txt"
File voted_del = "${sample_name}.DEL.voted.txt"
File voted_dup = "${sample_name}.DUP.voted.txt"
}
}

+ 0
- 114
tasks/bedCoverage.wdl Bestand weergeven

@@ -1,114 +0,0 @@
task bedCoverage {
File all_mie_bed
File all_all_bed
File left_50
File left_100
File left_150
File left_200
File left_250
File left_300
File left_350
File left_400
File right_50
File right_100
File right_150
File right_200
File right_250
File right_300
File right_350
File right_400
String sample_name
String docker
String cluster_config
String disk_size
command <<<

## MIE
/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${left_50} -b ${all_mie_bed} -counts | cut -f4 > ${sample_name}.mie.left50.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${left_100} -b ${all_mie_bed} -counts | cut -f4 > ${sample_name}.mie.left100.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${left_150} -b ${all_mie_bed} -counts | cut -f4 > ${sample_name}.mie.left150.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${left_200} -b ${all_mie_bed} -counts | cut -f4 > ${sample_name}.mie.left200.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${left_250} -b ${all_mie_bed} -counts | cut -f4 > ${sample_name}.mie.left250.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${left_300} -b ${all_mie_bed} -counts | cut -f4 > ${sample_name}.mie.left300.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${left_350} -b ${all_mie_bed} -counts | cut -f4 > ${sample_name}.mie.left350.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${left_400} -b ${all_mie_bed} -counts | cut -f4 > ${sample_name}.mie.left400.coverage.txt


/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${right_50} -b ${all_mie_bed} -counts | cut -f4 > ${sample_name}.mie.right50.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${right_100} -b ${all_mie_bed} -counts | cut -f4 > ${sample_name}.mie.right100.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${right_150} -b ${all_mie_bed} -counts | cut -f4 > ${sample_name}.mie.right150.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${right_200} -b ${all_mie_bed} -counts | cut -f4 > ${sample_name}.mie.right200.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${right_250} -b ${all_mie_bed} -counts | cut -f4 > ${sample_name}.mie.right250.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${right_300} -b ${all_mie_bed} -counts | cut -f4 > ${sample_name}.mie.right300.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${right_350} -b ${all_mie_bed} -counts | cut -f4 > ${sample_name}.mie.right350.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${right_400} -b ${all_mie_bed} -counts | cut -f4 > ${sample_name}.mie.right400.coverage.txt


paste ${sample_name}.mie.left400.coverage.txt ${sample_name}.mie.left350.coverage.txt ${sample_name}.mie.left300.coverage.txt ${sample_name}.mie.left250.coverage.txt ${sample_name}.mie.left200.coverage.txt ${sample_name}.mie.left150.coverage.txt ${sample_name}.mie.left100.coverage.txt ${sample_name}.mie.left50.coverage.txt ${sample_name}.mie.right50.coverage.txt ${sample_name}.mie.right100.coverage.txt ${sample_name}.mie.right150.coverage.txt ${sample_name}.mie.right200.coverage.txt ${sample_name}.mie.right250.coverage.txt ${sample_name}.mie.right300.coverage.txt ${sample_name}.mie.right350.coverage.txt ${sample_name}.mie.right400.coverage.txt > ${sample_name}.mie.coverage.txt

# all variants

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${left_50} -b ${all_all_bed} -counts | cut -f4 > ${sample_name}.all.left50.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${left_100} -b ${all_all_bed} -counts | cut -f4 > ${sample_name}.all.left100.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${left_150} -b ${all_all_bed} -counts | cut -f4 > ${sample_name}.all.left150.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${left_200} -b ${all_all_bed} -counts | cut -f4 > ${sample_name}.all.left200.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${left_250} -b ${all_all_bed} -counts | cut -f4 > ${sample_name}.all.left250.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${left_300} -b ${all_all_bed} -counts | cut -f4 > ${sample_name}.all.left300.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${left_350} -b ${all_all_bed} -counts | cut -f4 > ${sample_name}.all.left350.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${left_400} -b ${all_all_bed} -counts | cut -f4 > ${sample_name}.all.left400.coverage.txt


/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${right_50} -b ${all_all_bed} -counts | cut -f4 > ${sample_name}.all.right50.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${right_100} -b ${all_all_bed} -counts | cut -f4 > ${sample_name}.all.right100.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${right_150} -b ${all_all_bed} -counts | cut -f4 > ${sample_name}.all.right150.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${right_200} -b ${all_all_bed} -counts | cut -f4 > ${sample_name}.all.right200.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${right_250} -b ${all_all_bed} -counts | cut -f4 > ${sample_name}.all.right250.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${right_300} -b ${all_all_bed} -counts | cut -f4 > ${sample_name}.all.right300.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${right_350} -b ${all_all_bed} -counts | cut -f4 > ${sample_name}.all.right350.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${right_400} -b ${all_all_bed} -counts | cut -f4 > ${sample_name}.all.right400.coverage.txt


paste ${sample_name}.all.left400.coverage.txt ${sample_name}.all.left350.coverage.txt ${sample_name}.all.left300.coverage.txt ${sample_name}.all.left250.coverage.txt ${sample_name}.all.left200.coverage.txt ${sample_name}.all.left150.coverage.txt ${sample_name}.all.left100.coverage.txt ${sample_name}.all.left50.coverage.txt ${sample_name}.all.right50.coverage.txt ${sample_name}.all.right100.coverage.txt ${sample_name}.all.right150.coverage.txt ${sample_name}.all.right200.coverage.txt ${sample_name}.all.right250.coverage.txt ${sample_name}.all.right300.coverage.txt ${sample_name}.all.right350.coverage.txt ${sample_name}.all.right400.coverage.txt > ${sample_name}.all.coverage.txt

>>>

runtime {
docker:docker
cluster: cluster_config
systemDisk: "cloud_ssd 40"
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
}
output {
File mie = "${sample_name}.mie.coverage.txt"
File all = "${sample_name}.all.coverage.txt"
}
}

+ 0
- 104
tasks/diffBed.wdl Bestand weergeven

@@ -1,104 +0,0 @@
task diffBed {
File all_mie_bed
File all_all_bed
File lcr
File centromere
File sv_dup
File sv_del
File sv_inv
File easy_region
File sv_ins_bp
File sv_del_bp
File sv_tra_bp
File sv_inv_bp
File sv_dup_bp
String sample_name
String docker
String cluster_config
String disk_size
command <<<

# mie

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${lcr} -b ${all_mie_bed} -counts > ${sample_name}.mie.lcr.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${centromere} -b ${all_mie_bed} -counts > ${sample_name}.mie.centromere.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${sv_dup} -b ${all_mie_bed} -counts > ${sample_name}.mie.sv_dup.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${sv_del} -b ${all_mie_bed} -counts > ${sample_name}.mie.sv_del.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${sv_inv} -b ${all_mie_bed} -counts > ${sample_name}.mie.sv_inv.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${sv_ins_bp} -b ${all_mie_bed} -counts > ${sample_name}.mie.sv_ins_bp.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${sv_del_bp} -b ${all_mie_bed} -counts > ${sample_name}.mie.sv_del_bp.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${sv_tra_bp} -b ${all_mie_bed} -counts > ${sample_name}.mie.sv_tra_bp.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${sv_inv_bp} -b ${all_mie_bed} -counts > ${sample_name}.mie.sv_inv_bp.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${sv_dup_bp} -b ${all_mie_bed} -counts > ${sample_name}.mie.sv_dup_bp.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${easy_region} -b ${all_mie_bed} -counts > ${sample_name}.mie.easy_region.coverage.txt


# all variants

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${lcr} -b ${all_all_bed} -counts > ${sample_name}.all.lcr.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${centromere} -b ${all_all_bed} -counts > ${sample_name}.all.centromere.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${sv_dup} -b ${all_all_bed} -counts > ${sample_name}.all.sv_dup.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${sv_del} -b ${all_all_bed} -counts > ${sample_name}.all.sv_del.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${sv_inv} -b ${all_all_bed} -counts > ${sample_name}.all.sv_inv.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${sv_ins_bp} -b ${all_all_bed} -counts > ${sample_name}.all.sv_ins_bp.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${sv_del_bp} -b ${all_all_bed} -counts > ${sample_name}.all.sv_del_bp.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${sv_tra_bp} -b ${all_all_bed} -counts > ${sample_name}.all.sv_tra_bp.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${sv_inv_bp} -b ${all_all_bed} -counts > ${sample_name}.all.sv_inv_bp.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${sv_dup_bp} -b ${all_all_bed} -counts > ${sample_name}.all.sv_dup_bp.coverage.txt

/opt/ccdg/bedtools-2.27.1/bin/bedtools coverage -a ${easy_region} -b ${all_all_bed} -counts > ${sample_name}.all.easy_region.coverage.txt


>>>

runtime {
docker:docker
cluster: cluster_config
systemDisk: "cloud_ssd 40"
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
}
output {
File mie_lcr = "${sample_name}.mie.lcr.coverage.txt"
File mie_centromere = "${sample_name}.mie.centromere.coverage.txt"
File mie_sv_dup = "${sample_name}.mie.sv_dup.coverage.txt"
File mie_sv_del = "${sample_name}.mie.sv_del.coverage.txt"
File mie_sv_inv = "${sample_name}.mie.sv_inv.coverage.txt"
File mie_sv_ins_bp = "${sample_name}.mie.sv_ins_bp.coverage.txt"
File mie_sv_del_bp = "${sample_name}.mie.sv_del_bp.coverage.txt"
File mie_sv_tra_bp = "${sample_name}.mie.sv_tra_bp.coverage.txt"
File mie_sv_inv_bp = "${sample_name}.mie.sv_inv_bp.coverage.txt"
File mie_sv_dup_bp = "${sample_name}.mie.sv_dup_bp.coverage.txt"
File mie_easy_region = "${sample_name}.mie.easy_region.coverage.txt"
File all_lcr = "${sample_name}.all.lcr.coverage.txt"
File all_centromere = "${sample_name}.all.centromere.coverage.txt"
File all_sv_dup = "${sample_name}.all.sv_dup.coverage.txt"
File all_sv_del = "${sample_name}.all.sv_del.coverage.txt"
File all_sv_inv = "${sample_name}.all.sv_inv.coverage.txt"
File all_sv_ins_bp = "${sample_name}.all.sv_ins_bp.coverage.txt"
File all_sv_del_bp = "${sample_name}.all.sv_del_bp.coverage.txt"
File all_sv_tra_bp = "${sample_name}.all.sv_tra_bp.coverage.txt"
File all_sv_inv_bp = "${sample_name}.all.sv_inv_bp.coverage.txt"
File all_sv_dup_bp = "${sample_name}.all.sv_dup_bp.coverage.txt"
File all_easy_region = "${sample_name}.all.easy_region.coverage.txt"
}
}

+ 6
- 10
tasks/mergeBed.wdl Bestand weergeven

@@ -1,7 +1,6 @@
task mergeBed {
Array[File] mie_bed
Array[File] all_bed
Array[File] info_bed
Array[File] chromo_filtered_bed
Array[File] chromo_voted_bed
String sample_name
String docker
String cluster_config
@@ -9,11 +8,9 @@ task mergeBed {
command <<<

cat ${sep=" " mie_bed} | sort -k1,1 -k2,2n > ${sample_name}.mie.bed
cat ${sep=" " chromo_filtered_bed} | sort -k1,1 -k2,2n > ${sample_name}.filterd.bed

cat ${sep=" " all_bed} | sort -k1,1 -k2,2n > ${sample_name}.all.bed

cat ${sep=" " info_bed} | sort -k1,1 -k2,2n > ${sample_name}.info.bed
cat ${sep=" " chromo_voted_bed} | sort -k1,1 -k2,2n > ${sample_name}.voted.bed

>>>

@@ -24,8 +21,7 @@ task mergeBed {
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
}
output {
File all_mie_bed = "${sample_name}.mie.bed"
File all_all_bed = "${sample_name}.all.bed"
File all_info_bed = "${sample_name}.info.bed"
File filtered_bed = "${sample_name}.filterd.bed"
File voted_bed = "${sample_name}.voted.bed"
}
}

+ 32
- 0
tasks/vcf2bed.wdl Bestand weergeven

@@ -0,0 +1,32 @@
task vcf2bed {
File vcf
File vote_file
String chromo
String sample_name
String docker
String cluster_config
String disk_size
command <<<

cat ${vcf} | grep -v '#' | grep -v '\./\.' | grep -v '0/0' | cut -f1,2,4,5,10 | sed s'/:/\t/g' | cut -f1-5 > ${sample_name}.${chromo}.all.txt

cat ${vote_file} | awk '{ if (($5 == "./.") ||($5 == "notConsensus")) { print } }' |awk '{ if ($6 != 0) { print } }' > ${chromo}.filtered.txt

cat ${vote_file} | awk '{ if (($5 != "./.") && ($5 != "notConsensus")) { print } }' | grep -v 'CHROM' > ${chromo}.voted.txt

python /opt/split_filtered_voted.py -a ${sample_name}.${chromo}.all.txt -f ${chromo}.filtered.txt -v ${chromo}.voted.txt -p ${sample_name}.${chromo}

>>>

runtime {
docker:docker
cluster: cluster_config
systemDisk: "cloud_ssd 40"
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
}
output {
File chromo_filtered_bed = "${sample_name}.${chromo}.filtered.bed"
File chromo_voted_bed = "${sample_name}.${chromo}.voted.bed"
}
}

+ 13
- 36
workflow.wdl Bestand weergeven

@@ -1,62 +1,39 @@
import "./tasks/MIEpos2bed.wdl" as MIEpos2bed
import "./tasks/vcf2bed.wdl" as vcf2bed
import "./tasks/mergeBed.wdl" as mergeBed
import "./tasks/bedCoverage.wdl" as bedCoverage
import "./tasks/diffBed.wdl" as diffBed
import "./tasks/bedAnnotation.wdl" as bedAnnotation

workflow {{ project_name }} {
File inputSamplesFile
Array[Array[File]] inputSamples = read_tsv(inputSamplesFile)
File breakpoint_directory
String sample_name
String cluster_config
String disk_size

scatter (sample in inputSamples){
call MIEpos2bed.MIEpos2bed as MIEpos2bed {
call vcf2bed.vcf2bed as vcf2bed {
input:
mie_file=sample[0],
chromo=sample[1],
vcf=sample[0],
vote_file=sample[1],
chromo=sample[2],
sample_name=sample_name,
cluster_config=cluster_config,
disk_size=disk_size
disk_size=disk_size
}
}
call mergeBed.mergeBed as mergeBed {
input:
mie_bed=MIEpos2bed.mie_bed,
all_bed=MIEpos2bed.all_bed,
info_bed=MIEpos2bed.info_bed,
chromo_filtered_bed=vcf2bed.chromo_filtered_bed,
chromo_voted_bed=vcf2bed.chromo_voted_bed,
sample_name=sample_name,
cluster_config=cluster_config,
disk_size=disk_size
}
call bedCoverage.bedCoverage as INS_bedCoverage {
call bedAnnotation.bedAnnotation as bedAnnotation {
input:
all_mie_bed=mergeBed.all_mie_bed,
all_all_bed=mergeBed.all_all_bed,
sample_name=sample_name,
cluster_config=cluster_config,
disk_size=disk_size
}
call bedCoverage.bedCoverage as DEL_bedCoverage {
input:
all_mie_bed=mergeBed.all_mie_bed,
all_all_bed=mergeBed.all_all_bed,
sample_name=sample_name,
cluster_config=cluster_config,
disk_size=disk_size
}
call diffBed.diffBed as diffBed {
input:
all_mie_bed=mergeBed.all_mie_bed,
all_all_bed=mergeBed.all_all_bed,
sample_name=sample_name,
cluster_config=cluster_config,
disk_size=disk_size
}
call bedAnnotation.bedAnnotation as INS_bedAnnotation {
input:
all_info_bed=mergeBed.all_info_bed,
filtered_bed=mergeBed.filtered_bed,
voted_bed=mergeBed.voted_bed,
breakpoint_directory=breakpoint_directory,
sample_name=sample_name,
cluster_config=cluster_config,
disk_size=disk_size

Laden…
Annuleren
Opslaan