XspecT 0.1.2__tar.gz → 0.2.0__tar.gz

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.

Potentially problematic release.


This version of XspecT might be problematic. Click here for more details.

Files changed (126) hide show
  1. xspect-0.2.0/.github/workflows/black.yml +11 -0
  2. xspect-0.2.0/.github/workflows/docs.yml +33 -0
  3. xspect-0.2.0/.github/workflows/pylint.yml +13 -0
  4. xspect-0.2.0/.github/workflows/pypi.yml +61 -0
  5. xspect-0.2.0/.github/workflows/test.yml +27 -0
  6. xspect-0.2.0/.gitignore +181 -0
  7. {XspecT-0.1.2/src/XspecT.egg-info → xspect-0.2.0}/PKG-INFO +23 -30
  8. xspect-0.2.0/README.md +59 -0
  9. xspect-0.2.0/docs/Instructions/pictures/About.png +0 -0
  10. xspect-0.2.0/docs/Instructions/pictures/AddFilter.png +0 -0
  11. xspect-0.2.0/docs/Instructions/pictures/AddSpecies1.png +0 -0
  12. xspect-0.2.0/docs/Instructions/pictures/AddSpecies2.png +0 -0
  13. xspect-0.2.0/docs/Instructions/pictures/BF.png +0 -0
  14. xspect-0.2.0/docs/Instructions/pictures/ClAssT_Ergebnis1.png +0 -0
  15. xspect-0.2.0/docs/Instructions/pictures/ClAssT_Ergebnis2.png +0 -0
  16. xspect-0.2.0/docs/Instructions/pictures/ClAssT_Ergebnis3.png +0 -0
  17. xspect-0.2.0/docs/Instructions/pictures/ClAssT_Hauptseite.png +0 -0
  18. xspect-0.2.0/docs/Instructions/pictures/CommandLine_Input.png +0 -0
  19. xspect-0.2.0/docs/Instructions/pictures/CommandLine_results.png +0 -0
  20. xspect-0.2.0/docs/Instructions/pictures/CommandLine_whole.png +0 -0
  21. xspect-0.2.0/docs/Instructions/pictures/How2Use.png +0 -0
  22. xspect-0.2.0/docs/Instructions/pictures/HowtouseAspecT.png +0 -0
  23. xspect-0.2.0/docs/Instructions/pictures/XspecT_Ergebnis1.png +0 -0
  24. xspect-0.2.0/docs/Instructions/pictures/XspecT_Ergebnis2.png +0 -0
  25. xspect-0.2.0/docs/Instructions/pictures/XspecT_Ergebnis3.png +0 -0
  26. xspect-0.2.0/docs/Instructions/pictures/XspecT_Ergebnis4.png +0 -0
  27. xspect-0.2.0/docs/Instructions/pictures/XspecT_Hauptseite.png +0 -0
  28. xspect-0.2.0/docs/Instructions/pictures/XspecT_Runtime.png +0 -0
  29. xspect-0.2.0/docs/Instructions/pictures/XspecT_Runtime_Oxa.png +0 -0
  30. xspect-0.2.0/docs/Instructions/pictures/XspecT_Startseite.png +0 -0
  31. xspect-0.2.0/docs/Instructions/pictures/change_pw.png +0 -0
  32. xspect-0.2.0/docs/Instructions/pictures/modify_vecs.png +0 -0
  33. xspect-0.2.0/docs/Instructions/pictures/secretkey.png +0 -0
  34. xspect-0.2.0/docs/Makefile +20 -0
  35. xspect-0.2.0/docs/cli.md +114 -0
  36. xspect-0.2.0/docs/conf.py +29 -0
  37. xspect-0.2.0/docs/diagrams/probabilistic_filter_models.md +52 -0
  38. xspect-0.2.0/docs/index.md +20 -0
  39. xspect-0.2.0/docs/input_data.md +4 -0
  40. xspect-0.2.0/docs/installation.md +35 -0
  41. xspect-0.2.0/docs/make.bat +35 -0
  42. xspect-0.2.0/docs/quickstart.md +6 -0
  43. xspect-0.2.0/docs/web.md +3 -0
  44. xspect-0.2.0/pyproject.toml +54 -0
  45. {XspecT-0.1.2 → xspect-0.2.0/src/XspecT.egg-info}/PKG-INFO +23 -30
  46. xspect-0.2.0/src/XspecT.egg-info/SOURCES.txt +85 -0
  47. {XspecT-0.1.2 → xspect-0.2.0}/src/XspecT.egg-info/requires.txt +7 -14
  48. xspect-0.2.0/src/xspect/definitions.py +42 -0
  49. xspect-0.2.0/src/xspect/download_filters.py +33 -0
  50. xspect-0.2.0/src/xspect/fastapi.py +101 -0
  51. xspect-0.2.0/src/xspect/file_io.py +87 -0
  52. xspect-0.2.0/src/xspect/main.py +123 -0
  53. xspect-0.2.0/src/xspect/model_management.py +88 -0
  54. xspect-0.2.0/src/xspect/models/probabilistic_filter_model.py +277 -0
  55. xspect-0.2.0/src/xspect/models/probabilistic_filter_svm_model.py +169 -0
  56. xspect-0.2.0/src/xspect/models/probabilistic_single_filter_model.py +109 -0
  57. xspect-0.2.0/src/xspect/models/result.py +148 -0
  58. xspect-0.2.0/src/xspect/pipeline.py +201 -0
  59. xspect-0.2.0/src/xspect/run.py +38 -0
  60. xspect-0.2.0/src/xspect/train.py +304 -0
  61. xspect-0.2.0/src/xspect/train_filter/create_svm.py +45 -0
  62. xspect-0.2.0/src/xspect/train_filter/extract_and_concatenate.py +124 -0
  63. {XspecT-0.1.2 → xspect-0.2.0}/src/xspect/train_filter/html_scrap.py +16 -28
  64. xspect-0.2.0/src/xspect/train_filter/ncbi_api/__init__.py +0 -0
  65. {XspecT-0.1.2 → xspect-0.2.0}/src/xspect/train_filter/ncbi_api/download_assemblies.py +7 -8
  66. {XspecT-0.1.2 → xspect-0.2.0}/src/xspect/train_filter/ncbi_api/ncbi_assembly_metadata.py +9 -17
  67. {XspecT-0.1.2 → xspect-0.2.0}/src/xspect/train_filter/ncbi_api/ncbi_children_tree.py +3 -2
  68. {XspecT-0.1.2 → xspect-0.2.0}/src/xspect/train_filter/ncbi_api/ncbi_taxon_metadata.py +7 -5
  69. xspect-0.2.0/tests/__init__.py +0 -0
  70. xspect-0.2.0/tests/conftest.py +113 -0
  71. xspect-0.2.0/tests/test_file_io.py +56 -0
  72. xspect-0.2.0/tests/test_model_management.py +45 -0
  73. xspect-0.2.0/tests/test_model_result.py +25 -0
  74. xspect-0.2.0/tests/test_pipeline.py +26 -0
  75. xspect-0.2.0/tests/test_probabilistic_filter_model.py +161 -0
  76. xspect-0.2.0/tests/test_probabilistic_filter_svm_model.py +94 -0
  77. xspect-0.2.0/tests/test_probabilistic_single_filter_model.py +56 -0
  78. xspect-0.2.0/tests/test_train.py +15 -0
  79. XspecT-0.1.2/README.md +0 -59
  80. XspecT-0.1.2/pyproject.toml +0 -56
  81. XspecT-0.1.2/src/XspecT.egg-info/SOURCES.txt +0 -54
  82. XspecT-0.1.2/src/xspect/BF_v2.py +0 -648
  83. XspecT-0.1.2/src/xspect/Bootstrap.py +0 -29
  84. XspecT-0.1.2/src/xspect/Classifier.py +0 -142
  85. XspecT-0.1.2/src/xspect/OXA_Table.py +0 -53
  86. XspecT-0.1.2/src/xspect/WebApp.py +0 -737
  87. XspecT-0.1.2/src/xspect/XspecT_mini.py +0 -1377
  88. XspecT-0.1.2/src/xspect/XspecT_trainer.py +0 -611
  89. XspecT-0.1.2/src/xspect/download_filters.py +0 -48
  90. XspecT-0.1.2/src/xspect/file_io.py +0 -156
  91. XspecT-0.1.2/src/xspect/main.py +0 -119
  92. XspecT-0.1.2/src/xspect/map_kmers.py +0 -155
  93. XspecT-0.1.2/src/xspect/search_filter.py +0 -504
  94. XspecT-0.1.2/src/xspect/static/How-To.png +0 -0
  95. XspecT-0.1.2/src/xspect/static/Logo2.png +0 -0
  96. XspecT-0.1.2/src/xspect/static/Workflow_AspecT.png +0 -0
  97. XspecT-0.1.2/src/xspect/static/Workflow_ClAssT.png +0 -0
  98. XspecT-0.1.2/src/xspect/static/js.js +0 -615
  99. XspecT-0.1.2/src/xspect/static/main.css +0 -280
  100. XspecT-0.1.2/src/xspect/templates/400.html +0 -64
  101. XspecT-0.1.2/src/xspect/templates/401.html +0 -62
  102. XspecT-0.1.2/src/xspect/templates/404.html +0 -62
  103. XspecT-0.1.2/src/xspect/templates/500.html +0 -62
  104. XspecT-0.1.2/src/xspect/templates/about.html +0 -544
  105. XspecT-0.1.2/src/xspect/templates/home.html +0 -51
  106. XspecT-0.1.2/src/xspect/templates/layoutabout.html +0 -87
  107. XspecT-0.1.2/src/xspect/templates/layouthome.html +0 -63
  108. XspecT-0.1.2/src/xspect/templates/layoutspecies.html +0 -468
  109. XspecT-0.1.2/src/xspect/templates/species.html +0 -33
  110. XspecT-0.1.2/src/xspect/train_filter/create_svm.py +0 -222
  111. XspecT-0.1.2/src/xspect/train_filter/extract_and_concatenate.py +0 -128
  112. XspecT-0.1.2/src/xspect/train_filter/get_paths.py +0 -35
  113. XspecT-0.1.2/src/xspect/train_filter/interface_XspecT.py +0 -204
  114. XspecT-0.1.2/src/xspect/train_filter/k_mer_count.py +0 -162
  115. XspecT-0.1.2/tests/test_cli.py +0 -64
  116. XspecT-0.1.2/tests/test_file_io.py +0 -145
  117. XspecT-0.1.2/tests/test_flask.py +0 -151
  118. {XspecT-0.1.2 → xspect-0.2.0}/LICENSE +0 -0
  119. /XspecT-0.1.2/src/xspect/static/Logo.png → /xspect-0.2.0/docs/img/logo.png +0 -0
  120. {XspecT-0.1.2 → xspect-0.2.0}/setup.cfg +0 -0
  121. {XspecT-0.1.2 → xspect-0.2.0}/src/XspecT.egg-info/dependency_links.txt +0 -0
  122. {XspecT-0.1.2 → xspect-0.2.0}/src/XspecT.egg-info/entry_points.txt +0 -0
  123. {XspecT-0.1.2 → xspect-0.2.0}/src/XspecT.egg-info/top_level.txt +0 -0
  124. {XspecT-0.1.2 → xspect-0.2.0}/src/xspect/__init__.py +0 -0
  125. {XspecT-0.1.2/src/xspect/train_filter → xspect-0.2.0/src/xspect/models}/__init__.py +0 -0
  126. {XspecT-0.1.2/src/xspect/train_filter/ncbi_api → xspect-0.2.0/src/xspect/train_filter}/__init__.py +0 -0
