diff --git a/microSALT/__init__.py b/microSALT/__init__.py index bdb365db..792a57c7 100644 --- a/microSALT/__init__.py +++ b/microSALT/__init__.py @@ -1,6 +1,6 @@ import logging -__version__ = "5.0.2" +__version__ = "5.0.3" logger = None diff --git a/microSALT/server/templates/alignment_page.html b/microSALT/server/templates/alignment_page.html index fbc2796c..8f6278af 100644 --- a/microSALT/server/templates/alignment_page.html +++ b/microSALT/server/templates/alignment_page.html @@ -1,267 +1,405 @@ {% extends 'layout.html' %} - {% block body %} +{% block body %} {% set thres = dict() %} -
Rapport genererad: {{ date }}
+ + +| + Ticket ID (CG Projekt ID) + | {{ topsample.projects.Customer_ID_project }} ({{ topsample.projects.CG_ID_project }}) | +|
| + Kund ID (*) + | {{ topsample.projects.Customer_ID }} | +|
| Rapport version | + {% if reports|length > 1 %} +Version {{ reports[0].version }}, {{ reports[0].date.date() }} (Ersätter version {{ reports[1].version }}, {{ reports[1].date.date() }}) | + {% else %} +Version {{ reports[0].version }}, {{ reports[0].date.date() }} | + {% endif %} +
| Ansvarig bioinformatiker | +{{ user }} | +|
| microSALT version | +{{ build }} | +
| Prov ID (*) | +CG Prov ID | +Applikationstag | +Organism (*) | +Referensgenom (*) | +Antal Reads (**) | +Mappningsgrad % | +Duplikationsgrad % | +Insert Storlek (Median) | +Medeltäckning | +%BP > 10x Täckning | +%BP > 30x Täckning | +%BP > 50x Täckning | +%BP > 100x Täckning | +|||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ sample.Customer_ID_sample }} | +{{ sample.CG_ID_sample }} | + {% if sample.application_tag and sample.application_tag[-1:]|float != 0 %} +{{ sample.application_tag }} | + {% else %} +{{ sample.application_tag }} | + {% endif %} + {% if sample.organism is not none %} +{{ sample.organism.replace('_', ' ').capitalize() }} | + {% else %}Okänd | {% endif %} +{{ sample.reference_genome }} | + {% if sample.total_reads is none %} ++ 0 + {% else %} + {% if sample.application_tag and sample.application_tag[-1:]|float != 0 %} + {% set bp_perc = ((sample.total_reads*100/((sample.application_tag[-1:]|float)*2000000))|round(2)) %} + {% else %} + {% set bp_perc = 0.0 %} + {% endif %} + {% if 'Kontroll' in sample.ST_status %} + {% if bp_perc > threshold.NTC_total_reads_fail %} + | + {{ '{0:,}'.format(sample.total_reads) |replace(","," ")}} ({{ bp_perc }}%) + {% elif bp_perc > threshold.NTC_total_reads_warn %} + | + {{ '{0:,}'.format(sample.total_reads) |replace(","," ")}} ({{ bp_perc }}%) + {% else %} + | + {{ '{0:,}'.format(sample.total_reads) |replace(","," ")}} ({{ bp_perc }}%) + {% endif %} + {% else %} + {% if bp_perc < threshold.total_reads_fail %} + | + {{ '{0:,}'.format(sample.total_reads) |replace(","," ")}} ({{ bp_perc }}%) + {% elif bp_perc < threshold.total_reads_warn %} + | + {{ '{0:,}'.format(sample.total_reads) |replace(","," ")}} ({{ bp_perc }}%) + {% else %} + | + {{ '{0:,}'.format(sample.total_reads) |replace(","," ")}} ({{ bp_perc }}%) + {% endif %} + {% endif %} + {% endif %} + | + {% if sample.mapped_rate is none or sample.mapped_rate == 0 %} ++ 0.0 + {% elif (sample.mapped_rate*100)|round(2) <= threshold.mapped_rate_warn and not 'Kontroll' in sample.ST_status %} + {% if (sample.mapped_rate*100)|round(2) <= threshold.mapped_rate_fail %} + | + {{ (sample.mapped_rate*100)|round(2) }} + {% else %} + | + {{ (sample.mapped_rate*100)|round(2) }} + {% endif %} + {% else %} | {{ (sample.mapped_rate*100)|round(2) }} {% endif %} | + {% if sample.duplication_rate is none or sample.duplication_rate == -1 or sample.duplication_rate == 0.0 %} ++ N/A + {% elif (sample.duplication_rate*100)|round(2) >= threshold.duplication_rate_warn and not 'Kontroll' in sample.ST_status %} + {% if (sample.duplication_rate*100)|round(2) >= threshold.duplication_rate_fail %} + | + {{ (sample.duplication_rate*100)|round(2) }} + {% else %} + | + {{ (sample.duplication_rate*100)|round(2) }} + {% endif %} + {% else %} + | + {{ (sample.duplication_rate*100)|round(2) }} + {% endif %} + | + {% if sample.insert_size is none or sample.insert_size == 0 %} ++ N/A + {% elif sample.insert_size <= threshold.insert_size_warn and not 'Kontroll' in sample.ST_status %} + {% if sample.insert_size <= threshold.insert_size_fail %} + | + {{ sample.insert_size }} + {% else %} + | + {{ sample.insert_size }} + {% endif %} + {% else %} | {{ sample.insert_size }} {% endif %} | + {% if sample.average_coverage is none or sample.average_coverage|round(2) == 0 %} ++ 0.0x + {% elif (sample.average_coverage)|round(2) <= threshold.average_coverage_warn and not 'Kontroll' in sample.ST_status %} + {% if (sample.average_coverage)|round(2) <= threshold.average_coverage_fail %} + | + {{ (sample.average_coverage)|round(2) }}x + {% else %} + | + {{ (sample.average_coverage)|round(2) }}x + {% endif %} + {% else %} | {{ (sample.average_coverage)|round(2) }}x{% endif %} | + {% if sample.coverage_10x is none or (sample.coverage_10x*100)|round(2) == 0 %} ++ 0.0 + {% elif (sample.coverage_10x*100)|round(2) <= threshold.bp_10x_warn and not 'Kontroll' in sample.ST_status %} + {% if (sample.coverage_10x*100)|round(2) <= threshold.bp_10x_fail %} + | + {{ (sample.coverage_10x*100)|round(2) }} + {% else %} + | + {{ (sample.coverage_10x*100)|round(2) }} + {% endif %} + {% else %} | {{ (sample.coverage_10x*100)|round(2) }} {% endif %} | + {% if sample.coverage_30x is none or (sample.coverage_30x*100)|round(2) == 0 %} ++ 0.0 + {% elif (sample.coverage_30x*100)|round(2) <= threshold.bp_30x_warn and not 'Kontroll' in sample.ST_status %} + | + {{ (sample.coverage_30x*100)|round(2) }} + {% else %} | {{ (sample.coverage_30x*100)|round(2) }} {% endif %} | + {% if sample.coverage_50x is none or (sample.coverage_50x*100)|round(2) == 0 %} ++ 0.0 + {% elif (sample.coverage_50x*100)|round(2) <= threshold.bp_50x_warn and not 'Kontroll' in sample.ST_status %} + | + {{ (sample.coverage_50x*100)|round(2) }} + {% else %} | {{ (sample.coverage_50x*100)|round(2) }} {% endif %} | + {% if sample.coverage_100x is none or (sample.coverage_100x*100)|round(2) == 0 %} ++ 0.0 + {% elif (sample.coverage_100x*100)|round(2) <= threshold.bp_100x_warn and not 'Kontroll' in sample.ST_status %} + | + {{ (sample.coverage_100x*100)|round(2) }} + {% else %} | {{ (sample.coverage_100x*100)|round(2) }} {% endif %} | +
| Prov ID (*) | +Applikationstag (*) | +Organism (*) | +Ankomstdatum | +Datum prep | +Metod prep | +Datum sekvensering | +Metod sekvensering | +Prioritet (*) | +|||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ sample.Customer_ID_sample }} | +{{ sample.application_tag }} | + {% if sample.organism is not none %} +{{ sample.organism.replace('_', ' ').capitalize() }} | + {% else %} +N/A | + {% endif %} + {% if sample.date_arrival is not none and sample.date_arrival.date().strftime('%Y-%m-%d') != '1-01-01' %} +{{ sample.date_arrival.date() }} | + {% else %}Okänt | {% endif %} + {% if sample.date_libprep is not none and sample.date_libprep.date().strftime('%Y-%m-%d') != '1-01-01' %} +{{ sample.date_libprep.date() }} | + {% else %}Okänt | {% endif %} + {% if sample.method_libprep is not none and 'Not in LIMS' not in sample.method_libprep %} +{{ sample.method_libprep }} | + {% else %} +Okänt | + {% endif %} + {% if sample.date_sequencing is not none and sample.date_sequencing.date().strftime('%Y-%m-%d') != '1-01-01' %} +{{ sample.date_sequencing.date() }} | + {% else %}Okänt | {% endif %} + {% if sample.method_sequencing is not none and 'Not in LIMS' not in sample.method_sequencing %} +{{ sample.method_sequencing }} | + {% else %} +Okänt | + {% endif %} + {% if sample.priority is not none %} +{{ sample.priority.capitalize() }} | + {% else %} +- | + {% endif %} +
+ {% if topsample.application_tag == "MWRNXTR003" %} + Mikrobiell helgenomssekvensering av rutinprov, med krav på minst 3 miljoner läspar. + Nextera library preparation. + {% elif topsample.application_tag in ["MWGNXTR003", "MWMNXTR003", "MWLNXTR003"] %} + Mikrobiell helgenomssekvensering, med krav på minst 3 miljoner läspar. + Nextera library preparation. + {% elif topsample.application_tag == "MWXNXTR003" %} + Storskalig mikrobiell helgenomssekvensering av minst 176 prover, med krav på minst 3 miljoner läspar. + Nextera library preparation. + {% elif topsample.application_tag in ["VWGNXTR001", "VWLNXTR001"] %} + Virologisk helgenomssekvensering, med krav på minst 1 miljon läspar. + Nextera library preparation. + {% elif topsample.application_tag == "VWSMCTR001" %} + Virologisk helgenomssekvensering, med krav på minst 1 miljon läspar. + MiniCovid kit tagmentation preparation. + {% elif topsample.application_tag == "MWSMCTR003" %} + Mikrobiell helgenomssekvensering, med krav på minst 3 miljoner läspar. + MiniCovid kit tagmentation preparation. + {% endif %} +
++ Tillförlitligheten hos resultaten förutsätter att informationen som bifogats från kund är korrekt. +
+
+ Alla typer av förbättringsförslag mailas med fördel till microsalt-suggestions@scilifelab.se
+
+ Din återkopplling uppskattas!
+
+ All kommunikation gällande ordern såsom tillägg, avvikelser eller + eventuella undantag i metoden från Clinical Genomics finns tillgängligt i + Freshdesk för dess ticket id. En stängd ticket kan närsomhelst + öppnas upp igen för frågor. +
+
+ Valtteri Wirta
+
+ Head of unit, Clinical Genomics
+
Rapport genererad: {{date}}
-| Ticket ID (CG Projekt ID) - | {{topsample.projects.Customer_ID_project}} ({{topsample.projects.CG_ID_project}}) | -|
| Kund ID (*) - | {{topsample.projects.Customer_ID}} | -|
| Rapport version | - {% if reports|length > 1 %} -Version {{reports[0].version}}, {{reports[0].date.date()}} (Ersätter version {{reports[1].version}}, {{reports[1].date.date()}}) | - {% else %} -Version {{reports[0].version}}, {{reports[0].date.date()}} | - {% endif %} -
| Ansvarig bioinformatiker | -{{user}} | -|
| microSALT version | -{{build}} | -
-
-| Prov ID(*) | -CG Prov ID | -Organism (*) | -Sekvenstyp (**) | -Tröskelvärden | -|||||
|---|---|---|---|---|---|---|---|---|---|
| {{sample.Customer_ID_sample}} | -{{sample.CG_ID_sample}} | - {% if sample.organism is not none %} -{{sample.organism.replace('_', ' ').capitalize()}} | - {% else %} -Kontroll | - {% endif %} - {% if sample.ST_status == 'None' or sample.ST == -1 %} -{{ sample.ST_status }} | - {% elif sample.ST <= -4 %} -I{{sample.ST|int|abs}} (Novel) | - {% else %} -{{sample.ST_status }} | - {% endif %} - {% if sample.threshold == 'Failed' %} -Underkända | - {% elif sample.threshold == '-' %} -- | - {% else %} -Godkända | - {% endif %} -
| Prov ID (*) | -Applikationstag (*) | -Organism (*) | -Ankomstdatum | -Datum prep | -Metod prep | -Datum sekvensering | -Metod sekvensering | -Prioritet (*) | -Verifierad (**) | -|||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{sample.Customer_ID_sample}} | -{{sample.application_tag}} | - {% if sample.organism is not none %} -{{sample.organism.replace('_', ' ').capitalize()}} | - {% else %} -N/A | - {% endif %} - {% if sample.date_arrival is not none and sample.date_arrival.date().strftime('%Y-%m-%d') != '1-01-01' %} -{{sample.date_arrival.date()}} | - {% else %}Okänt | {% endif %} - {% if sample.date_libprep is not none and sample.date_libprep.date().strftime('%Y-%m-%d') != '1-01-01' %} -{{sample.date_libprep.date()}} | - {% else %}Okänt | {% endif %} - {% if sample.method_libprep is not none and 'Not in LIMS' not in sample.method_libprep %} -{{sample.method_libprep}} | - {% else %} -Okänt | - {% endif %} - {% if sample.date_sequencing is not none and sample.date_sequencing.date().strftime('%Y-%m-%d') != '1-01-01' %} -{{sample.date_sequencing.date()}} | - {% else %}Okänt | {% endif %} - {% if sample.method_sequencing is not none and 'Not in LIMS' not in sample.method_sequencing %} -{{sample.method_sequencing}} | - {% else %} -Okänt | - {% endif %} - {% if sample.priority is not none %} -{{sample.priority.capitalize()}} | - {% else %} -- | - {% endif %} - {% if sample.organism is not none %} - {% if sample.priority == 'standard' and sample.organism.replace('_', ' ').capitalize() in verified_organisms %} -✔ | - {% else %} -- | - {% endif %} - {% else %} -- | - {% endif %} -
- {% if topsample.application_tag == "MWRNXTR003" %}
- Mikrobiell helgenomssekvensering av rutinprov, med krav på minst 3 miljoner läspar.
- Nextera library preparation.
- {% elif topsample.application_tag in ["MWGNXTR003", "MWMNXTR003", "MWLNXTR003"] %}
- Mikrobiell helgenomssekvensering, med krav på minst 3 miljoner läspar.
- Nextera library preparation.
- {% elif topsample.application_tag == "MWXNXTR003" %}
- Storskalig mikrobiell helgenomssekvensering av minst 176 prover, med krav på minst 3 miljoner läspar.
- Nextera library preparation.
- {% elif topsample.application_tag in ["VWGNXTR001", "VWLNXTR001"] %}
- Virologisk helgenomssekvensering, med krav på minst 1 miljon läspar.
- Nextera library preparation.
- {% elif topsample.application_tag == "VWSMCTR001" %}
- Virologisk helgenomssekvensering, med krav på minst 1 miljon läspar.
- MiniCovid kit tagmentation preparation.
- {% elif topsample.application_tag == "MWSMCTR003" %}
- Mikrobiell helgenomssekvensering, med krav på minst 3 miljoner läspar.
- MiniCovid kit tagmentation preparation.
- {% endif %}
-
- Analysen kan enbart beställas av gruppen Klinisk Mikrobiologi. - Laboratoriet har inte haft ansvar för provtagningsstadiet och extraktion, - resultaten gäller för provet såsom det har mottagits.Typningen - begränsas av den information som vid analys återfinns i de publikt - tillgängliga databaserna pubMLST och resFinder. -
-- Tillförlitligheten hos resultaten förutsätter dels att informationen - som bifogats från kund är korrekt. Dels att proverna uppnår de - fördefinierade tröskelvärdena; och dels att de organismerna som - analyseras har tidigare manuellt verifierats tidigare av personal på Clinical Genomics. -
-- Clinical Genomics är ackrediterade för typning och resistensbestämmning för följande organismer: -
-- All kommunikation gällande ordern såsom tillägg, avvikelser eller - eventuella undantag i metoden från Clinical Genomics finns tillgängligt i - Freshdesk för dess ticket id. En stängd ticket kan närsomhelst - öppnas upp igen för frågor. -
- -
- Alla typer av förbättringsförslag mailas med fördel till microsalt-suggestions@scilifelab.se
- Din återkopplling uppskattas!
-
- Valtteri Wirta
- Head of unit, Clinical Genomics
-
Rapport genererad: {{date}}
-| Ticket ID (CG Projekt ID) | -{{sample.projects.Customer_ID_project}} ({{sample.projects.CG_ID_project}}) | -||
| Prov ID (CG Prov ID) | -{{sample.Customer_ID_sample}} ({{sample.CG_ID_sample}}) | -||
| Analys datum | -{% if sample.date_analysis is not none %}{{sample.date_analysis.date()}}{% endif %} | -||
|---|---|---|---|
| Organism | - {% if sample.organism is not none %} -{{sample.organism.replace('_', ' ').capitalize()}} | - {% else %} -Okänd | - {% endif %} -|
| Sekvenstyp | - {% if sample.ST_status == 'None' %} -{{sample.ST_status }} | - {% elif sample.ST <= -4 %} -I{{sample.ST|int|abs}} (Novel) | - {% else %} -{{sample.ST_status }} | - {% endif %} -
| Tröskelvärden | - {% if sample.threshold=='Failed' %} -Underkända | - {% elif sample.threshold == '-' %} -- | - {% else %} -Godkända | - {% endif %} -
| Referensversion | -{{version[sample.organism]}} | -||
| Prioritet | -{{sample.priority.capitalize()}} | -
| Genomstorlek enligt assembly | {{'{0:,}'.format(sample.genome_length)|replace(","," ")}} |
|---|---|
| Referensens genomstorlek | {{'{0:,}'.format(sample.reference_length)|replace(","," ")}} |
| Referensens genomstorlek | N/A |
| GC halt | {{sample.gc_percentage| round(2)}}% |
| N50 (minsta contiglängd för 50% av genomet) | {{'{0:,}'.format(sample.n50)|replace(","," ")}} |
| Nödvändiga contigs | {{sample.contigs}} |
| # | -Loci | -Allel | -Identitet % | -Längd (HSP) % | -
|---|---|---|---|---|
| {{loop.index}} | -{{seq_type.loci}} | -{{seq_type.allele}} | -{{seq_type.identity|round(2)}}% | -{{(seq_type.span*100)|round(2)}}% | -
| # | -Gen | -Grupp | -Referens | -Identitet % | -Längd (HSP) % | -|||||
|---|---|---|---|---|---|---|---|---|---|---|
| {{loop.index}} | -{{seq_type.gene}} | - {% if seq_type.resistance is not none %} - {% if seq_type.resistance == "Beta-lactam" %} -Beta-lactamase | - {% else %} -{{seq_type.resistance}} | - {% endif %} - {% else %} - {% if seq_type.instance == "beta-lactam" %} -Beta-lactamase | - {% else %} -{{seq_type.instance|title}} | - {% endif %} - {% endif %} - {% if seq_type.reference is not none %} -{{seq_type.reference}} | - {% else %} -Okänd | - {% endif %} -{{seq_type.identity|round(2) }}% | - {% if seq_type.span == 999.0 %} -Odefinierad | - {% else %} -{{(seq_type.span*100)|round(2) }}% | - {% endif %} -
Rapport genererad: {{ date }}
+ + +| + Ticket ID (CG Projekt ID) + | {{ topsample.projects.Customer_ID_project }} ({{ topsample.projects.CG_ID_project }}) | +|
| + Kund ID (*) + | {{ topsample.projects.Customer_ID }} | +|
| Rapport version | + {% if reports|length > 1 %} +Version {{ reports[0].version }}, {{ reports[0].date.date() }} (Ersätter version {{ reports[1].version }}, {{ reports[1].date.date() }}) | + {% else %} +Version {{ reports[0].version }}, {{ reports[0].date.date() }} | + {% endif %} +
| Ansvarig bioinformatiker | +{{ user }} | +|
| microSALT version | +{{ build }} | +
| Prov ID(*) | +CG Prov ID | +Organism (*) | +Sekvenstyp (**) | +Tröskelvärden | +|||||
|---|---|---|---|---|---|---|---|---|---|
| {{ sample.Customer_ID_sample }} | +{{ sample.CG_ID_sample }} | + {% if sample.organism is not none %} +{{ sample.organism.replace('_', ' ').capitalize() }} | + {% else %} +Kontroll | + {% endif %} + {% if sample.ST_status == 'None' or sample.ST == -1 %} +{{ sample.ST_status }} | + {% elif sample.ST <= -4 %} +I{{ sample.ST|int|abs }} (Novel) | + {% else %} +{{ sample.ST_status }} | + {% endif %} + {% if sample.threshold == 'Failed' %} +Underkända | + {% elif sample.threshold == '-' %} +- | + {% else %} +Godkända | + {% endif %} +
| Prov ID (*) | +Applikationstag (*) | +Organism (*) | +Ankomstdatum | +Datum prep | +Metod prep | +Datum sekvensering | +Metod sekvensering | +Prioritet (*) | +Verifierad (**) | +|||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ sample.Customer_ID_sample }} | +{{ sample.application_tag }} | + {% if sample.organism is not none %} +{{ sample.organism.replace('_', ' ').capitalize() }} | + {% else %} +N/A | + {% endif %} + {% if sample.date_arrival is not none and sample.date_arrival.date().strftime('%Y-%m-%d') != '1-01-01' %} +{{ sample.date_arrival.date() }} | + {% else %}Okänt | {% endif %} + {% if sample.date_libprep is not none and sample.date_libprep.date().strftime('%Y-%m-%d') != '1-01-01' %} +{{ sample.date_libprep.date() }} | + {% else %}Okänt | {% endif %} + {% if sample.method_libprep is not none and 'Not in LIMS' not in sample.method_libprep %} +{{ sample.method_libprep }} | + {% else %} +Okänt | + {% endif %} + {% if sample.date_sequencing is not none and sample.date_sequencing.date().strftime('%Y-%m-%d') != '1-01-01' %} +{{ sample.date_sequencing.date() }} | + {% else %}Okänt | {% endif %} + {% if sample.method_sequencing is not none and 'Not in LIMS' not in sample.method_sequencing %} +{{ sample.method_sequencing }} | + {% else %} +Okänt | + {% endif %} + {% if sample.priority is not none %} +{{ sample.priority.capitalize() }} | + {% else %} +- | + {% endif %} + {% if sample.organism is not none %} + {% if sample.priority == 'standard' and sample.organism.replace('_', ' ').capitalize() in verified_organisms %} +✔ | + {% else %} +- | + {% endif %} + {% else %} +- | + {% endif %} +
+ {% if topsample.application_tag == "MWRNXTR003" %}
+ Mikrobiell helgenomssekvensering av rutinprov, med krav på minst 3 miljoner läspar.
+ Nextera library preparation.
+ {% elif topsample.application_tag in ["MWGNXTR003", "MWMNXTR003", "MWLNXTR003"] %}
+ Mikrobiell helgenomssekvensering, med krav på minst 3 miljoner läspar.
+ Nextera library preparation.
+ {% elif topsample.application_tag == "MWXNXTR003" %}
+ Storskalig mikrobiell helgenomssekvensering av minst 176 prover, med krav på minst 3 miljoner läspar.
+ Nextera library preparation.
+ {% elif topsample.application_tag in ["VWGNXTR001", "VWLNXTR001"] %}
+ Virologisk helgenomssekvensering, med krav på minst 1 miljon läspar.
+ Nextera library preparation.
+ {% elif topsample.application_tag == "VWSMCTR001" %}
+ Virologisk helgenomssekvensering, med krav på minst 1 miljon läspar.
+ MiniCovid kit tagmentation preparation.
+ {% elif topsample.application_tag == "MWSMCTR003" %}
+ Mikrobiell helgenomssekvensering, med krav på minst 3 miljoner läspar.
+ MiniCovid kit tagmentation preparation.
+ {% endif %}
+
+
+ Analysen kan enbart beställas av gruppen Klinisk Mikrobiologi. + Laboratoriet har inte haft ansvar för provtagningsstadiet och extraktion, + resultaten gäller för provet såsom det har mottagits.Typningen + begränsas av den information som vid analys återfinns i de publikt + tillgängliga databaserna pubMLST och resFinder. +
++ Tillförlitligheten hos resultaten förutsätter dels att informationen + som bifogats från kund är korrekt. Dels att proverna uppnår de + fördefinierade tröskelvärdena; och dels att de organismerna som + analyseras har tidigare manuellt verifierats tidigare av personal på Clinical Genomics. +
++ Clinical Genomics är ackrediterade för typning och resistensbestämmning för följande organismer: +
++ All kommunikation gällande ordern såsom tillägg, avvikelser eller + eventuella undantag i metoden från Clinical Genomics finns tillgängligt i + Freshdesk för dess ticket id. En stängd ticket kan närsomhelst + öppnas upp igen för frågor. +
+
+ Alla typer av förbättringsförslag mailas med fördel till microsalt-suggestions@scilifelab.se
+
+ Din återkopplling uppskattas!
+
+ Valtteri Wirta
+
+ Head of unit, Clinical Genomics
+
Rapport genererad: {{ date }}
+ + +| Ticket ID (CG Projekt ID) | +{{ sample.projects.Customer_ID_project }} ({{ sample.projects.CG_ID_project }}) | +||
| Prov ID (CG Prov ID) | +{{ sample.Customer_ID_sample }} ({{ sample.CG_ID_sample }}) | +||
| Analys datum | +{% if sample.date_analysis is not none %}{{ sample.date_analysis.date() }}{% endif %} | +||
|---|---|---|---|
| Organism | + {% if sample.organism is not none %} +{{ sample.organism.replace('_', ' ').capitalize() }} | + {% else %} +Okänd | + {% endif %} +|
| Sekvenstyp | + {% if sample.ST_status == 'None' %} +{{ sample.ST_status }} | + {% elif sample.ST <= -4 %} +I{{ sample.ST|int|abs }} (Novel) | + {% else %} +{{ sample.ST_status }} | + {% endif %} +
| Tröskelvärden | + {% if sample.threshold=='Failed' %} +Underkända | + {% elif sample.threshold == '-' %} +- | + {% else %} +Godkända | + {% endif %} +
| Referensversion | +{{ version[sample.organism] }} | +||
| Prioritet | +{{ sample.priority.capitalize() }} | +
| Genomstorlek enligt assembly | +{{ '{0:,}'.format(sample.genome_length) |replace(","," ")}} | +
|---|---|
| Referensens genomstorlek | +{{ '{0:,}'.format(sample.reference_length) |replace(","," ")}} | +
| Referensens genomstorlek | +N/A | +
| GC halt | +{{ sample.gc_percentage| round(2) }}% | +
| N50 (minsta contiglängd för 50% av genomet) | +{{ '{0:,}'.format(sample.n50) |replace(","," ")}} | +
| Nödvändiga contigs | +{{ sample.contigs }} | +
| # | +Loci | +Allel | +Identitet % | +Längd (HSP) % | +
|---|---|---|---|---|
| {{ loop.index }} | +{{ seq_type.loci }} | +{{ seq_type.allele }} | +{{ seq_type.identity|round(2) }}% | +{{ (seq_type.span*100)|round(2) }}% | +
| # | +Gen | +Grupp | +Referens | +Identitet % | +Längd (HSP) % | +|||||
|---|---|---|---|---|---|---|---|---|---|---|
| {{ loop.index }} | +{{ seq_type.gene }} | + {% if seq_type.resistance is not none %} + {% if seq_type.resistance == "Beta-lactam" %} +Beta-lactamase | + {% else %} +{{ seq_type.resistance }} | + {% endif %} + {% else %} + {% if seq_type.instance == "beta-lactam" %} +Beta-lactamase | + {% else %} +{{ seq_type.instance|title }} | + {% endif %} + {% endif %} + {% if seq_type.reference is not none %} +{{ seq_type.reference }} | + {% else %} +Okänd | + {% endif %} +{{ seq_type.identity|round(2) }}% | + {% if seq_type.span == 999.0 %} +Odefinierad | + {% else %} +{{ (seq_type.span*100)|round(2) }}% | + {% endif %} +