tracywong117 commited on
Commit
d9a04ad
·
1 Parent(s): 3b910c4

initial commit

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +2 -0
  2. LICENSE.txt +19 -0
  3. Makefile +19 -0
  4. README.md +113 -1
  5. app.py +112 -0
  6. code_of_conduct.md +130 -0
  7. conf.py +179 -0
  8. data/train.fasta +0 -0
  9. docs/Makefile +19 -0
  10. docs/conf.py +179 -0
  11. docs/index.rst +20 -0
  12. docs/make.bat +35 -0
  13. gradio_cached_examples/10/log.csv +19 -0
  14. gradio_cached_examples/12/log.csv +19 -0
  15. helper.py +62 -0
  16. index.rst +20 -0
  17. input.txt +8 -0
  18. installation/ARGNet-CPU.yml +13 -0
  19. installation/ARGNet-GPU.yml +13 -0
  20. make.bat +35 -0
  21. model/.gitattributes +0 -0
  22. model/AELS_tall.h5 +3 -0
  23. model/AESS_tall.h5 +3 -0
  24. model/classifier-ls_tall.h5 +3 -0
  25. model/classifier-ss_tall.h5 +3 -0
  26. model/get-models.sh +4 -0
  27. pyproject.toml +0 -0
  28. requirements.txt +7 -0
  29. results/argnet-lsaa-intis_predict_simple.txt +1 -0
  30. results/argnet_lsnt_test.txt +0 -0
  31. results/argnet_ssaa_test.txt +0 -0
  32. results/test.txt +0 -0
  33. results/test1.txt +0 -0
  34. sampleFile_laa.fasta +9 -0
  35. sampleFile_lnt.fasta +2 -0
  36. sampleFile_saa.fasta +4 -0
  37. sampleFile_snt.fasta +4 -0
  38. scripts/__pycache__/argnet_ls.cpython-35.pyc +0 -0
  39. scripts/__pycache__/argnet_ls.cpython-37.pyc +0 -0
  40. scripts/__pycache__/argnet_lsaa.cpython-35.pyc +0 -0
  41. scripts/__pycache__/argnet_lsaa.cpython-37.pyc +0 -0
  42. scripts/__pycache__/argnet_lsaa_speed_sgpu.cpython-310.pyc +0 -0
  43. scripts/__pycache__/argnet_lsaa_speed_sgpu1.cpython-37.pyc +0 -0
  44. scripts/__pycache__/argnet_lsnt.cpython-310.pyc +0 -0
  45. scripts/__pycache__/argnet_lsnt.cpython-37.pyc +0 -0
  46. scripts/__pycache__/argnet_ssaa.cpython-37.pyc +0 -0
  47. scripts/__pycache__/argnet_ssaa_chunk.cpython-310.pyc +0 -0
  48. scripts/__pycache__/argnet_ssnt.cpython-37.pyc +0 -0
  49. scripts/__pycache__/argnet_ssnt_new.cpython-37.pyc +0 -0
  50. scripts/__pycache__/argnet_ssnt_new_chunk.cpython-310.pyc +0 -0
.gitattributes CHANGED
@@ -33,3 +33,5 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+
37
+ *.png
LICENSE.txt ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Copyright (c) 2021 scpeiyao
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to deal
5
+ in the Software without restriction, including without limitation the rights
6
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ copies of the Software, and to permit persons to whom the Software is
8
+ furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in all
11
+ copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
+ SOFTWARE.
Makefile ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Minimal makefile for Sphinx documentation
2
+ #
3
+
4
+ # You can set these variables from the command line.
5
+ SPHINXOPTS =
6
+ SPHINXBUILD = sphinx-build
7
+ SOURCEDIR = .
8
+ BUILDDIR = _build
9
+
10
+ # Put it first so that "make" without argument is like "make help".
11
+ help:
12
+ @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
13
+
14
+ .PHONY: help Makefile
15
+
16
+ # Catch-all target: route all unknown targets to Sphinx using the new
17
+ # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
18
+ %: Makefile
19
+ @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
README.md CHANGED
@@ -10,4 +10,116 @@ pinned: false
10
  license: mit
11
  ---
12
 
13
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  license: mit
11
  ---
12
 
13
+ ARGNet
14
+ ======
15
+ A deep nueral network for robust identification and annotation of antibiotic resistance genes.
16
+
17
+ The input can be long amino acid sequences(full length/contigs), long nucleotide sequences,
18
+ short amino acid reads (30-50aa), short nucleotide reads (100-150nt) in fasta format.
19
+ If your input is short reads you should assign 'argnet-s' model, or if your input is full-length/contigs
20
+ you should assign 'argnet-l' to make the predict. </br>
21
+
22
+ ![alt text](https://github.com/patience111/ARGNet/blob/main/pics/ARGNet_workflow.png)</br>
23
+
24
+
25
+ Installation
26
+ ------------
27
+ clone the program to your local machine:</br>
28
+ git clone https://github.com/patience111/ARGNet
29
+
30
+
31
+ **1. Setting up environment**
32
+
33
+
34
+ **1.1 Installation with conda**
35
+
36
+
37
+ 1.1.1 For **CPU** inference, you could install the program with conda YAML file in the installation directory with the following commands:
38
+
39
+ ```
40
+ cd ./installation
41
+ conda env create -f ARGNet-CPU.yml -n ARGNet-cpu
42
+ conda activate ARGNet-cpu
43
+ ```
44
+
45
+ (This was tested on Ubuntu 16.04, 20.04; Windows 10, macOS(14.1.1))</br>
46
+ ![alt text](https://github.com/patience111/ARGNet/blob/main/pics/argnet_conda_cpu_trial.png)</br>
47
+
48
+
49
+ 1.1.2 For **GPU** inference, you could install the program with conda YAML file in the installation directory with the following commands:</br>
50
+ ```
51
+ cd ./installation
52
+ conda env create -f ARGNet-GPU.yml -n ARGNet-gpu
53
+ conda activate ARGNet-gpu
54
+ ```
55
+ (This was tested on Ubuntu 16.04, cuda 10.1, Driver Version: 430.64)</br>
56
+ ![alt text](https://github.com/patience111/ARGNet/blob/main/pics/argnet_conda_gpu_trial.png)</br>
57
+
58
+ **1.2 Or, if you prefer installing dependencies manually**, you might find this information useful:</br>
59
+ The program was tested with the following package version, you can install exactly the same version or other compatible versions.</br>
60
+
61
+ ```
62
+ Biopython: 1.79
63
+ tensorflow: 2.2.0
64
+ cuda: 10.2 (for GPU using)
65
+ cudnn: 7.6.5.32 (for GPU using)
66
+ numpy: 1.18.5
67
+ scikit-learn: 0.24.1
68
+ tqdm: 4.56.0
69
+ ```
70
+
71
+ **2. Getting trained models**<br>
72
+ ```
73
+ cd ./model
74
+ bash get-models.sh
75
+ ```
76
+ Quickstart Guide
77
+ ----------------
78
+ ***for long sequences***
79
+
80
+ ```
81
+ python argnet.py --input input_path_data --type aa/nt --model argnet-l --outname output_file_name
82
+ ```
83
+ ***for short reads***
84
+
85
+ ```
86
+ python argnet.py --input input_path_data --type aa/nt --model argnet-s --outname output_file_name
87
+ ```
88
+
89
+ **general options:**</br>
90
+ --input/-i&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the test file as input </br>
91
+ --type/-t &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;molecular type of your test data (aa for amino acid, nt for nucleotide)</br>
92
+ --model/-m&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the model you assign to make the prediction (argnet-l for long sequences, argnet-s for short reads) </br>
93
+ --outname/-on&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the output file name </br>
94
+
95
+ **optional arguments:**</br>
96
+ -h, --help show this help message and exit</br></br>
97
+ ![alt text](https://github.com/patience111/ARGNet/blob/main/pics/ARGNet_help.jpeg)</br>
98
+ -i INPUT, --input INPUT </br>
99
+ the test data as input </br></br>
100
+ -t {aa,nt}, --type {aa,nt} </br>
101
+ molecular type of your input file </br></br>
102
+ -m {argnet-s,argnet-l}, --model {argnet-s,argnet-l} </br>
103
+ the model to make the prediction </br></br>
104
+ -on OUTNAME, --outname OUTNAME </br>
105
+ the name of results output </br></br>
106
+
107
+
108
+ Example
109
+ ----------
110
+ if we predict the long amino acid contigs by using ARGNet-L model, we could use command line (if you are in ARGNet dirctory):</br></br>
111
+ ```
112
+ python3 ./scripts/argnet.py -i ./tests/aa/long/arg100p.fasta -t aa -m argnet-l -on argnet_lsaa_test.txt
113
+ ```
114
+ **output** will be like and saved in the **results** folder: </br>
115
+ ![alt text](https://github.com/patience111/ARGNet/blob/main/pics/lsaa_prediction.png)</br>
116
+ the first column **test_id** is the sequence label of the test sequnece.</br>
117
+ the second column **ARG_prediction** is the "ARG" or "non-ARG" prediction of the input sequence.</br>
118
+ the third column **resistance_category** is the classifition of the 36 antibiotics categories of the input sequence resisting to.</br>
119
+ the last column **probability** is the classifition probability of the antibiotic predition of the input sequence by the model.
120
+
121
+ Contribute
122
+ ----------
123
+
124
+ If you'd like to contribute to ARGNet, check out https://github.com/patience111/argnet</br>
125
+ Hope you enjoy ARGNet journey, any problem please contact [email protected]
app.py ADDED
@@ -0,0 +1,112 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ gradio
3
+
4
+ """
5
+
6
+ import gradio as gr
7
+ from helper import *
8
+ import scripts.script as script
9
+
10
+ def process_data(input_type, input_text, input_file):
11
+ print(input_type)
12
+ if input_type == "Text":
13
+ if input_text:
14
+ print(input_text)
15
+ sequence = []
16
+ for line in input_text.splitlines():
17
+ if line.startswith(">"):
18
+ sequence.append("")
19
+ else:
20
+ sequence[-1] += line.strip().upper()
21
+ result = classify_sequence_type_length(sequence)
22
+ script.run_argnet(input_text, "output.txt", result[0], result[1])
23
+ df, pie_chart = script.view_stat("output.txt")
24
+ else:
25
+ result = "No input provided."
26
+ else:
27
+ if input_file:
28
+ sequence = []
29
+ with open(input_file.name, "r") as f:
30
+ for line in f:
31
+ if line.startswith(">"):
32
+ print(line.strip())
33
+ sequence.append("")
34
+ else:
35
+ print(line.strip().upper())
36
+ sequence[-1] += line.strip().upper()
37
+ result = classify_sequence_type_length(sequence)
38
+ script.run_argnet(input_text, "output.txt", result[0], result[1])
39
+ df, pie_chart = script.view_stat("output.txt")
40
+ else:
41
+ result = "No input provided."
42
+
43
+ return df, pie_chart
44
+
45
+
46
+ # Create the interface with tabs
47
+ with gr.Blocks() as whole_block:
48
+ tab_selected = gr.State("Text")
49
+
50
+ gr.HTML(
51
+ """
52
+ <center>
53
+ <h1>ARGnet</h1>
54
+ <p>A deep neural network for robust identification and annotation of Antibiotic Resistance genes</p>
55
+ </center>
56
+ """
57
+ )
58
+
59
+ with gr.Row():
60
+ with gr.Column():
61
+ gr.Markdown(
62
+ """
63
+ ## Input
64
+ """
65
+ )
66
+ with gr.Tab("Text") as text_tab:
67
+ gr.Markdown(
68
+ """
69
+ ### Enter the sequence
70
+ """
71
+ )
72
+ input_textbox = gr.Textbox(label="Sequence")
73
+ input_textbox_2 = gr.Textbox(label="Sequence",visible=False)
74
+ gr.Examples(
75
+ examples=[
76
+ ["Amino Acid Long Sequence (>51aa)"],
77
+ ["Amino Acid Short Sequence (30-50aa)"],
78
+ ["Nucleotide Long Sequence (>150nt)"],
79
+ ["Nucleotide Short Sequence (100-150nt)"],
80
+ ],
81
+ inputs=input_textbox,
82
+ fn=get_sequence_example,
83
+ cache_examples=True,
84
+ outputs=input_textbox,
85
+ )
86
+ with gr.Tab("File") as file_tab:
87
+ gr.Markdown(
88
+ """
89
+ ### Upload a FASTA file
90
+ """
91
+ )
92
+ input_file = gr.File(label="Sequence File")
93
+ submit_button = gr.Button("Submit")
94
+ with gr.Column():
95
+ gr.Markdown(
96
+ """
97
+ ## Output
98
+ """
99
+ )
100
+ table = gr.Dataframe(headers=["Test ID", "ARG Prediction", "Resistance Category", "Probability"])
101
+ pie_chart = gr.Plot(container=True)
102
+
103
+ text_tab.select(lambda: "Text", inputs=None, outputs=tab_selected)
104
+ file_tab.select(lambda: "File", inputs=None, outputs=tab_selected)
105
+
106
+ submit_button.click(
107
+ fn=process_data,
108
+ inputs=[tab_selected, input_textbox, input_file],
109
+ outputs=[table, pie_chart],
110
+ )
111
+
112
+ whole_block.launch()
code_of_conduct.md ADDED
@@ -0,0 +1,130 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ # Contributor Covenant Code of Conduct
3
+
4
+ ## Our Pledge
5
+
6
+ We as members, contributors, and leaders pledge to make participation in our
7
+ community a harassment-free experience for everyone, regardless of age, body
8
+ size, visible or invisible disability, ethnicity, sex characteristics, gender
9
+ identity and expression, level of experience, education, socio-economic status,
10
+ nationality, personal appearance, race, religion, or sexual identity
11
+ and orientation.
12
+
13
+ We pledge to act and interact in ways that contribute to an open, welcoming,
14
+ diverse, inclusive, and healthy community.
15
+
16
+ ## Our Standards
17
+
18
+ Examples of behavior that contributes to a positive environment for our
19
+ community include:
20
+
21
+ * Demonstrating empathy and kindness toward other people
22
+ * Being respectful of differing opinions, viewpoints, and experiences
23
+ * Giving and gracefully accepting constructive feedback
24
+ * Accepting responsibility and apologizing to those affected by our mistakes,
25
+ and learning from the experience
26
+ * Focusing on what is best not just for us as individuals, but for the
27
+ overall community
28
+
29
+ Examples of unacceptable behavior include:
30
+
31
+ * The use of sexualized language or imagery, and sexual attention or
32
+ advances of any kind
33
+ * Trolling, insulting or derogatory comments, and personal or political attacks
34
+ * Public or private harassment
35
+ * Publishing others' private information, such as a physical or email
36
+ address, without their explicit permission
37
+ * Other conduct which could reasonably be considered inappropriate in a
38
+ professional setting
39
+
40
+ ## Enforcement Responsibilities
41
+
42
+ Community leaders are responsible for clarifying and enforcing our standards of
43
+ acceptable behavior and will take appropriate and fair corrective action in
44
+ response to any behavior that they deem inappropriate, threatening, offensive,
45
+ or harmful.
46
+
47
+ Community leaders have the right and responsibility to remove, edit, or reject
48
+ comments, commits, code, wiki edits, issues, and other contributions that are
49
+ not aligned to this Code of Conduct, and will communicate reasons for moderation
50
+ decisions when appropriate.
51
+
52
+ ## Scope
53
+
54
+ This Code of Conduct applies within all community spaces, and also applies when
55
+ an individual is officially representing the community in public spaces.
56
+ Examples of representing our community include using an official e-mail address,
57
+ posting via an official social media account, or acting as an appointed
58
+ representative at an online or offline event.
59
+
60
+ ## Enforcement
61
+
62
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
63
+ reported to the community leaders responsible for enforcement at
64
+ [INSERT CONTACT METHOD].
65
+ All complaints will be reviewed and investigated promptly and fairly.
66
+
67
+ All community leaders are obligated to respect the privacy and security of the
68
+ reporter of any incident.
69
+
70
+ ## Enforcement Guidelines
71
+
72
+ Community leaders will follow these Community Impact Guidelines in determining
73
+ the consequences for any action they deem in violation of this Code of Conduct:
74
+
75
+ ### 1. Correction
76
+
77
+ **Community Impact**: Use of inappropriate language or other behavior deemed
78
+ unprofessional or unwelcome in the community.
79
+
80
+ **Consequence**: A private, written warning from community leaders, providing
81
+ clarity around the nature of the violation and an explanation of why the
82
+ behavior was inappropriate. A public apology may be requested.
83
+
84
+ ### 2. Warning
85
+
86
+ **Community Impact**: A violation through a single incident or series
87
+ of actions.
88
+
89
+ **Consequence**: A warning with consequences for continued behavior. No
90
+ interaction with the people involved, including unsolicited interaction with
91
+ those enforcing the Code of Conduct, for a specified period of time. This
92
+ includes avoiding interactions in community spaces as well as external channels
93
+ like social media. Violating these terms may lead to a temporary or
94
+ permanent ban.
95
+
96
+ ### 3. Temporary Ban
97
+
98
+ **Community Impact**: A serious violation of community standards, including
99
+ sustained inappropriate behavior.
100
+
101
+ **Consequence**: A temporary ban from any sort of interaction or public
102
+ communication with the community for a specified period of time. No public or
103
+ private interaction with the people involved, including unsolicited interaction
104
+ with those enforcing the Code of Conduct, is allowed during this period.
105
+ Violating these terms may lead to a permanent ban.
106
+
107
+ ### 4. Permanent Ban
108
+
109
+ **Community Impact**: Demonstrating a pattern of violation of community
110
+ standards, including sustained inappropriate behavior, harassment of an
111
+ individual, or aggression toward or disparagement of classes of individuals.
112
+
113
+ **Consequence**: A permanent ban from any sort of public interaction within
114
+ the community.
115
+
116
+ ## Attribution
117
+
118
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage],
119
+ version 2.0, available at
120
+ https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
121
+
122
+ Community Impact Guidelines were inspired by [Mozilla's code of conduct
123
+ enforcement ladder](https://github.com/mozilla/diversity).
124
+
125
+ [homepage]: https://www.contributor-covenant.org
126
+
127
+ For answers to common questions about this code of conduct, see the FAQ at
128
+ https://www.contributor-covenant.org/faq. Translations are available at
129
+ https://www.contributor-covenant.org/translations.
130
+
conf.py ADDED
@@ -0,0 +1,179 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # -*- coding: utf-8 -*-
2
+ #
3
+ # Configuration file for the Sphinx documentation builder.
4
+ #
5
+ # This file does only contain a selection of the most common options. For a
6
+ # full list see the documentation:
7
+ # http://www.sphinx-doc.org/en/master/config
8
+
9
+ # -- Path setup --------------------------------------------------------------
10
+
11
+ # If extensions (or modules to document with autodoc) are in another directory,
12
+ # add these directories to sys.path here. If the directory is relative to the
13
+ # documentation root, use os.path.abspath to make it absolute, like shown here.
14
+ #
15
+ # import os
16
+ # import sys
17
+ # sys.path.insert(0, os.path.abspath('.'))
18
+
19
+
20
+ # -- Project information -----------------------------------------------------
21
+
22
+ project = 'ARGNet'
23
+ copyright = '2018, scpeiyao'
24
+ author = 'scpeiyao'
25
+
26
+ # The short X.Y version
27
+ version = ''
28
+ # The full version, including alpha/beta/rc tags
29
+ release = ''
30
+
31
+
32
+ # -- General configuration ---------------------------------------------------
33
+
34
+ # If your documentation needs a minimal Sphinx version, state it here.
35
+ #
36
+ # needs_sphinx = '1.0'
37
+
38
+ # Add any Sphinx extension module names here, as strings. They can be
39
+ # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
40
+ # ones.
41
+ extensions = [
42
+ 'sphinx.ext.autodoc',
43
+ 'sphinx.ext.doctest',
44
+ 'sphinx.ext.coverage',
45
+ ]
46
+
47
+ # Add any paths that contain templates here, relative to this directory.
48
+ templates_path = ['_templates']
49
+
50
+ # The suffix(es) of source filenames.
51
+ # You can specify multiple suffix as a list of string:
52
+ #
53
+ # source_suffix = ['.rst', '.md']
54
+ source_suffix = '.rst'
55
+
56
+ # The master toctree document.
57
+ master_doc = 'index'
58
+
59
+ # The language for content autogenerated by Sphinx. Refer to documentation
60
+ # for a list of supported languages.
61
+ #
62
+ # This is also used if you do content translation via gettext catalogs.
63
+ # Usually you set "language" from the command line for these cases.
64
+ language = None
65
+
66
+ # List of patterns, relative to source directory, that match files and
67
+ # directories to ignore when looking for source files.
68
+ # This pattern also affects html_static_path and html_extra_path.
69
+ exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
70
+
71
+ # The name of the Pygments (syntax highlighting) style to use.
72
+ pygments_style = None
73
+
74
+
75
+ # -- Options for HTML output -------------------------------------------------
76
+
77
+ # The theme to use for HTML and HTML Help pages. See the documentation for
78
+ # a list of builtin themes.
79
+ #
80
+ html_theme = 'alabaster'
81
+
82
+ # Theme options are theme-specific and customize the look and feel of a theme
83
+ # further. For a list of options available for each theme, see the
84
+ # documentation.
85
+ #
86
+ # html_theme_options = {}
87
+
88
+ # Add any paths that contain custom static files (such as style sheets) here,
89
+ # relative to this directory. They are copied after the builtin static files,
90
+ # so a file named "default.css" will overwrite the builtin "default.css".
91
+ html_static_path = ['_static']
92
+
93
+ # Custom sidebar templates, must be a dictionary that maps document names
94
+ # to template names.
95
+ #
96
+ # The default sidebars (for documents that don't match any pattern) are
97
+ # defined by theme itself. Builtin themes are using these templates by
98
+ # default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
99
+ # 'searchbox.html']``.
100
+ #
101
+ # html_sidebars = {}
102
+
103
+
104
+ # -- Options for HTMLHelp output ---------------------------------------------
105
+
106
+ # Output file base name for HTML help builder.
107
+ htmlhelp_basename = 'argnetdoc'
108
+
109
+
110
+ # -- Options for LaTeX output ------------------------------------------------
111
+
112
+ latex_elements = {
113
+ # The paper size ('letterpaper' or 'a4paper').
114
+ #
115
+ # 'papersize': 'letterpaper',
116
+
117
+ # The font size ('10pt', '11pt' or '12pt').
118
+ #
119
+ # 'pointsize': '10pt',
120
+
121
+ # Additional stuff for the LaTeX preamble.
122
+ #
123
+ # 'preamble': '',
124
+
125
+ # Latex figure (float) alignment
126
+ #
127
+ # 'figure_align': 'htbp',
128
+ }
129
+
130
+ # Grouping the document tree into LaTeX files. List of tuples
131
+ # (source start file, target name, title,
132
+ # author, documentclass [howto, manual, or own class]).
133
+ latex_documents = [
134
+ (master_doc, 'argnet.tex', 'ARGNet Documentation',
135
+ 'scpeiyao', 'manual'),
136
+ ]
137
+
138
+
139
+ # -- Options for manual page output ------------------------------------------
140
+
141
+ # One entry per manual page. List of tuples
142
+ # (source start file, name, description, authors, manual section).
143
+ man_pages = [
144
+ (master_doc, 'argnet', 'ARGNet Documentation',
145
+ [author], 1)
146
+ ]
147
+
148
+
149
+ # -- Options for Texinfo output ----------------------------------------------
150
+
151
+ # Grouping the document tree into Texinfo files. List of tuples
152
+ # (source start file, target name, title, author,
153
+ # dir menu entry, description, category)
154
+ texinfo_documents = [
155
+ (master_doc, 'argnet', 'ARGNet Documentation',
156
+ author, 'ARGNet', 'a deep neural network for antibitotic resistance genes identification',
157
+ 'Miscellaneous'),
158
+ ]
159
+
160
+
161
+ # -- Options for Epub output -------------------------------------------------
162
+
163
+ # Bibliographic Dublin Core info.
164
+ epub_title = project
165
+
166
+ # The unique identifier of the text. This can be a ISBN number
167
+ # or the project homepage.
168
+ #
169
+ # epub_identifier = ''
170
+
171
+ # A unique identification for the text.
172
+ #
173
+ # epub_uid = ''
174
+
175
+ # A list of files that should not be packed into the epub file.
176
+ epub_exclude_files = ['search.html']
177
+
178
+
179
+ # -- Extension configuration -------------------------------------------------
data/train.fasta ADDED
The diff for this file is too large to render. See raw diff
 
docs/Makefile ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Minimal makefile for Sphinx documentation
2
+ #
3
+
4
+ # You can set these variables from the command line.
5
+ SPHINXOPTS =
6
+ SPHINXBUILD = sphinx-build
7
+ SOURCEDIR = .
8
+ BUILDDIR = _build
9
+
10
+ # Put it first so that "make" without argument is like "make help".
11
+ help:
12
+ @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
13
+
14
+ .PHONY: help Makefile
15
+
16
+ # Catch-all target: route all unknown targets to Sphinx using the new
17
+ # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
18
+ %: Makefile
19
+ @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
docs/conf.py ADDED
@@ -0,0 +1,179 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # -*- coding: utf-8 -*-
2
+ #
3
+ # Configuration file for the Sphinx documentation builder.
4
+ #
5
+ # This file does only contain a selection of the most common options. For a
6
+ # full list see the documentation:
7
+ # http://www.sphinx-doc.org/en/master/config
8
+
9
+ # -- Path setup --------------------------------------------------------------
10
+
11
+ # If extensions (or modules to document with autodoc) are in another directory,
12
+ # add these directories to sys.path here. If the directory is relative to the
13
+ # documentation root, use os.path.abspath to make it absolute, like shown here.
14
+ #
15
+ # import os
16
+ # import sys
17
+ # sys.path.insert(0, os.path.abspath('.'))
18
+
19
+
20
+ # -- Project information -----------------------------------------------------
21
+
22
+ project = 'ARGNet'
23
+ copyright = '2018, scpeiyao'
24
+ author = 'scpeiyao'
25
+
26
+ # The short X.Y version
27
+ version = ''
28
+ # The full version, including alpha/beta/rc tags
29
+ release = ''
30
+
31
+
32
+ # -- General configuration ---------------------------------------------------
33
+
34
+ # If your documentation needs a minimal Sphinx version, state it here.
35
+ #
36
+ # needs_sphinx = '1.0'
37
+
38
+ # Add any Sphinx extension module names here, as strings. They can be
39
+ # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
40
+ # ones.
41
+ extensions = [
42
+ 'sphinx.ext.autodoc',
43
+ 'sphinx.ext.doctest',
44
+ 'sphinx.ext.coverage',
45
+ ]
46
+
47
+ # Add any paths that contain templates here, relative to this directory.
48
+ templates_path = ['_templates']
49
+
50
+ # The suffix(es) of source filenames.
51
+ # You can specify multiple suffix as a list of string:
52
+ #
53
+ # source_suffix = ['.rst', '.md']
54
+ source_suffix = '.rst'
55
+
56
+ # The master toctree document.
57
+ master_doc = 'index'
58
+
59
+ # The language for content autogenerated by Sphinx. Refer to documentation
60
+ # for a list of supported languages.
61
+ #
62
+ # This is also used if you do content translation via gettext catalogs.
63
+ # Usually you set "language" from the command line for these cases.
64
+ language = None
65
+
66
+ # List of patterns, relative to source directory, that match files and
67
+ # directories to ignore when looking for source files.
68
+ # This pattern also affects html_static_path and html_extra_path.
69
+ exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
70
+
71
+ # The name of the Pygments (syntax highlighting) style to use.
72
+ pygments_style = None
73
+
74
+
75
+ # -- Options for HTML output -------------------------------------------------
76
+
77
+ # The theme to use for HTML and HTML Help pages. See the documentation for
78
+ # a list of builtin themes.
79
+ #
80
+ html_theme = 'alabaster'
81
+
82
+ # Theme options are theme-specific and customize the look and feel of a theme
83
+ # further. For a list of options available for each theme, see the
84
+ # documentation.
85
+ #
86
+ # html_theme_options = {}
87
+
88
+ # Add any paths that contain custom static files (such as style sheets) here,
89
+ # relative to this directory. They are copied after the builtin static files,
90
+ # so a file named "default.css" will overwrite the builtin "default.css".
91
+ html_static_path = ['_static']
92
+
93
+ # Custom sidebar templates, must be a dictionary that maps document names
94
+ # to template names.
95
+ #
96
+ # The default sidebars (for documents that don't match any pattern) are
97
+ # defined by theme itself. Builtin themes are using these templates by
98
+ # default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
99
+ # 'searchbox.html']``.
100
+ #
101
+ # html_sidebars = {}
102
+
103
+
104
+ # -- Options for HTMLHelp output ---------------------------------------------
105
+
106
+ # Output file base name for HTML help builder.
107
+ htmlhelp_basename = 'argnetdoc'
108
+
109
+
110
+ # -- Options for LaTeX output ------------------------------------------------
111
+
112
+ latex_elements = {
113
+ # The paper size ('letterpaper' or 'a4paper').
114
+ #
115
+ # 'papersize': 'letterpaper',
116
+
117
+ # The font size ('10pt', '11pt' or '12pt').
118
+ #
119
+ # 'pointsize': '10pt',
120
+
121
+ # Additional stuff for the LaTeX preamble.
122
+ #
123
+ # 'preamble': '',
124
+
125
+ # Latex figure (float) alignment
126
+ #
127
+ # 'figure_align': 'htbp',
128
+ }
129
+
130
+ # Grouping the document tree into LaTeX files. List of tuples
131
+ # (source start file, target name, title,
132
+ # author, documentclass [howto, manual, or own class]).
133
+ latex_documents = [
134
+ (master_doc, 'argnet.tex', 'ARGNet Documentation',
135
+ 'scpeiyao', 'manual'),
136
+ ]
137
+
138
+
139
+ # -- Options for manual page output ------------------------------------------
140
+
141
+ # One entry per manual page. List of tuples
142
+ # (source start file, name, description, authors, manual section).
143
+ man_pages = [
144
+ (master_doc, 'argnet', 'ARGNet Documentation',
145
+ [author], 1)
146
+ ]
147
+
148
+
149
+ # -- Options for Texinfo output ----------------------------------------------
150
+
151
+ # Grouping the document tree into Texinfo files. List of tuples
152
+ # (source start file, target name, title, author,
153
+ # dir menu entry, description, category)
154
+ texinfo_documents = [
155
+ (master_doc, 'argnet', 'ARGNet Documentation',
156
+ author, 'ARGNet', 'a deep neural network for antibitotic resistance genes identification',
157
+ 'Miscellaneous'),
158
+ ]
159
+
160
+
161
+ # -- Options for Epub output -------------------------------------------------
162
+
163
+ # Bibliographic Dublin Core info.
164
+ epub_title = project
165
+
166
+ # The unique identifier of the text. This can be a ISBN number
167
+ # or the project homepage.
168
+ #
169
+ # epub_identifier = ''
170
+
171
+ # A unique identification for the text.
172
+ #
173
+ # epub_uid = ''
174
+
175
+ # A list of files that should not be packed into the epub file.
176
+ epub_exclude_files = ['search.html']
177
+
178
+
179
+ # -- Extension configuration -------------------------------------------------
docs/index.rst ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .. ARGNet documentation master file, created by
2
+ sphinx-quickstart on Mon Nov 12 14:17:27 2018.
3
+ You can adapt this file completely to your liking, but it should at least
4
+ contain the root `toctree` directive.
5
+
6
+ Welcome to ARGNet's documentation!
7
+ =======================================
8
+
9
+ .. toctree::
10
+ :maxdepth: 2
11
+ :caption: Contents:
12
+
13
+
14
+
15
+ Indices and tables
16
+ ==================
17
+
18
+ * :ref:`genindex`
19
+ * :ref:`modindex`
20
+ * :ref:`search`
docs/make.bat ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @ECHO OFF
2
+
3
+ pushd %~dp0
4
+
5
+ REM Command file for Sphinx documentation
6
+
7
+ if "%SPHINXBUILD%" == "" (
8
+ set SPHINXBUILD=sphinx-build
9
+ )
10
+ set SOURCEDIR=.
11
+ set BUILDDIR=_build
12
+
13
+ if "%1" == "" goto help
14
+
15
+ %SPHINXBUILD% >NUL 2>NUL
16
+ if errorlevel 9009 (
17
+ echo.
18
+ echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
19
+ echo.installed, then set the SPHINXBUILD environment variable to point
20
+ echo.to the full path of the 'sphinx-build' executable. Alternatively you
21
+ echo.may add the Sphinx directory to PATH.
22
+ echo.
23
+ echo.If you don't have Sphinx installed, grab it from
24
+ echo.http://sphinx-doc.org/
25
+ exit /b 1
26
+ )
27
+
28
+ %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
29
+ goto end
30
+
31
+ :help
32
+ %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
33
+
34
+ :end
35
+ popd
gradio_cached_examples/10/log.csv ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Sequence,flag,username,timestamp
2
+ ">CCP45025.1|FEATURES|hmdarg|isoniazid|kasA
3
+ GARAGVMTPVSACSSGSEAIAHAWRQIVMGDADVAVCGGVEGPIEALPIAAFSMMRAMST
4
+ RNDEPERASRPFDKDRDGFVFGEAGALMLIETEEHAKARGAKPLARLLGAGITSDAFHMV
5
+ APAADGVRAGRAMTRSLELAGLSPADIDHVNAHGTATPIGDAAEANAIRVAGCDQAAVYA
6
+ PKSALGHSIGAVGALESVLTVLTLRDGVIPPTLNYETPDPEIDLDVVAGEPRYGDYRYAV
7
+ NNSFGFGGHN
8
+ >gi:505065763:ref:WP_015252865.1:|FEATURES|deeparg|tunicamycin|tmrB
9
+ GSFGSGKTQTAFELHRRLNPSYVYDPEKMGFALRSMVPQEIAKDDFQSYPLWRAFNYSLL",,,2024-01-12 15:49:12.671073
10
+ ">gi:505065763:ref:WP_015252865.1:|FEATURES|deeparg|tunicamycin|tmrB_0
11
+ RGIIIVPMTIVYPEYFNEIIGRLRQEGRIV
12
+ >AGQ48857.1|FEATURES|hmdarg|pleuromutilin|eatAv_0
13
+ GNFSIYEEQKKLRDEFEMAQNEKLKKEVSR",,,2024-01-12 15:49:12.672885
14
+ ">AJ635405|FEATURES|resfinder|beta-lactam|blaLEN9
15
+ GGATGGTGGAAATGGATCTGGCCAGCGGCCGCACGCTGGCCGCCTGGCGCGCCGATGAACGCTTTCCCATGGTGAGCACCTTTAAAGTGCTGCTGTGCGGCGCGGTGCTGGCGCGGGTGGATGCCGGGCTCGAACAACTGGATCGGCGGATCCACTACCGCCAGCAGGATCTGGTGGACTACTCCCCGGTCAGCGAAAAACACCTTGTCGACGGGATGACGATCGGCGAACTCTGTGCCGCCGCCATCACCCTGAGCGATAACAGCGCTGGCAATCTGCTGCTGGCCACCGTCGGCGGCCCCGCGGGATTAACTGCCTTTCTGCGCCAGATCGGTGACAACGTCACCCGTCTTGACCGCTGGGAAACGGCACTGAATGAGGCGCTTCCCGGCGACGCGCGCGACACCACCACCCCGGCCAGCATGGCCGCCACGCTGCGCAAACTACTGACCGCGCAGCATCTGAGCGCCCGT",,,2024-01-12 15:49:12.674371
16
+ ">S60108|FEATURES|resfinder|aminoglycoside|kgmB_0
17
+ CCGCACCCGGCTCCCGGACCCGGCGATCCCGAGGACCCGAGGCTGGCGGAGGTCGTCGACGCGGTCCGGTCCAGCAGGCGCTACCAGAGCGTCGCGCCCG
18
+ >APOK01000044|FEATURES|resfinder|beta-lactam|blaOXA-290_0
19
+ ACATATGATGGGCAAACATTTCAAGAATATGGCAATGCGTTGAGTCGATCGAATACGGCTTATATTCCAGCCTCAACCTTCAAGATGTTAAATGCTCTGA",,,2024-01-12 15:49:12.675474
gradio_cached_examples/12/log.csv ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Sequence,flag,username,timestamp
2
+ ">CCP45025.1|FEATURES|hmdarg|isoniazid|kasA
3
+ GARAGVMTPVSACSSGSEAIAHAWRQIVMGDADVAVCGGVEGPIEALPIAAFSMMRAMST
4
+ RNDEPERASRPFDKDRDGFVFGEAGALMLIETEEHAKARGAKPLARLLGAGITSDAFHMV
5
+ APAADGVRAGRAMTRSLELAGLSPADIDHVNAHGTATPIGDAAEANAIRVAGCDQAAVYA
6
+ PKSALGHSIGAVGALESVLTVLTLRDGVIPPTLNYETPDPEIDLDVVAGEPRYGDYRYAV
7
+ NNSFGFGGHN
8
+ >gi:505065763:ref:WP_015252865.1:|FEATURES|deeparg|tunicamycin|tmrB
9
+ GSFGSGKTQTAFELHRRLNPSYVYDPEKMGFALRSMVPQEIAKDDFQSYPLWRAFNYSLL",,,2024-01-12 15:48:26.963370
10
+ ">gi:505065763:ref:WP_015252865.1:|FEATURES|deeparg|tunicamycin|tmrB_0
11
+ RGIIIVPMTIVYPEYFNEIIGRLRQEGRIV
12
+ >AGQ48857.1|FEATURES|hmdarg|pleuromutilin|eatAv_0
13
+ GNFSIYEEQKKLRDEFEMAQNEKLKKEVSR",,,2024-01-12 15:48:26.965339
14
+ ">AJ635405|FEATURES|resfinder|beta-lactam|blaLEN9
15
+ GGATGGTGGAAATGGATCTGGCCAGCGGCCGCACGCTGGCCGCCTGGCGCGCCGATGAACGCTTTCCCATGGTGAGCACCTTTAAAGTGCTGCTGTGCGGCGCGGTGCTGGCGCGGGTGGATGCCGGGCTCGAACAACTGGATCGGCGGATCCACTACCGCCAGCAGGATCTGGTGGACTACTCCCCGGTCAGCGAAAAACACCTTGTCGACGGGATGACGATCGGCGAACTCTGTGCCGCCGCCATCACCCTGAGCGATAACAGCGCTGGCAATCTGCTGCTGGCCACCGTCGGCGGCCCCGCGGGATTAACTGCCTTTCTGCGCCAGATCGGTGACAACGTCACCCGTCTTGACCGCTGGGAAACGGCACTGAATGAGGCGCTTCCCGGCGACGCGCGCGACACCACCACCCCGGCCAGCATGGCCGCCACGCTGCGCAAACTACTGACCGCGCAGCATCTGAGCGCCCGT",,,2024-01-12 15:48:26.966367
16
+ ">S60108|FEATURES|resfinder|aminoglycoside|kgmB_0
17
+ CCGCACCCGGCTCCCGGACCCGGCGATCCCGAGGACCCGAGGCTGGCGGAGGTCGTCGACGCGGTCCGGTCCAGCAGGCGCTACCAGAGCGTCGCGCCCG
18
+ >APOK01000044|FEATURES|resfinder|beta-lactam|blaOXA-290_0
19
+ ACATATGATGGGCAAACATTTCAAGAATATGGCAATGCGTTGAGTCGATCGAATACGGCTTATATTCCAGCCTCAACCTTCAAGATGTTAAATGCTCTGA",,,2024-01-12 15:48:26.967351
helper.py ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ Helper function
3
+
4
+ """
5
+
6
+ def get_sequence_example(example):
7
+ print(example)
8
+ if example.startswith("Amino Acid Long Sequence"):
9
+ return """\
10
+ >CCP45025.1|FEATURES|hmdarg|isoniazid|kasA
11
+ GARAGVMTPVSACSSGSEAIAHAWRQIVMGDADVAVCGGVEGPIEALPIAAFSMMRAMST
12
+ RNDEPERASRPFDKDRDGFVFGEAGALMLIETEEHAKARGAKPLARLLGAGITSDAFHMV
13
+ APAADGVRAGRAMTRSLELAGLSPADIDHVNAHGTATPIGDAAEANAIRVAGCDQAAVYA
14
+ PKSALGHSIGAVGALESVLTVLTLRDGVIPPTLNYETPDPEIDLDVVAGEPRYGDYRYAV
15
+ NNSFGFGGHN
16
+ >gi:505065763:ref:WP_015252865.1:|FEATURES|deeparg|tunicamycin|tmrB
17
+ GSFGSGKTQTAFELHRRLNPSYVYDPEKMGFALRSMVPQEIAKDDFQSYPLWRAFNYSLL"""
18
+ elif example.startswith("Amino Acid Short Sequence"):
19
+ return """\
20
+ >gi:505065763:ref:WP_015252865.1:|FEATURES|deeparg|tunicamycin|tmrB_0
21
+ RGIIIVPMTIVYPEYFNEIIGRLRQEGRIV
22
+ >AGQ48857.1|FEATURES|hmdarg|pleuromutilin|eatAv_0
23
+ GNFSIYEEQKKLRDEFEMAQNEKLKKEVSR"""
24
+ elif example.startswith("Nucleotide Long Sequence"):
25
+ return """\
26
+ >AJ635405|FEATURES|resfinder|beta-lactam|blaLEN9
27
+ GGATGGTGGAAATGGATCTGGCCAGCGGCCGCACGCTGGCCGCCTGGCGCGCCGATGAACGCTTTCCCATGGTGAGCACCTTTAAAGTGCTGCTGTGCGGCGCGGTGCTGGCGCGGGTGGATGCCGGGCTCGAACAACTGGATCGGCGGATCCACTACCGCCAGCAGGATCTGGTGGACTACTCCCCGGTCAGCGAAAAACACCTTGTCGACGGGATGACGATCGGCGAACTCTGTGCCGCCGCCATCACCCTGAGCGATAACAGCGCTGGCAATCTGCTGCTGGCCACCGTCGGCGGCCCCGCGGGATTAACTGCCTTTCTGCGCCAGATCGGTGACAACGTCACCCGTCTTGACCGCTGGGAAACGGCACTGAATGAGGCGCTTCCCGGCGACGCGCGCGACACCACCACCCCGGCCAGCATGGCCGCCACGCTGCGCAAACTACTGACCGCGCAGCATCTGAGCGCCCGT"""
28
+ elif example.startswith("Nucleotide Short Sequence"):
29
+ return """\
30
+ >S60108|FEATURES|resfinder|aminoglycoside|kgmB_0
31
+ CCGCACCCGGCTCCCGGACCCGGCGATCCCGAGGACCCGAGGCTGGCGGAGGTCGTCGACGCGGTCCGGTCCAGCAGGCGCTACCAGAGCGTCGCGCCCG
32
+ >APOK01000044|FEATURES|resfinder|beta-lactam|blaOXA-290_0
33
+ ACATATGATGGGCAAACATTTCAAGAATATGGCAATGCGTTGAGTCGATCGAATACGGCTTATATTCCAGCCTCAACCTTCAAGATGTTAAATGCTCTGA"""
34
+
35
+ def classify_sequence(sequence):
36
+ nucleotide_chars = set("ATGC-")
37
+ if all(char in nucleotide_chars for char in sequence):
38
+ return "nt" # "Nucleotide"
39
+ else:
40
+ return "aa" # "Amino Acid
41
+
42
+ def count_length_sequences(sequence):
43
+ count_length_sequences = []
44
+ for i in sequence:
45
+ count_length_sequences.append(len(i))
46
+ max_sequence_length = max(count_length_sequences)
47
+ return max_sequence_length
48
+
49
+ def classify_sequence_type_length(sequence):
50
+ sequence_type = classify_sequence(sequence[0])
51
+ sequence_length = count_length_sequences(sequence)
52
+ if sequence_type == "nt": # nucleotide
53
+ if sequence_length > 150:
54
+ sequence_length_type = "l" # "long"
55
+ else:
56
+ sequence_length_type = "s" # "short"
57
+ else: # amino acid
58
+ if sequence_length > 50 :
59
+ sequence_length_type = "l"
60
+ else:
61
+ sequence_length_type = "s"
62
+ return (sequence_type, sequence_length_type)
index.rst ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .. ARGNet documentation master file, created by
2
+ sphinx-quickstart on Mon Nov 12 14:17:27 2018.
3
+ You can adapt this file completely to your liking, but it should at least
4
+ contain the root `toctree` directive.
5
+
6
+ Welcome to ARGNet's documentation!
7
+ =======================================
8
+
9
+ .. toctree::
10
+ :maxdepth: 2
11
+ :caption: Contents:
12
+
13
+
14
+
15
+ Indices and tables
16
+ ==================
17
+
18
+ * :ref:`genindex`
19
+ * :ref:`modindex`
20
+ * :ref:`search`
input.txt ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ >CCP45025.1|FEATURES|hmdarg|isoniazid|kasA
2
+ GARAGVMTPVSACSSGSEAIAHAWRQIVMGDADVAVCGGVEGPIEALPIAAFSMMRAMST
3
+ RNDEPERASRPFDKDRDGFVFGEAGALMLIETEEHAKARGAKPLARLLGAGITSDAFHMV
4
+ APAADGVRAGRAMTRSLELAGLSPADIDHVNAHGTATPIGDAAEANAIRVAGCDQAAVYA
5
+ PKSALGHSIGAVGALESVLTVLTLRDGVIPPTLNYETPDPEIDLDVVAGEPRYGDYRYAV
6
+ NNSFGFGGHN
7
+ >gi:505065763:ref:WP_015252865.1:|FEATURES|deeparg|tunicamycin|tmrB
8
+ GSFGSGKTQTAFELHRRLNPSYVYDPEKMGFALRSMVPQEIAKDDFQSYPLWRAFNYSLL
installation/ARGNet-CPU.yml ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: argnet
2
+ channels:
3
+ - conda-forge
4
+ - bioconda
5
+ - defaults
6
+ - r
7
+ dependencies:
8
+ - python=3.11
9
+ - tensorflow=2.12
10
+ - scikit-learn
11
+ - tqdm=4.56.0
12
+ - biopython=1.79
13
+ - numpy=1.23.5
installation/ARGNet-GPU.yml ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: argnet
2
+ channels:
3
+ - conda-forge
4
+ - bioconda
5
+ - defaults
6
+ - r
7
+ dependencies:
8
+ - python=3.9
9
+ - tensorflow-gpu
10
+ - scikit-learn
11
+ - tqdm=4.56.0
12
+ - biopython=1.79
13
+ - numpy=1.23.5
make.bat ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @ECHO OFF
2
+
3
+ pushd %~dp0
4
+
5
+ REM Command file for Sphinx documentation
6
+
7
+ if "%SPHINXBUILD%" == "" (
8
+ set SPHINXBUILD=sphinx-build
9
+ )
10
+ set SOURCEDIR=.
11
+ set BUILDDIR=_build
12
+
13
+ if "%1" == "" goto help
14
+
15
+ %SPHINXBUILD% >NUL 2>NUL
16
+ if errorlevel 9009 (
17
+ echo.
18
+ echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
19
+ echo.installed, then set the SPHINXBUILD environment variable to point
20
+ echo.to the full path of the 'sphinx-build' executable. Alternatively you
21
+ echo.may add the Sphinx directory to PATH.
22
+ echo.
23
+ echo.If you don't have Sphinx installed, grab it from
24
+ echo.http://sphinx-doc.org/
25
+ exit /b 1
26
+ )
27
+
28
+ %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
29
+ goto end
30
+
31
+ :help
32
+ %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
33
+
34
+ :end
35
+ popd
model/.gitattributes ADDED
File without changes
model/AELS_tall.h5 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c89ceab91b8f96137035e954eecee7b59dee62fbb38889d6b1b08bf34968de3e
3
+ size 192323176
model/AESS_tall.h5 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:86a84ac7448f991d1efe8039d9600df014ac40cb0d2cd0ea1c5dfa1b090ea138
3
+ size 158989048
model/classifier-ls_tall.h5 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:958a79325990851989616dfdb73cd76b02b1ed3edbb8211939a3a4b2e7d5828a
3
+ size 128849192
model/classifier-ss_tall.h5 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:26060cf63dc6d9bb2ce37996674682cd00bcd82e1805e0dd92fc80db035cc741
3
+ size 178555104
model/get-models.sh ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ wget https://github.com/patience111/ARGNet/releases/download/v1.0.1/AELS_tall.h5
2
+ wget https://github.com/patience111/ARGNet/releases/download/v1.0.1/AESS_tall.h5
3
+ wget https://github.com/patience111/ARGNet/releases/download/v1.0.1/classifier-ls_tall.h5
4
+ wget https://github.com/patience111/ARGNet/releases/download/v1.0.1/classifier-ss_tall.h5
pyproject.toml ADDED
File without changes
requirements.txt ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ scikit-learn
2
+ tqdm
3
+ biopython==1.79
4
+ numpy==1.23.5
5
+ tensorflow
6
+ kito
7
+ plotly
results/argnet-lsaa-intis_predict_simple.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ test_id ARG_prediction resistance_category probability
results/argnet_lsnt_test.txt ADDED
The diff for this file is too large to render. See raw diff
 
results/argnet_ssaa_test.txt ADDED
The diff for this file is too large to render. See raw diff
 
results/test.txt ADDED
The diff for this file is too large to render. See raw diff
 
results/test1.txt ADDED
The diff for this file is too large to render. See raw diff
 
sampleFile_laa.fasta ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ >CCP45025.1|FEATURES|hmdarg|isoniazid|kasA
2
+ GARAGVMTPVSACSSGSEAIAHAWRQIVMGDADVAVCGGVEGPIEALPIAAFSMMRAMST
3
+ RNDEPERASRPFDKDRDGFVFGEAGALMLIETEEHAKARGAKPLARLLGAGITSDAFHMV
4
+ APAADGVRAGRAMTRSLELAGLSPADIDHVNAHGTATPIGDAAEANAIRVAGCDQAAVYA
5
+ PKSALGHSIGAVGALESVLTVLTLRDGVIPPTLNYETPDPEIDLDVVAGEPRYGDYRYAV
6
+ NNSFGFGGHN
7
+ >gi:505065763:ref:WP_015252865.1:|FEATURES|deeparg|tunicamycin|tmrB
8
+ GSFGSGKTQTAFELHRRLNPSYVYDPEKMGFALRSMVPQEIAKDDFQSYPLWRAFNYSLL
9
+ ASLTDTYRGIIIVPMTIVYPEYFNEIIGRLRQEGRIVHHFTLMASKETLLKRLRTRAE
sampleFile_lnt.fasta ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ >AJ635405|FEATURES|resfinder|beta-lactam|blaLEN9
2
+ GGATGGTGGAAATGGATCTGGCCAGCGGCCGCACGCTGGCCGCCTGGCGCGCCGATGAACGCTTTCCCATGGTGAGCACCTTTAAAGTGCTGCTGTGCGGCGCGGTGCTGGCGCGGGTGGATGCCGGGCTCGAACAACTGGATCGGCGGATCCACTACCGCCAGCAGGATCTGGTGGACTACTCCCCGGTCAGCGAAAAACACCTTGTCGACGGGATGACGATCGGCGAACTCTGTGCCGCCGCCATCACCCTGAGCGATAACAGCGCTGGCAATCTGCTGCTGGCCACCGTCGGCGGCCCCGCGGGATTAACTGCCTTTCTGCGCCAGATCGGTGACAACGTCACCCGTCTTGACCGCTGGGAAACGGCACTGAATGAGGCGCTTCCCGGCGACGCGCGCGACACCACCACCCCGGCCAGCATGGCCGCCACGCTGCGCAAACTACTGACCGCGCAGCATCTGAGCGCCCGT
sampleFile_saa.fasta ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ >gi:505065763:ref:WP_015252865.1:|FEATURES|deeparg|tunicamycin|tmrB_0
2
+ RGIIIVPMTIVYPEYFNEIIGRLRQEGRIV
3
+ >AGQ48857.1|FEATURES|hmdarg|pleuromutilin|eatAv_0
4
+ GNFSIYEEQKKLRDEFEMAQNEKLKKEVSR
sampleFile_snt.fasta ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ >S60108|FEATURES|resfinder|aminoglycoside|kgmB_0
2
+ CCGCACCCGGCTCCCGGACCCGGCGATCCCGAGGACCCGAGGCTGGCGGAGGTCGTCGACGCGGTCCGGTCCAGCAGGCGCTACCAGAGCGTCGCGCCCG
3
+ >APOK01000044|FEATURES|resfinder|beta-lactam|blaOXA-290_0
4
+ ACATATGATGGGCAAACATTTCAAGAATATGGCAATGCGTTGAGTCGATCGAATACGGCTTATATTCCAGCCTCAACCTTCAAGATGTTAAATGCTCTGA
scripts/__pycache__/argnet_ls.cpython-35.pyc ADDED
Binary file (4.38 kB). View file
 
scripts/__pycache__/argnet_ls.cpython-37.pyc ADDED
Binary file (4.53 kB). View file
 
scripts/__pycache__/argnet_lsaa.cpython-35.pyc ADDED
Binary file (5.16 kB). View file
 
scripts/__pycache__/argnet_lsaa.cpython-37.pyc ADDED
Binary file (4.55 kB). View file
 
scripts/__pycache__/argnet_lsaa_speed_sgpu.cpython-310.pyc ADDED
Binary file (5.21 kB). View file
 
scripts/__pycache__/argnet_lsaa_speed_sgpu1.cpython-37.pyc ADDED
Binary file (5.17 kB). View file
 
scripts/__pycache__/argnet_lsnt.cpython-310.pyc ADDED
Binary file (6.13 kB). View file
 
scripts/__pycache__/argnet_lsnt.cpython-37.pyc ADDED
Binary file (5.38 kB). View file
 
scripts/__pycache__/argnet_ssaa.cpython-37.pyc ADDED
Binary file (4.85 kB). View file
 
scripts/__pycache__/argnet_ssaa_chunk.cpython-310.pyc ADDED
Binary file (5.36 kB). View file
 
scripts/__pycache__/argnet_ssnt.cpython-37.pyc ADDED
Binary file (6.06 kB). View file
 
scripts/__pycache__/argnet_ssnt_new.cpython-37.pyc ADDED
Binary file (8.94 kB). View file
 
scripts/__pycache__/argnet_ssnt_new_chunk.cpython-310.pyc ADDED
Binary file (10.9 kB). View file