@@ -0,0 +1,11 @@
1
+ name: black
2
+ on: [push]
3
+ jobs:
4
+ black:
5
+ runs-on: ubuntu-latest
6
+ steps:
7
+ - uses: actions/checkout@v4
8
+ - name: Black Code Formatter
9
+ uses: lgeiger/black-action@master
10
+ with:
11
+ args: ". --check"
@@ -0,0 +1,33 @@
1
+ name: sphinx
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+
7
+ permissions:
8
+ contents: write
9
+
10
+ jobs:
11
+ docs:
12
+ runs-on: ubuntu-latest
13
+ steps:
14
+ - uses: actions/checkout@v4
15
+ - name: Set up Python
16
+ uses: actions/setup-python@v4
17
+ with:
18
+ python-version: "3.x"
19
+ - name: Install package with docs extras
20
+ run: |
21
+ python -m pip install --upgrade pip
22
+ pip install '.[docs]'
23
+ - name: Sphinx build
24
+ run: |
25
+ sphinx-build docs _build
26
+ - name: Deploy to GitHub Pages
27
+ uses: peaceiris/actions-gh-pages@v3
28
+ if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
29
+ with:
30
+ publish_branch: gh-pages
31
+ github_token: ${{ secrets.GITHUB_TOKEN }}
32
+ publish_dir: _build/
33
+ force_orphan: true
@@ -0,0 +1,13 @@
1
+ name: pylint
2
+ on: [push]
3
+ jobs:
4
+ black:
5
+ runs-on: ubuntu-latest
6
+ steps:
7
+ - uses: actions/checkout@v4
8
+ - name: Pylint Code Linter
9
+ run: |
10
+ python -m pip install --upgrade pip
11
+ pip install .
12
+ pip install pylint
13
+ pylint --fail-under=9.0 src/xspect
@@ -0,0 +1,61 @@
1
+ name: Publish to PyPI
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ release:
6
+ types:
7
+ - published
8
+ jobs:
9
+ release-build:
10
+ runs-on: ubuntu-latest
11
+
12
+ steps:
13
+ - uses: actions/checkout@v4
14
+
15
+ - uses: actions/setup-python@v5
16
+ with:
17
+ python-version: "3.x"
18
+
19
+ - name: Build release distributions
20
+ run: |
21
+ python -m pip install build
22
+ python -m build
23
+
24
+ - name: Upload distributions
25
+ uses: actions/upload-artifact@v4
26
+ with:
27
+ name: release-dists
28
+ path: dist/
29
+
30
+
31
+ upload_testpypi:
32
+ needs: [release-build]
33
+ runs-on: ubuntu-latest
34
+ environment: testpypi
35
+ permissions:
36
+ id-token: write
37
+ if: github.event_name == 'release' && github.event.action == 'published' && github.event.release.prerelease
38
+ steps:
39
+ - uses: actions/download-artifact@v4
40
+ with:
41
+ name: release-dists
42
+ path: dist/
43
+
44
+ - uses: pypa/gh-action-pypi-publish@release/v1
45
+ with:
46
+ repository-url: https://test.pypi.org/legacy/
47
+
48
+ upload_pypi:
49
+ needs: [release-build]
50
+ runs-on: ubuntu-latest
51
+ environment: pypi
52
+ permissions:
53
+ id-token: write
54
+ if: github.event_name == 'release' && github.event.action == 'published' && !github.event.release.prerelease
55
+ steps:
56
+ - uses: actions/download-artifact@v4
57
+ with:
58
+ name: release-dists
59
+ path: dist/
60
+
61
+ - uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,27 @@
1
+ name: test
2
+ on: [push]
3
+ jobs:
4
+ pytest:
5
+ runs-on: ubuntu-latest
6
+ steps:
7
+ - uses: actions/checkout@v4
8
+ - name: Set up Python
9
+ uses: actions/setup-python@v4
10
+ with:
11
+ python-version: "3.x"
12
+ - name: Install package
13
+ run: |
14
+ python -m pip install --upgrade pip
15
+ pip install '.[test]'
16
+ - name: Download filters
17
+ run: |
18
+ xspect download-filters
19
+ - name: Test with pytest
20
+ run: |
21
+ pytest --cov
22
+ - name: Upload coverage reports to Codecov
23
+ uses: codecov/codecov-action@v4
24
+ env:
25
+ CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
26
+
27
+
@@ -0,0 +1,181 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ share/python-wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+ MANIFEST
28
+
29
+ # PyInstaller
30
+ # Usually these files are written by a python script from a template
31
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
32
+ *.manifest
33
+ *.spec
34
+
35
+ # Installer logs
36
+ pip-log.txt
37
+ pip-delete-this-directory.txt
38
+
39
+ # Unit test / coverage reports
40
+ htmlcov/
41
+ .tox/
42
+ .nox/
43
+ .coverage
44
+ .coverage.*
45
+ .cache
46
+ nosetests.xml
47
+ coverage.xml
48
+ *.cover
49
+ *.py,cover
50
+ .hypothesis/
51
+ .pytest_cache/
52
+ cover/
53
+
54
+ # Translations
55
+ *.mo
56
+ *.pot
57
+
58
+ # Django stuff:
59
+ *.log
60
+ local_settings.py
61
+ db.sqlite3
62
+ db.sqlite3-journal
63
+
64
+ # Flask stuff:
65
+ instance/
66
+ .webassets-cache
67
+
68
+ # Scrapy stuff:
69
+ .scrapy
70
+
71
+ # Sphinx documentation
72
+ docs/_build/
73
+
74
+ # PyBuilder
75
+ .pybuilder/
76
+ target/
77
+
78
+ # Jupyter Notebook
79
+ .ipynb_checkpoints
80
+
81
+ # IPython
82
+ profile_default/
83
+ ipython_config.py
84
+
85
+ # pyenv
86
+ # For a library or package, you might want to ignore these files since the code is
87
+ # intended to run in multiple environments; otherwise, check them in:
88
+ # .python-version
89
+
90
+ # pipenv
91
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
92
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
93
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
94
+ # install all needed dependencies.
95
+ #Pipfile.lock
96
+
97
+ # poetry
98
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
99
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
100
+ # commonly ignored for libraries.
101
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
102
+ #poetry.lock
103
+
104
+ # pdm
105
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
106
+ #pdm.lock
107
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
108
+ # in version control.
109
+ # https://pdm.fming.dev/#use-with-ide
110
+ .pdm.toml
111
+
112
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
113
+ __pypackages__/
114
+
115
+ # Celery stuff
116
+ celerybeat-schedule
117
+ celerybeat.pid
118
+
119
+ # SageMath parsed files
120
+ *.sage.py
121
+
122
+ # Environments
123
+ .env
124
+ .venv
125
+ env/
126
+ venv/
127
+ ENV/
128
+ env.bak/
129
+ venv.bak/
130
+
131
+ # Spyder project settings
132
+ .spyderproject
133
+ .spyproject
134
+
135
+ # Rope project settings
136
+ .ropeproject
137
+
138
+ # mkdocs documentation
139
+ /site
140
+
141
+ # mypy
142
+ .mypy_cache/
143
+ .dmypy.json
144
+ dmypy.json
145
+
146
+ # Pyre type checker
147
+ .pyre/
148
+
149
+ # pytype static type analyzer
150
+ .pytype/
151
+
152
+ # Cython debug symbols
153
+ cython_debug/
154
+
155
+ # PyCharm
156
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
157
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
158
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
159
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
160
+ .idea/
161
+
162
+ .conda/
163
+ .vscode/
164
+ .DS_Store
165
+ genus_metadata/
166
+ output
167
+ filter/
168
+ files/
169
+ Training_data/
170
+
171
+ tests/test_assemblies/
172
+ string_list.txt
173
+ saved_options.txt
174
+
175
+ files/
176
+ out.gv
177
+ out.png
178
+
179
+ xspect-data/
180
+
181
+ .devcontainer/
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: XspecT
3
- Version: 0.1.2
3
+ Version: 0.2.0
4
4
  Summary: Tool to monitor and characterize pathogens using Bloom filters.
