Giter Site home page Giter Site logo

mdu-phl / emmtyper Goto Github PK

View Code? Open in Web Editor NEW

This project forked from andre-tan/emmail

9.0 9.0 4.0 1.37 MB

emm Automatic Isolate Labeller

License: GNU General Public License v3.0

Python 42.79% Jupyter Notebook 57.21%
bioinformatics emm-typing genome-annotation genotyping streptococcus-pyogenes

emmtyper's People

Contributors

abcdtree avatar andersgs avatar andre-tan avatar tseemann avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

emmtyper's Issues

Add positive and negative controls

To be ISO17025 complaint, we should have the possibility of running a positive and negative control with each run.

However, we may not wish to output the results with the data, or allow the user some way of easily filtering the negative and positive control out of the final outcome.

Either way, running the controls should not be the default setting. It should be an optional flag.

Also, the data will not need to be a full genome. Just a relevant section. That will help keep the package size small.

ModuleNotFoundError

I installed emmtyper through conda in an environment following the instructions (conda install -c bioconda emmtyper). The installation completed without errors but when running it I get the following error:
Traceback (most recent call last):
File "/home/ramirez/miniconda3/envs/NGStools/bin/emmtyper", line 7, in
from emmtyper.bin.run_emmtyper import main
ModuleNotFoundError: No module named 'emmtyper'

JOSS submission

Requirements:

  • The software should be open source as per the OSI definition.
  • The software should have an obvious research application.
  • You should be a major contributor to the software you are submitting.
  • The software should be a significant contribution to the available open source software that either enables some new research challenges to be addressed or makes addressing research challenges significantly better (e.g., faster, easier, simpler).
  • The software should be feature-complete (no half-baked solutions) and designed for maintainable extension (not one-off modifications). Minor ‘utility’ packages, including ‘thin’ API clients, and single-function packages are not acceptable.
  • Your paper (paper.md and BibTeX files, plus any figures) must be hosted in a Git-based repository. Placing these items together with your software (rather than in a separate repository) is strongly encouraged.

Your paper should include:

  • A list of the authors of the software and their affiliations, using the correct format (see the example below).
  • A summary describing the high-level functionality and purpose of the software for a diverse, non-specialist audience.
  • A clear Statement of Need that illustrates the research purpose of the software.
  • A list of key references, including to other software addressing related needs.
  • Mention (if applicable) a representative set of past or ongoing research projects using the software and recent scholarly publications enabled by it.
  • Acknowledgement of any financial support.

Example paper: https://joss.readthedocs.io/en/latest/submitting.html#example-paper-and-bibliography

-d option used twice in run_emmtyper.py

-d is used twice, and cluster distance overwrites blast db location

@click.option(
"-d",
"--blast_db",
default=os.environ.get("EMM_DB", DEFAULT_DB),
help="Path to EMM BLAST DB",
show_default=True,
)
@click.option(
"-d",
"--cluster-distance",
default=500,
help="Distance between cluster of matches to consider as different clusters.",
show_default=True,
)

emmtyper on galaxy

Hi,

Do you have a plan to include emmtyper tool on galaxy in near future? That would be helpful! please let me know.

Thanks,

Jayanthi

Updating the database

Hi! I'd like to use emmtyper on some group A strep, but I'm foggy as to how often the database is updated.

Is there a way to update it on my end?

emmtyper incompatible with numpy >=1.19

Dear sirs,
emmtyper does not seem to be compatible with newer versions of numpy. With numpy 1.19.5 it throws the following error message:
VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray. From google searching this seems to be due to a change in numpy versions > 1.18. Can the emmtyper code be updated or the anconda specifications be changed to indicate the appropriate version of numpy.
Sincerely,
S. Beres

Updated reverse primer

Thanks for the very nice software, I have been using it a lot. Frost et al. have described a new reverse primer for emm typing which should reduce the number of false positive bands in vitro and in silico.

Could this new reverse primer be implemented for the PCR workflow (possibly as an additional option, e.g. pcr-updated)?

Publication is here: https://doi.org/10.1016/j.cmi.2020.02.026

problem to use

Hi! I download the emmtyper but I can't use it.
Does it work with .fasta from Sanger sequencing?

Error assigning emm cluster

I was running the tool to classify some Streptococcus dysgalactiae subs equisimilis (SDSE) and I got the error below. I suspect this is because the emm type found does not have a corresponding EMM cluster (these were defined only for GAS emm types) and there is no catch for this error. I am leaving also the contents of the tmp file.

Error in Stdout:

Traceback (most recent call last):
  File "/home/ramirez/miniconda3/envs/GAStools/bin/emmtyper", line 11, in <module>
    sys.exit(main())
  File "/home/ramirez/miniconda3/envs/GAStools/lib/python3.7/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/home/ramirez/miniconda3/envs/GAStools/lib/python3.7/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/home/ramirez/miniconda3/envs/GAStools/lib/python3.7/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/ramirez/miniconda3/envs/GAStools/lib/python3.7/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/home/ramirez/miniconda3/envs/GAStools/lib/python3.7/site-packages/emmtyper/bin/run_emmtyper.py", line 193, in main
    clusterer()
  File "/home/ramirez/miniconda3/envs/GAStools/lib/python3.7/site-packages/emmtyper/objects/clusterer.py", line 428, in __call__
    final_result = self.produce_final_result()
  File "/home/ramirez/miniconda3/envs/GAStools/lib/python3.7/site-packages/emmtyper/objects/clusterer.py", line 196, in produce_final_result
    return self.verbose_stringer()
  File "/home/ramirez/miniconda3/envs/GAStools/lib/python3.7/site-packages/emmtyper/objects/clusterer.py", line 153, in verbose_stringer
    self.list_to_string_emm_clusters(self.answers),
  File "/home/ramirez/miniconda3/envs/GAStools/lib/python3.7/site-packages/emmtyper/objects/clusterer.py", line 113, in list_to_string_emm_clusters
    string += emm.EMM(answer.type).emm_cluster
  File "/home/ramirez/miniconda3/envs/GAStools/lib/python3.7/site-packages/emmtyper/objects/emm.py", line 27, in __init__
    self.emm_cluster = self.translate_to_cluster()
  File "/home/ramirez/miniconda3/envs/GAStools/lib/python3.7/site-packages/emmtyper/objects/emm.py", line 31, in translate_to_cluster
    return cluster_translations[self.number]
KeyError: '220'

Temp file contents:

SH10487_NODE_9_length_71711_cov_24.168984_pilon	EMM220.0	100.000	180	0	0	24903	25082	1	180	9.37e-91	333	180
SH10487_NODE_9_length_71711_cov_24.168984_pilon	STC36.4	99.444	180	1	0	24903	25082	1	180	4.36e-89	327	180
SH10487_NODE_9_length_71711_cov_24.168984_pilon	STC36.0	99.444	180	1	0	24903	25082	1	180	4.36e-89	327	180
SH10487_NODE_9_length_71711_cov_24.168984_pilon	STC36.11	98.889	180	2	0	24903	25082	1	180	2.03e-87	322	180
SH10487_NODE_9_length_71711_cov_24.168984_pilon	STC36.10	98.889	180	2	0	24903	25082	1	180	2.03e-87	322	180

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.