ssi-analysis-result-parsers 0.0.10__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.
@@ -32,6 +32,7 @@ from ssi_analysis_result_parsers import (
32
32
  # Project specific libraries
33
33
  from pathlib import Path
34
34
  import pandas
35
+ import numpy
35
36
  import sys
36
37
 
37
38
  # %% ../nbs/39_Legionella_parser.ipynb 6
@@ -49,7 +50,7 @@ def extract_legionella_sbt(legionella_sbt_results_tsv: Path) -> dict:
49
50
  return d[fname]
50
51
  except pandas.errors.EmptyDataError:
51
52
  print(
52
- f"No Legionella SBT output empty at {legionella_sbt_results_tsv}",
53
+ f"Legionella SBT output empty at {legionella_sbt_results_tsv}",
53
54
  file=sys.stderr,
54
55
  )
55
56
  return None
@@ -98,6 +99,7 @@ class LegionellaResults(core.PipelineResults):
98
99
  Alternative constructor for initializing results for multiple samples,
99
100
  Initializes LegionellaResults instance by providing a DataFrame of paths to outputs from tools (legionella sbt and lag1 presence blast)
100
101
  """
102
+ file_paths_df.replace(numpy.nan, None, inplace=True)
101
103
  file_paths = file_paths_df.to_dict(orient="index")
102
104
  results_dict = {}
103
105
  for sample_name, path_dict in file_paths.items():
@@ -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)
@@ -45,6 +45,28 @@ d = { 'settings': { 'branch': 'main',
45
45
  'ssi_analysis_result_parsers/Legionella_parser.py'),
46
46
  'ssi_analysis_result_parsers.Legionella_parser.legionella_parser': ( 'legionella_parser.html#legionella_parser',
47
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')},
48
70
  'ssi_analysis_result_parsers.Spyogenes_parser': { 'ssi_analysis_result_parsers.Spyogenes_parser.SpyogenesResults': ( 'spyogenes_parser.html#spyogenesresults',
49
71
  'ssi_analysis_result_parsers/Spyogenes_parser.py'),
50
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.10
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,15 +1,16 @@
1
1
  ssi_analysis_result_parsers/Ecoli_parser.py,sha256=lKNnx27KqxpX3yv1RAP-sBATMGf9yjfSs4-d50mR2cA,22704
2
- ssi_analysis_result_parsers/Legionella_parser.py,sha256=nBOPrelzCMh8IMEDje6jtU9sz92sEyuxddBe0MntTfo,6879
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
3
4
  ssi_analysis_result_parsers/Spyogenes_parser.py,sha256=Cjibp7iKGofjSp-igm-jmjBVkQ6-zxYQWVSZT-Vx3Fo,12731
4
5
  ssi_analysis_result_parsers/__init__.py,sha256=-nNlMKS9nph3FR78_ZG9RGKrbxseeNp2K6nMr0pVGaU,23
5
- ssi_analysis_result_parsers/_modidx.py,sha256=JAUPTOicf6tKcLhA8DOvsehlZxy6LDPxQDlootV_InE,18281
6
+ ssi_analysis_result_parsers/_modidx.py,sha256=rrpJq1GcgPx34ag7bGe6VvBl4v-tC-ErTTvYAjHW7uI,22865
6
7
  ssi_analysis_result_parsers/blast_parser.py,sha256=pIzMGk5-VyTy8uzFncTiIsy80wQxl9NbNiGI_K7XMaM,8658
7
8
  ssi_analysis_result_parsers/core.py,sha256=8CzFMDrGJ24D9aoIebLsG8tx-OxvYJod1cxBITqNfaY,12258
8
9
  ssi_analysis_result_parsers/hello_world.py,sha256=jpN94sqYuNHqUbUZMCJ35qGY5iLPB_emucgnDGDUk_U,1895
9
10
  ssi_analysis_result_parsers/some_string.py,sha256=JwmAXKbX_JgY8UGh4FAu5-7ZjezcAEhq4Q2B73pWp2M,923
10
11
  ssi_analysis_result_parsers/config/config.default.env,sha256=Zt6bfPbVV3rYCksoebX1ruAdFgeD9wqAnKDtswhtJJM,1390
11
12
  ssi_analysis_result_parsers/config/config.default.yaml,sha256=3qgUrUtQpxrzYv7WQaHsvz9dQB0RALKNU0idxv7oRqM,460
12
- ssi_analysis_result_parsers-0.0.10.dist-info/licenses/LICENSE,sha256=p6aTb6QIfqyZ2Uux2VjV4F2zthdUSHZOjB4mfwGc7fo,1094
13
+ ssi_analysis_result_parsers-0.0.11.dist-info/licenses/LICENSE,sha256=p6aTb6QIfqyZ2Uux2VjV4F2zthdUSHZOjB4mfwGc7fo,1094
13
14
  test_input/.DS_Store,sha256=sdTEvl9DTKPHNPYYjMqDepX7q7ZETlonk21tGEuWLao,6148
14
15
  test_input/empty_file.txt,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
16
  test_input/Ecoli/ERR14229029.res,sha256=AmVZwbiUTjOQLe7SmSKWt9-URdcrsLSxt9hHUh-nFUY,129
@@ -19,7 +20,13 @@ test_input/Legionella/batch_parser_file_paths.tsv,sha256=AikBS_Ez1xO3UrEQ19AY3z6
19
20
  test_input/Legionella/lag-1_blast.tsv,sha256=MN5QL_iBn9gQ8VTYEcTnT0JwKgpkD8G15-QFOrSWxkU,1133
20
21
  test_input/Legionella/lag-1_blast_2.tsv,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
22
  test_input/Legionella/test.sbt.tsv,sha256=ibhaH3is2dxHaABPvR2QM2HAq9bKOs1AwOTmrwSrcd8,168
23
+ test_input/Legionella/test.tsv,sha256=bBcdhIVtA-Du93btiYrO0D4dgIXRzL_zYJ-naa-jXJE,160
22
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
23
30
  test_input/Spyogenes/batch_parser_file_paths.tsv,sha256=Va9rulA_fbK6k9IkIa0Lr2z5qG-spquc056_gL5bG1I,547
24
31
  test_input/Spyogenes/emm_typing/Mga.fasta,sha256=WvDUm_tiUfAfcBAh9fwOHc8F0WkvjaxNErzUsMNV1w4,1630
25
32
  test_input/Spyogenes/emm_typing/emm_clusters.txt,sha256=ggYNeQjAIIokLHX6vXc7ER6PIIwbhQR5OahD3cxu88c,3479
@@ -39,8 +46,8 @@ test_output/output_with_sample_name.tsv,sha256=NQG7WaxczuWCCsX2a9MUxCCYpbuAirz9g
39
46
  test_output/test.tsv,sha256=6DGzarXMkUP03Z58vZimc-gu1K2k84zxZLWWF2HROCg,277
40
47
  test_output/test_batch_output.tsv,sha256=6DGzarXMkUP03Z58vZimc-gu1K2k84zxZLWWF2HROCg,277
41
48
  test_output/Ecoli/KMA_cases_parser.tsv,sha256=Wf3JkSppRN5AK2zRJmFQlwVfCMyJfgyyBpTjb1sK6Uw,586
42
- ssi_analysis_result_parsers-0.0.10.dist-info/METADATA,sha256=BZSffWWanmoRU6UPhhJl6jc1pBomIvjyX79m-H39DAI,2766
43
- ssi_analysis_result_parsers-0.0.10.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
44
- ssi_analysis_result_parsers-0.0.10.dist-info/entry_points.txt,sha256=1btBaEDONU_OZlGK4iXe0-my25NFtup33MfYFS-Oj24,705
45
- ssi_analysis_result_parsers-0.0.10.dist-info/top_level.txt,sha256=dhzhsC8l7PYeBYNT8JzHPz3BriLAw3llVo0jHn175WI,90
46
- ssi_analysis_result_parsers-0.0.10.dist-info/RECORD,,
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,6 +1,8 @@
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
6
8
  get_ecoli_results = ssi_analysis_result_parsers.Ecoli_parser:ecoli_parser
@@ -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 -