Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mendevar #38

Open
wants to merge 23 commits into
base: master
Choose a base branch
from
Open

Mendevar #38

wants to merge 23 commits into from

Conversation

stroehleina
Copy link

@stroehleina stroehleina commented Aug 29, 2022

This branch implements the MenDeVAR (Meningococcal Deduced Vaccine Antigen Reactivity) Index based on the PorA VR2, fHbp, NHBA and NadA (the four antigens targeted by the Bexsero vaccine) output of meningotype. The information is obtained as part of the BAST profile file downloaded via the PubMLST API. The logic of the implementation is based on the original publication (see Table 2) and is consistent with the output of the PubMLST MenDeVAR online tool. The only changes to meningotype.py have been import / calls to mendevar.py and changes to the output headers, the rest is implemented entirely in the mendevar module (and the associated config file mendevar_config.txt, which will allow updates in the future, should new experimental evidence for antigen reactivity become available).

MenDeVAR assigns each record one of four categories:

  1. Green / Exact match: isolate contains one or more exact sequence match(es) to antigenic variants found in the vaccine
  2. Amber / Cross-reactive: isolate contains one or more antigenic variant deemed cross-reactive to vaccine variants through experimental studies.
  3. Red / No match: all the isolate's antigenic variants have been deemed not cross-reactive to vaccine variants through experimental studies.
  4. Grey / Insufficient data: isolate contains antigens for which there is insufficient data available or which are yet to be tested in experimental studies.

I have tested the implementation on the 26 isolates we were asked to summarise and have manually confirmed that the results are consistent with PubMLST MenDeVAR results. I have also locally installed the mendevar branch (pip install --user git+https://github.com/MDU-PHL/meningotype.git@mendevar) on the server and have run all Neisseria meningitidis samples in the MDU database (n = 1191) and compared it to the result produced by an installation of the master branch. A diff of the two output files showed no differences except for added columns 12 (Bexsero MenDeVAR) and 13 (Trumenba MenDeVAR), confirming that the code changes have had no effect on the integrity and reproducibility of the original meningotype results (meningotype v0.8.5).

An additional 'gold standard' data set with known Bexsero and Trumenba MenDeVAR indices could be considered for validation purposes.

@stroehleina
Copy link
Author

Changed to new API-based MenDeVar integration, eliminating the need for a config file and additional function and classes in mendevar.py (deleted). Now works via direct lookup based on BAST identifier.

@stroehleina
Copy link
Author

stroehleina commented Apr 6, 2023

Hi @kristyhoran, I have updated installation instructions in the README.md and have added additional info on new functionality.
Also changed code so that only the column headers are printed that are specified by the user instead of all.

So, e.g., if --finetype is specified, only SAMPLE_ID, SEROGROUP, ctrA, PorA, FetA columns are printed and all others for which no results are calculated are omitted.

--all will output all columns

@stroehleina stroehleina requested a review from abcdtree June 9, 2023 12:15
@stroehleina
Copy link
Author

stroehleina commented Jun 9, 2023

I deleted porB.py because it was identical to finetype.py (spare an extra cpu parameter to the call and a few changes to variable names). porB.py was imported in meningotype.py but never used.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant