XspecT 0.1.3__py3-none-any.whl → 0.2.0__py3-none-any.whl
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.
- {XspecT-0.1.3.dist-info → XspecT-0.2.0.dist-info}/METADATA +23 -29
- XspecT-0.2.0.dist-info/RECORD +30 -0
- {XspecT-0.1.3.dist-info → XspecT-0.2.0.dist-info}/WHEEL +1 -1
- xspect/definitions.py +42 -0
- xspect/download_filters.py +11 -26
- xspect/fastapi.py +101 -0
- xspect/file_io.py +34 -103
- xspect/main.py +70 -66
- xspect/model_management.py +88 -0
- xspect/models/__init__.py +0 -0
- xspect/models/probabilistic_filter_model.py +277 -0
- xspect/models/probabilistic_filter_svm_model.py +169 -0
- xspect/models/probabilistic_single_filter_model.py +109 -0
- xspect/models/result.py +148 -0
- xspect/pipeline.py +201 -0
- xspect/run.py +38 -0
- xspect/train.py +304 -0
- xspect/train_filter/create_svm.py +6 -183
- xspect/train_filter/extract_and_concatenate.py +117 -121
- xspect/train_filter/html_scrap.py +16 -28
- xspect/train_filter/ncbi_api/download_assemblies.py +7 -8
- xspect/train_filter/ncbi_api/ncbi_assembly_metadata.py +9 -17
- xspect/train_filter/ncbi_api/ncbi_children_tree.py +3 -2
- xspect/train_filter/ncbi_api/ncbi_taxon_metadata.py +7 -5
- XspecT-0.1.3.dist-info/RECORD +0 -49
- xspect/BF_v2.py +0 -637
- xspect/Bootstrap.py +0 -29
- xspect/Classifier.py +0 -142
- xspect/OXA_Table.py +0 -53
- xspect/WebApp.py +0 -724
- xspect/XspecT_mini.py +0 -1363
- xspect/XspecT_trainer.py +0 -611
- xspect/map_kmers.py +0 -155
- xspect/search_filter.py +0 -504
- xspect/static/How-To.png +0 -0
- xspect/static/Logo.png +0 -0
- xspect/static/Logo2.png +0 -0
- xspect/static/Workflow_AspecT.png +0 -0
- xspect/static/Workflow_ClAssT.png +0 -0
- xspect/static/js.js +0 -615
- xspect/static/main.css +0 -280
- xspect/templates/400.html +0 -64
- xspect/templates/401.html +0 -62
- xspect/templates/404.html +0 -62
- xspect/templates/500.html +0 -62
- xspect/templates/about.html +0 -544
- xspect/templates/home.html +0 -51
- xspect/templates/layoutabout.html +0 -87
- xspect/templates/layouthome.html +0 -63
- xspect/templates/layoutspecies.html +0 -468
- xspect/templates/species.html +0 -33
- xspect/train_filter/README_XspecT_Erweiterung.md +0 -119
- xspect/train_filter/get_paths.py +0 -35
- xspect/train_filter/interface_XspecT.py +0 -204
- xspect/train_filter/k_mer_count.py +0 -162
- {XspecT-0.1.3.dist-info → XspecT-0.2.0.dist-info}/LICENSE +0 -0
- {XspecT-0.1.3.dist-info → XspecT-0.2.0.dist-info}/entry_points.txt +0 -0
- {XspecT-0.1.3.dist-info → XspecT-0.2.0.dist-info}/top_level.txt +0 -0
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
|
|
5
|
-
<!-- Required meta tags -->
|
|
6
|
-
<meta charset="utf-8">
|
|
7
|
-
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
8
|
-
|
|
9
|
-
<!-- Bootstrap CSS -->
|
|
10
|
-
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-eOJMYsd53ii+scO/bJGFsiCZc+5NDVN2yr8+0RDqr0Ql0h+rP48ckxlpbzKgwra6" crossorigin="anonymous">
|
|
11
|
-
|
|
12
|
-
<!-- Costum stuff from css file -->
|
|
13
|
-
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='main.css') }}">
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
<script src="https://code.jquery.com/jquery-3.6.0.js" integrity="sha256-H+K7U5CnXl1h5ywQfKtSj8PCmoN9aaq30gDh27Xc0jk=" crossorigin="anonymous"></script>
|
|
17
|
-
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/js/bootstrap.bundle.min.js" integrity="sha384-ygbV9kiqUc6oa4msXn9868pTtWMgiQaeYH7/t7LECLbyPA2x65Kgf80OJFdroafW" crossorigin="anonymous"></script>
|
|
18
|
-
<script src="/static/js.js"></script>
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
<meta charset="UTF-8">
|
|
22
|
-
<title> XspecT </title>
|
|
23
|
-
<link rel="icon" href="data:,">
|
|
24
|
-
</head>
|
|
25
|
-
<body>
|
|
26
|
-
|
|
27
|
-
<!-- navbar -->
|
|
28
|
-
<header class="site-header">
|
|
29
|
-
<nav class="navbar navbar-expand-md navbar-dark bg-steel fixed-top">
|
|
30
|
-
<div class="container-fluid">
|
|
31
|
-
<a class="navbar-brand mr-4" href="/home" style="padding-left: 10px">Home</a>
|
|
32
|
-
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarToggle" aria-controls="navbarToggle" aria-expanded="false" aria-label="Toggle navigation">
|
|
33
|
-
<span class="navbar-toggler-icon"></span>
|
|
34
|
-
</button>
|
|
35
|
-
<div class="collapse navbar-collapse" id="navbarToggle">
|
|
36
|
-
<div class="navbar-nav mr-auto">
|
|
37
|
-
<a class="nav-item nav-link" href="/species">XspecT</a>
|
|
38
|
-
<a class="nav-item nav-link" href="/about">About</a>
|
|
39
|
-
</div>
|
|
40
|
-
</div>
|
|
41
|
-
</div>
|
|
42
|
-
</nav>
|
|
43
|
-
</header>
|
|
44
|
-
|
|
45
|
-
<!-- Sidebar -->
|
|
46
|
-
<nav id="sidebarMenu" class="collapse d-lg-block sidebar collapse bg-white">
|
|
47
|
-
<div class="position-sticky">
|
|
48
|
-
<div class="list-group list-group-flush mx-3 mt-4">
|
|
49
|
-
<a href="#About" class="list-group-item list-group-item-action py-2 ripple active" aria-current="true">
|
|
50
|
-
<i class="fas fa-tachometer-alt fa-fw me-3"></i><span>About this project</span>
|
|
51
|
-
</a>
|
|
52
|
-
<a href="#XspecT" class="list-group-item list-group-item-action py-2 ripple">
|
|
53
|
-
<i class="fas fa-chart-area fa-fw me-3"></i><span>XspecT</span>
|
|
54
|
-
</a>
|
|
55
|
-
<a href="#ClAssT" class="list-group-item list-group-item-action py-2 ripple">
|
|
56
|
-
<i class="fas fa-lock fa-fw me-3"></i><span>ClAssT</span></a>
|
|
57
|
-
<a href="#How-to-use" class="list-group-item list-group-item-action py-2 ripple">
|
|
58
|
-
<i class="fas fa-chart-line fa-fw me-3"></i><span>How-to-use</span>
|
|
59
|
-
</a>
|
|
60
|
-
<a href="#information" class="list-group-item list-group-item-action py-2 ripple">
|
|
61
|
-
<i class="fas fa-chart-pie fa-fw me-3"></i><span>General information</span>
|
|
62
|
-
</a>
|
|
63
|
-
|
|
64
|
-
</div>
|
|
65
|
-
</div>
|
|
66
|
-
</nav>
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
<!-- variable content -->
|
|
70
|
-
<main role="main" class="container">
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
{% block content %}{% endblock %}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
</main>
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
<!-- Optional JavaScript -->
|
|
81
|
-
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
|
|
82
|
-
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
|
|
83
|
-
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
|
|
84
|
-
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
|
|
85
|
-
|
|
86
|
-
</body>
|
|
87
|
-
</html>
|
xspect/templates/layouthome.html
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
|
|
5
|
-
<!-- Required meta tags -->
|
|
6
|
-
<meta charset="utf-8">
|
|
7
|
-
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
8
|
-
|
|
9
|
-
<!-- Bootstrap CSS -->
|
|
10
|
-
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-eOJMYsd53ii+scO/bJGFsiCZc+5NDVN2yr8+0RDqr0Ql0h+rP48ckxlpbzKgwra6" crossorigin="anonymous">
|
|
11
|
-
|
|
12
|
-
<!-- Costum stuff from css file -->
|
|
13
|
-
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='main.css') }}">
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
<script src="https://code.jquery.com/jquery-3.6.0.js" integrity="sha256-H+K7U5CnXl1h5ywQfKtSj8PCmoN9aaq30gDh27Xc0jk=" crossorigin="anonymous"></script>
|
|
17
|
-
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/js/bootstrap.bundle.min.js" integrity="sha384-ygbV9kiqUc6oa4msXn9868pTtWMgiQaeYH7/t7LECLbyPA2x65Kgf80OJFdroafW" crossorigin="anonymous"></script>
|
|
18
|
-
<script src="/static/js.js"></script>
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
<meta charset="UTF-8">
|
|
22
|
-
<title> XspecT </title>
|
|
23
|
-
<link rel="icon" href="data:,">
|
|
24
|
-
</head>
|
|
25
|
-
<body>
|
|
26
|
-
|
|
27
|
-
<!-- Sidebar -->
|
|
28
|
-
<header class="site-header">
|
|
29
|
-
<nav class="navbar navbar-expand-md navbar-dark bg-steel fixed-top">
|
|
30
|
-
<div class="container-fluid">
|
|
31
|
-
<a class="navbar-brand mr-4" href="/home" style="padding-left: 10px">Home</a>
|
|
32
|
-
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarToggle" aria-controls="navbarToggle" aria-expanded="false" aria-label="Toggle navigation">
|
|
33
|
-
<span class="navbar-toggler-icon"></span>
|
|
34
|
-
</button>
|
|
35
|
-
<div class="collapse navbar-collapse" id="navbarToggle">
|
|
36
|
-
<div class="navbar-nav mr-auto">
|
|
37
|
-
<a class="nav-item nav-link" href="/species">XspecT</a>
|
|
38
|
-
<a class="nav-item nav-link" href="/about">About</a>
|
|
39
|
-
</div>
|
|
40
|
-
</div>
|
|
41
|
-
</div>
|
|
42
|
-
</nav>
|
|
43
|
-
</header>
|
|
44
|
-
|
|
45
|
-
<!-- variable content -->
|
|
46
|
-
<main role="main" class="container-fluid">
|
|
47
|
-
<div class="row">
|
|
48
|
-
<div class="col-md-8 mx-auto">
|
|
49
|
-
{% block content %}{% endblock %}
|
|
50
|
-
</div>
|
|
51
|
-
|
|
52
|
-
</div>
|
|
53
|
-
</main>
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
<!-- Optional JavaScript -->
|
|
57
|
-
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
|
|
58
|
-
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
|
|
59
|
-
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
|
|
60
|
-
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
|
|
61
|
-
|
|
62
|
-
</body>
|
|
63
|
-
</html>
|
|
@@ -1,468 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
|
|
5
|
-
<!-- Required meta tags -->
|
|
6
|
-
<meta charset="utf-8">
|
|
7
|
-
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
8
|
-
|
|
9
|
-
<!-- Bootstrap CSS -->
|
|
10
|
-
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-eOJMYsd53ii+scO/bJGFsiCZc+5NDVN2yr8+0RDqr0Ql0h+rP48ckxlpbzKgwra6" crossorigin="anonymous">
|
|
11
|
-
|
|
12
|
-
<!-- Costum stuff from css file -->
|
|
13
|
-
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='main.css') }}">
|
|
14
|
-
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
<script src="https://code.jquery.com/jquery-3.6.0.js" integrity="sha256-H+K7U5CnXl1h5ywQfKtSj8PCmoN9aaq30gDh27Xc0jk=" crossorigin="anonymous"></script>
|
|
18
|
-
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/js/bootstrap.bundle.min.js" integrity="sha384-ygbV9kiqUc6oa4msXn9868pTtWMgiQaeYH7/t7LECLbyPA2x65Kgf80OJFdroafW" crossorigin="anonymous"></script>
|
|
19
|
-
<script src="/static/js.js"></script>
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
<meta charset="UTF-8">
|
|
23
|
-
<title> XspecT </title>
|
|
24
|
-
<link rel="icon" href="data:,">
|
|
25
|
-
</head>
|
|
26
|
-
<body>
|
|
27
|
-
|
|
28
|
-
<!-- Sidebar -->
|
|
29
|
-
<div id="content">
|
|
30
|
-
<header class="site-header">
|
|
31
|
-
<nav class="navbar navbar-expand-md navbar-dark bg-steel fixed-top">
|
|
32
|
-
<div class="container-fluid">
|
|
33
|
-
<a class="navbar-brand mr-4" href="/home" style="padding-left: 10px">Home</a>
|
|
34
|
-
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarToggle" aria-controls="navbarToggle" aria-expanded="false" aria-label="Toggle navigation">
|
|
35
|
-
<span class="navbar-toggler-icon"></span>
|
|
36
|
-
</button>
|
|
37
|
-
<div class="collapse navbar-collapse" id="navbarToggle">
|
|
38
|
-
<div class="navbar-nav mr-auto">
|
|
39
|
-
<a class="nav-item nav-link" href="/species">XspecT</a>
|
|
40
|
-
<a class="nav-item nav-link" href="/about">About</a>
|
|
41
|
-
</div>
|
|
42
|
-
</div>
|
|
43
|
-
</div>
|
|
44
|
-
</nav>
|
|
45
|
-
</header>
|
|
46
|
-
|
|
47
|
-
<!-- variable content -->
|
|
48
|
-
<main role="main" class="container-fluid">
|
|
49
|
-
<div class="row">
|
|
50
|
-
<div class="col-md-4">
|
|
51
|
-
<div class="popup" id="popup-1">
|
|
52
|
-
<div class="content">
|
|
53
|
-
<div class="arrow-left"></div>
|
|
54
|
-
<div class="close-btn" id="close_popup">×</div>
|
|
55
|
-
XspecT is reasy to use! Upload data for a taxonomic assignment.
|
|
56
|
-
</div>
|
|
57
|
-
</div>
|
|
58
|
-
<div class="content-section" >
|
|
59
|
-
<h4>Select Genus and upload Sequence Reads or a Genome Assembly</h4>
|
|
60
|
-
<p> </p>
|
|
61
|
-
<select class="form-select" aria-label="Select Genus" id="genusSelect">
|
|
62
|
-
<option value="" id="Preselect" selected disabled hidden>Select Genus</option>
|
|
63
|
-
<option value="Acinetobacter">Acinetobacter</option>
|
|
64
|
-
</select>
|
|
65
|
-
<span id="load_BF" class="input-group-addon" style="display:none">
|
|
66
|
-
<i class="fa fa-refresh fa-spin"></i>
|
|
67
|
-
</span>
|
|
68
|
-
<p> </p>
|
|
69
|
-
<div class="input-group mb-3">
|
|
70
|
-
<span class="input-group-text">Train new genus</span>
|
|
71
|
-
<input type="text" class="form-control" id="genus_text">
|
|
72
|
-
<button class="btn btn-primary" name="train_new_genus" id="train_new_genus">
|
|
73
|
-
<span id="start_text">start</span>
|
|
74
|
-
<span id="genus_loader" class="spinner-border spinner-border-sm" role="status" aria-hidden="true" style="display:none"></span>
|
|
75
|
-
<span id="loading_text" style="display:none">loading...</span>
|
|
76
|
-
</button>
|
|
77
|
-
</div>
|
|
78
|
-
<p> </p>
|
|
79
|
-
<input class="form-control" type=file id=infile name=file accept=".fq, .fna, .fasta, .fastq">
|
|
80
|
-
<!--<form method=post enctype=multipart/form-data> -->
|
|
81
|
-
<p> </p>
|
|
82
|
-
<form method="post" role="form">
|
|
83
|
-
<p></p>
|
|
84
|
-
<div id="opt">
|
|
85
|
-
<div id="AspecTinput" style="display:none">
|
|
86
|
-
<label for="reads_max">Number of Reads:</label>
|
|
87
|
-
<input type="number" id="reads_max" name="reads_max" min="5000" max="10000000" value="5000" step="100">
|
|
88
|
-
</div>
|
|
89
|
-
<p></p>
|
|
90
|
-
<div id="AspecTinput-2" style="display:none">
|
|
91
|
-
<p><input type="checkbox" name="quick" id="quick" Checked/> Quick-search</p>
|
|
92
|
-
</div>
|
|
93
|
-
<div id="AspecTinput-3">
|
|
94
|
-
<p><input type="checkbox" name="metagenome" id="metagenome"/> Metagenome</p>
|
|
95
|
-
</div>
|
|
96
|
-
<div>
|
|
97
|
-
<input type="checkbox" name="OXA" id="OXA"/> Oxa-Genes <br><br>
|
|
98
|
-
</div>
|
|
99
|
-
<div hidden id="AspecTinput-4">
|
|
100
|
-
<p><input type="checkbox" name="Amplicon" id="Amplicon"/></p>
|
|
101
|
-
</div>
|
|
102
|
-
<button class="btn btn-primary" name="submit" id="submitspec">
|
|
103
|
-
<span id="submit_text">submit</span>
|
|
104
|
-
<span id="assignment_loader" class="spinner-border spinner-border-sm" role="status" aria-hidden="true" style="display:none"></span>
|
|
105
|
-
<span id="assignment_text" style="display:none">loading...</span>
|
|
106
|
-
</button>
|
|
107
|
-
<p> </p>
|
|
108
|
-
</div>
|
|
109
|
-
</form>
|
|
110
|
-
</div>
|
|
111
|
-
<div class="content-section">
|
|
112
|
-
<h3> Taxonomy</h3>
|
|
113
|
-
<p>
|
|
114
|
-
<b>Species:</b> {{prediction}} <br>
|
|
115
|
-
Results will not be saved, download them if needed!
|
|
116
|
-
</p>
|
|
117
|
-
<p hidden>
|
|
118
|
-
<a id="download_data" download='image' class="download-btn">Download Results
|
|
119
|
-
<i class="fa fa-download"></i>
|
|
120
|
-
</a>
|
|
121
|
-
</p>
|
|
122
|
-
</div>
|
|
123
|
-
</div>
|
|
124
|
-
<div class="col-md-8">
|
|
125
|
-
<div style = "text-align:center;" class="content-section" >
|
|
126
|
-
<nav>
|
|
127
|
-
<div class="nav nav-tabs" id="nav-tab" role="tablist">
|
|
128
|
-
<button class="nav-link active" id="nav-home-tab" data-bs-toggle="tab" data-bs-target="#nav-home" type="button" role="tab" aria-controls="nav-home" aria-selected="true">Species Assignment</button>
|
|
129
|
-
<button class="nav-link disabled" id="nav-profile-tab" data-bs-toggle="tab" data-bs-target="#nav-profile" type="button" role="tab" aria-controls="nav-profile" aria-selected="false">Strain-Typing</button>
|
|
130
|
-
<button class="nav-link disabled" id="nav-oxa-tab" data-bs-toggle="tab" data-bs-target="#nav-oxa" type="button" role="tab" aria-controls="nav-oxa" aria-selected="true">Oxa-Genes</button>
|
|
131
|
-
<button class="nav-link disabled" id="nav-contact-tab" data-bs-toggle="tab" data-bs-target="#nav-contact" type="button" role="tab" aria-controls="nav-contact" aria-selected="false">Literature</button>
|
|
132
|
-
</div>
|
|
133
|
-
</nav>
|
|
134
|
-
<div class="tab-content" id="nav-tabContent">
|
|
135
|
-
<div class="tab-pane fade show active" id="nav-home" role="tabpanel" aria-labelledby="nav-home-tab">
|
|
136
|
-
<br>
|
|
137
|
-
<h4 id="selectedGenusText" style="text-align: center; margin: 0 auto;">Most similar [Select Genus] species</h4>
|
|
138
|
-
<img id="logo_XspecT" src="{{url_for('static', filename='Logo.png')}}" width="624" height="468" alt="Error: image not availabe"/>
|
|
139
|
-
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.min.js"></script>
|
|
140
|
-
<div id="plot_XspecT" class="chart-container" style="position: relative; height:65vh; width:63vw;display:none">
|
|
141
|
-
<canvas id="polar-chart" width="950" height="800"></canvas>
|
|
142
|
-
<script>
|
|
143
|
-
var labels = {{ clonetypes|tojson }};
|
|
144
|
-
var data = {{ results_ct }};
|
|
145
|
-
var additionalInfo = {{ additional_info|tojson }};
|
|
146
|
-
var metagenome = {{ metagenome|tojson }};
|
|
147
|
-
|
|
148
|
-
var myChart = new Chart(document.getElementById("polar-chart"), {
|
|
149
|
-
type: 'radar',
|
|
150
|
-
data: {
|
|
151
|
-
labels: labels,
|
|
152
|
-
datasets: [
|
|
153
|
-
{
|
|
154
|
-
label: "Score",
|
|
155
|
-
borderColor: "rgb(255, 99, 132)",
|
|
156
|
-
backgroundColor: "rgba(255, 99, 132, 0.5)",
|
|
157
|
-
scaleStartValue: 0,
|
|
158
|
-
data: data
|
|
159
|
-
}
|
|
160
|
-
]
|
|
161
|
-
},
|
|
162
|
-
options: {
|
|
163
|
-
legend: {
|
|
164
|
-
display: false
|
|
165
|
-
},
|
|
166
|
-
responsive: true,
|
|
167
|
-
maintainAspectRatio: false,
|
|
168
|
-
scale: {
|
|
169
|
-
ticks: {
|
|
170
|
-
beginAtZero: true,
|
|
171
|
-
max: {{ maxi |tojson}},
|
|
172
|
-
min: 0,
|
|
173
|
-
//stepSize: 1
|
|
174
|
-
}
|
|
175
|
-
},
|
|
176
|
-
title: {
|
|
177
|
-
display: false,
|
|
178
|
-
text: {{text | tojson}},
|
|
179
|
-
fontSize: 24
|
|
180
|
-
},
|
|
181
|
-
tooltips: {
|
|
182
|
-
displayColors: false,
|
|
183
|
-
callbacks: {
|
|
184
|
-
title: function(tooltipItems, data) {
|
|
185
|
-
if (metagenome === true) {
|
|
186
|
-
return null; // Rückgabe von null, um das Titel-Label zu entfernen
|
|
187
|
-
} else {
|
|
188
|
-
var dataIndex = tooltipItems[0].index;
|
|
189
|
-
return data.labels[dataIndex]; // Rückgabe des normalen Titel-Labels
|
|
190
|
-
}
|
|
191
|
-
},
|
|
192
|
-
label: function(tooltipItem, data) {
|
|
193
|
-
if (metagenome === true) {
|
|
194
|
-
return null; // Rückgabe von null, um den Wert aus dem Tooltip zu entfernen
|
|
195
|
-
} else {
|
|
196
|
-
var dataIndex = tooltipItem.index;
|
|
197
|
-
return "Score: " + data.datasets[0].data[dataIndex]; // Rückgabe des normalen Werts
|
|
198
|
-
}
|
|
199
|
-
},
|
|
200
|
-
afterBody: function(tooltipItems, data) {
|
|
201
|
-
if (metagenome === true) {
|
|
202
|
-
var dataIndex = tooltipItems[0].index;
|
|
203
|
-
var info = additionalInfo[dataIndex];
|
|
204
|
-
|
|
205
|
-
// Aufteilen der Informationen in separate Zeilen
|
|
206
|
-
var infoLines = info.split("\n");
|
|
207
|
-
|
|
208
|
-
var tooltipContent = [];
|
|
209
|
-
|
|
210
|
-
// Jede Information als einzelnen String hinzufügen
|
|
211
|
-
for (var i = 0; i < infoLines.length; i++) {
|
|
212
|
-
tooltipContent.push(infoLines[i]);
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
return tooltipContent;
|
|
216
|
-
}
|
|
217
|
-
else {
|
|
218
|
-
return null; // Rückgabe von null, wenn die Bedingung nicht erfüllt ist
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
},
|
|
223
|
-
animation: {
|
|
224
|
-
onComplete: function() {
|
|
225
|
-
this.options.animation.onComplete = null;
|
|
226
|
-
var plot_image = myChart.toBase64Image();
|
|
227
|
-
document.getElementById("download_plot").href = plot_image;
|
|
228
|
-
document.getElementById("download_plot").download = {{prediction | tojson}} + ".png";
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
});
|
|
233
|
-
|
|
234
|
-
</script>
|
|
235
|
-
</div>
|
|
236
|
-
<br>
|
|
237
|
-
<div id="plot_text" style="display: none">
|
|
238
|
-
<h5> Assigned species: {{prediction}} </h5>
|
|
239
|
-
<br>
|
|
240
|
-
<a id="download_plot" download="image" class="download-btn" style="text-decoration: none;">
|
|
241
|
-
Download Plot <i class="fa fa-download"></i>
|
|
242
|
-
</a>
|
|
243
|
-
<br>
|
|
244
|
-
<br>
|
|
245
|
-
</div>
|
|
246
|
-
</div>
|
|
247
|
-
|
|
248
|
-
<div class="tab-pane fade" id="nav-profile" role="tabpanel" aria-labelledby="nav-profile-tab">
|
|
249
|
-
<br>
|
|
250
|
-
<h4 style="text-align:center;" > A. baumannii Sub-Types </h4>
|
|
251
|
-
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.min.js"></script>
|
|
252
|
-
<div class="chart-container" style="position: relative; height:65vh; width:63vw">
|
|
253
|
-
<canvas id="polar-chart-claast" width="950" height="500"></canvas>
|
|
254
|
-
<script>
|
|
255
|
-
var myChart3 = new Chart(document.getElementById("polar-chart-claast"), {
|
|
256
|
-
type: 'radar',
|
|
257
|
-
data: {
|
|
258
|
-
labels: {{ clonetypes_claast|tojson }},
|
|
259
|
-
datasets: [
|
|
260
|
-
{
|
|
261
|
-
label: "Score",
|
|
262
|
-
borderColor: "rgb(54, 162, 235",
|
|
263
|
-
backgroundColor: "rgb(54, 162, 235, 0.5)",
|
|
264
|
-
scaleStartValue: 0,
|
|
265
|
-
data: {{results_claast}}
|
|
266
|
-
}
|
|
267
|
-
]
|
|
268
|
-
},
|
|
269
|
-
options: {
|
|
270
|
-
legend: {
|
|
271
|
-
display: false
|
|
272
|
-
},
|
|
273
|
-
responsive: true,
|
|
274
|
-
maintainAspectRatio: false,
|
|
275
|
-
scale: {
|
|
276
|
-
ticks: {
|
|
277
|
-
beginAtZero: true,
|
|
278
|
-
max: {{ maxi |tojson}},
|
|
279
|
-
min: 0,
|
|
280
|
-
//stepSize: 1
|
|
281
|
-
}
|
|
282
|
-
},
|
|
283
|
-
title: {
|
|
284
|
-
display: false,
|
|
285
|
-
text: "A. baumannii Sub-Types"
|
|
286
|
-
},
|
|
287
|
-
animation: {
|
|
288
|
-
onComplete: function() {
|
|
289
|
-
//this.options.animation.onComplete = null;
|
|
290
|
-
var plot_image = myChart3.toBase64Image();
|
|
291
|
-
document.getElementById("download_plot_3").href = plot_image;
|
|
292
|
-
document.getElementById("download_plot_3").download = {{prediction_claast | tojson}} + ".png";
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
});
|
|
297
|
-
</script>
|
|
298
|
-
</div>
|
|
299
|
-
<br>
|
|
300
|
-
<h5> Sub-Type: {{prediction_claast}} </h5>
|
|
301
|
-
<br>
|
|
302
|
-
|
|
303
|
-
<a id="download_plot_3" download='image' class="download-btn">Download Plot
|
|
304
|
-
<i class="fa fa-download"></i>
|
|
305
|
-
</a>
|
|
306
|
-
</div>
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
<div class="tab-pane fade" id="nav-contact" role="tabpanel" aria-labelledby="nav-contact-tab">
|
|
311
|
-
<br>
|
|
312
|
-
<div class="row">
|
|
313
|
-
<div style="text-align:left" class="col-md-10">
|
|
314
|
-
|
|
315
|
-
</div>
|
|
316
|
-
<div class="col-md-2">
|
|
317
|
-
<button class="btn btn-primary" name="Display_options" id ="Display_options">Display options</button>
|
|
318
|
-
</div>
|
|
319
|
-
</div>
|
|
320
|
-
<div class="span4 collapse-group" style="text-align: left">
|
|
321
|
-
<div class="popup-2" id="popup-2">
|
|
322
|
-
<div class="content-2">
|
|
323
|
-
<div class="input-group">
|
|
324
|
-
<div class="form-outline">
|
|
325
|
-
Sort by:
|
|
326
|
-
<select name="sort" id="id_sort" class="form-select" aria-label="Sort by" data-initial-value="relevance" data-skipped-value="none" data-saved-value="relevance">
|
|
327
|
-
<option class="sort-option" value="relevance" data-name="sort" selected="">
|
|
328
|
-
Best match
|
|
329
|
-
</option>
|
|
330
|
-
<option class="sort-option" value="date" data-name="sort">
|
|
331
|
-
Most recent
|
|
332
|
-
</option>
|
|
333
|
-
<option class="sort-option" value="pubdate" data-name="sort">
|
|
334
|
-
Publication date
|
|
335
|
-
</option>
|
|
336
|
-
<option class="sort-option" value="fauth" data-name="sort">
|
|
337
|
-
First author
|
|
338
|
-
</option>
|
|
339
|
-
<option class="sort-option" value="jour" data-name="sort">
|
|
340
|
-
Journal
|
|
341
|
-
</option>
|
|
342
|
-
</select>
|
|
343
|
-
</div>
|
|
344
|
-
</div>
|
|
345
|
-
<br>
|
|
346
|
-
<div class="input-group">
|
|
347
|
-
<div class="form-outline">
|
|
348
|
-
Number of papers:
|
|
349
|
-
<input type="number" id="literature_max" class="form-control" name="literature_max" min="1" max="20" value="10" step="1">
|
|
350
|
-
</div>
|
|
351
|
-
</div>
|
|
352
|
-
<br>
|
|
353
|
-
<button class="btn btn-primary" name="apply" id="apply">apply</button>
|
|
354
|
-
</div>
|
|
355
|
-
</div>
|
|
356
|
-
<div id="tab-3">
|
|
357
|
-
|
|
358
|
-
<ol id="literature">
|
|
359
|
-
<!-- dynamically generated list element for each paper -->
|
|
360
|
-
</ol>
|
|
361
|
-
<script type="text/javascript" {{ url_for('static', filename='js.js')}}></script>
|
|
362
|
-
<script type="text/javascript">
|
|
363
|
-
myVar = myFunc({{literature_all|tojson}})
|
|
364
|
-
</script>
|
|
365
|
-
</div>
|
|
366
|
-
</div>
|
|
367
|
-
</div>
|
|
368
|
-
<div class="tab-pane fade" id="nav-oxa" role="tabpanel" aria-labelledby="nav-oxa-tab">
|
|
369
|
-
<div class="span4 collapse-group" style="text-align: left">
|
|
370
|
-
<div class="media-body">
|
|
371
|
-
<br>
|
|
372
|
-
<h2 style="text-align:center; color:rgb(255, 159, 64)" > beta-lactamase oxacillinase (bla-OXA) genes </h2>
|
|
373
|
-
<p> </p>
|
|
374
|
-
<h4 style="text-align:center;"> Percentage of found k-meres in the reference-data</h4>
|
|
375
|
-
<p style="text-align:center;"> A OXA-Family is most likely seen as present if it passes a threshold of 0.3 .</p>
|
|
376
|
-
<div style = "text-align:center;">
|
|
377
|
-
<!-- https://tobiasahlin.com/blog/chartjs-charts-to-get-you-started/#4-radar-chart -->
|
|
378
|
-
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/4.3.0/chart.min.js"></script>
|
|
379
|
-
<canvas id="oxa-chart" width="750" height="375"></canvas>
|
|
380
|
-
<script>
|
|
381
|
-
// Source:
|
|
382
|
-
//https://stackoverflow.com/questions/40254027/horizontal-bar-chart-in-chart-js
|
|
383
|
-
var metagenome = {{ metagenome|tojson }};
|
|
384
|
-
if (metagenome === true) {
|
|
385
|
-
var oxas = {{ oxa_labels|tojson }};
|
|
386
|
-
var results_oxa = {{ oxa_data|tojson }};
|
|
387
|
-
} else {
|
|
388
|
-
var oxas = {{ oxas|tojson }};
|
|
389
|
-
var results_oxa = {{ results_oxa|tojson }};
|
|
390
|
-
}
|
|
391
|
-
var myChart2 = new Chart(document.getElementById("oxa-chart"), {
|
|
392
|
-
type: 'bar',
|
|
393
|
-
data: {
|
|
394
|
-
labels: oxas,
|
|
395
|
-
datasets: [
|
|
396
|
-
{
|
|
397
|
-
label: "percentage of found k-meres in reference-data",
|
|
398
|
-
backgroundColor: "rgb(255, 159, 64)",
|
|
399
|
-
//hoverBackgroundColor: "rgba(33, 3, 201, 1)",
|
|
400
|
-
data: results_oxa,
|
|
401
|
-
}
|
|
402
|
-
]
|
|
403
|
-
},
|
|
404
|
-
options: {
|
|
405
|
-
scales: {
|
|
406
|
-
xAxes: [{
|
|
407
|
-
barPercentage: 0.2,
|
|
408
|
-
source: 'data',
|
|
409
|
-
autoSkip: false
|
|
410
|
-
}],
|
|
411
|
-
yAxes: [{
|
|
412
|
-
stacked: true,
|
|
413
|
-
ticks: {
|
|
414
|
-
min: 0,
|
|
415
|
-
max: 1,
|
|
416
|
-
}
|
|
417
|
-
}]
|
|
418
|
-
},
|
|
419
|
-
animation: {
|
|
420
|
-
onComplete: function() {
|
|
421
|
-
// this.options.animation.onComplete = null;
|
|
422
|
-
var plot_image_oxa = myChart2.toBase64Image();
|
|
423
|
-
document.getElementById("download_oxa").href = plot_image_oxa;
|
|
424
|
-
}
|
|
425
|
-
}
|
|
426
|
-
},
|
|
427
|
-
});
|
|
428
|
-
</script>
|
|
429
|
-
</div>
|
|
430
|
-
<p> </p>
|
|
431
|
-
</div>
|
|
432
|
-
</div>
|
|
433
|
-
<br>
|
|
434
|
-
<a id="download_oxa" download='bla-OXA.png' class="download-btn">Download Plot
|
|
435
|
-
<i class="fa fa-download"></i>
|
|
436
|
-
</a>
|
|
437
|
-
</div>
|
|
438
|
-
</div>
|
|
439
|
-
</div>
|
|
440
|
-
</div>
|
|
441
|
-
</div>
|
|
442
|
-
</main>
|
|
443
|
-
</div>
|
|
444
|
-
|
|
445
|
-
<script>
|
|
446
|
-
if ({{filename | tojson}} != "filename") {
|
|
447
|
-
document.getElementById("plot_XspecT").style.display = "block";
|
|
448
|
-
document.getElementById("logo_XspecT").style.display = "none";
|
|
449
|
-
document.getElementById("plot_text").style.display = "block";
|
|
450
|
-
document.getElementById("popup-1").style.display = "none";
|
|
451
|
-
document.getElementById("nav-contact-tab").classList.remove('disabled');
|
|
452
|
-
}
|
|
453
|
-
if ({{prediction_claast | tojson}} != "n/a") {
|
|
454
|
-
document.getElementById("nav-profile-tab").classList.remove('disabled');
|
|
455
|
-
}
|
|
456
|
-
if ({{oxas | tojson}} != "None") {
|
|
457
|
-
document.getElementById("nav-oxa-tab").classList.remove('disabled');
|
|
458
|
-
}
|
|
459
|
-
|
|
460
|
-
</script>
|
|
461
|
-
|
|
462
|
-
<!-- Optional JavaScript -->
|
|
463
|
-
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
|
|
464
|
-
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.14.7/dist/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
</body>
|
|
468
|
-
</html>
|
xspect/templates/species.html
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
{% extends "layoutspecies.html" %}
|
|
2
|
-
{% block content %}
|
|
3
|
-
|
|
4
|
-
<article class="media content-section">
|
|
5
|
-
<div class="media-body">
|
|
6
|
-
|
|
7
|
-
<h1>Acinetobacter Species Assignment Tool: XspecT</h1>
|
|
8
|
-
<br>
|
|
9
|
-
<h4> What is XspecT? </h4>
|
|
10
|
-
<p> The '<b>Acinetobacter species Assignment Tool</b>' (AspecT) will assign your given sequence-reads or assembled genome to a <em>Acinetobacter</em> species.
|
|
11
|
-
If an assignment is not possible, it is not a species of <em>Acinetobacter</em> or not a species currently covered by the tool.
|
|
12
|
-
</p>
|
|
13
|
-
<h4> How it works </h4>
|
|
14
|
-
AspecT uses Bloom Filters to check k-mers from the input-data for exact matches with our database.
|
|
15
|
-
It then taxonomically assigns the input-data to the <em>Acinetobacter</em> species with the k-mer most matches.<br> A Support Vector Machine (SVM) further ensures that
|
|
16
|
-
closely related species, e.g. species of the <em>A. calcoaceticus-A. baumannii-complex</em> (ACB-complex), will be assigned correctly.<br><br>
|
|
17
|
-
<h4> How to use the Tool</h4>
|
|
18
|
-
AspecT can take FASTA-files (.fq/.fna) as upload-data for assembled genomes and FASTQ-files (.fq) for sequence-reads.
|
|
19
|
-
For sequence-reads you can choose the amount of reads that will be used for the assignment.
|
|
20
|
-
5000 reads are the minimum amount (with 100.000 Reads as maximum) sufficient for the toxonomic assignment.
|
|
21
|
-
Using more reads can lead to a more accurate assignment but will take more time. <br><br>
|
|
22
|
-
Please note that the tool was designed for high quality sequence-reads <br>(<1% Error-Rate) with a length of 125-250bp for each read (e.g. Illumina-Reads).<br>
|
|
23
|
-
An accurate assignment using reads with a high error-rate is not guaranteed.
|
|
24
|
-
Please also note that AspecT only requires a small amount of k-mers for the assignment so that not every k-mere from the assembled genome or sequence-read will be used.
|
|
25
|
-
If you want to use all k-mers you can disable the quick-search. Beware of runtimes of about <h8 style="color:red;"> ~10 minutes</h8>. <br>
|
|
26
|
-
Click <a href="/about"> here </a> for more information on how AspecT performs the toxonomic assignment.
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
</div>
|
|
31
|
-
</article>
|
|
32
|
-
|
|
33
|
-
{% endblock content %}
|