From bd66bc66124e183b7ef652bb6d1bdfb8ee7d0575 Mon Sep 17 00:00:00 2001 From: chaopower Date: Mon, 25 Dec 2023 14:06:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=81=E7=A8=8B=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- codes/chemo.py | 1 + codes/drug_dedup.py | 114 ------------------------------ codes/filter_longindel.pl | 9 +-- codes/filter_snpindel.pl | 5 +- codes/netchop.pl | 78 ++++++++++++++++++++ codes/pollution.py | 15 ++-- codes/postprocess.py | 101 +++++++++++++++++++++++--- codes/run_pipeline.py | 7 +- codes/run_wdl.py | 6 +- codes/target_therapy_longindel.pl | 36 +++++++--- database/chemo_database.xlsx | Bin 83133 -> 65733 bytes database/info.csv | 4 +- pipeline.wdl | 2 + wdl/call_mutation.wdl | 1 + wdl/chemo.wdl | 4 +- wdl/cnv.wdl | 1 + wdl/hereditary.wdl | 2 + wdl/msi.wdl | 5 +- wdl/neoantigen.wdl | 9 ++- wdl/pollution.wdl | 3 +- wdl/postprocess.wdl | 6 +- wdl/qc.wdl | 1 + wdl/statistics.wdl | 1 + wdl/tmb.wdl | 5 +- 24 files changed, 254 insertions(+), 162 deletions(-) delete mode 100755 codes/drug_dedup.py create mode 100755 codes/netchop.pl diff --git a/codes/chemo.py b/codes/chemo.py index 9b7e8d5..4cbc0ad 100755 --- a/codes/chemo.py +++ b/codes/chemo.py @@ -1,4 +1,5 @@ #! /usr/bin/env python3 + import argparse import logging import os diff --git a/codes/drug_dedup.py b/codes/drug_dedup.py deleted file mode 100755 index c233b39..0000000 --- a/codes/drug_dedup.py +++ /dev/null @@ -1,114 +0,0 @@ -#!/usr/bin/python3 -# -*- coding: UTF-8 -*- - -import os -import re -import sys - -import pandas as pd - -if len(sys.argv) != 3: - print(" ".join(['usage:python3', sys.argv[0], 'output_dir', 'name'])) - sys.exit() - -output_dir = sys.argv[1] -name = sys.argv[2] -snv_file = os.path.join(output_dir, 'mutation', f'{name}.somatic.hg19_multianno.filter.sum.pos.txt') -snv_file_new = os.path.join(output_dir, 'mutation', f'{name}.somatic.hg19_multianno.filter.sum.pos.dedup.txt') - -fusion_file = os.path.join(output_dir, 'fusion', f'{name}.fusion.hg19_multianno.filter.fusion.pos.txt') -fusion_file_new = os.path.join(output_dir, 'fusion', f'{name}.fusion.hg19_multianno.filter.fusion.pos.dedup.txt') - -cnv_file = os.path.join(output_dir, 'cnv', f'{name}.rmdup.cns.filter.pos.txt') -cnv_file_new = os.path.join(output_dir, 'cnvkit', f'{name}.rmdup.cns.filter.pos.dedup.txt') - -# gm_snv_file = os.path.join(output_dir, '/mutation/', name, '.snvindel.Germline.pos.txt') -# gm_snv_file_new = os.path.join(output_dir, '/mutation/', name, '.snvindel.Germline.pos.dedup.txt') - -open(snv_file_new, "w") -open(fusion_file_new, "w") -open(cnv_file_new, "w") -# open(gm_snv_file_new, "w") -##Evidence_Source_C及标签排序 -df_mapping_1 = pd.DataFrame({ - 'Evidence_Source_C': ['FDA', 'NMPA', 'NCCN', '临床III期', '临床II期', '临床I期', '临床试验', '回顾性研究', '个案', '临床前研究'], -}) -sort_mapping_1 = df_mapping_1.reset_index().set_index('Evidence_Source_C') -df_mapping_2 = pd.DataFrame({'标签': ['适应症', '非适应症', '.']}) -sort_mapping_2 = df_mapping_2.reset_index().set_index('标签') - -##snvindel处理 -snv_size = os.path.getsize(snv_file) -if snv_size > 0: - data = pd.read_table(snv_file, sep="\t") - data['level1'] = data['Evidence_Source_C'].map(sort_mapping_1['index']) - data['level2'] = data['标签'].map(sort_mapping_2['index']) - data.sort_values(by=['AAChange.refGene', 'level2', 'level1'], ascending=True, inplace=True) - data.drop(['level1', 'level2'], axis=1, inplace=True) - info = {} - for index, row in data.iterrows(): - if re.search(r'敏感', row['Response_Type_C']): - if row['标签'] == '适应症': - info[row['AAChange.refGene'] + row['Drug']] = '1' - else: - if (row['AAChange.refGene'] + row['Drug']) in info.keys(): - data.drop([index], inplace=True) - data.insert(0, '可信', 1) - data.to_csv(snv_file_new, index=False, sep='\t') - -# ##germline snv/indel处理 -# gm_snv_size = os.path.getsize(gm_snv_file) -# if gm_snv_size > 0: -# data = pd.read_table(gm_snv_file, sep="\t") -# data['level1'] = data['Evidence_Source_C'].map(sort_mapping_1['index']) -# data['level2'] = data['标签'].map(sort_mapping_2['index']) -# data.sort_values(by=['AAChange.refGene', 'level2', 'level1'], ascending=True, inplace=True) -# data.drop(['level1', 'level2'], axis=1, inplace=True) -# info = {} -# for index, row in data.iterrows(): -# if re.search(r'敏感', row['Response_Type_C']): -# if row['标签'] == '适应症': -# info[row['AAChange.refGene'] + row['Drug']] = '1' -# else: -# if (row['AAChange.refGene'] + row['Drug']) in info.keys(): -# data.drop([index], inplace=True) -# data.insert(0, '可信', 1) -# data.to_csv(gm_snv_file_new, index=False, sep='\t') - -##fusion处理 -fusion_size = os.path.getsize(fusion_file) -if fusion_size > 0: - data = pd.read_table(fusion_file, sep="\t") - data['level1'] = data['Evidence_Source_C'].map(sort_mapping_1['index']) - data['level2'] = data['标签'].map(sort_mapping_2['index']) - data.sort_values(by=['FUSION', 'level2', 'level1'], ascending=True, inplace=True) - data.drop(['level1', 'level2'], axis=1, inplace=True) - info = {} - for index, row in data.iterrows(): - if re.search(r'敏感', row['Response_Type_C']): - if row['标签'] == '适应症': - info[row['FUSION'] + row['Drug']] = '1' - else: - if (row['FUSION'] + row['Drug']) in info.keys(): - data.drop([index], inplace=True) - data.insert(0, '可信', 1) - data.to_csv(fusion_file_new, index=False, sep='\t') - -##cnv处理 -cnv_size = os.path.getsize(cnv_file) -if cnv_size > 0: - data = pd.read_table(cnv_file, sep="\t") - data['level1'] = data['Evidence_Source_C'].map(sort_mapping_1['index']) - data['level2'] = data['标签'].map(sort_mapping_2['index']) - data.sort_values(by=['Gene_Symbol', 'level2', 'level1'], ascending=True, inplace=True) - data.drop(['level1', 'level2'], axis=1, inplace=True) - info = {} - for index, row in data.iterrows(): - if re.search(r'敏感', row['Response_Type_C']): - if row['标签'] == '适应症': - info[row['Gene_Symbol'] + row['Drug']] = '1' - else: - if (row['Gene_Symbol'] + row['Drug']) in info.keys(): - data.drop([index], inplace=True) - data.insert(0, '可信', 1) - data.to_csv(cnv_file_new, index=False, sep='\t') diff --git a/codes/filter_longindel.pl b/codes/filter_longindel.pl index 483daf0..d7c76d0 100755 --- a/codes/filter_longindel.pl +++ b/codes/filter_longindel.pl @@ -30,14 +30,15 @@ while () { } my @line = split(/\t/); $line[7] =~ /Gene.refGene=(.*?);/; - if ((grep {$1 =~ /$_/} @longindels) && ($_ =~ /SVTYPE=DEL/ || $_ =~ /SVTYPE=DUP/ || $_ =~ /SVTYPE=INS/)) { - if ($1 eq "BCL2L11") { + my $gene = $1; + if ((grep {$gene =~ /$_/} @longindels) && ($_ =~ /SVTYPE=DEL/ || $_ =~ /SVTYPE=DUP/ || $_ =~ /SVTYPE=INS/)) { + if ($gene eq "BCL2L11") { if ($line[1] == '111883194') { - print LONGINDEL join("\n", @pos) . "\n"; + print LONGINDEL $_; } } else { - print LONGINDEL join("\n", @pos) . "\n"; + print LONGINDEL $_; } } } diff --git a/codes/filter_snpindel.pl b/codes/filter_snpindel.pl index 7fd3ef3..60fd083 100755 --- a/codes/filter_snpindel.pl +++ b/codes/filter_snpindel.pl @@ -1,4 +1,5 @@ #!/usr/bin/env perl + use strict; #use warnings; use List::Util qw(sum); @@ -131,12 +132,12 @@ while () { $line[9] = join(":", ($gene, $hgvs)); } elsif ($spl =~ /\d+\-[1|2]\D+/) { - my $intron = $exon-1; + my $intron = $exon - 1; $hgvs =~ s/exon(\d+)/intron$intron;exon$exon/; $line[9] = join(":", ($gene, $hgvs)); } elsif ($gene eq "MET") { - $line[9] = join(":", ($gene, "exon14", "c.xxx")); + $line[9] = join(":", ($gene, "NM_000245", "exon14", "c.xxx")); $line[8] = 'skipping' } else { diff --git a/codes/netchop.pl b/codes/netchop.pl new file mode 100755 index 0000000..5513d23 --- /dev/null +++ b/codes/netchop.pl @@ -0,0 +1,78 @@ +#!/usr/bin/env perl + +use strict; +use warnings; +use List::Util qw(min max); +#max_length:最大的epitope长度 +die "usage:perl $0 outputDir tumor_prefix" if @ARGV != 2; + +my ($outputDir, $tumor_prefix) = @ARGV; + +open IN, "$outputDir/neoantigen/MHC_Class_I/${tumor_prefix}.fasta"; +my %fa; +while () { + if (/^>MT/) { + open OUT, ">$outputDir/neoantigen/MHC_Class_I/tmp.fa"; + print OUT; + $_ =~ /MT\.(\d+)\./; + my $id = $1; + my $seq = ; + print OUT $seq; + chomp $seq; + $fa{$id} = $seq; + system "predict.py -m netchop -n $outputDir/neoantigen/MHC_Class_I/tmp.fa >>$outputDir/neoantigen/MHC_Class_I/${tumor_prefix}.cleavage.txt"; + close OUT; + } +} +unlink "$outputDir/neoantigen/MHC_Class_I/tmp.fa"; + +my %score; +open IN, "$outputDir/neoantigen/MHC_Class_I/${tumor_prefix}.cleavage.txt"; +while () { + next unless /^\d+/; + chomp; + my @line = split; + $line[3] =~ /MT\.(\d+)\./; + $score{$1}{$line[0]} = $line[2]; +} +open IN, "$outputDir/neoantigen/MHC_Class_I/${tumor_prefix}.all_epitopes.tsv"; +open OUT, ">$outputDir/neoantigen/MHC_Class_I/${tumor_prefix}.all_epitopes.netchop.txt"; +open OUT2, ">$outputDir/neoantigen/MHC_Class_I/${tumor_prefix}.all_epitopes.netchop.filter.txt"; +#my %neopt; +my $head = ; +chomp $head; +print OUT "$head\tcleavage_score\n"; +while () { + chomp; + my @line = split(/\t/); + $line[44] =~ /^(\d+)\./; + my $id = $1; + my $pep = $line[18]; + if (exists $fa{$id}) { + my $index = index($fa{$id}, $pep) + length($pep); + my $cleavage_score = $score{$id}{$index}; + print OUT "$_\t$cleavage_score\n"; + if ($line[21] <= 5000 and ($line[23] eq "NA" or $line[23] >= 1)) { + print OUT2 "$_\t$cleavage_score\n"; + } + } + else { + print OUT "$_\tNA\n"; + } +} +system "sort -k 22 -n $outputDir/neoantigen/MHC_Class_I/${tumor_prefix}.all_epitopes.netchop.filter.txt >$outputDir/neoantigen/MHC_Class_I/${tumor_prefix}.all_epitopes.netchop.filter.sort.txt"; +unlink "$outputDir/neoantigen/MHC_Class_I/${tumor_prefix}.all_epitopes.netchop.filter.txt"; +open SORT, "$outputDir/neoantigen/MHC_Class_I/${tumor_prefix}.all_epitopes.netchop.filter.sort.txt"; +open OUT3, ">$outputDir/neoantigen/MHC_Class_I/neoantigen.txt"; +print OUT3 "序号\tHLA分型\t基因\t多肽\t亲和力\t剪切效率\n"; +my %pep; +my $bool = 0; +while () { + chomp; + my @line = split(/\t/); + if (not exists $pep{$line[18]}) { + $pep{$line[18]}++; + $bool += 1; + print OUT3 "$bool\t$line[14]\t$line[11]\t$line[18]\t$line[21]\t$line[53]\n"; + } +} diff --git a/codes/pollution.py b/codes/pollution.py index c88c4ba..67879c5 100755 --- a/codes/pollution.py +++ b/codes/pollution.py @@ -110,7 +110,7 @@ def process_judge_vcf(input_vcf, output_vcf): if not line.startswith("#"): fields = line.strip().split('\t') info = fields[9].split(":") - percentage = float(info[4]) + percentage = float(info[6]) if 0.1 <= percentage <= 0.9: b = 0.5 @@ -135,7 +135,10 @@ def merge_and_sort_files(matched_file, unmatched_file, output_file): return output_file # 如果 unmatched_file 不为空,继续合并和排序操作 - matched_df = pd.read_csv(matched_file, sep='\t', header=None) + if os.stat(matched_file).st_size == 0: + matched_df = pd.DataFrame() + else: + matched_df = pd.read_csv(matched_file, sep='\t', header=None) unmatched_df = pd.read_csv(unmatched_file, sep='\t', header=None) # 合并数据帧 @@ -195,7 +198,7 @@ def select_cnvkit_vcf(vcf, bed, output_file): line.split()[1] == str(position_list[i]) and line.split()[0] == str(chr_list[i]) and len( line.split()[3]) < 2 and len(line.split()[4]) < 2] for line in filtered_lines: - p_value_str = line.split()[9].split(":")[4] + p_value_str = line.split()[9].split(":")[6] p_value = float(p_value_str[:-1]) / 100 if p_value_str[-1] == "%" else float(p_value_str) if 0.1 <= p_value <= 0.9: result_data.append(line) @@ -218,7 +221,7 @@ def paired_monitoring(name, somatic_vcf, germline_vcf, ref_bed, cnvkit_ref_bed, # 处理胚系,根据bed筛选 select_position_output_file3 = os.path.join(output_dir, f'{name}_germline_matched.vcf') select_position_output_file4 = os.path.join(output_dir, f'{name}_germline_unmatched.vcf') - Germline_matched_file, Germline_unmatched_file = select_position(germline_vcf, ref_bed, + germline_matched_file, germline_unmatched_file = select_position(germline_vcf, ref_bed, select_position_output_file3, select_position_output_file4) # 处理体系,数值转换 @@ -226,14 +229,14 @@ def paired_monitoring(name, somatic_vcf, germline_vcf, ref_bed, cnvkit_ref_bed, somatic_matched_add_judge_file = process_judge_vcf(somatic_matched_file, process_judge_vcf_file1) # 处理胚系,数值转换 process_judge_vcf_file2 = os.path.join(output_dir, f'{name}_germline_matched_add_judge.vcf') - germline_matched_add_judge_file = process_judge_vcf(Germline_matched_file, process_judge_vcf_file2) + germline_matched_add_judge_file = process_judge_vcf(germline_matched_file, process_judge_vcf_file2) # 合并体系,将匹配到的和未匹配到bed的的合并 merge_and_sort_files_file1 = os.path.join(output_dir, f'{name}_somatic_merged.vcf') somatic_merged_file = merge_and_sort_files(somatic_matched_add_judge_file, somatic_unmatched_file, merge_and_sort_files_file1) # 合并胚系,将匹配到的和未匹配到bed的的合并 merge_and_sort_files_file2 = os.path.join(output_dir, f'{name}_germline__merged.vcf') - Germline_merged_file = merge_and_sort_files(germline_matched_add_judge_file, Germline_unmatched_file, + Germline_merged_file = merge_and_sort_files(germline_matched_add_judge_file, germline_unmatched_file, merge_and_sort_files_file2) # 合并胚系,体系,将体系,胚系两个合并文件再合并 result_pro_file = os.path.join(output_dir, f'{name}_result_pro.txt') diff --git a/codes/postprocess.py b/codes/postprocess.py index 9c057b8..86281ca 100755 --- a/codes/postprocess.py +++ b/codes/postprocess.py @@ -75,7 +75,7 @@ class PostProcess: def txt_2_excel(path): try: df = pd.read_csv(path, sep='\t') - except pd.errors.EmptyDataError: + except (pd.errors.EmptyDataError, FileNotFoundError): return [] return df.to_dict('records') @@ -179,6 +179,8 @@ class PostProcess: filter_neg = os.path.join(self.path, 'mutation', f'{self.sample_name}.snp_indel.somatic.hg19_multianno.filter.sum.neg.txt') + tmb_file = os.path.join(self.path, 'tmb', f'{self.sample_name}.tmb.txt') + filter_sum_pos_res = list() # 从pos_files中获取药物信息 pos_check = check_file_exist_and_empty(filter_pos) @@ -219,7 +221,7 @@ class PostProcess: neg['AMP_mut_level'] = 'IIII' neg_dict = neg.set_index(['Chr', 'Start', 'End'])['AMP_mut_level'].to_dict() - filter_sum_res = list() + filter_sum_df = pd.DataFrame() filter_sum_check = check_file_exist_and_empty(filter_sum) if not filter_sum_check: filter_sum_df = pd.read_csv(filter_sum, sep='\t') @@ -228,8 +230,33 @@ class PostProcess: level_dict.update(vus_dict) level_dict.update(neg_dict) filter_sum_df['AMP_mut_level'] = filter_sum_df.set_index(['Chr', 'Start', 'End']).index.map(level_dict) - filter_sum_df = filter_sum_df.fillna('.') - filter_sum_res = filter_sum_df.to_dict('records') + + cols = list(filter_sum_df.columns) + + tmb_file_check = check_file_exist_and_empty(tmb_file) + if not tmb_file_check: + tmb_df = pd.read_csv(tmb_file, sep='\t') + key_cols = ['Chr', 'Start', 'End'] + filter_sum_df = filter_sum_df.set_index(key_cols) + tmb_df = tmb_df.set_index(key_cols) + + # 在filter_sum_df中的process列中追加字符串";tmb",对应tmb_df中的行 并且 是非 1,2类突变 + filter_sum_df['process'] = filter_sum_df.index.map( + lambda x: filter_sum_df.at[x, 'process'] + ';tmb' if x in tmb_df.index and filter_sum_df.at[ + x, 'AMP_mut_level'] not in ['I', 'II'] else filter_sum_df.at[x, 'process']) + + # 找到tmb_df中不在filter_sum_df中的行,并将这些新的行添加到filter_sum_df中 + new_rows = tmb_df[~tmb_df.index.isin(filter_sum_df.index)] + filter_sum_df = pd.concat([filter_sum_df, new_rows]) + + # 重置索引 + filter_sum_df = filter_sum_df.reset_index() + + # 按之前列排 + filter_sum_df = filter_sum_df[cols] + + filter_sum_df = filter_sum_df.fillna('.') + filter_sum_res = filter_sum_df.to_dict('records') self.sheet['target_mut'] = filter_sum_res self.sheet['target_drug'] = filter_sum_pos_res @@ -429,11 +456,62 @@ class PostProcess: print(file_check) def longindel(self): - longindel_files = glob.glob( - os.path.join(self.path, 'fusion', '*.longindel.pos.txt')) - if longindel_files: - # return self.txt_2_excel(longindel_files[0]) - self.sheet['longindel'] = self.txt_2_excel(longindel_files[0]) + + filter_sum_pos = os.path.join(self.path, 'fusion', + f'{self.sample_name}.longindel.hg19_multianno.filter.pos.txt') + filter_sum_pos_check = check_file_exist_and_empty(filter_sum_pos) + + filter_sum_pos_res = list() + pos_dict = dict() + + if not filter_sum_pos_check: + filter_sum_pos_df = pd.read_csv(filter_sum_pos, sep='\t') + # 添加常规列 + filter_sum_pos_df = self._add_columns(filter_sum_pos_df) + # 添加基因功能 + filter_sum_pos_df = self._add_gene_function(filter_sum_pos_df, colname='ref_gene') + # 药物处理 + self.drug_parse(filter_sum_pos_df['DrugCn'].to_list()) + filter_sum_pos_df['Validated'] = 1 + filter_sum_pos_df = filter_sum_pos_df.fillna('.') + + grouped_df = filter_sum_pos_df.groupby(['#CHROM', 'POS', 'REF', 'ALT']) + # 对每个分组进行操作 + for group_name, group_data in grouped_df: + chr, pos, ref, alt = group_name + if any(group_data['AMP_mut_level'] == 'I'): + filter_condition = (filter_sum_pos_df['#CHROM'] == chr) & \ + (filter_sum_pos_df['POS'] == pos) & \ + (filter_sum_pos_df['REF'] == ref) & \ + (filter_sum_pos_df['ALT'] == alt) + filter_sum_pos_df.loc[filter_condition, 'AMP_mut_level'] = 'I' + + pos_dict = filter_sum_pos_df.set_index(['#CHROM', 'POS', 'REF', 'ALT'])['AMP_mut_level'].to_dict() + filter_sum_pos_res = filter_sum_pos_df.to_dict('records') + + filter_sum = os.path.join(self.path, 'fusion', f'{self.sample_name}.longindel.hg19_multianno.filter.txt') + filter_sum_check = check_file_exist_and_empty(filter_sum) + filter_sum_res = list() + if not filter_sum_check: + filter_sum_df = pd.read_csv(filter_sum, sep='\t') + + filter_sum_df['Validated'] = 1 + level_dict = dict() + level_dict.update(pos_dict) + filter_sum_df['AMP_mut_level'] = filter_sum_df.set_index(['#CHROM', 'POS', 'REF', 'ALT']).index.map( + level_dict) + filter_sum_df = filter_sum_df.fillna('.') + filter_sum_res = filter_sum_df.to_dict('records') + + self.sheet['longindel_mut'] = filter_sum_res + self.sheet['longindel_drug'] = filter_sum_pos_res + + def neoantigen(self): + neoantigen = os.path.join(self.path, 'neoantigen', f'MHC_Class_I', 'neoantigen.txt') + hla = os.path.join(self.path, 'neoantigen', f'hla', f'{self.normal_name}_result.tsv') + + self.sheet['neoantigen'] = self.txt_2_excel(neoantigen) + self.sheet['hla'] = self.txt_2_excel(hla) def qc(self): qc_files = glob.glob(os.path.join(self.path, 'qc', '*_qc.txt')) @@ -452,17 +530,18 @@ class PostProcess: def collect(self): writer = pd.ExcelWriter(self.outpath) self.cms() + self.qc() self.snv() self.fusion() + self.longindel() self.cnv() self.msi() self.germline() self.heredity() self.heredity_res() - self.longindel() self.chemo() self.indication() - self.qc() + self.neoantigen() self.drugs() # 遍历CSV文件列表 diff --git a/codes/run_pipeline.py b/codes/run_pipeline.py index 847645b..eaad506 100755 --- a/codes/run_pipeline.py +++ b/codes/run_pipeline.py @@ -2,6 +2,7 @@ import argparse import os +from datetime import datetime run_wdl_path = os.path.join(os.path.dirname(__file__), 'run_wdl.py') @@ -42,13 +43,15 @@ if __name__ == '__main__': if not os.path.exists(res_path): os.makedirs(res_path) + logname = datetime.now().strftime("%m%d%H%M") + cmd = f'nohup python ' \ f'{run_wdl_path} -n {args.barcode} -s {args.normal} ' \ f'{"-u " if args.umi else ""} -i {args.input_dir} ' \ f'-node {args.start_node} ' \ f'-o {res_path} -b {args.probe} -p {args.project} -c {args.cancer} -w {args.wdl} ' \ - f'> {res_path}/{args.barcode}_run.log ' \ - f'2>> {res_path}/{args.barcode}_run.log &' + f'> {res_path}/{args.barcode}_{logname}_run.log ' \ + f'2>> {res_path}/{args.barcode}_{logname}_run.log &' # with open(os.path.join(res_path, 'exec'), 'w') as execfile: # execfile.write(cmd + '\n') os.system(cmd) diff --git a/codes/run_wdl.py b/codes/run_wdl.py index e47c3a8..6289f4a 100755 --- a/codes/run_wdl.py +++ b/codes/run_wdl.py @@ -3,6 +3,7 @@ import json import os import subprocess import time +from datetime import datetime import pandas as pd @@ -80,7 +81,8 @@ def run(barcode, normal, umi, input_dir, output_dir, project, cancer, probe, wdl arg = {key: value for key, value in arg.items() if value not in (None, '', False)} # generate json - jsfile_path = os.path.join(output_dir, f'{barcode}.json') + logname = datetime.now().strftime("%m%d%H%M") + jsfile_path = os.path.join(output_dir, f'{barcode}_{logname}.json') with open(jsfile_path, 'w') as jsfile: jsfile.write(json.dumps(arg, indent=4, ensure_ascii=False)) @@ -127,7 +129,7 @@ if __name__ == '__main__': parser.add_argument('-p', '--project', help="project", required=True) parser.add_argument('-c', '--cancer', help="cancer", required=True) parser.add_argument('-b', '--probe', help="probe, 682, 624, 160, 17 for now ", required=True) - parser.add_argument('-w', '--wdl', help="wdl", default='/home/zhangchao/project/pipeline/workflow/pipeline.wdl') + parser.add_argument('-w', '--wdl', help="wdl", default='$WORKFLOW/pipeline.wdl') parser.add_argument('-node', '--start_node', help="node begain to run; 'addQc', 'addAlignment', " "'addTarget', 'addFusion', 'addCnv', 'addMsi', 'addChemo'," diff --git a/codes/target_therapy_longindel.pl b/codes/target_therapy_longindel.pl index f25d764..13aae43 100755 --- a/codes/target_therapy_longindel.pl +++ b/codes/target_therapy_longindel.pl @@ -6,10 +6,10 @@ die "useage:perl $0 input output cancer_type" unless @ARGV == 3; my ($input, $output, $cancer_type) = @ARGV; my $public_path = defined $ENV{'PUBLIC'} ? $ENV{'PUBLIC'} : "/dataseq/jmdna/codes/public"; -print "Fusion药物注释使用public路径:$public_path\n"; +print "Longindel药物注释使用public路径:$public_path\n"; my $database_path = defined $ENV{'DATABASE'} ? $ENV{'DATABASE'} : "/dataseq/jmdna/codes/reportbase"; -print "Fusion药物注释使用路径:$database_path\n"; +print "Longindel药物注释使用路径:$database_path\n"; open MUT, "$database_path/fusion.csv"; ; @@ -26,7 +26,8 @@ my %therapy; while () { chomp; my @line = split("\t"); - push @{$therapy{$line[0]}{$line[1]}}, $_ if ($line[1] =~ /fusion/i and $line[9] ne 'D' and $line[2] !~ /Leukemia|Lymphoma|Myeloid/i); + # push @{$therapy{$line[0]}{$line[1]}}, $_ if ($line[1] =~ /fusion/i and $line[9] ne 'D' and $line[2] !~ /Leukemia|Lymphoma|Myeloid/i); + push @{$therapy{$line[0]}{$line[1]}}, $_ if ($line[9] ne 'D' and $line[2] !~ /Leukemia|Lymphoma|Myeloid/i); } ##药物翻译信息 @@ -106,23 +107,38 @@ while () { my @splitline = split(/\t/); my $freq = (split(/:/, $splitline[9]))[9] / (split(/:/, $splitline[9]))[7]; - my $gene; - if ($_ =~ /Gene\.refGene=([^;]+)/) { - $gene = $1; - } if (exists $therapy{'BCL2L11'}{'DELETION POLYMORPHISM'}) { + print "$freq\n"; foreach my $entry (@{$therapy{'BCL2L11'}{'DELETION POLYMORPHISM'}}) { + my @line = split("\t", $entry); - if (($line[5] eq "FDA" or $line[5] eq "NCCN" or $line[5] eq "NMPA") and $line[2] =~ /$cancer_type|solid tumor/i) { + if (($line[14] eq 'A') and (grep {lc $line[2] eq lc $_} @{$dis2{$cancer_type}})) { + # push @pos, "$_\t.\t" . join("\t", @line[0 .. 9, 14]) . "\t适应症" . "\t" . &drug($line[3]) . "\t" . $dis{lc $line[2]}; push @pos, "$_\tc\.394+1479_394+4381del\tBCL2L11:NM_001204106:intron2:c\.394+1479_394+4381del\t" . $freq . "\t" . join("\t", @line[0 .. 9]) . "\t适应症" . "\t" . &drug($line[3]) . "\t" . $dis{lc $line[2]}; } - elsif (($line[5] eq "FDA" or $line[5] eq "NCCN" or $line[5] eq "NMPA") and $line[2] !~ /$cancer_type|solid tumor/i) { + elsif (($line[14] eq 'A') and (grep {lc $line[2] ne lc $_} @{$dis2{$cancer_type}})) { + # push @pos, "$_\t.\t" . join("\t", @line[0 .. 9, 14]) . "\t非适应症" . "\t" . &drug($line[3]) . "\t" . $dis{lc $line[2]}; push @pos, "$_\tc\.394+1479_394+4381del\tBCL2L11:NM_001204106:intron2:c\.394+1479_394+4381del\t" . $freq . "\t" . join("\t", @line[0 .. 9]) . "\t非适应症" . "\t" . &drug($line[3]) . "\t" . $dis{lc $line[2]}; } - elsif ($line[2] =~ /$cancer_type|solid tumor/i) { + elsif (grep {lc $line[2] eq lc $_} @{$dis2{$cancer_type}}) { + # push @pos, "$_\t.\t" . join("\t", @line[0 .. 9, 14]) . "\t\.\t" . &drug($line[3]) . "\t" . $dis{lc $line[2]}; push @pos, "$_\tc\.394+1479_394+4381del\tBCL2L11:NM_001204106:intron2:c\.394+1479_394+4381del\t" . $freq . "\t" . join("\t", @line[0 .. 9]) . "\t\.\t" . &drug($line[3]) . "\t" . $dis{lc $line[2]}; } + + # my @line = split("\t", $entry); + # if (($line[5] eq "FDA" or $line[5] eq "NCCN" or $line[5] eq "NMPA") and $line[2] =~ /$cancer_type|solid tumor/i) { + # push @pos, "$_\tc\.394+1479_394+4381del\tBCL2L11:NM_001204106:intron2:c\.394+1479_394+4381del\t" . $freq . "\t" . join("\t", @line[0 .. 9]) . "\t适应症" . "\t" . &drug($line[3]) . "\t" . $dis{lc $line[2]}; + # } + # elsif (($line[5] eq "FDA" or $line[5] eq "NCCN" or $line[5] eq "NMPA") and $line[2] !~ /$cancer_type|solid tumor/i) { + # push @pos, "$_\tc\.394+1479_394+4381del\tBCL2L11:NM_001204106:intron2:c\.394+1479_394+4381del\t" . $freq . "\t" . join("\t", @line[0 .. 9]) . "\t非适应症" . "\t" . &drug($line[3]) . "\t" . $dis{lc $line[2]}; + # } + # elsif ($line[2] =~ /$cancer_type|solid tumor/i) { + # push @pos, "$_\tc\.394+1479_394+4381del\tBCL2L11:NM_001204106:intron2:c\.394+1479_394+4381del\t" . $freq . "\t" . join("\t", @line[0 .. 9]) . "\t\.\t" . &drug($line[3]) . "\t" . $dis{lc $line[2]}; + # } + # else { + # print "未匹配到" + # } } } diff --git a/database/chemo_database.xlsx b/database/chemo_database.xlsx index 5f636b849e916e82545aa46b1a05200114aedd09..1b8bac159b92e6d84d0cae7d524147054bda6aea 100755 GIT binary patch literal 65733 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