5
5
  License: MIT License
6
6
 
@@ -32,26 +32,19 @@ Classifier: License :: OSI Approved :: MIT License
32
32
  Requires-Python: >=3.10
33
33
  Description-Content-Type: text/markdown
34
34
  License-File: LICENSE
35
- Requires-Dist: Flask
36
- Requires-Dist: Flask-WTF
37
- Requires-Dist: WTForms
38
- Requires-Dist: Werkzeug
39
35
  Requires-Dist: biopython
40
- Requires-Dist: bitarray
41
- Requires-Dist: mmh3
42
- Requires-Dist: numpy
43
- Requires-Dist: pandas
44
36
  Requires-Dist: requests
45
37
  Requires-Dist: scikit-learn
46
- Requires-Dist: Psutil
47
- Requires-Dist: Matplotlib
48
- Requires-Dist: Pympler
49
- Requires-Dist: H5py
50
38
  Requires-Dist: Bio
51
- Requires-Dist: wheel
52
39
  Requires-Dist: loguru
53
- Requires-Dist: Pympler
54
40
  Requires-Dist: click
41
+ Requires-Dist: python-slugify
42
+ Requires-Dist: cobs-reloaded
43
+ Requires-Dist: rbloom
44
+ Requires-Dist: xxhash
45
+ Requires-Dist: fastapi
46
+ Requires-Dist: uvicorn
47
+ Requires-Dist: python-multipart
55
48
  Provides-Extra: docs
