Skip to content

Commit

Permalink
update tests
Browse files Browse the repository at this point in the history
  • Loading branch information
jodyphelan committed Apr 29, 2022
1 parent a678d39 commit 3bc74e8
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 3 deletions.
10 changes: 8 additions & 2 deletions tbprofiler/collate.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,9 @@ def collate_results(prefix,conf,result_dir="./results",sample_file=None,full_res
results[s]["main_lin"] = temp["main_lin"]
results[s]["sublin"] = temp["sublin"]
results[s]["drtype"] = temp["drtype"]
results[s]["pct_reads_mapped"] = temp["qc"].get("pct_reads_mapped","NA")
results[s]["num_reads_mapped"] = temp["qc"].get("num_reads_mapped","NA")
results[s]["median_coverage"] = temp["qc"].get("median_coverage","NA")
if full_variant_results:

all_vars = conf["json_db"]
Expand All @@ -86,13 +89,16 @@ def collate_results(prefix,conf,result_dir="./results",sample_file=None,full_res
VAR.close()

OUT = open(prefix+".txt","w")
OUT.write("sample\tmain_lineage\tsub_lineage\tDR_type\tnum_dr_variants\tnum_other_variants\t%s" % "\t".join(drug_list)+"\n")
OUT.write("sample\tmain_lineage\tsub_lineage\tDR_type\tpct_reads_mapped\tnum_reads_mapped\tmedian_coverage\tnum_dr_variants\tnum_other_variants\t%s" % "\t".join(drug_list)+"\n")
for s in samples:
results[s]["num_dr_variants"] = len(sample_dr_mutations_set[s])
results[s]["num_other_variants"] = len(sample_other_mutations_set[s])
OUT.write("%s\t%s\t%s\t%s\t%s\t%s\t%s\n" %(s,results[s]["main_lin"],results[s]["sublin"],results[s]["drtype"],results[s]["num_dr_variants"],results[s]["num_other_variants"],"\t".join([results[s][x] for x in drug_list])))
OUT.write("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n" %(s,results[s]["main_lin"],results[s]["sublin"],results[s]["drtype"],results[s]["pct_reads_mapped"],results[s]["num_reads_mapped"],results[s]["median_coverage"],results[s]["num_dr_variants"],results[s]["num_other_variants"],"\t".join([results[s][x] for x in drug_list])))
OUT.close()
json.dump(results,open(prefix+".json","w"))



lineage_cols = {"lineage1":"#104577","lineage2":"#ab2323","lineage3":"#18a68c","lineage4":"#f68e51","lineage5":"#7cb5d2","lineage6":"#fde05e","lineage7":"#bc94b7","lineage8":"#ccc9e7","lineage9":"#bd9391","Animal strains":"#f8e0c8","Other":"#000000"}
lineage_aggregation = {"M.caprae":"Animal strains","M.bovis":"Animal strains","M.orygis":"Animal strains"}
lineages_present = set([lineage_aggregation.get(results[s]["main_lin"],results[s]["main_lin"]) if ";" not in results[s]["main_lin"] else "Other" for s in samples])
Expand Down
7 changes: 7 additions & 0 deletions tests/example_collate.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
sample main_lineage sub_lineage DR_type pct_reads_mapped num_reads_mapped median_coverage num_dr_variants num_other_variants rifampicin isoniazid pyrazinamide ethambutol streptomycin fluoroquinolones moxifloxacin ofloxacin levofloxacin ciprofloxacin aminoglycosides amikacin kanamycin capreomycin ethionamide para-aminosalicylic_acid cycloserine linezolid bedaquiline clofazimine delamanid
por5A_illumina_bwa_freebayes_PE lineage4 lineage4.3.4.2 MDR-TB 99.65 68508 0 7 16 rpoB_p.Ser450Leu fabG1_c.-15C>T, inhA_p.Ile194Thr pncA_p.Val125Gly embB_p.Met306Val, embB_p.Met423Thr gid_p.Ala80Pro - - - - - - - - - fabG1_c.-15C>T, inhA_p.Ile194Thr - - - - - -
por5A_illumina_bwa_gatk_PE lineage4 lineage4.3.4.2 MDR-TB 99.65 68508 0 7 16 rpoB_p.Ser450Leu fabG1_c.-15C>T, inhA_p.Ile194Thr pncA_p.Val125Gly embB_p.Met306Val, embB_p.Met423Thr gid_p.Ala80Pro - - - - - - - - - fabG1_c.-15C>T, inhA_p.Ile194Thr - - - - - -
por5A_illumina_bwa_bcftools_PE lineage4 lineage4.3.4.2 MDR-TB 99.65 68508 0 7 16 rpoB_p.Ser450Leu fabG1_c.-15C>T, inhA_p.Ile194Thr pncA_p.Val125Gly embB_p.Met306Val, embB_p.Met423Thr gid_p.Ala80Pro - - - - - - - - - fabG1_c.-15C>T, inhA_p.Ile194Thr - - - - - -
por5A_illumina_bwa_pilon_PE lineage4 lineage4.3.4.2 MDR-TB 99.65 68508 0 7 16 rpoB_p.Ser450Leu fabG1_c.-15C>T, inhA_p.Ile194Thr pncA_p.Val125Gly embB_p.Met306Val, embB_p.Met423Thr gid_p.Ala80Pro - - - - - - - - - fabG1_c.-15C>T, inhA_p.Ile194Thr - - - - - -
por5A_illumina_bwa_lofreq_PE lineage4 lineage4.3.4.2 MDR-TB 99.65 68508 0 7 16 rpoB_p.Ser450Leu fabG1_c.-15C>T, inhA_p.Ile194Thr pncA_p.Val125Gly embB_p.Met306Val, embB_p.Met423Thr gid_p.Ala80Pro - - - - - - - - - fabG1_c.-15C>T, inhA_p.Ile194Thr - - - - - -
por5_vcf lineage4 lineage4.3.4.2 MDR-TB NA NA NA 7 17 rpoB_p.Ser450Leu fabG1_c.-15C>T, inhA_p.Ile194Thr pncA_p.Val125Gly embB_p.Met306Val, embB_p.Met423Thr gid_p.Ala80Pro - - - - - - - - - fabG1_c.-15C>T, inhA_p.Ile194Thr - - - - - -
3 changes: 2 additions & 1 deletion tests/run_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
import json
import os

collate_text = open("example_collate.txt").read()

if not os.path.isdir("scratch"):
os.mkdir("scratch")
os.chdir("scratch")
Expand All @@ -20,7 +22,6 @@
('gid', 'p.Ala80Pro')
]

collate_text = 'sample\tmain_lineage\tsub_lineage\tDR_type\tnum_dr_variants\tnum_other_variants\trifampicin\tisoniazid\tpyrazinamide\tethambutol\tstreptomycin\tfluoroquinolones\tmoxifloxacin\tofloxacin\tlevofloxacin\tciprofloxacin\taminoglycosides\tamikacin\tkanamycin\tcapreomycin\tethionamide\tpara-aminosalicylic_acid\tcycloserine\tlinezolid\tbedaquiline\tclofazimine\tdelamanid\npor5A_illumina_bwa_freebayes_PE\tlineage4\tlineage4.3.4.2\tMDR-TB\t7\t16\trpoB_p.Ser450Leu\tfabG1_c.-15C>T, inhA_p.Ile194Thr\tpncA_p.Val125Gly\tembB_p.Met306Val, embB_p.Met423Thr\tgid_p.Ala80Pro\t-\t-\t-\t-\t-\t-\t-\t-\t-\tfabG1_c.-15C>T, inhA_p.Ile194Thr\t-\t-\t-\t-\t-\t-\npor5A_illumina_bwa_gatk_PE\tlineage4\tlineage4.3.4.2\tMDR-TB\t7\t16\trpoB_p.Ser450Leu\tfabG1_c.-15C>T, inhA_p.Ile194Thr\tpncA_p.Val125Gly\tembB_p.Met306Val, embB_p.Met423Thr\tgid_p.Ala80Pro\t-\t-\t-\t-\t-\t-\t-\t-\t-\tfabG1_c.-15C>T, inhA_p.Ile194Thr\t-\t-\t-\t-\t-\t-\npor5A_illumina_bwa_bcftools_PE\tlineage4\tlineage4.3.4.2\tMDR-TB\t7\t16\trpoB_p.Ser450Leu\tfabG1_c.-15C>T, inhA_p.Ile194Thr\tpncA_p.Val125Gly\tembB_p.Met306Val, embB_p.Met423Thr\tgid_p.Ala80Pro\t-\t-\t-\t-\t-\t-\t-\t-\t-\tfabG1_c.-15C>T, inhA_p.Ile194Thr\t-\t-\t-\t-\t-\t-\npor5A_illumina_bwa_pilon_PE\tlineage4\tlineage4.3.4.2\tMDR-TB\t7\t16\trpoB_p.Ser450Leu\tfabG1_c.-15C>T, inhA_p.Ile194Thr\tpncA_p.Val125Gly\tembB_p.Met306Val, embB_p.Met423Thr\tgid_p.Ala80Pro\t-\t-\t-\t-\t-\t-\t-\t-\t-\tfabG1_c.-15C>T, inhA_p.Ile194Thr\t-\t-\t-\t-\t-\t-\npor5A_illumina_bwa_lofreq_PE\tlineage4\tlineage4.3.4.2\tMDR-TB\t7\t16\trpoB_p.Ser450Leu\tfabG1_c.-15C>T, inhA_p.Ile194Thr\tpncA_p.Val125Gly\tembB_p.Met306Val, embB_p.Met423Thr\tgid_p.Ala80Pro\t-\t-\t-\t-\t-\t-\t-\t-\t-\tfabG1_c.-15C>T, inhA_p.Ile194Thr\t-\t-\t-\t-\t-\t-\npor5_vcf\tlineage4\tlineage4.3.4.2\tMDR-TB\t7\t17\trpoB_p.Ser450Leu\tfabG1_c.-15C>T, inhA_p.Ile194Thr\tpncA_p.Val125Gly\tembB_p.Met306Val, embB_p.Met423Thr\tgid_p.Ala80Pro\t-\t-\t-\t-\t-\t-\t-\t-\t-\tfabG1_c.-15C>T, inhA_p.Ile194Thr\t-\t-\t-\t-\t-\t-\n'

def test_revcom():
assert pp.revcom("AGCTTGAGTC") == "GACTCAAGCT"
Expand Down

0 comments on commit 3bc74e8

Please sign in to comment.