~{bYZ=>QT16+}v)d1w!RBt#Oxy*-B?4+PD^a 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 P1I!YX9}v9z`RRWE3Ly<% literal 83133 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 Wl0eDfvn23RA_eGmHqsIi$bSK0{*RCV diff --git a/database/info.csv b/database/info.csv index da3eb78..451824f 100755 --- a/database/info.csv +++ b/database/info.csv @@ -3,8 +3,8 @@ LZ103,160gene,肿瘤160基因检测(组织版),肿瘤个体化用药(160 LZ110,160gene,肿瘤160基因检测(血液版),肿瘤个体化用药(160基因)检测,addTarget;addFusion;addCnv;addMsi;addMmr;addChemo;addHrr1;addHrr2;addHcs;addbigPanel,NA,160,AKT1/ALK/APC/ATM/BARD1/BCL2L11/BRAF/BRCA1/BRCA2/BRIP1/CCND1/CCND2/CCND3/CDK12/CDK4/CDK6/CDKN2A/CHEK1/CHEK2/CSF1R/CTNNB1/DDR2/EGFR/ERBB2/ERBB3/ERBB4/FANCL/FBXW7/FGFR1/FGFR2/FGFR3/FLT3/GNA11/GNAQ/HRAS/IDH1/IDH2/JAK1/JAK2/JAK3/KDR/KIT/KRAS/MAP2K1/MET/MTOR/NF1/NRAS/NTRK1/NTRK2/NTRK3/PALB2/PDGFRA/PDGFRB/PIK3CA/PTEN/RAD51B/RAD51C/RAD51D/RAD54L/RB1/RET/ROS1/SMAD4/SMO/STK11/TERT/TP53/TSC1/TSC2/VHL/MDM2/MDM4/MSH2/MSH6/MLH1/PMS2/EPCAM/ATR/BAP1/BMPR1A/CDH1/FANCA/FANCM/MUTYH/NBN/ABCC2/ABCG2/ABRAXAS1/ACYP2/AR/ARID1A/ATIC/B2M/C8orf34/CBR3/CD274/CTNNA1/CYP1A1/CYP1B1/CYP2C19/CYP4B1/DHFR/DNMT3A/ERCC3/GATA3/GEN1/GREM1/HDAC2/MLH3/MRE11/MTR/MYC/NOTCH1/NT5C2/PDCD1LG2/PNPLA3/POLD1/POLE/PPM1D/RAD50/RRM1/SCG5/SDHA/SDHB/SDHC/SDHD/SEMA3C/SLC19A1/SLC28A3/SLCO1B1/SRC/STIM1/TAP1/TAP2/TOP1/TSPAN31/TUBB1/XRCC2,MET,TERT,CDK4/EGFR/ERBB2/FGFR1/FGFR2/FGFR3/FLT3/MET/MDM2/MDM4/CDKN2A,ALK/NTRK1/NTRK2/NTRK3/RET/ROS1,BCL2L11,ABCB1/CASP7/CDA/CYP19A1/CYP2C8/CYP2D6/CYP3A4/DPYD/DYNC2H1/ERCC1/ERCC2/GSTP1/HAS3/MTHFR/NQO1/SOD2/TPMT/TYMS/UGT1A1/XPC/XRCC1,ALK/APC/ATM/BRAF/BRCA1/BRCA2/CDH1/CDK4/CDKN2A/CHEK2/DNMT3A/EGFR/EPCAM/ERCC3/FANCA/HRAS/KRAS/MAP2K1/MET/MLH1/MSH2/MSH6/MUTYH/NBN/NF1/NRAS/PALB2/PMS2/POLD1/POLE/PTEN/RAD51D/RB1/RET/SDHA/SDHB/SDHC/SDHD/SMAD4/STK11/TP53/TSC1/TSC2/VHL,MSH2/MSH6/MLH1/PMS2/EPCAM,ATM/ATR/BARD1/BRCA1/BRCA2/BRIP1/CDK12/CHEK1/CHEK2/FANCA/FANCL/MLH1/NBN/PALB2/RAD51B/RAD51C/RAD51D/RAD54L,ARID1A/FANCM/HDAC2/POLD1/PTEN/RAD50,NA LZ108,682gene,肿瘤682基因检测(组织版),肿瘤精准诊疗基因检测(682基因),addTarget;addFusion;addCnv;addMsi;addMmr;addChemo;addHrr1;addHrr2;addHcs;addbigPanel;addHpd;addNeoantigen;addTmb,NA,682,ABL1/AKT1/AKT2/AKT3/ALK/APC/ARAF/ATM/BARD1/BCL2L11/BRAF/BRCA1/BRCA2/BRIP1/BTK/CCND1/CCND2/CCND3/CDK12/CDK4/CDK6/CDKN2A/CDKN2B/CHEK1/CHEK2/CSF1R/CTNNB1/DDR2/EGFR/ERBB2/ERBB3/ERBB4/ESR1/EZH2/FANCL/FBXW7/FGFR1/FGFR2/FGFR3/FGFR4/FLT3/GNA11/GNAQ/HRAS/IDH1/IDH2/JAK1/JAK2/JAK3/KDR/KIT/KRAS/MAP2K1/MAP2K2/MET/MPL/MTOR/MYCN/MYD88/MDM2/MDM4/NF1/NF2/NRAS/NTRK1/NTRK2/NTRK3/PALB2/PDGFRA/PDGFRB/PIK3CA/PTCH1/PTEN/RAD51B/RAD51C/RAD51D/RAD54L/RAF1/RB1/RET/ROS1/SMAD4/SMARCB1/SMO/STK11/TERT/TP53/TSC1/TSC2/VHL/PPP2R2A/ARID1A/ATR/ATRX/BAP1/BLM/FANCA/FANCC/FANCD2/FANCE/FANCF/FANCG/FANCI/MDC1/MRE11/NBN/RAD50/RAD51/XRCC2/MSH2/MSH6/MLH1/PMS2/EPCAM/AXIN1/B2M/KEAP1/ERCC4/POLE/ARID1B/ARID2/EPHA3/EPHA5/EPHA7/POLD1/LRP1B/NOTCH1/NOTCH2/NOTCH3/BMPR1A/CDC73/CDH1/CEBPA/ERCC3/ERCC5/FH/FLCN/GATA2/HOXB13/MAX/MEN1/MITF/MSH3/MUTYH/PHOX2B/PMS1/PRKAR1A/PTPN11/RIT1/RNF43/SBDS/SDHA/SDHAF2/SDHB/SDHC/SDHD/SLX4/SOS1/SUFU/TMEM127/FANCB/ABCB9/ABCC2/ABCC4/ABCG2/ABRAXAS1/ACE2/ACVR1/ACVR1B/ACVR2A/ACYP2/ADGRA2/AGO2/ALOX12B/AMER1/ANKRD11/AR/ARFRP1/ARID5B/ASXL1/ASXL2/ATIC/AURKA/AURKB/AXIN2/AXL/BABAM1/BBC3/BCL10/BCL2/BCL2L1/BCL2L2/BCL6/BCOR/BCORL1/BCR/BIRC3/BIRC5/BLK/BRD4/BTG1/C8orf34/CALR/CANX/CARD11/CARM1/CASP8/CBFB/CBL/CBR3/CCN6/CCNE1/CCNQ/CD19/CD200/CD22/CD274/CD276/CD38/CD3D/CD3E/CD3G/CD40/CD52/CD74/CD79A/CD79B/CDC42/CDK2/CDK8/CDK9/CDKN1A/CDKN1B/CDKN2C/CENPA/CHD4/CHST3/CIC/COL5A1/COP1/CREBBP/CRKL/CRLF2/CSDE1/CSF3R/CSK/CSNK1A1/CTCF/CTLA4/CTNNA1/CTSB/CTSL/CTSS/CUL3/CUL4A/CXCR4/CYLD/CYP17A1/CYP1A1/CYP1B1/CYP2C19/CYP2E1/CYP4B1/CYSLTR2/DAXX/DCUN1D1/DDR1/DHFR/DICER1/DIS3/DMD/DNAJB1/DNMT1/DNMT3A/DNMT3B/DOT1L/DROSHA/DSCAM/DUSP4/E2F3/EED/EGF/EGFL7/EIF1AX/EIF4A2/EIF4E/ELF3/ELOC/EML4/EMSY/EP300/EPAS1/EPHA2/EPHB1/ERAP1/ERAP2/ERF/ERG/ERRFI1/ETV1/ETV4/ETV5/ETV6/EWSR1/EZH1/EZR/FANCM/FAS/FASTKD3/FAT1/FCGR3A/FGF1/FGF10/FGF12/FGF14/FGF19/FGF2/FGF23/FGF3/FGF4/FGF5/FGF6/FGF7/FGF8/FGF9/FGR/FLT1/FLT4/FOXA1/FOXL2/FOXO1/FOXP1/FRK/FRS2/FUBP1/FYN/GABRA6/GALNT14/GATA1/GATA3/GATA4/GATA6/GEN1/GID4/GLI1/GNA13/GNAS/GPS2/GREM1/GRIN2A/GRM3/GSK3B/H1-2/H2BC5/H3-3A/H3-3B/H3-4/H3-5/H3C1/H3C10/H3C11/H3C12/H3C13/H3C14/H3C2/H3C3/H3C4/H3C6/H3C7/H3C8/HAS3/HDAC2/HGF/HLA-A/HLA-B/HNF1A/HSD3B1/HSP90AA1/ICOSLG/ID3/IDE/IFI30/IFNGR1/IGF1/IGF1R/IGF2/IKBKE/IKZF1/IL10/IL2RA/IL2RB/IL2RG/IL6/IL7R/INHA/INHBA/INPP4A/INPP4B/INPPL1/INSR/IRF2/IRF4/IRS1/IRS2/ITK/JUN/KAT6A/KCNJ5/KDM5A/KDM5C/KDM6A/KEL/KLC3/KLF4/KLHL6/KMT2A/KMT2B/KMT2C/KMT2D/KMT5A/KNSTRN/LATS1/LATS2/LCK/LGMN/LIMK1/LMO1/LNPEP/LRIG3/LRP2/LTK/LYN/MALT1/MAP2K4/MAP2K7/MAP3K1/MAP3K13/MAP3K14/MAP4K5/MAPK1/MAPK3/MAPKAP1/MCL1/MED12/MEF2B/MERTK/MGA/MLH3/MSI1/MSI2/MST1/MST1R/MTR/MTRR/MYB/MYC/MYCL/MYOD1/NCOA3/NCOR1/NEGR1/NFE2L2/NFKBIA/NKX2-1/NKX3-1/NOS3/NOTCH4/NPEPPS/NPM1/NRDC/NRG1/NSD1/NSD2/NSD3/NT5C2/NTHL1/NUF2/NUP93/NUTM1/PAK1/PAK3/PAK5/PARP1/PARP2/PAX5/PBRM1/PCBP1/PCNA/PDCD1/PDCD1LG2/PDIA3/PDK1/PDPK1/PGR/PHF6/PIK3C2B/PIK3C2G/PIK3C3/PIK3CB/PIK3CD/PIK3CG/PIK3R1/PIK3R2/PIK3R3/PIM1/PLCG2/PLK2/PMAIP1/PNPLA3/PNRC1/POLB/POLR1G/PPARG/PPM1D/PPP2R1A/PPP4R2/PPP6C/PRDM1/PRDM14/PREX2/PRKCI/PRKD1/PRKDC/PRKN/PTGS2/PTK2/PTK6/PTP4A1/PTPRD/PTPRS/PTPRT/QKI/RAB35/RAC1/RAC2/RAD21/RAD52/RANBP2/RARA/RASA1/RBM10/RECQL/RECQL4/REL/RHEB/RHOA/RICTOR/RNU6-28P/ROCK1/RPL13/RPS6KA4/RPS6KB2/RPTOR/RRAGC/RRAS/RRAS2/RRM1/RSPO2/RTEL1/RUNX1/RXRA/RYBP/SCG5/SDC4/SEMA3C/SESN1/SESN2/SESN3/SETD2/SF3B1/SGK1/SH2B3/SH2D1A/SHOC2/SHQ1/SIK1/SLAMF7/SLC19A1/SLC22A2/SLC28A3/SLC34A2/SLCO1B1/SLCO1B3/SMAD2/SMAD3/SMARCA4/SMARCD1/SMYD3/SNCAIP/SOCS1/SOX10/SOX2/SOX17/SOX9/SPEN/SPOP/SPRED1/SPRY2/SRC/SRD5A2/SRMS/SRSF2/STAG2/STAT3/STAT4/STAT5A/STAT5B/STIM1/STK19/STK40/SUZ12/SYK/TAP1/TAP2/TAPBP/TAPBPL/TBX3/TCF3/TCF7L2/TEK/TENT5C/TET1/TET2/TGFBR1/TGFBR2/TIPARP/TMPRSS2/TNF/TNFAIP3/TNFRSF14/TNFRSF8/TNFSF11/TOP1/TP53BP1/TP63/TP73/TPP2/TRAF2/TRAF7/TSHR/TSPAN31/TUBB1/TYK2/TYRO3/U2AF1/UMPS/UPF1/VEGFA/VSIR/VTCN1/WAS/WT1/WWTR1/XIAP/XPO1/YAP1/YES1/ZFHX3/ZNF217/ZNF703,MET,TERT,CDK4/EGFR/ERBB2/FGFR1/FGFR2/FGFR3/FLT3/MET/MYCN/MDM2/MDM4/CDKN2A/CDKN2B,ALK/BRAF/FGFR1/FGFR2/FGFR3/NTRK1/NTRK2/NTRK3/RET/ROS1,BCL2L11,ABCB1/CDA/CYP19A1/CYP2B6/CYP2C8/CYP2D6/CYP3A4/DPYD/DYNC2H1/ERCC1/ERCC2/GSTP1/MTHFR/NQO1/NUDT15/SOD2/TPMT/TYMS/UGT1A1/XPC/XRCC1/CCND1,ALK/APC/ASXL1/ATM/ATRX/BAP1/BLM/BMPR1A/BRAF/BRCA1/BRCA2/BRIP1/CBL/CDC73/CDH1/CDK4/CDKN1B/CDKN2A/CEBPA/CHEK2/CREBBP/CTLA4/DICER1/DNMT3A/EGFR/EP300/EPCAM/ERCC4/ETV6/FANCA/FANCC/FANCD2/FANCE/FANCF/FANCG/FANCI/FANCL/FAS/FH/FLCN/GATA2/HOXB13/HRAS/IKZF1/KRAS/MAP2K1/MAP2K2/MAX/MEN1/MET/MITF/MLH1/MSH2/MSH3/MSH6/MUTYH/NBN/NF1/NF2/NKX2-1/NRAS/NTHL1/PALB2/PAX5/PHOX2B/PMS2/POLD1/POLE/PRKAR1A/PTCH1/PTEN/PTPN11/RAD51/RAD51C/RAD51D/RAF1/RB1/RET/RIT1/RNF43/RRAS2/RUNX1/SBDS/SDHA/SDHAF2/SDHB/SDHC/SDHD/SLX4/SMAD4/SMARCA4/SMARCB1/SOS1/STAT3/STK11/SUFU/TERT/TMEM127/TP53/TSC1/TSC2/VHL/WT1/XRCC2,MSH2/MSH6/MLH1/PMS2/EPCAM,ATM/ATR/BARD1/BRCA1/BRCA2/BRIP1/CDK12/CHEK1/CHEK2/FANCA/FANCL/MLH1/NBN/PALB2/RAD51B/RAD51C/RAD51D/RAD54L,ARID1A/FANCM/HDAC2/POLD1/PTEN/RAD50/PPP2R2A/ATR/ATRX/BAP1/BLM/FANCA/FANCC/FANCD2/FANCE/FANCF/FANCG/FANCI/MDC1/MRE11/NBN/RAD51/XRCC2/ARID1B/ARID2/EMSY/RAD52,MDM2/MDM4/EGFR/JAK1/JAK2/CTNNB1/AXIN1/APC/ALK/B2M/PTEN/STK11/KEAP1/ATM/ATR/BRCA1/BRCA2/CHEK1/CHEK2/BAP1/ERCC4/POLE/PALB2/RAD51C/RAD51D/ARID1A/ARID1B/ARID2/EPHA3/EPHA5/EPHA7/NF1/POLD1/LRP1B/NOTCH1/NOTCH2/NOTCH3 LZ113,624gene,肿瘤624基因检测(血液版),肿瘤精准诊疗基因检测(624基因),addTarget;addFusion;addCnv;addMsi;addMmr;addChemo;addHrr1;addHrr2;addHcs;addbigPanel;addHpd;addNeoantigen;addTmb,NA,624,ABL1/AKT1/AKT2/AKT3/ALK/APC/ARAF/ATM/BARD1/BCL2L11/BRAF/BRCA1/BRCA2/BRIP1/BTK/CCND1/CCND2/CCND3/CCNE1/CDK12/CDK4/CDKN2A/CDKN2B/CHEK1/CHEK2/CSF1R/CSF3R/CTNNB1/CXCR4/DDR2/EGFR/ERBB2/ERBB3/ERBB4/ESR1/EZH2/FANCL/FBXW7/FGFR1/FGFR2/FGFR3/FGFR4/FLT3/GNA11/GNAQ/HRAS/IDH1/IDH2/JAK1/JAK2/JAK3/KDR/KIT/KRAS/MAP2K1/MAP2K2/MDM2/MET/MPL/MTOR/MYCN/MYD88/NF1/NF2/NRAS/NTRK1/NTRK2/NTRK3/PALB2/PDGFRA/PDGFRB/PIK3CA/PPP2R2A/PTCH1/PTEN/RAD51B/RAD51C/RAD51D/RAD54L/RAF1/RB1/RET/ROS1/SMAD4/SMARCB1/SMO/STK11/TP53/TSC1/TSC2/VHL/ARID1A/ARID1B/ARID2/ATR/ATRX/BAP1/BLM/EMSY/FANCA/FANCC/FANCD2/FANCE/FANCG/FANCM/HDAC2/MRE11/NBN/POLD1/RAD50/RAD51/RAD52/WRN/XRCC2/MLH1/MSH2/MSH6/PMS2/EPCAM/AXIN1/B2M/CD274/EPHA3/ERCC4/FGF19/FGF3/FGF4/KEAP1/MDM4/MTAP/NFE2L2/NOTCH1/NOTCH2/POLE/RNF43/SETD2/ASXL1/CBL/CDC73/CDH1/CDKN1B/CEBPA/CREBBP/DNMT3A/EP300/ERCC3/FAS/FH/FLCN/IKZF1/MAPK1/MEN1/MITF/NKX2-1/PAX5/PRKAR1A/PTPN11/SDHA/SDHB/SDHC/SDHD/SMARCA4/STAT3/SUFU/TERC/WT1/ABL2/ACSL6/ACVR1/ACVR1B/ACVR2A/AFDN/AFF1/AFF3/AKAP9/ALDH2/ALOX12B/AMER1/AR/ARFRP1/ARHGAP5/ARHGEF12/ASXL2/ATP1A1/ATP2B3/AURKA/AURKB/AXIN2/AXL/B3GALT2/BAX/BCL11A/BCL2/BCL2L1/BCL2L12/BCL2L2/BCL3/BCL6/BCL9/BCL9L/BCLAF1/BCOR/BCORL1/BCR/BIRC6/BMP5/BMPR1A/BRD3/BRD4/BTG1/BTG2/BUB1B/CALR/CAMTA1/CARD11/CASP8/CASP9/CBFB/CCDC6/CCR4/CD209/CD22/CD70/CD74/CD79A/CD79B/CDH10/CDH11/CDK8/CDKN1A/CDKN2C/CDX2/CEP43/CEP89/CHD2/CHD4/CIC/CIITA/CLIP1/CLTC/CLTCL1/CNBD1/CNTNAP2/CNTRL/COL1A1/COL2A1/CRKL/CRLF2/CRNKL1/CRTC1/CSMD3/CTCF/CTNNA1/CTNND1/CTNND2/CUL4A/CUX1/CYLD/CYP17A1/DAXX/DCBLD1/DCC/DDB2/DDR1/DDX10/DDX5/DDX6/DGCR8/DICER1/DIS3/DNM2/DNMT1/DOT1L/DROSHA/EBF1/EED/ELL/EML4/EPHA7/EPHB1/EPHB4/EPS15/ERCC5/ERG/ERRFI1/ETV1/ETV6/EVI2A/EVI2B/EXT2/EZR/FAM135B/FAM47C/FAT1/FAT3/FAT4/FBXO11/FCGR2B/FES/FGF10/FGF12/FGF14/FGF23/FGF6/FHIT/FKBP9/FLNA/FLT1/FLT4/FOXA1/FOXL2/FOXO3/FOXP1/FUBP1/GABRA6/GAS7/GATA1/GATA2/GATA3/GATA4/GATA6/GID4/GLI1/GNA13/GNAS/GRIN2A/GRM3/GSK3B/GSTTP2/H3-3A/H3C2/H4C9/HDAC1/HERPUD1/HGF/HIF1A/HIF1A-AS3/HIP1/HLA-A/HLA-B/HLA-C/HMGA1/HNF1A/HNRNPA2B1/HOXA11/HSP90AA1/HSP90AB1/ID3/IGF1R/IKBKE/IL6ST/IL7R/INPP4B/IRF2/IRF4/IRS2/IRS4/ISX/ITGAV/ITK/JUN/KAT6A/KAT6B/KAT7/KCNJ5/KDM5A/KDM5C/KDM6A/KEL/KIAA1549/KLF4/KLHL6/KMT2A/KMT2C/KMT2D/KNL1/KNSTRN/KTN1/LARP4B/LATS1/LATS2/LHFPL6/LMNA/LMO1/LMO2/LOC101928140/LOC645967/LPP/LRIG3/LRP1B/LRRC4/LSM14A/LTK/LYN/LZTR1/MACC1/MAF/MAP2K4/MAP3K13/MAX/MB21D2/MCL1/MECOM/MED12/MEF2B/MERTK/MKNK1/MLH3/MLLT3/MSI2/MSH3/MSN/MST1R/MUC1/MUC16/MUC4/MYB/MYC/MYCL/MYH11/MYOD1/N4BP2/NAB2/NACA/NBEA/NCOA2/NCOR1/NCOR2/NDRG1/NFATC2/NFKB2/NFKBIA/NFKBIE/NIN/NOTCH3/NPIPB2/NPM1/NRG1/NSD1/NSD2/NSD3/NUMA1/NUP214/NUTM2B/OLIG2/P2RY8/PABPC1/PARP1/PARP2/PARP3/PAX3/PBRM1/PCBP1/PCM1/PDCD1/PDCD1LG2/PDE4DIP/PDK1/PER1/PIK3C2B/PIK3C2G/PIK3CB/PIK3R1/PIM1/PLCG1/PMS1/POLQ/PPARG/PPFIBP1/PPM1D/PPP2R1A/PPP6C/PRCC/PRDM1/PRDM2/PREX2/PRKACA/PRKCB/PRKCI/PRKN/PTPN13/PTPN6/PTPRB/PTPRC/PTPRD/PTPRO/PTPRT/QKI/RABEP1/RAC1/RAD21/RANBP2/RARA/RBM10/RBM15/RECQL4/REL/RGPD3/RGS7/RHOA/RICTOR/RIT1/RNF213/ROBO2/RPL10/RPL22/RPL5/RPTOR/RUNX1/RUNX1T1/SALL4/SDC4/SEPTIN9/SETBP1/SETD1B/SETDB1/SF3B1/SGK1/SH2B3/SHTN1/SIRPA/SIX1/SIX2/SLC34A2/SMAD2/SMAD3/SMARCE1/SMC1A/SNCAIP/SNX29/SOCS1/SOX2/SOX9/SPECC1/SPEN/SPOP/SRC/SRSF2/SS18/SSX1/STAG1/STAG2/STAT5B/STAT6/STIL/SYK/TAL2/TAP1/TAP2/TBL1XR1/TBX3/TCEA1/TCF3/TCF7L2/TEC/TEK/TENT5C/TERT/TET1/TET2/TFE3/TFG/THRAP3/TIPARP/TMPRSS2/TNC/TNFAIP3/TNFRSF14/TNFRSF17/TP63/TPR/TRAF7/TRIM24/TRIM33/TRIP11/TRRAP/TSHR/TYRO3/U2AF1/UBR5/USP6/USP8/VEGFA/WAS/WNK2/XPO1/ZEB1/ZFHX3/ZMYM2/ZMYM3/ZNF217/ZNF479/ZNF703/ZNRF3/ZRSR2,MET,TERT,ALK/ATM/B2M/CCND1/CCND2/CCND3/CCNE1/CD274/CDK4/CDKN2A/CDKN2B/CSF1R/EGFR/ERBB2/FGFR1/FGFR2/FGFR3/FLT3/MDM2/MDM4/MET/MYCN/NF2/PTEN/RB1/SMARCB1,ALK/BRAF/FGFR1/FGFR2/FGFR3/MET/NTRK1/NTRK2/NTRK3/PDGFRA/RET/ROS1,BCL2L11,ABCB1/ABCG2/ACYP2/CASP7/CDA/CEP72/CYP19A1/CYP2B6/CYP2D6/CYP3A4/DHFR/DPYD/ERCC1/ERCC2/GSTP1/HAS3/MTHFR/MUTYH/NQO1/NUDT15/PNPLA3/RRM1/SLCO1B1/SLCO1B3/SOD2/TP53/TPMT/TYMS/UGT1A1/XRCC1,ALK/APC/ASXL1/ATM/ATRX/BAP1/BLM/BMPR1A/BRAF/BRCA1/BRCA2/BRIP1/CBL/CDC73/CDH1/CDK4/CDKN1B/CDKN2A/CEBPA/CHEK2/CREBBP/DICER1/DNMT3A/EGFR/EP300/EPCAM/ERCC3/ERCC4/ETV6/FANCA/FANCC/FANCD2/FANCE/FANCG/FANCL/FANCM/FAS/FH/FLCN/GATA2/HRAS/IKZF1/KRAS/LZTR1/MAP2K1/MAP2K2/MAPK1/MEN1/MET/MITF/MLH1/MSH2/MSH3/MSH6/MUTYH/NBN/NF1/NF2/NKX2-1/NRAS/PALB2/PAX5/PMS2/POLD1/POLE/PRKAR1A/PTCH1/PTEN/PTPN11/RAD51/RAD51C/RAD51D/RAF1/RB1/RET/RNF43/RUNX1/SDHA/SDHB/SDHC/SDHD/SMAD4/SMARCA4/SMARCB1/STAT3/STK11/SUFU/TERC/TP53/TSC1/TSC2/VHL/WRN/WT1/XRCC2,MSH2/MSH6/MLH1/PMS2/EPCAM,ATM/ATR/BARD1/BRCA1/BRCA2/BRIP1/CDK12/CHEK1/CHEK2/FANCA/FANCL/MLH1/NBN/PALB2/RAD51B/RAD51C/RAD51D/RAD54L,ARID1A/FANCM/HDAC2/POLD1/PTEN/RAD50/PPP2R2A/ATR/ATRX/BAP1/BLM/FANCA/FANCC/FANCD2/FANCE/FANCG/MRE11/NBN/RAD51/XRCC2/ARID1B/ARID2/EMSY/RAD52/WRN,CCND1/ALK/APC/ARID1A/ATM/ATR/AXIN1/B2M/BAP1/BRCA1/BRCA2/BRIP1/CD274/CDK12/CDKN2A/CDKN2B/CHEK1/CHEK2/CTNNB1/EGFR/EPHA3/ERCC4/FGF19/FGF3/FGF4/JAK1/JAK2/KEAP1/MDM2/MDM4/MRE11/MTAP/NBN/NF1/NFE2L2/NOTCH1/NOTCH2/NTRK3/PALB2/POLD1/POLE/PTEN/RAD50/RAD51C/RAD51D/RNF43/SETD2/SMO/STK11 -LZ102,lung_17_gene,肺癌17基因检测(组织版),肺癌17基因检测报告(组织版),addTarget;addFusion;addCnv,ST21,17,ALK/AKT1/BRAF/EGFR/ERBB2/KRAS/MAP2K1/MET/PIK3CA/PTEN/NTRK1/NTRK2/NTRK3/NRAS,MET,NA,EGFR/ERBB2/MET,ALK/NTRK1/NTRK2/NTRK3/RET/ROS1,BCL2L11,NA,NA,NA,NA,NA,NA -LZ111,lung_17_gene,肺癌17基因检测(血液版),肺癌17基因检测报告(血液版),addTarget;addFusion;addCnv,ST21,17,ALK/AKT1/BRAF/EGFR/ERBB2/KRAS/MAP2K1/MET/PIK3CA/PTEN/NTRK1/NTRK2/NTRK3/NRAS,MET,NA,EGFR/ERBB2/MET,ALK/NTRK1/NTRK2/NTRK3/RET/ROS1,BCL2L11,NA,NA,NA,NA,NA,NA +LZ102,lung_17_gene,肺癌17基因检测(组织版),肺癌17基因检测报告(组织版),addTarget;addFusion;addCnv,ST21,17,ALK/AKT1/BRAF/EGFR/ERBB2/KRAS/MAP2K1/MET/PIK3CA/PTEN/NTRK1/NTRK2/NTRK3/NRAS/RET/ROS1/BCL2L11,MET,NA,ALK/EGFR/ERBB2/MET,ALK/NTRK1/NTRK2/NTRK3/RET/ROS1,BCL2L11,NA,NA,NA,NA,NA,NA +LZ111,lung_17_gene,肺癌17基因检测(血液版),肺癌17基因检测报告(血液版),addTarget;addFusion;addCnv,ST21,17,ALK/AKT1/BRAF/EGFR/ERBB2/KRAS/MAP2K1/MET/PIK3CA/PTEN/NTRK1/NTRK2/NTRK3/NRAS/RET/ROS1/BCL2L11,MET,NA,ALK/EGFR/ERBB2/MET,ALK/NTRK1/NTRK2/NTRK3/RET/ROS1,BCL2L11,NA,NA,NA,NA,NA,NA LZ135,lung_85_gene,肺癌85基因检测(组织版),肺癌85基因检测报告(组织版),addTarget;addFusion;addCnv;addMsi;addMmr;addChemo,ST21,160,AKT1/ALK/ATM/BARD1/BCL2L11/BRAF/BRCA1/BRCA2/BRIP1/CCND1/CCND2/CDK12/CDK4/CDKN2A/CHEK1/CHEK2/CSF1R/DDR2/EGFR/ERBB2/ERBB4/FANCL/FBXW7/FGFR1/FGFR2/FGFR3/HRAS/IDH1/KIT/KRAS/MET/MTOR/MYC/NF1/NRAS/NTRK1/NTRK2/NTRK3/PALB2/PDGFRA/PIK3CA/PTEN/RAD51B/RAD51C/RAD51D/RAD54L/RET/ROS1/TP53/TSC1/TSC2/VHL/STK11/APC/ARID1A/CTNNB1/EPCAM/ERBB3/MAP2K1/MLH1/MSH2/MSH6/PMS2/RB1/SMAD4/SMO,MET,NA,ALK/CCND1/CCND2/CDK4/CDKN2A/CSF1R/EGFR/ERBB2/FGFR1/FGFR2/FGFR3/MET/MYC/SMO,ALK/NTRK1/NTRK2/NTRK3/RET/ROS1,BCL2L11,ABCB1/CASP7/CDA/CYP2C8/CYP3A4/DPYD/DYNC2H1/ERCC1/ERCC2/GSTP1/MTHFR/NQO1/SOD2/TPMT/TYMS/UGT1A1/XRCC1/XPC/HAS3,NA,MSH2/MSH6/MLH1/PMS2/EPCAM,NA,NA,NA LZ136,lung_85_gene,肺癌85基因检测(血液版),肺癌85基因检测报告(血液版),addTarget;addFusion;addCnv;addMmr;addChemo,ST21,160,AKT1/ALK/ATM/BARD1/BCL2L11/BRAF/BRCA1/BRCA2/BRIP1/CCND1/CCND2/CDK12/CDK4/CDKN2A/CHEK1/CHEK2/CSF1R/DDR2/EGFR/ERBB2/ERBB4/FANCL/FBXW7/FGFR1/FGFR2/FGFR3/HRAS/IDH1/KIT/KRAS/MET/MTOR/MYC/NF1/NRAS/NTRK1/NTRK2/NTRK3/PALB2/PDGFRA/PIK3CA/PTEN/RAD51B/RAD51C/RAD51D/RAD54L/RET/ROS1/TP53/TSC1/TSC2/VHL/STK11/APC/ARID1A/CTNNB1/EPCAM/ERBB3/MAP2K1/MLH1/MSH2/MSH6/PMS2/RB1/SMAD4/SMO,MET,NA,ALK/CCND1/CCND2/CDK4/CDKN2A/CSF1R/EGFR/ERBB2/FGFR1/FGFR2/FGFR3/MET/MYC/SMO,ALK/NTRK1/NTRK2/NTRK3/RET/ROS1,BCL2L11,ABCB1/CASP7/CDA/CYP2C8/CYP3A4/DPYD/DYNC2H1/ERCC1/ERCC2/GSTP1/MTHFR/NQO1/SOD2/TPMT/TYMS/UGT1A1/XRCC1/XPC/HAS3,NA,MSH2/MSH6/MLH1/PMS2/EPCAM,NA,NA,NA LZ137,Colorectal_88_gene,结直肠癌88基因检测(组织版),结直肠癌88基因检测报告(组织版),addTarget;addFusion;addCnv;addMsi;addMmr;addChemo;addHcs,ST14,160,AKT1/ALK/APC/ARID1A/ATM/BARD1/BRAF/BRCA1/BRCA2/BRIP1/CCND2/CCND3/CDK12/CDK4/CDKN2A/CHEK1/CHEK2/CSF1R/CTNNB1/EGFR/EPCAM/ERBB2/FANCL/FBXW7/FGFR1/FGFR2/FGFR3/FLT3/IDH1/KDR/KIT/KRAS/MAP2K1/MET/MLH1/MSH2/MSH6/MTOR/NF1/NRAS/NTRK1/NTRK2/NTRK3/PALB2/PDGFRA/PIK3CA/PMS2/PTEN/RAD51B/RAD51C/RAD51D/RAD54L/RB1/RET/ROS1/SMAD4/SMO/TP53/TSC1/TSC2/VHL/POLD1/POLE/STK11/MUTYH/SDHA/SDHB/SDHC/SDHD,MET,NA,ALK/CCND2/CCND3/CDK4/CDKN2A/CSF1R/EGFR/ERBB2/FGFR1/FGFR2/FGFR3/FLT3/MET/PTEN/RB1,ALK/NTRK1/NTRK2/NTRK3/RET/ROS1,NA,ABCB1/CASP7/CDA/CYP2C8/CYP3A4/DPYD/DYNC2H1/ERCC1/ERCC2/GSTP1/MTHFR/NQO1/SOD2/TPMT/TYMS/UGT1A1/XRCC1/XPC/HAS3,MLH1/MSH2/MSH6/PMS2/EPCAM/TP53/APC/MUTYH/SMAD4/STK11/PTEN,MSH2/MSH6/MLH1/PMS2/EPCAM,NA,NA,NA diff --git a/pipeline.wdl b/pipeline.wdl index 5ee794d..7f92fdc 100644 --- a/pipeline.wdl +++ b/pipeline.wdl @@ -1,3 +1,4 @@ + import "./wdl/qc.wdl" import "./wdl/alignment.wdl" import "./wdl/call_mutation.wdl" @@ -199,6 +200,7 @@ workflow pipeline { msi=call_msi.msi_txt, hereditary=call_hereditary.hereditary_txt, chemo=call_chemo.chemo_res, + neoantigen=call_neoantigen.neoantigen_txt, pollution=call_pollution.pollution_res, name=tumor, normal=normal, diff --git a/wdl/call_mutation.wdl b/wdl/call_mutation.wdl index 10ae946..2658d98 100755 --- a/wdl/call_mutation.wdl +++ b/wdl/call_mutation.wdl @@ -1,3 +1,4 @@ + task mutation_calling_umi { String name String output_dir diff --git a/wdl/chemo.wdl b/wdl/chemo.wdl index 84df779..d5598b9 100755 --- a/wdl/chemo.wdl +++ b/wdl/chemo.wdl @@ -1,3 +1,4 @@ + task run_chemo { String name String output_dir @@ -10,11 +11,12 @@ task run_chemo { if [ ! -d ${output_dir}/chemo ];then mkdir ${output_dir}/chemo fi + chemo.py -d $DATABASE/chemo_database.xlsx -probe ${probe} -n ${name} -v ${vcf} -o ${output_dir}/chemo -c ${cancer} -p ${project} >>> output { - String chemo_res = "${output_dir}/chemo/${name}.drug.res.txt" + String run_chemo_res = "${output_dir}/chemo/${name}.drug.res.txt" } } diff --git a/wdl/cnv.wdl b/wdl/cnv.wdl index decb170..9e145c4 100755 --- a/wdl/cnv.wdl +++ b/wdl/cnv.wdl @@ -1,3 +1,4 @@ + task cnv_single { String name String output_dir diff --git a/wdl/hereditary.wdl b/wdl/hereditary.wdl index 77d6d76..fdc0926 100755 --- a/wdl/hereditary.wdl +++ b/wdl/hereditary.wdl @@ -1,3 +1,4 @@ + task run_hereditary { String name String output_dir @@ -8,6 +9,7 @@ task run_hereditary { if [ ! -d ${output_dir}/hereditary ];then mkdir ${output_dir}/hereditary fi + hereditary.py -d $DATABASE/hereditary_database.xlsx -p ${project} -n ${name} -f ${filter_txt} -o ${output_dir}/hereditary >>> diff --git a/wdl/msi.wdl b/wdl/msi.wdl index 161f9aa..3b31417 100755 --- a/wdl/msi.wdl +++ b/wdl/msi.wdl @@ -1,3 +1,4 @@ + task msi_single { String name String bed @@ -18,7 +19,7 @@ task msi_single { >>> output { - String msi_txt = "${output_dir}/msi/${name}.msi.txt" + String run_msi_txt = "${output_dir}/msi/${name}.msi.txt" } } @@ -44,7 +45,7 @@ task msi_paired { >>> output { - String msi_txt = "${output_dir}/msi/${name}.msi.txt" + String run_msi_txt = "${output_dir}/msi/${name}.msi.txt" } } diff --git a/wdl/neoantigen.wdl b/wdl/neoantigen.wdl index 2d86796..d8f01ef 100755 --- a/wdl/neoantigen.wdl +++ b/wdl/neoantigen.wdl @@ -1,3 +1,4 @@ + task run_neoantigen { String tumor String? normal @@ -12,7 +13,7 @@ task run_neoantigen { command <<< if [ ! -d ${output_dir}/neoantigen/hla ];then - mkdir ${output_dir}/neoantigen/hla + mkdir -p ${output_dir}/neoantigen/hla fi razers3 -tc 10 -i 95 -m 1 -dr 0 -o ${output_dir}/neoantigen/hla/fished_1.bam \ @@ -145,7 +146,7 @@ task run_neoantigen { /data dos2unix ${output_dir}/neoantigen/MHC_Class_I/*.all_epitopes.tsv - # perl ${output_dir}/netchop.pl $outputDir $name $tumor $max_peptide_length + netchop.pl ${output_dir} ${tumor} >>> } @@ -178,4 +179,8 @@ workflow call_neoantigen { sample_type=if umi then 'c' else 't' } } + + output { + String neoantigen_txt = "${output_dir}neoantigen/MHC_Class_I/neoantigen.txt" + } } \ No newline at end of file diff --git a/wdl/pollution.wdl b/wdl/pollution.wdl index 5ab38a3..a52bd8f 100755 --- a/wdl/pollution.wdl +++ b/wdl/pollution.wdl @@ -1,3 +1,4 @@ + task run_pollution { String name String output_dir @@ -20,7 +21,7 @@ task run_pollution { >>> output { - String pollution_res = "${output_dir}/pollution/${name}_pollution.csv" + String run_pollution_res = "${output_dir}/pollution/${name}_pollution.csv" } } diff --git a/wdl/postprocess.wdl b/wdl/postprocess.wdl index e458b91..c19816e 100755 --- a/wdl/postprocess.wdl +++ b/wdl/postprocess.wdl @@ -1,3 +1,4 @@ + task run_post { String? mutation String? fusion @@ -5,6 +6,7 @@ task run_post { String? msi String? hereditary String? chemo + String? neoantigen String? pollution String name String? normal @@ -22,7 +24,7 @@ task run_post { >>> output { - String merged = "${output_dir}/report/${name}.merged_file.xlsx" + String run_merged = "${output_dir}/report/${name}.merged_file.xlsx" } } @@ -37,6 +39,7 @@ workflow call_postprocess { String? hereditary String? pollution String? chemo + String? neoantigen String name String? normal String output_dir @@ -52,6 +55,7 @@ workflow call_postprocess { msi=msi, hereditary=hereditary, chemo=chemo, + neoantigen=neoantigen, pollution=pollution, name=name, normal=normal, diff --git a/wdl/qc.wdl b/wdl/qc.wdl index 6f019fc..13f4465 100755 --- a/wdl/qc.wdl +++ b/wdl/qc.wdl @@ -1,3 +1,4 @@ + task runqc { String name String input_dir diff --git a/wdl/statistics.wdl b/wdl/statistics.wdl index f52dd1d..0199cd0 100755 --- a/wdl/statistics.wdl +++ b/wdl/statistics.wdl @@ -1,3 +1,4 @@ + task run_statistics { String name String output_dir diff --git a/wdl/tmb.wdl b/wdl/tmb.wdl index aa4e630..a0fe4dd 100755 --- a/wdl/tmb.wdl +++ b/wdl/tmb.wdl @@ -1,3 +1,4 @@ + task run_tmb { String name String file @@ -19,7 +20,7 @@ task run_tmb { >>> output { - String tmb_txt = "${output_dir}/tmb/${name}.tmb.txt" + String run_tmb_txt = "${output_dir}/tmb/${name}.tmb.txt" } } @@ -50,7 +51,7 @@ workflow call_tmb { name=name, file=file, project=project, - sample_type='c', + sample_type='t', output_dir=output_dir }