@@ -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) |
@@ -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 | |||
@@ -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) | |||
@@ -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) | |||
@@ -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" | |||
} |
@@ -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" | |||
} | |||
} |
@@ -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" | |||
} | |||
} |
@@ -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" | |||
} | |||
} |
@@ -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" | |||
} | |||
} |
@@ -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" | |||
} | |||
} |
@@ -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" | |||
} | |||
} |
@@ -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 |