mdu-phl / lissero Goto Github PK
View Code? Open in Web Editor NEWIn silico serotype prediction for Listeria monocytogenes
License: GNU General Public License v3.0
In silico serotype prediction for Listeria monocytogenes
License: GNU General Public License v3.0
lissero something
Traceback (most recent call last):
File "/home/linuxbrew/.linuxbrew/bin/lissero", line 8, in <module>
sys.exit(run_lissero())
File "/home/linuxbrew/.linuxbrew/opt/python/lib/python3.7/site-packages/click/core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "/home/linuxbrew/.linuxbrew/opt/python/lib/python3.7/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/home/linuxbrew/.linuxbrew/opt/python/lib/python3.7/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/linuxbrew/.linuxbrew/opt/python/lib/python3.7/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/home/linuxbrew/.linuxbrew/opt/python/lib/python3.7/site-packages/lissero/run_lissero.py", line 47, in run_lissero
path_serodb = os.path.realpath(serotype_db)
File "/home/linuxbrew/.linuxbrew/opt/python/lib/python3.7/posixpath.py", line 394, in realpath
filename = os.fspath(filename)
TypeError: expected str, bytes or os.PathLike object, not NoneType
Create a recipe for Bioconda.
Here are some docs: https://bioconda.github.io/contributor/guidelines.html
Here is the emmtyper recipe as a model: https://github.com/bioconda/bioconda-recipes/blob/master/recipes/emmtyper/meta.yaml
You will need to start by forking the Bioconda repo https://github.com/bioconda/, and creating a new branch (lissero).
One you finished creating and testing the recipe, make sure to squash your commits (git rebase -i master
) - here is a good instruction set to keep handy: https://github.com/wprig/wprig/wiki/How-to-squash-commits, and then you can to the PR request to the main Bioconda repo. @tseemann can help.
linuxbrew@deepthought:~ $ run_lissero foo
Traceback (most recent call last):
File "/home/linuxbrew/.linuxbrew/bin/run_lissero", line 8, in <module>
sys.exit(run_lissero())
File "/home/linuxbrew/.linuxbrew/opt/python/lib/python3.7/site-packages/click/core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "/home/linuxbrew/.linuxbrew/opt/python/lib/python3.7/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/home/linuxbrew/.linuxbrew/opt/python/lib/python3.7/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/linuxbrew/.linuxbrew/opt/python/lib/python3.7/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/home/linuxbrew/.linuxbrew/opt/python/lib/python3.7/site-packages/lissero/run_lissero.py", line 52, in run_lissero
path_serodb = os.path.realpath(serotype_db)
File "/home/linuxbrew/.linuxbrew/opt/python/lib/python3.7/posixpath.py", line 394, in realpath
filename = os.fspath(filename)
TypeError: expected str, bytes or os.PathLike object, not NoneType
I have create the following table to show how LisSero interprets a certain combination of amplicons, compared to the paper of Doumith. As you can see, LisSero assigns the serotype to a lot of combinations that do not appear in the Doumith paper. I was wondering if this classification is documented somewhere, is it from another publication?
gene combinations | doumith | lissero |
---|---|---|
Prs | ?4a,4c | ?4a,4c |
ORF2110 | ? | 4b,4d,4e |
ORF2110,Prs | ? | 4b,4d,4e |
ORF2819 | 1/2b,3b,7 | 1/2b,3b,7 |
ORF2819,Prs | 1/2b,3b,7 | 1/2b,3b,7 |
ORF2819,ORF2110 | 4b,4d,4e | 4b,4d,4e |
ORF2819,ORF2110,Prs | 4b,4d,4e | 4b,4d,4e |
lmo0737 | 1/2a,3a | 1/2a,3a |
lmo0737,Prs | 1/2a,3a | 1/2a,3a |
lmo0737,ORF2110 | ? | 4b,4d,4e |
lmo0737,ORF2110,Prs | ? | 4b,4d,4e |
lmo0737,ORF2819 | ? | 4b,4d,4e |
lmo0737,ORF2819,Prs | ? | 4b,4d,4e |
lmo0737,ORF2110,ORF2819 | ? | 4b,4d,4e |
lmo0737,ORF2110,ORF2819,Prs | ? | 4b,4d,4e |
lmo1118,Prs | ? | 1/2c,3c |
lmo1118,ORF2110 | ? | 1/2c,3c |
lmo1118,lmo0737 | 1/2c,3c | 1/2c,3c |
lmo1118,lmo0737,Prs | 1/2c,3c | 1/2c,3c |
From Christhian Ulises Franco Frias <[email protected]>
The reason for my email is to ask a question about LisSero
And installed the tool on my computer and all its dependencies
However when I run it the following legend appears.
2020-08-11 11:01:34.867 | ERROR |
lissero.run_lissero:run_lissero:109 - Please provide a correct serotype db path or set correct PATH for LISSERO_DB
Greetings and hopefully you can help me. Please
Hi Jason.
When printing multiple elements that are in a field separated by commas, there should be no space between the comma and the record. That makes parsing the output a bit of a nightmare.
So:
1/2b, 3b, 7
Should be:
1/2b,3b,7
So, the whole line looks like this:
contigs.fa 1/2b,3b,7 ORF2819,Prs
Anders.
run_lissero not_fasta_but_exists.txt
Traceback (most recent call last):
File "/home/linuxbrew/.linuxbrew/bin/run_lissero", line 8, in <module>
sys.exit(run_lissero())
File "/home/linuxbrew/.linuxbrew/opt/python/lib/python3.7/site-packages/click/core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "/home/linuxbrew/.linuxbrew/opt/python/lib/python3.7/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/home/linuxbrew/.linuxbrew/opt/python/lib/python3.7/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/linuxbrew/.linuxbrew/opt/python/lib/python3.7/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/home/linuxbrew/.linuxbrew/opt/python/lib/python3.7/site-packages/lissero/run_lissero.py", line 52, in run_lissero
path_serodb = os.path.realpath(serotype_db)
File "/home/linuxbrew/.linuxbrew/opt/python/lib/python3.7/posixpath.py", line 394, in realpath
filename = os.fspath(filename)
TypeError: expected str, bytes or os.PathLike object, not NoneType
If you download the file from github you must make modifications in lines: 13,14,15. We should delete lissero.
in line 16 delete the . in init.
Hi Anders,
There seems to have some issue with BlastN...
When I tried to run the job, it looks like the failing bit is at this step.
$ lissero test.fna
2021-07-14 12:01:45.731 | INFO | lissero.scripts.Serotype:_load_log:285 - Successfully loaded DB log!
2021-07-14 12:01:45.731 | INFO | lissero.scripts.Serotype:check_db:260 - DB was created on 2020-06-04T11:57:55.145347
2021-07-14 12:01:45.731 | INFO | lissero.scripts.Serotype:check_db:261 - DB is ready for use.
2021-07-14 12:01:45.732 | INFO | lissero.scripts.Sample:get_serotype:29 - Serotyping: test.fna
2021-07-14 12:01:45.732 | INFO | lissero.scripts.Blast:run:52 - Blastn is running: /home/users/iidlleo/miniconda3/envs/phetype/bin/blastn -db /home/users/iidlleo/miniconda3/envs/phetype/lib/python3.6/site-packages/lissero/db/lissero -ungapped -culling_limit 1 -outfmt 6 qaccver saccver length slen pident -dust no -query /scratch/iidlleo/eyre/test.fna
2021-07-14 12:01:45.743 | CRITICAL | lissero.scripts.Blast:run:55 - Failed to run /home/users/iidlleo/miniconda3/envs/phetype/bin/blastn -db /home/users/iidlleo/miniconda3/envs/phetype/lib/python3.6/site-packages/lissero/db/lissero -ungapped -culling_limit 1 -outfmt 6 qaccver saccver length slen pident -dust no -query /scratch/iidlleo/eyre/test.fna
I am using blast v2.5.0, and I could found the dbs if list the directory
$ ls /home/users/iidlleo/miniconda3/envs/phetype/lib/python3.6/site-packages/lissero/db/
lissero_db.json lissero.nhr lissero.nog lissero.not lissero.ntf sequences.fasta
lissero.ndb lissero.nin lissero.nos lissero.nsq lissero.nto
This is caused by missing setuptools in a brand new environment.
Should migrate to importlib.resources
--- but it would mean we would have to set python 3.7 as minimum requirement.
In the meantime, need to add setuptools to dependency to ensure proper installation from conda
.
when I run the command (in terminal not conda enviroment) python3 run_lissero.py I get the following error:
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 349, in get_provider
module = sys.modules[moduleOrReq]
KeyError: 'lissero'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/chris_franco/bin/programas_bioinformaticos/LisSero/lissero/run_lissero.py", line 20, in
DEFAULT_DB = pkg_resources.resource_filename("lissero", "db")
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 1135, in resource_filename
return get_provider(package_or_requirement).get_resource_filename(
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 351, in get_provider
import(moduleOrReq)
ModuleNotFoundError: No module named 'lissero'
do yu have any suggetion for fix them.
Usage: lissero [OPTIONS] FASTA...
Try 'lissero --help' for help.
Error: no such option: --version```
Requirements:
Your paper should include:
Example paper: https://joss.readthedocs.io/en/latest/submitting.html#example-paper-and-bibliography
Create a Using GitHub Action called validation.yml
that will run the tool against all the validation genomes, and assert we get the right results.
I would add the assemblies into the repo (but we don't package them) to validations/data/<assembler_version>/<sample_id>/contigs.fa
folder in the root folder.
Then add a csv with the expected results in validations/data/pcr-results.csv
.
It will then need a small NextFlow pipeline that runs the latest lissero on the controls, and on each of the genomes.
It then compares the output of lissero with the expected output to assert they are the same.
I believe @kristyhoran has a template of what the validation report might look like, so the NextFlow pipeline would ideally output that in PDF. The plain text version of the filled in template (before conversion to PDF) would be committed to validations/reports/
along with a CSV of the raw data (i.e., the one row per sample with the sample ID, the expected result, the observed result, and whether they match or not.
The NextFlow pipeline should be in validations/validation.nf
and the config file should be validations/config.nextflow
.
I appreciate there is a lot to this issue. I would start with just getting the NextFlow pipeline working on a local clone of the repo, and then work towards getting it working with the GitHub Actions.
Fails on blast 2.5
please make lissero check blast -version
before running.
And add to docs
Pasteur is curating FASTA with various alleles of the Listeria serogroups.
https://bigsdb.pasteur.fr/api/db/pubmlst_listeria_seqdef/schemes/4
http://emboss.sourceforge.net/download/
maybe was just an outage at sf.net ?
Dear Jason,
First of all, congratulations for LisSero. It will be a very useful tool!!!
I am trying to install it on a Unix environment, but the link provided in the HELP file regarding the download of EMBOSS PrimerSearch is not working...(and consequently, the LIsSero doesn't run!)
I would like to kindly ask you if you could provide us the correct link, or another alternative to install PrimerSearch.
I am looking forward to testting LisSero!!!
Best regards,
Vítor Borges
We need the following three flags added to the tool before we can publish:
--positive-control
--negative-control
--controls
The first one should runs a positive control, which can be the EGDE-e strain (https://www.ncbi.nlm.nih.gov/assembly/GCF_000196035.1/)
The second one runs two negative controls Listeria innocua Clip11262
strain (https://www.ncbi.nlm.nih.gov/assembly/GCF_000195795.1/) and Salmonella enterica subsp Typhimurium LT2
strain (https://www.ncbi.nlm.nih.gov/assembly/GCF_000006945.2).
Download these genomes, and add them to the repo to be part of the packaged data.
When the user uses the --positive-control
flag it will run the EGDE-e strain, and it should assert that the result is correct before going forward (I believe it is 1/2a), or gracefully exit with an error.
When the user adds the --negative-control
flag it will return both the Listerian innocua and Salmonella enterica genomes both as Nontypeable. That particular Listeria innocua strain lacks the Prs gene. It should assert we get the expected values before going forward, or gracefully exit with an error.
The options --controls
runs both --postive-control
and --negative-control
.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.