ssi-analysis-result-parsers 0.0.9__py3-none-any.whl → 0.0.11__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (22) hide show
  1. ssi_analysis_result_parsers/Ecoli_parser.py +669 -0
  2. ssi_analysis_result_parsers/Legionella_parser.py +3 -1
  3. ssi_analysis_result_parsers/Nmeningitidis_parser.py +178 -0
  4. ssi_analysis_result_parsers/Spyogenes_parser.py +0 -1
  5. ssi_analysis_result_parsers/__init__.py +1 -1
  6. ssi_analysis_result_parsers/_modidx.py +43 -1
  7. {ssi_analysis_result_parsers-0.0.9.dist-info → ssi_analysis_result_parsers-0.0.11.dist-info}/METADATA +1 -1
  8. {ssi_analysis_result_parsers-0.0.9.dist-info → ssi_analysis_result_parsers-0.0.11.dist-info}/RECORD +22 -10
  9. {ssi_analysis_result_parsers-0.0.9.dist-info → ssi_analysis_result_parsers-0.0.11.dist-info}/entry_points.txt +3 -0
  10. {ssi_analysis_result_parsers-0.0.9.dist-info → ssi_analysis_result_parsers-0.0.11.dist-info}/top_level.txt +1 -0
  11. test_input/Ecoli/ERR14229029.res +1 -0
  12. test_input/Ecoli/ERR3528110.res +4 -0
  13. test_input/Ecoli/samplesheet.tsv +3 -0
  14. test_input/Legionella/test.tsv +2 -0
  15. test_input/Nmeningitidis/batch_parser_file_paths.tsv +6 -0
  16. test_input/Nmeningitidis/meningotype/meningotype1.tsv +2 -0
  17. test_input/Nmeningitidis/meningotype/meningotype2.tsv +2 -0
  18. test_input/Nmeningitidis/meningotype/meningotype3.tsv +2 -0
  19. test_input/Nmeningitidis/neisseria_mlst_scheme.tsv +18415 -0
  20. test_output/Ecoli/KMA_cases_parser.tsv +3 -0
  21. {ssi_analysis_result_parsers-0.0.9.dist-info → ssi_analysis_result_parsers-0.0.11.dist-info}/WHEEL +0 -0
  22. {ssi_analysis_result_parsers-0.0.9.dist-info → ssi_analysis_result_parsers-0.0.11.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,178 @@
1
+ # AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/37_Nmeningitidis_parser.ipynb.
2
+
3
+ # %% auto 0
4
+ __all__ = ['extract_meningotype', 'extract_cc_from_mlst', 'NmeningitidisResults', 'Nmeningitidis_parser',
5
+ 'Nmeningitidis_batch_parser']
6
+
7
+ # %% ../nbs/37_Nmeningitidis_parser.ipynb 3
8
+ # standard libs
9
+ import os
10
+ import re
11
+
12
+ # Common to template
13
+ # add into settings.ini, requirements, package name is python-dotenv, for conda build ensure `conda config --add channels conda-forge`
14
+ import dotenv # for loading config from .env files, https://pypi.org/project/python-dotenv/
15
+ import envyaml # Allows to loads env vars into a yaml file, https://github.com/thesimj/envyaml
16
+ import fastcore # To add functionality related to nbdev development, https://github.com/fastai/fastcore/
17
+ from fastcore import (
18
+ test,
19
+ )
20
+ from fastcore.script import (
21
+ call_parse,
22
+ ) # for @call_parse, https://fastcore.fast.ai/script
23
+ import json # for nicely printing json and yaml
24
+
25
+ # import functions from core module (optional, but most likely needed).
26
+ from ssi_analysis_result_parsers import (
27
+ core,
28
+ blast_parser,
29
+ )
30
+
31
+ # from ssi_analysis_result_parsers.blast_parser import extract_presence_absence
32
+
33
+ # Project specific libraries
34
+ from pathlib import Path
35
+ import pandas
36
+ import numpy
37
+ import sys
38
+
39
+ # %% ../nbs/37_Nmeningitidis_parser.ipynb 6
40
+ def extract_meningotype(meningotype_tsv: Path):
41
+ if meningotype_tsv.exists():
42
+ try:
43
+ df = pandas.read_csv(meningotype_tsv, sep="\t")
44
+ PorA_split = df["PorA"][0].split(",")
45
+ return {
46
+ "SEROGROUP": df["SEROGROUP"][0],
47
+ "VR1": PorA_split[0],
48
+ "VR2": PorA_split[1],
49
+ "FetA": df["FetA"][0],
50
+ }
51
+ except pandas.errors.EmptyDataError:
52
+ print(
53
+ f"Meningotype output file empty at {meningotype_tsv}", file=sys.stderr
54
+ )
55
+ return None
56
+ else:
57
+ print(f"No meningotype output found at {meningotype_tsv}", file=sys.stderr)
58
+ return None
59
+
60
+ return None
61
+
62
+
63
+ def extract_cc_from_mlst(
64
+ MLST: str,
65
+ mlst_scheme_tsv: Path = "/users/data/Projects/MICROBIAL_SURVEILLANCE/Resources/Databases/mlst/neisseria/neisseria.txt",
66
+ ):
67
+ CC = {"CC": ""}
68
+ if mlst_scheme_tsv.exists():
69
+ try:
70
+ with open(mlst_scheme_tsv) as f:
71
+ for line in f:
72
+ line = line.strip("\n").split("\t")
73
+ if line[0] == MLST:
74
+ if line[8][:3] == "ST-":
75
+ CC["CC"] = line[8].split(" ")[0][3:]
76
+ return CC
77
+ except Exception as e:
78
+ CC["CC"] = f"Failed to load mlst scheme tsv: {e}"
79
+ else:
80
+ CC["CC"] = "Failed to load mlst scheme tsv, file not found"
81
+ return CC
82
+
83
+
84
+ class NmeningitidisResults(core.PipelineResults):
85
+
86
+ @classmethod
87
+ def from_tool_paths(
88
+ cls, meningotype_tsv: Path, MLST: str, mlst_scheme_tsv: Path, sample_name=None
89
+ ):
90
+ """
91
+ Alternative constructor for initializing results for single sample,
92
+ Initializes NmeningitidisResults instance provided paths to outputs from tools (legionella sbt and lag1 presence blast)
93
+ """
94
+ mgk_results = cls.summary(
95
+ meningotype_tsv=Path(meningotype_tsv),
96
+ MLST=MLST,
97
+ mlst_scheme_tsv=Path(mlst_scheme_tsv),
98
+ )
99
+ return cls({sample_name: mgk_results})
100
+
101
+ @classmethod
102
+ def from_tool_paths_dict(cls, file_paths: dict):
103
+ """
104
+ Alternative constructor for initializing results for multiple samples,
105
+ Initializes NmeningitidisResults instance by providing a dictionary of paths to outputs from tools (legionella sbt and lag1 presence blast)
106
+ """
107
+ results_dict = {}
108
+ for sample_name, path_dict in file_paths.items():
109
+ mgk_results = cls.summary(
110
+ meningotype_tsv=Path(path_dict["meningotype_results"]),
111
+ MLST=path_dict["MLST"],
112
+ mlst_scheme_tsv=path_dict["mlst_scheme_tsv"],
113
+ )
114
+ results_dict[sample_name] = mgk_results
115
+ return cls(results_dict)
116
+
117
+ @classmethod
118
+ def from_tool_paths_dataframe(cls, file_paths_df: pandas.DataFrame):
119
+ """
120
+ Alternative constructor for initializing results for multiple samples,
121
+ Initializes NmeningitidisResults instance by providing a DataFrame of paths to outputs from tools (legionella sbt and lag1 presence blast)
122
+ """
123
+ file_paths = file_paths_df.to_dict(orient="index")
124
+
125
+ return cls.from_tool_paths_dict(file_paths=file_paths)
126
+
127
+ @classmethod
128
+ def from_tool_paths_tsv(cls, tool_paths_tsv: Path):
129
+ """
130
+ Alternative constructor for initializing results for multiple samples,
131
+ Initializes NmeningitidisResults instance by providing a tsv-file with paths to outputs from tools (legionella sbt and lag1 presence blast)
132
+ """
133
+ file_paths_df = pandas.read_csv(tool_paths_tsv, sep="\t")
134
+ file_paths_df.set_index("sample_name", inplace=True, drop=True)
135
+ return cls.from_tool_paths_dataframe(file_paths_df)
136
+
137
+ @staticmethod
138
+ def summary(meningotype_tsv: Path, MLST: str, mlst_scheme_tsv: Path) -> dict:
139
+ meningotype_results = extract_meningotype(meningotype_tsv=Path(meningotype_tsv))
140
+ results_dict = meningotype_results
141
+ cc_dict = extract_cc_from_mlst(MLST=MLST, mlst_scheme_tsv=Path(mlst_scheme_tsv))
142
+ results_dict = core.update_results_dict(
143
+ results_dict, cc_dict, old_duplicate_key_prefix="Clonal_complex: "
144
+ )
145
+ if results_dict is None:
146
+ return {}
147
+ return results_dict
148
+
149
+ def __repr__(self):
150
+ return f"< Spyogenes analysis results object. {len(self.results_df)} samples with {len(self.results_df.columns)} result variables > "
151
+
152
+ # %% ../nbs/37_Nmeningitidis_parser.ipynb 9
153
+ @call_parse
154
+ def Nmeningitidis_parser(
155
+ meningotype_tsv: Path = None, # Blast output from blasting EMM and emm-like genes
156
+ MLST: str = None, # MLST to deduce Clonal complex from
157
+ mlst_scheme_tsv: Path = None, # Path to pubmlst scheme for neisseria for MLST: CC table
158
+ sample_name: str = None,
159
+ output_file: Path = None,
160
+ ) -> None:
161
+ """ """
162
+ results = NmeningitidisResults.from_tool_paths(
163
+ meningotype_tsv=meningotype_tsv,
164
+ MLST=MLST,
165
+ mlst_scheme_tsv=mlst_scheme_tsv,
166
+ sample_name=sample_name,
167
+ )
168
+ results.write_tsv(output_file=output_file)
169
+
170
+
171
+ @call_parse
172
+ def Nmeningitidis_batch_parser(
173
+ file_path_tsv: Path = None, # Path to tsv containing file paths to the outputs from tools to be parsed. Must contain headers "sample_name", "sbt_results", and "lag1_blast_results"
174
+ output_file: Path = None, # Path to output tsv
175
+ ) -> None:
176
+ """ """
177
+ results = NmeningitidisResults.from_tool_paths_tsv(tool_paths_tsv=file_path_tsv)
178
+ results.write_tsv(output_file)
@@ -193,7 +193,6 @@ def extract_emm_type(emm_blast_tsv: Path):
193
193
  f"ENN{blast_df_unique.iloc[2]['qseqid'][3:]} with pident {round(blast_df_unique.iloc[2]['pident'],2)} and length {blast_df_unique.iloc[2]['length']}/{blast_df_unique.iloc[2]['qlen']}"
194
194
  )
195
195
  else:
196
- note_to_add = "EMM and EMM-like genes found on multiple contigs"
197
196
  emm_genes = []
198
197
  for index, row in blast_df_unique.iterrows():
199
198
  if row["length"] < row["qlen"] or row["pident"] < 100:
@@ -1 +1 @@
1
- __version__ = "0.0.9"
1
+ __version__ = "0.0.10"
@@ -5,7 +5,27 @@ d = { 'settings': { 'branch': 'main',
5
5
  'doc_host': 'https://thej-ssi.github.io',
6
6
  'git_url': 'https://github.com/thej-ssi/ssi_analysis_result_parsers',
7
7
  'lib_path': 'ssi_analysis_result_parsers'},
8
- 'syms': { 'ssi_analysis_result_parsers.Legionella_parser': { 'ssi_analysis_result_parsers.Legionella_parser.LegionellaResults': ( 'legionella_parser.html#legionellaresults',
8
+ 'syms': { 'ssi_analysis_result_parsers.Ecoli_parser': { 'ssi_analysis_result_parsers.Ecoli_parser.EcoliResults': ( 'ecoli_parser.html#ecoliresults',
9
+ 'ssi_analysis_result_parsers/Ecoli_parser.py'),
10
+ 'ssi_analysis_result_parsers.Ecoli_parser.EcoliResults.__init__': ( 'ecoli_parser.html#ecoliresults.__init__',
11
+ 'ssi_analysis_result_parsers/Ecoli_parser.py'),
12
+ 'ssi_analysis_result_parsers.Ecoli_parser.EcoliResults.__repr__': ( 'ecoli_parser.html#ecoliresults.__repr__',
13
+ 'ssi_analysis_result_parsers/Ecoli_parser.py'),
14
+ 'ssi_analysis_result_parsers.Ecoli_parser.EcoliResults.from_samplesheet': ( 'ecoli_parser.html#ecoliresults.from_samplesheet',
15
+ 'ssi_analysis_result_parsers/Ecoli_parser.py'),
16
+ 'ssi_analysis_result_parsers.Ecoli_parser.EcoliResults.summarize_single_sample': ( 'ecoli_parser.html#ecoliresults.summarize_single_sample',
17
+ 'ssi_analysis_result_parsers/Ecoli_parser.py'),
18
+ 'ssi_analysis_result_parsers.Ecoli_parser.EcoliResults.write_tsv': ( 'ecoli_parser.html#ecoliresults.write_tsv',
19
+ 'ssi_analysis_result_parsers/Ecoli_parser.py'),
20
+ 'ssi_analysis_result_parsers.Ecoli_parser.ecoli_parser': ( 'ecoli_parser.html#ecoli_parser',
21
+ 'ssi_analysis_result_parsers/Ecoli_parser.py'),
22
+ 'ssi_analysis_result_parsers.Ecoli_parser.get_threshold': ( 'ecoli_parser.html#get_threshold',
23
+ 'ssi_analysis_result_parsers/Ecoli_parser.py'),
24
+ 'ssi_analysis_result_parsers.Ecoli_parser.process_res_file': ( 'ecoli_parser.html#process_res_file',
25
+ 'ssi_analysis_result_parsers/Ecoli_parser.py'),
26
+ 'ssi_analysis_result_parsers.Ecoli_parser.setup_logging': ( 'ecoli_parser.html#setup_logging',
27
+ 'ssi_analysis_result_parsers/Ecoli_parser.py')},
28
+ 'ssi_analysis_result_parsers.Legionella_parser': { 'ssi_analysis_result_parsers.Legionella_parser.LegionellaResults': ( 'legionella_parser.html#legionellaresults',
9
29
  'ssi_analysis_result_parsers/Legionella_parser.py'),
10
30
  'ssi_analysis_result_parsers.Legionella_parser.LegionellaResults.__repr__': ( 'legionella_parser.html#legionellaresults.__repr__',
11
31
  'ssi_analysis_result_parsers/Legionella_parser.py'),
@@ -25,6 +45,28 @@ d = { 'settings': { 'branch': 'main',
25
45
  'ssi_analysis_result_parsers/Legionella_parser.py'),
26
46
  'ssi_analysis_result_parsers.Legionella_parser.legionella_parser': ( 'legionella_parser.html#legionella_parser',
27
47
  'ssi_analysis_result_parsers/Legionella_parser.py')},
48
+ 'ssi_analysis_result_parsers.Nmeningitidis_parser': { 'ssi_analysis_result_parsers.Nmeningitidis_parser.NmeningitidisResults': ( 'nmeningitidis_parser.html#nmeningitidisresults',
49
+ 'ssi_analysis_result_parsers/Nmeningitidis_parser.py'),
50
+ 'ssi_analysis_result_parsers.Nmeningitidis_parser.NmeningitidisResults.__repr__': ( 'nmeningitidis_parser.html#nmeningitidisresults.__repr__',
51
+ 'ssi_analysis_result_parsers/Nmeningitidis_parser.py'),
52
+ 'ssi_analysis_result_parsers.Nmeningitidis_parser.NmeningitidisResults.from_tool_paths': ( 'nmeningitidis_parser.html#nmeningitidisresults.from_tool_paths',
53
+ 'ssi_analysis_result_parsers/Nmeningitidis_parser.py'),
54
+ 'ssi_analysis_result_parsers.Nmeningitidis_parser.NmeningitidisResults.from_tool_paths_dataframe': ( 'nmeningitidis_parser.html#nmeningitidisresults.from_tool_paths_dataframe',
55
+ 'ssi_analysis_result_parsers/Nmeningitidis_parser.py'),
56
+ 'ssi_analysis_result_parsers.Nmeningitidis_parser.NmeningitidisResults.from_tool_paths_dict': ( 'nmeningitidis_parser.html#nmeningitidisresults.from_tool_paths_dict',
57
+ 'ssi_analysis_result_parsers/Nmeningitidis_parser.py'),
58
+ 'ssi_analysis_result_parsers.Nmeningitidis_parser.NmeningitidisResults.from_tool_paths_tsv': ( 'nmeningitidis_parser.html#nmeningitidisresults.from_tool_paths_tsv',
59
+ 'ssi_analysis_result_parsers/Nmeningitidis_parser.py'),
60
+ 'ssi_analysis_result_parsers.Nmeningitidis_parser.NmeningitidisResults.summary': ( 'nmeningitidis_parser.html#nmeningitidisresults.summary',
61
+ 'ssi_analysis_result_parsers/Nmeningitidis_parser.py'),
62
+ 'ssi_analysis_result_parsers.Nmeningitidis_parser.Nmeningitidis_batch_parser': ( 'nmeningitidis_parser.html#nmeningitidis_batch_parser',
63
+ 'ssi_analysis_result_parsers/Nmeningitidis_parser.py'),
64
+ 'ssi_analysis_result_parsers.Nmeningitidis_parser.Nmeningitidis_parser': ( 'nmeningitidis_parser.html#nmeningitidis_parser',
65
+ 'ssi_analysis_result_parsers/Nmeningitidis_parser.py'),
66
+ 'ssi_analysis_result_parsers.Nmeningitidis_parser.extract_cc_from_mlst': ( 'nmeningitidis_parser.html#extract_cc_from_mlst',
67
+ 'ssi_analysis_result_parsers/Nmeningitidis_parser.py'),
68
+ 'ssi_analysis_result_parsers.Nmeningitidis_parser.extract_meningotype': ( 'nmeningitidis_parser.html#extract_meningotype',
69
+ 'ssi_analysis_result_parsers/Nmeningitidis_parser.py')},
28
70
  'ssi_analysis_result_parsers.Spyogenes_parser': { 'ssi_analysis_result_parsers.Spyogenes_parser.SpyogenesResults': ( 'spyogenes_parser.html#spyogenesresults',
29
71
  'ssi_analysis_result_parsers/Spyogenes_parser.py'),
30
72
  'ssi_analysis_result_parsers.Spyogenes_parser.SpyogenesResults.__repr__': ( 'spyogenes_parser.html#spyogenesresults.__repr__',
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ssi_analysis_result_parsers
3
- Version: 0.0.9
3
+ Version: 0.0.11
4
4
  Summary: TODO
5
5
  Home-page: https://github.com/thej-ssi/ssi_analysis_result_parsers
6
6
  Author: Thor Bech Johannesen
@@ -1,21 +1,32 @@
1
- ssi_analysis_result_parsers/Legionella_parser.py,sha256=nBOPrelzCMh8IMEDje6jtU9sz92sEyuxddBe0MntTfo,6879
2
- ssi_analysis_result_parsers/Spyogenes_parser.py,sha256=AaA-63AWbRdjkqdZQahGktwDObsSS9KxDwroftzoDiw,12804
3
- ssi_analysis_result_parsers/__init__.py,sha256=46Yjk3fz9o8aTN8E95McnzpJcjGzVJmHmQqUZ5mXzfc,22
4
- ssi_analysis_result_parsers/_modidx.py,sha256=kz1oGnDbstzvo_tNuFiX5wkhfhNmiqSiCkwBnzplRU0,14895
1
+ ssi_analysis_result_parsers/Ecoli_parser.py,sha256=lKNnx27KqxpX3yv1RAP-sBATMGf9yjfSs4-d50mR2cA,22704
2
+ ssi_analysis_result_parsers/Legionella_parser.py,sha256=Yp14u8xqItrIb-uVk786K6jlIi-HNfn0wnQMo_R_X1c,6950
3
+ ssi_analysis_result_parsers/Nmeningitidis_parser.py,sha256=qZFsYMoa13vPXEVRPivMqVkj179a7LAJ7n18oLcDV_k,6906
4
+ ssi_analysis_result_parsers/Spyogenes_parser.py,sha256=Cjibp7iKGofjSp-igm-jmjBVkQ6-zxYQWVSZT-Vx3Fo,12731
5
+ ssi_analysis_result_parsers/__init__.py,sha256=-nNlMKS9nph3FR78_ZG9RGKrbxseeNp2K6nMr0pVGaU,23
6
+ ssi_analysis_result_parsers/_modidx.py,sha256=rrpJq1GcgPx34ag7bGe6VvBl4v-tC-ErTTvYAjHW7uI,22865
5
7
  ssi_analysis_result_parsers/blast_parser.py,sha256=pIzMGk5-VyTy8uzFncTiIsy80wQxl9NbNiGI_K7XMaM,8658
6
8
  ssi_analysis_result_parsers/core.py,sha256=8CzFMDrGJ24D9aoIebLsG8tx-OxvYJod1cxBITqNfaY,12258
7
9
  ssi_analysis_result_parsers/hello_world.py,sha256=jpN94sqYuNHqUbUZMCJ35qGY5iLPB_emucgnDGDUk_U,1895
8
10
  ssi_analysis_result_parsers/some_string.py,sha256=JwmAXKbX_JgY8UGh4FAu5-7ZjezcAEhq4Q2B73pWp2M,923
9
11
  ssi_analysis_result_parsers/config/config.default.env,sha256=Zt6bfPbVV3rYCksoebX1ruAdFgeD9wqAnKDtswhtJJM,1390
10
12
  ssi_analysis_result_parsers/config/config.default.yaml,sha256=3qgUrUtQpxrzYv7WQaHsvz9dQB0RALKNU0idxv7oRqM,460
11
- ssi_analysis_result_parsers-0.0.9.dist-info/licenses/LICENSE,sha256=p6aTb6QIfqyZ2Uux2VjV4F2zthdUSHZOjB4mfwGc7fo,1094
13
+ ssi_analysis_result_parsers-0.0.11.dist-info/licenses/LICENSE,sha256=p6aTb6QIfqyZ2Uux2VjV4F2zthdUSHZOjB4mfwGc7fo,1094
12
14
  test_input/.DS_Store,sha256=sdTEvl9DTKPHNPYYjMqDepX7q7ZETlonk21tGEuWLao,6148
13
15
  test_input/empty_file.txt,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
+ test_input/Ecoli/ERR14229029.res,sha256=AmVZwbiUTjOQLe7SmSKWt9-URdcrsLSxt9hHUh-nFUY,129
17
+ test_input/Ecoli/ERR3528110.res,sha256=DmiDRfX9LPypAEzVeO1RHaPoqEpZwq8ZtQDJ1KOWwHc,461
18
+ test_input/Ecoli/samplesheet.tsv,sha256=sSPrVrloOWvfmnp2Lnn8H6mCkiWsZUFV0wrovk3jH-Q,416
14
19
  test_input/Legionella/batch_parser_file_paths.tsv,sha256=AikBS_Ez1xO3UrEQ19AY3z6drBDdMAiSGK66NLeyYj4,356
15
20
  test_input/Legionella/lag-1_blast.tsv,sha256=MN5QL_iBn9gQ8VTYEcTnT0JwKgpkD8G15-QFOrSWxkU,1133
16
21
  test_input/Legionella/lag-1_blast_2.tsv,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
22
  test_input/Legionella/test.sbt.tsv,sha256=ibhaH3is2dxHaABPvR2QM2HAq9bKOs1AwOTmrwSrcd8,168
23
+ test_input/Legionella/test.tsv,sha256=bBcdhIVtA-Du93btiYrO0D4dgIXRzL_zYJ-naa-jXJE,160
18
24
  test_input/Legionella/test2.sbt.tsv,sha256=uJyVGHKXPmnvaXSt_84_buATOyl79H6vZjkWRitca9k,170
25
+ test_input/Nmeningitidis/batch_parser_file_paths.tsv,sha256=KffODrJJmjxwCaTNCxHsARSIFRiO8tCRvsXIm546Lqc,619
26
+ test_input/Nmeningitidis/neisseria_mlst_scheme.tsv,sha256=lT2kydH5uthbqHDYCQ1OFTPl5_2olGQ29fZzgZueytA,639270
27
+ test_input/Nmeningitidis/meningotype/meningotype1.tsv,sha256=SgzN8oiN0wurF-0SddmijbxzBBsfUO7CGhzAYP5I2bQ,248
28
+ test_input/Nmeningitidis/meningotype/meningotype2.tsv,sha256=yDa9tQV03AtdobVvsP1tazTEkmg7BdZlqOnbHtMo2Eg,138
29
+ test_input/Nmeningitidis/meningotype/meningotype3.tsv,sha256=nASNkcx1BHFK9jfCe8XPrBxo6AZOm156ZQVadpxMnU8,133
19
30
  test_input/Spyogenes/batch_parser_file_paths.tsv,sha256=Va9rulA_fbK6k9IkIa0Lr2z5qG-spquc056_gL5bG1I,547
20
31
  test_input/Spyogenes/emm_typing/Mga.fasta,sha256=WvDUm_tiUfAfcBAh9fwOHc8F0WkvjaxNErzUsMNV1w4,1630
21
32
  test_input/Spyogenes/emm_typing/emm_clusters.txt,sha256=ggYNeQjAIIokLHX6vXc7ER6PIIwbhQR5OahD3cxu88c,3479
@@ -34,8 +45,9 @@ test_input/blast_parser/gene_presence_absence_test.tsv,sha256=qCvMkBC-1GuXx83RDh
34
45
  test_output/output_with_sample_name.tsv,sha256=NQG7WaxczuWCCsX2a9MUxCCYpbuAirz9gw08OLdEdUo,41
35
46
  test_output/test.tsv,sha256=6DGzarXMkUP03Z58vZimc-gu1K2k84zxZLWWF2HROCg,277
36
47
  test_output/test_batch_output.tsv,sha256=6DGzarXMkUP03Z58vZimc-gu1K2k84zxZLWWF2HROCg,277
37
- ssi_analysis_result_parsers-0.0.9.dist-info/METADATA,sha256=gpcbUHkicHpg_derxQTQetNGZOoj5X5mPbcxI_lElm0,2765
38
- ssi_analysis_result_parsers-0.0.9.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
39
- ssi_analysis_result_parsers-0.0.9.dist-info/entry_points.txt,sha256=noBLlB4hLmYcqns7KdQPVURO27kZ_zWMsPHYkRlBGEE,631
40
- ssi_analysis_result_parsers-0.0.9.dist-info/top_level.txt,sha256=3q56bBc2Wv2a6ZQ1l_9m66vot2-Qu6tM9tDr3QQ8auM,81
41
- ssi_analysis_result_parsers-0.0.9.dist-info/RECORD,,
48
+ test_output/Ecoli/KMA_cases_parser.tsv,sha256=Wf3JkSppRN5AK2zRJmFQlwVfCMyJfgyyBpTjb1sK6Uw,586
49
+ ssi_analysis_result_parsers-0.0.11.dist-info/METADATA,sha256=n-ciGwjniNsGbVa_xVSeIJGtK5a6k7guU2BSPE1WCQQ,2766
50
+ ssi_analysis_result_parsers-0.0.11.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
51
+ ssi_analysis_result_parsers-0.0.11.dist-info/entry_points.txt,sha256=OixZpyfeqGO7S_8k1ExmGc32EFBt9RX6C1W3H8vZ1K4,913
52
+ ssi_analysis_result_parsers-0.0.11.dist-info/top_level.txt,sha256=dhzhsC8l7PYeBYNT8JzHPz3BriLAw3llVo0jHn175WI,90
53
+ ssi_analysis_result_parsers-0.0.11.dist-info/RECORD,,
@@ -1,8 +1,11 @@
1
1
  [console_scripts]
2
2
  blast_parser_allele_matches = ssi_analysis_result_parsers.blast_parser:allele_matches
3
3
  blast_parser_presence_absence = ssi_analysis_result_parsers.blast_parser:presence_absence
4
+ get_Nmeningitidis_results = ssi_analysis_result_parsers.Nmeningitidis_parser:Nmeningitidis_parser
5
+ get_Nmeningitidis_results_batch = ssi_analysis_result_parsers.Nmeningitidis_parser:Nmeningitidis_batch_parser
4
6
  get_Spyogenes_results = ssi_analysis_result_parsers.Spyogenes_parser:Spyogenes_parser
5
7
  get_Spyogenes_results_batch = ssi_analysis_result_parsers.Spyogenes_parser:Spyogenes_batch_parser
8
+ get_ecoli_results = ssi_analysis_result_parsers.Ecoli_parser:ecoli_parser
6
9
  get_leg_results = ssi_analysis_result_parsers.Legionella_parser:legionella_parser
7
10
  get_leg_results_batch = ssi_analysis_result_parsers.Legionella_parser:legionella_batch_parser
8
11
 
@@ -0,0 +1 @@
1
+ #Template Score Expected Template_length Template_Identity Template_Coverage Query_Identity Query_Coverage Depth q_value p_value
@@ -0,0 +1,4 @@
1
+ #Template Score Expected Template_length Template_Identity Template_Coverage Query_Identity Query_Coverage Depth q_value p_value
2
+ 1__wzx__O6__AJ426045 20056 153 1257 99.92 100.00 99.92 100.00 16.07 19601.01 1.0e-26
3
+ 2__wzy__O6__AJ426423 23540 159 1344 100.00 100.00 100.00 100.00 17.35 23065.87 1.0e-26
4
+ 5__fliC__H1__AB028471 107030 73 1788 100.00 100.00 100.00 100.00 62.14 106810.34 1.0e-26
@@ -0,0 +1,3 @@
1
+ sample_name Illumina_read_files Nanopore_read_file assembly_file organism variant notes
2
+ ERR3528110 examples/Dataset/reads/ERR3528110_1.fastq.gz,examples/Dataset/reads/ERR3528110_2.fastq.gz Na examples/Dataset/assemblies/ERR3528110.fasta E.coli Na Na
3
+ ERR14229029 examples/Dataset/reads/ERR14229029_1.fastq.gz,examples/Dataset/reads/ERR14229029_2.fastq.gz Na examples/Dataset/assemblies/ERR14229029.fasta E.coli Na Na
@@ -0,0 +1,2 @@
1
+ sample_name ST flaA pilE asd mip mompS proA neuA notes lag-1
2
+ 23 2 3 9 10 2 1 6 Exact ST match, Heterozygous mompS alleles, High confidence mompS allele call 1
@@ -0,0 +1,6 @@
1
+ sample_name meningotype_results MLST mlst_scheme_tsv
2
+ sample_1 test_input/Nmeningitidis/meningotype/meningotype1.tsv 1466 test_input/Nmeningitidis/neisseria_mlst_scheme.tsv
3
+ sample_2 test_input/Nmeningitidis/meningotype/meningotype2.tsv 1157 test_input/Nmeningitidis/neisseria_mlst_scheme.tsv
4
+ sample_3 test_input/Nmeningitidis/meningotype/meningotype3.tsv - test_input/Nmeningitidis/neisseria_mlst_scheme.tsv
5
+ sample_4 test_input/Nmeningitidis/meningotype/meningotype4.tsv fdafd test_input/Nmeningitidis/neisseria_mlst_scheme.tsv
6
+ sample_5 test_input/empty_file.txt fdafd test_input/Nmeningitidis/neisseria_mlst_scheme.tsv
@@ -0,0 +1,2 @@
1
+ SAMPLE_ID SEROGROUP ctrA MLST PorA FetA PorB fHbp NHBA NadA BAST
2
+ /users/data/Projects/SB_surveillance/proj/Results/MGK/2025/250410_VL00760_37_N_WGS_915_AAGLJKNM5/MGK-2025-0011/meningotype/contigs.fasta Y ctrA 1466 21,16 F3-7 NEIS2020_44 21 6 new -
@@ -0,0 +1,2 @@
1
+ SAMPLE_ID SEROGROUP ctrA MLST PorA FetA PorB fHbp NHBA NadA BAST
2
+ MGK-2023-014_S39.fasta X ctrA 1157 5,2-67 F5-36 NEIS2020_43 13 114 new -
@@ -0,0 +1,2 @@
1
+ SAMPLE_ID SEROGROUP ctrA MLST PorA FetA PorB fHbp NHBA NadA BAST
2
+ MGK-2023-015_S51.fasta B ctrA - 18-1,30-4 F3-3 NEIS2020_27 0 29 1 -