Skip to content

Commit 855b64f

Browse files
authored
Merge pull request #87 from InPreD/develop_issue86
Develop issue86
2 parents 3348f64 + 1cb314a commit 855b64f

3 files changed

Lines changed: 38 additions & 37 deletions

File tree

Script/PRONTO.py

Lines changed: 32 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -519,8 +519,11 @@ def get_patient_info_from_MTF_new(ipd_material_file,ipd_no,DNA_sampleID,RNA_samp
519519
sample_info_comment += "|" + sample_ID + ": " + comments
520520
if(sheet_material.cell_value(r,c) == columns['extraction_hospital'] and extraction_hospital == ""):
521521
for r in range(r,(library_pre_row-2)):
522-
if(sheet_material.cell_value(r+2,8) == DNA_sampleID):
523-
extraction_hospital = str(sheet_material.cell_value(r+2,c))
522+
if(sheet_material.cell_value(r+2,9) == DNA_sampleID):
523+
try:
524+
extraction_hospital = str(sheet_material.cell_value(r+2,c)).split(",")[1]
525+
except:
526+
extraction_hospital = str(sheet_material.cell_value(r+2,c))
524527
break
525528
if(sheet_material.cell_value(r,c) == columns['batch_nr'] and batch_nr == ""):
526529
for r in range(r,(nrows_material-2)):
@@ -987,11 +990,11 @@ def remisse_mail_writer(remisse_file,ipd_no,ipd_consent,DNA_normal_sampleID,RNA_
987990
text1.bold = True
988991
pg1.alignment = WD_ALIGN_PARAGRAPH.CENTER
989992
pg2 = doc.add_paragraph()
990-
text2 = pg2.add_run("Merket grønt = fylles inn av molekylærbiolog og/eller patolog manuelt\n")
993+
text2 = pg2.add_run("Merket grønt = fylles inn av molekylærbiolog og/eller patolog manuelt\n\n")
991994
text2.font.color.rgb = docRGBColor(0,176,80)
992-
pg2.add_run("##########################################################\n\n")
993995
pg2.add_run("PASIENT ID: " + ipd_no + "/" + impress_id + "\n\n")
994-
pg2.add_run("DIAGNOSE:\n")
996+
pg2.add_run("(lim inn tekst under # i LVMS i diagnose feltet)\n")
997+
pg2.add_run("##########################################################\n\n")
995998
if(DNA_normal_sampleID != ""):
996999
if_normal_sampleID = ") og DNA ekstrahert fra blod:\n\n"
9971000
else:
@@ -1000,10 +1003,17 @@ def remisse_mail_writer(remisse_file,ipd_no,ipd_consent,DNA_normal_sampleID,RNA_
10001003
if_RNA_sampleID = " og RNA "
10011004
else:
10021005
if_RNA_sampleID = " "
1003-
pg2.add_run("Utvidet genpanelanalyse, TSO500, DNA" + if_RNA_sampleID + "(ekstrahert ved " + extraction_hospital + " fra " + ipd_material_id + ": ")
1004-
text3 = pg2.add_run("diagnose")
1005-
text3.font.color.rgb = docRGBColor(0,176,80)
1006-
pg2.add_run(if_normal_sampleID)
1006+
try:
1007+
ipd_material_id_str = ipd_material_id.split(",")
1008+
DNA_material_id = ipd_material_id_str[0].split(":")[1]
1009+
RNA_material_id = ipd_material_id_str[1].split(":")[1]
1010+
if(DNA_material_id == RNA_material_id):
1011+
ipd_material_id_remisse = DNA_material_id
1012+
else:
1013+
ipd_material_id_remisse = ipd_material_id
1014+
except:
1015+
ipd_material_id_remisse = ipd_material_id
1016+
pg2.add_run("Utvidet genpanelanalyse, TSO500, DNA" + if_RNA_sampleID + "(ekstrahert fra " + extraction_hospital + ") " + ipd_material_id_remisse + ":\n\n")
10071017
if(str_TMB_DRUP == "NA"):
10081018
TMB_string = "Upålitelig, ikke beregnet\n"
10091019
else:
@@ -1014,31 +1024,22 @@ def remisse_mail_writer(remisse_file,ipd_no,ipd_consent,DNA_normal_sampleID,RNA_
10141024
stable_text = "Stabil"
10151025
if(stable_text == "Not reliable"):
10161026
stable_text = "Inkonklusiv"
1017-
pg2.add_run("Tumor mutasjonsbyrde (TMB) estimat og kategori: " + TMB_string + "Mikrosatellitt (MS) status: " + stable_text + "\nDNA-kopitallsendringer (estimert kopitall): ")
1018-
text4 = pg2.add_run("Ingen kopitall av sikker klinisk betydning\n")
1027+
pg2.add_run("Tumor mutasjons byrde (TMB) estimat og kategori: " + TMB_string + "Mikrosatellitt (MS) status: " + stable_text + "\nDNA kopitall endringer (estimert kopitall): ")
1028+
text3 = pg2.add_run("Ingen kopitall av sikker klinisk betydning.\n")
1029+
text3.font.color.rgb = docRGBColor(0,176,80)
1030+
pg2.add_run("Gen-fusjoner: ")
1031+
text4 = pg2.add_run("Ingen funn av sikker klinisk betydning.\n")
10191032
text4.font.color.rgb = docRGBColor(0,176,80)
1020-
pg2.add_run("Genfusjoner: ")
1021-
text5 = pg2.add_run("Ingen funn\n")
1033+
pg2.add_run("Somatiske punkt mutasjoner/insersjoner/delesjoner: ")
1034+
text5 = pg2.add_run("Ingen funn av sikker klinisk betydning.\n\n")
10221035
text5.font.color.rgb = docRGBColor(0,176,80)
1023-
pg2.add_run("Somatiske punktmutasjoner/insersjoner/delesjoner: ")
1024-
text6 = pg2.add_run("Ingen funn av sikker klinisk betydning\n\n")
1036+
pg2.add_run("Se vurdering og vedlegg. \n\n")
1037+
pg2.add_run("(lim inn tekst under # i LVMS i vurderingsfeltet)\n")
1038+
pg2.add_run("##########################################################\n\n")
1039+
year = time.strftime("%Y", time.localtime())
1040+
text6 = pg2.add_run("Funnene er diskutert med overlege XXXX på Mol-MDT-møtet XX.XX." + year + ".\n\nPasienten er diskutert på pre-Mol-MDT-møte XX.XX." + year +".Ettersom det ikke er funn som tilsier utprøvende behandlingsmulighet har man ikke kalt inn behandlende lege til Mol-MDT-møte. Ta kontakt dersom noe er uklart.\n\nKimbane funn som skal følges opp? XXXXXXX. HGVS nomenklatur:\nGEN:ENSTxxx:c.xxx>y:p.AxxxB\n\nDet var dessverre ikke tilstrekkelig mengde og/eller kvalitet av DNA/RNA til at sekvenseringsanalysen kunne gjennomføres.\n\n")
10251041
text6.font.color.rgb = docRGBColor(0,176,80)
1026-
pg2.add_run("Se vurdering og vedlegg. \n\n\nVURDERING:\n")
1027-
text7 = pg2.add_run("Funnene er diskutert med overlege XXXX på Mol-MDT-møtet XX.XX.2022.\n\nEttersom det ikke er funn med klinisk betydning har man ikke kalt inn behandlende lege til Mol-MDT-møte. Ta kontakt dersom noe er uklart.\n\nSom ledd i IMPRESS-Norway-studien ble det utført FoundationOne CDx liquid test, med funn av XXXXXXXXXX.\n\nKimbane funn som skal følges opp? XXXXXXX.\n\nDet var dessverre ikke tilstrekkelig mengde og/eller kvalitet av DNA/RNA til at sekvenseringsanalysen kunne gjennomføres.\n\nSom ledd i IMPRESS-Norway-studien ble det utført TSO500 ctDNA analyse på pasientens blod hvor det ble påvist GEN:p.AxxxB.\n\nFra denne analysen rapporteres kun varianter med klinisk/diagnostisk betydning som ikke er påvist i TSO500-analysen av vevsprøven. Kopitall, MSI og TMB fra ctDNA analyse vurderes ikke.\n\nHGVS nomenklatur: GEN:ENSTxxx:c.xxx>y:p.AxxxB")
1028-
text7.font.color.rgb = docRGBColor(0,176,80)
1029-
pg2.add_run("Kun funn med klinisk/diagnostisk betydning er rapportert, men se den vedlagte Mol-MDT-rapporten for utfyllende informasjon om testresultatet.\n\nFor teknisk beskrivelse og metodeprinsipp av analyse, vennligst se «TSO 500 genpanelanalyse (utvidet molekylæranalyse)» på nettsiden Labfag.no.\n\n\nMOLEKYLÆRPATOLOGISK UNDERSØKELSE:\nBIOMATERIALET: " + ipd_material_id + "(" + sample_material + "; " + sample_type + ")\n\nTEST PANEL: TruSight Oncology 500 panel (Illumina)\n\n")
1030-
if(extraction_hospital == "Enhet for studierelatert diagnostikk, OUS"):
1031-
pg2.add_run("Materialet ekstrahert fra biomaterialet ved OUS sykehus ble kvalitetssikret før dypsekvensering med respektive protokoller og analyse pipelines.\n")
1032-
else:
1033-
pg2.add_run("Materialet mottatt ferdig isolert fra " + extraction_hospital + " sykehus ble kvalitetssikret før dypsekvensering med respektive protokoller og analysepipelines.\n")
1034-
for i in range(len(sample_list)):
1035-
pg2.add_run(str(sample_list[i]) + "\n")
1036-
pg2.add_run("\nANALYSE AV DNA\nMengde DNA analysert: 50ng\n\nUtført dypsekvensering for deteksjon av punktmutasjoner, indeler og kopitallsendringer ved bruk av TruSight Oncology 500 panel (Illumina) som inkluderer 523 gener for DNA-analyser. Analysen inkluderer estimering av tumor mutasjonsbyrde (TMB) og mikrosatelitt (MS) status.\n\nProgramvare og analyseparametere: TruSight Oncology 500 Local App og in-house bioinformatisk pipeline for kvalitetssikring og variantfiltrering (" + pipline + "). Referansegenom GRCh37 ble brukt for kartlegging av sekvenser. Analysen er kjørt i \"Tumor ")
1037-
if(DNA_normal_sampleID != ""):
1038-
pg2.add_run("normal\"-innstilling for å ekskludere kimbanevarianter. ")
1039-
else:
1040-
pg2.add_run("only\"-innstilling og populasjonsdatabaser er benyttet for å ekskludere frekvente kimbanevarianter. ")
1041-
pg2.add_run("Kvalitetssikring blir gjennomgått per enhet (chip) og per prøve sekvensert. For estimering av TMB benyttes antall ikke-synonyme mutasjoner detektert innenfor kodende DNA-områder delt på antall Mb sekvensert. Filter for varianter som inngår i TMB-beregningen er satt til minimum 5% variant allelfrekvens og minimum 50 sekvensfragmenter som dekker mutasjonssete. TMB-klassifiseringen er som følger: \"lav TMB\" for <5 mut/Mb, \"intermediær TMB\" for 5-20 mut/Mb, and \"høy TMB\" for >20 mut/Mb. TSO500-panelet analyserer 130 predefinerte MSI-seter for vurdering av MS-status. Et minimum av 40 slike seter må være analyserbare for å kunne pålitelig konkludere MS-status. Kopitallsendringer rapporteres som hovedregel kun ved kopitall >6.\n\nANALYSE AV RNA\nMengde RNA analysert: 40ng\n\nUtført dypsekvensering for deteksjon av fusjonsgener og spleisevarianter ved bruk av TruSight Oncology 500 panel (Illumina) som inkluderer 56 gener for RNA-analyser. Referansegenom GRCh37 ble brukt for kartlegging av sekvenser.\n\nProgramvare og analyseparametere: TruSight Oncology 500 Local App og in-house bioinformatisk pipeline for kvalitetssikring og variantfiltrering (" + pipline + "). Referansegenom GRCh37 ble brukt for kartlegging av sekvenser. En påvist fusjon må ha minst 3 unike sekvenser (reads) som støtter funnet.\n\nRESULTAT: Se diagnosefeltet og vedlagte Mol-MDT-rapport.\n\nResultater og tolkning er i henhold til, og innenfor rammene av kvalitet på prøvemateriale, det genomiske dekningsområdet til genpanelet, metodologi og anvendte kunnskapsdatabaser ved analysetidspunkt. Den operasjonelle pipelinen for TSO500-analyser ved InPreD OUS er i en utviklingsfase. Den kliniske signifikansen av TMB-verdien bør betraktes på bakgrunn av pasientens tumortype. En rapportering av funn med mulig terapeutisk implikasjon er ingen garanti eller lovnad om behandlingseffekt i pasienten. En klinisk helhetsvurdering av pasienten må foretas av behandlede lege ved mulig behandlingskonsekvens av analyseresultater. ")
1042+
pg2.add_run("Kun funn med klinisk/diagnostisk betydning er rapportert, men se den vedlagte Mol-MDT-rapporten for utfyllende informasjon om testresultatet.\n\nFor teknisk beskrivelse og metodeprinsipp av analyse, vennligst se «TSO 500 genpanelanalyse (utvidet molekylæranalyse)» på nettsiden Metodebok.no under Helse Sør-Øst og OUS.")
10421043

10431044
doc.save(remisse_file)
10441045

pronto/pronto.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
def get_tmb_string(val):
77
level = "Not available"
88
if(0 <= val <= 5):
9-
level = "lav"
9+
level = "Lav"
1010
elif(5 < val <= 20):
11-
level = "intermediær"
11+
level = "Intermediær"
1212
elif(val > 20):
13-
level = "høy"
13+
level = "Høy"
1414
return "{} mut/Mb; {}\n".format(val, level)
1515

1616
# use glob to find file in different folder structures

pronto/tests/pronto_test.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
"input, exception, want",
88
[
99
(-1, does_not_raise(), "-1 mut/Mb; Not available\n"),
10-
(2.5, does_not_raise(), "2.5 mut/Mb; lav\n"),
11-
(7, does_not_raise(), "7 mut/Mb; intermediær\n"),
12-
(23, does_not_raise(), "23 mut/Mb; høy\n"),
10+
(2.5, does_not_raise(), "2.5 mut/Mb; Lav\n"),
11+
(7, does_not_raise(), "7 mut/Mb; Intermediær\n"),
12+
(23, does_not_raise(), "23 mut/Mb; Høy\n"),
1313
]
1414
)
1515
def test_get_tmb_string(input, exception, want):

0 commit comments

Comments
 (0)