56
49
  Requires-Dist: sphinx; extra == "docs"
57
50
  Requires-Dist: furo; extra == "docs"
@@ -63,9 +56,13 @@ Requires-Dist: pytest; extra == "test"
63
56
  Requires-Dist: pytest-cov; extra == "test"
64
57
 
65
58
  # XspecT - Acinetobacter Species Assignment Tool
66
- <img src="/src/xspect/static/Logo.png" height="50%" width="50%">
59
+ ![Test](https://github.com/bionf/xspect2/actions/workflows/test.yml/badge.svg)
60
+ [![linting: pylint](https://img.shields.io/badge/linting-pylint-yellowgreen)](https://github.com/pylint-dev/pylint)
61
+ [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
62
+
63
+ <img src="/src/docs/img/logo.png" height="50%" width="50%">
67
64
  <!-- start intro -->
68
- XspecT is a Python-based tool to taxonomically classify sequence-reads (or assembled genomes) on the species and/or sub-type level using [Bloom Filters](https://en.wikipedia.org/wiki/Bloom_filter) and a [Support Vector Machine](https://en.wikipedia.org/wiki/Support-vector_machine). It also identifies existing [blaOxa-genes](https://en.wikipedia.org/wiki/Beta-lactamase#OXA_beta-lactamases_(class_D)) and provides a list of relevant research papers for further information.
65
+ XspecT is a Python-based tool to taxonomically classify sequence-reads (or assembled genomes) on the species and/or sub-type level using [Bloom Filters] and a [Support Vector Machine]. It also identifies existing [blaOxa-genes] and provides a list of relevant research papers for further information.
69
66
  <br/><br/>
70
67
 
71
68
  XspecT utilizes the uniqueness of kmers and compares extracted kmers from the input-data to a reference database. Bloom Filter ensure a fast lookup in this process. For a final prediction the results are classified using a Support Vector Machine.
@@ -75,6 +72,10 @@ Local extensions of the reference database are supported.
75
72
  <br/>
76
73
 
77
74
  The tool is available as a web-based application and a smaller command line interface.
75
+
76
+ [Bloom Filters]: https://en.wikipedia.org/wiki/Bloom_filter
77
+ [Support Vector Machine]: https://en.wikipedia.org/wiki/Support-vector_machine
78
+ [blaOxa-genes]: https://en.wikipedia.org/wiki/Beta-lactamase#OXA_beta-lactamases_(class_D)
78
79
  <!-- end intro -->
79
80
 
80
81
  <!-- start quickstart -->
@@ -83,11 +84,7 @@ To install Xspect, please download the lastest 64 bit Python version and install
83
84
  ```
84
85
  pip install xspect
85
86
  ```
86
- If you would like to train filters yourself, you need to install Jellyfish, which is used to count distinct k-meres in the assemblies. It can be installed using bioconda:
87
- ```
88
- conda install -c bioconda jellyfish
89
- ```
90
- On Apple Silicon, it is possible that this command installs an incorrect Jellyfish package. Please refer to the official [Jellyfish project](https://github.com/gmarcais/Jellyfish) for installation guidance.
87
+ Please note that Apple Silicon is currently not supported.
91
88
 
92
89
  ## Usage
93
90
  ### Get the Bloomfilters
@@ -101,9 +98,9 @@ xspect train you-ncbi-genus-name
101
98
  ```
102
99
 
103
100
  ### How to run the web app
104
- Run the following command lines in a console, a browser window will open automatically after the application is fully loaded.
101
+ To run the web app, install and run [XspecT Web](https://github.com/aromberg/xspect-web). Additionally, run XspecT in API mode:
105
102
  ```
106
- xspect web
103
+ xspect api
107
104
  ```
108
105
 
109
106
  ### How to use the XspecT command line interface
@@ -111,13 +108,9 @@ Run xspect with the configuration you want to run it with as arguments.
111
108
  ```
112
109
  xspect classify your-genus path/to/your/input-set
113
110
  ```
114
- For further instructions on how to use the command line interface, execute:
111
+ For further instructions on how to use the command line interface, please refer to the [documentation] or execute:
115
112
  ```
116
113
  xspect --help
117
114
  ```
115
+ [documentation]: https://bionf.github.io/XspecT2/cli.html
118
116
  <!-- end quickstart -->
119
-
120
- ## Input Data
121
- XspecT is able to use either raw sequence-reads (FASTQ-format .fq/.fastq) or already assembled genomes (FASTA-format .fasta/.fna). Using sequence-reads saves up the assembly process but high-quality reads with a low error-rate are needed (e.g. Illumina-reads).
122
-
123
- The amount of reads that will be used has to be set by the user when using sequence-reads. The minimum amount is 5000 reads for species classification and 500 reads for sub-type classification. The maximum number of reads is limited by the browser and is usually around ~8 million reads. Using more reads will lead to a increased runtime (xsec./1mio reads).
xspect-0.2.0/README.md ADDED
@@ -0,0 +1,59 @@
1
+ # XspecT - Acinetobacter Species Assignment Tool
2
+ ![Test](https://github.com/bionf/xspect2/actions/workflows/test.yml/badge.svg)
3
+ [![linting: pylint](https://img.shields.io/badge/linting-pylint-yellowgreen)](https://github.com/pylint-dev/pylint)
4
+ [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
5
+
6
+ <img src="/src/docs/img/logo.png" height="50%" width="50%">
7
+ <!-- start intro -->
8
+ XspecT is a Python-based tool to taxonomically classify sequence-reads (or assembled genomes) on the species and/or sub-type level using [Bloom Filters] and a [Support Vector Machine]. It also identifies existing [blaOxa-genes] and provides a list of relevant research papers for further information.
9
+ <br/><br/>
10
+
11
+ XspecT utilizes the uniqueness of kmers and compares extracted kmers from the input-data to a reference database. Bloom Filter ensure a fast lookup in this process. For a final prediction the results are classified using a Support Vector Machine.
12
+ <br/>
13
+
14
+ Local extensions of the reference database are supported.
15
+ <br/>
16
+
17
+ The tool is available as a web-based application and a smaller command line interface.
18
+
19
+ [Bloom Filters]: https://en.wikipedia.org/wiki/Bloom_filter
20
+ [Support Vector Machine]: https://en.wikipedia.org/wiki/Support-vector_machine
21
+ [blaOxa-genes]: https://en.wikipedia.org/wiki/Beta-lactamase#OXA_beta-lactamases_(class_D)
22
+ <!-- end intro -->
23
+
24
+ <!-- start quickstart -->
25
+ ## Installation
26
+ To install Xspect, please download the lastest 64 bit Python version and install the package using pip:
27
+ ```
28
+ pip install xspect
29
+ ```
30
+ Please note that Apple Silicon is currently not supported.
31
+
32
+ ## Usage
33
+ ### Get the Bloomfilters
34
+ To download basic pre-trained filters, you can use the built-in command:
35
+ ```
36
+ xspect download-filters
37
+ ```
38
+ Additional species filters can be trained using:
39
+ ```
40
+ xspect train you-ncbi-genus-name
41
+ ```
42
+
43
+ ### How to run the web app
44
+ To run the web app, install and run [XspecT Web](https://github.com/aromberg/xspect-web). Additionally, run XspecT in API mode:
45
+ ```
46
+ xspect api
47
+ ```
48
+
49
+ ### How to use the XspecT command line interface
50
+ Run xspect with the configuration you want to run it with as arguments.
51
+ ```
52
+ xspect classify your-genus path/to/your/input-set
53
+ ```
54
+ For further instructions on how to use the command line interface, please refer to the [documentation] or execute:
55
+ ```
56
+ xspect --help
57
+ ```
58
+ [documentation]: https://bionf.github.io/XspecT2/cli.html
59
+ <!-- end quickstart -->
@@ -0,0 +1,20 @@
1
+ # Minimal makefile for Sphinx documentation
2
+ #
3
+
4
+ # You can set these variables from the command line, and also
5
+ # from the environment for the first two.
6
+ SPHINXOPTS ?=
7
+ SPHINXBUILD ?= sphinx-build
8
+ SOURCEDIR = .
9
+ BUILDDIR = _build
10
+
11
+ # Put it first so that "make" without argument is like "make help".
12
+ help:
13
+ @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
14
+
15
+ .PHONY: help Makefile
16
+
17
+ # Catch-all target: route all unknown targets to Sphinx using the new
18
+ # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
19
+ %: Makefile
20
+ @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)