aboutsummaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorelavington <elavington@hotmail.com>2018-01-17 14:31:14 -0500
committerelavington <elavington@hotmail.com>2018-01-17 14:31:14 -0500
commit28e9faa59efa166703d1f127986baf75828cca2b (patch)
tree0e7335bcd2a8cfd3fca6fed5ba3dbd6455d7690e /bin
parent5c104f8d826f32a68120b35847d69139147b1202 (diff)
downloadcressdna-28e9faa59efa166703d1f127986baf75828cca2b.tar.gz
cressdna-28e9faa59efa166703d1f127986baf75828cca2b.zip
Updated to include Nonviridae
Diffstat (limited to 'bin')
-rwxr-xr-xbin/classifier.py247
1 files changed, 197 insertions, 50 deletions
diff --git a/bin/classifier.py b/bin/classifier.py
index ea19333..7cf7912 100755
--- a/bin/classifier.py
+++ b/bin/classifier.py
@@ -112,60 +112,111 @@ header="""Content-type:text/html
<style>
*{box-sizing: border-box;}
body {font-family: "Lato", sans-serif;}
-/* Style the tab */
-div.tab {
- float: left;
- border: 1px solid #ccc;
- background-color: #f1f1f1;
- width: 20%;
- height: 250px;
+/* Menu Styles */
+.third-level-menu
+{
+ position: absolute;
+ top: 0;
+ right: -150px;
+ width: 150px;
+ list-style: none;
+ padding: 0;
+ margin: 0;
+ display: none;
}
-/* Style the buttons inside the tab */
-div.tab button {
- display: block;
- background-color: inherit;
- color: black;
- padding: 22px 16px;
- width: 100%;
- border: none;
- outline: none;
- text-align: left;
- cursor: pointer;
- transition: 0.3s;
- font-size: 17px;
+
+.third-level-menu > li
+{
+ height: 30px;
+ background: #ddd;
}
-/* Change background color of buttons on hover */
-div.tab button:hover {
- background-color: #ddd;
+.third-level-menu > li:hover { background: #1acefc; }
+
+.second-level-menu
+{
+ position: absolute;
+ top: 30px;
+ left: 0;
+ width: 150px;
+ list-style: none;
+ padding: 0;
+ margin: 0;
+ display: none;
}
-/* Create an active/current "tab button" class */
-div.tab button.active {
- background-color: #1acefc;
+
+.second-level-menu > li
+{
+ position: relative;
+ height: 30px;
+ background: #ddd;
}
-/* Style the tab content */
-.tabcontent {
- float: left;
- padding: 0px 12px;
- border: 1px solid #ccc;
- width: 80%;
- min-height: 250px;
+.second-level-menu > li:hover { background: #1acefc; }
+
+.top-level-menu
+{
+ list-style: none;
+ padding: 0;
+ margin: 0;
}
-table {
- border-collapse: collapse;
- width: 80%;
+
+.top-level-menu > li
+{
+ position: relative;
+ float: left;
+ height: 30px;
+ width: 150px;
+ background: #ddd;
}
+.top-level-menu > li:hover { background: #1acefc; }
-th, td {
- text-align: left;
- padding: 8px;
+.top-level-menu li:hover > ul
+{
+ /* On hover, display the next level's menu */
+ display: inline;
}
-tr:nth-child(even){background-color: #f2f2f2}
-th {
- background-color: #ff0000;
+/* Menu Link Styles */
+
+.top-level-menu a /* Apply to all links inside the multi-level menu */
+{
+ font: bold 14px Arial, Helvetica, sans-serif;
+ color: black;
+ text-decoration: none;
+ padding: 0 0 0 10px;
+
+ /* Make the link cover the entire list item-container */
+ display: block;
+ line-height: 30px;
+}
+.top-level-menu a:hover { color: black; }
+
+.tabcontent {
+ float: left;
+ padding: 0px 12px;
+ border: 1px solid #ccc;
+ width: 100%;
+ min-height: 250px;
+}
+table {
+ font-family: arial, sans-serif;
+ border-collapse: collapse;
+ width: 50%;
+}
+
+th{
+ background-color: red;
color: white;
}
+td, th {
+ border: 1px solid #dddddd;
+ text-align: left;
+ padding: 8px;
+}
+
+tr:nth-child(even) {
+ background-color: #dddddd;
+}
</style>
</head>
@@ -175,12 +226,27 @@ body1="""<body>
<p>Welcome to CRESSdna.org</p>
-<div class="tab">
- <button class="tablinks" onclick="openTab(event, 'Home')" >Home</button>
- <button class="tablinks" onclick="openTab(event, 'Taxonomy')">Taxonomy</button>
- <button class="tablinks" onclick="openTab(event, 'Contact')">Contact</button>
- <button class="tablinks" onclick="openTab(event, 'Results')"id="defaultOpen">Results</button>
-</div>
+<ul class="top-level-menu">
+ <li><a href="#" class="tablinks" onclick="openTab(event, 'Home')" >Home</a></li>
+ <li>
+ <a href="#">Taxonomy</a>
+ <ul class="second-level-menu">
+ <li><a href="#" class="tablinks" onclick="openTab(event, 'Circoviridae')">Circoviridae</a></li>
+ <li><a href="#" class="tablinks" onclick="openTab(event, 'Nanoviridae')">Nanoviridae</a></li>
+ <li><a href="#"><i>more on the way</i></a></li>
+ </ul>
+ </li>
+ <li>
+ <a href="#">Classifier</a>
+ <ul class="second-level-menu">
+ <li><a href="#" class="tablinks" onclick="openTab(event, 'Classifier')">Run the classifier</a></li>
+ <li><a href="#" class="tablinks" onclick="openTab(event, 'Results')" id="defaultOpen">Results</a></li>
+ </ul>
+ </li>
+ <li><a href="#" class="tablinks" onclick="openTab(event, 'Contributers')">Contributers</a></li>
+ <li><a href="#" class="tablinks" onclick="openTab(event, 'Contact')">Contact</a></li>
+
+</ul>
<div id="Home" class="tabcontent">
<h3>Home</h3>
@@ -188,7 +254,81 @@ body1="""<body>
<img src='../nsf1.jpg' alt='Sponsored with a Grant from the National Science Foundation'>
</div>
-<div id="Taxonomy" class="tabcontent">
+<div id="Circoviridae" class="tabcontent">
+ <h3><i>Circoviridae</i></h3>
+<p>
+<br>
+Many animal-infecting CRESS-DNA viruses are classified into the <a href="http://jgv.microbiologyresearch.org/content/journal/jgv/10.1099/jgv.0.000871"><i>Circoviridae</i> family</a>. There are two genera within the group, the older <i>Circovirus</i> and the more recently codified <i>Cyclovirus</i>, but both are well represented. At least one disease of economic importance is associated with circovirus infections: <a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3652492/">post-weaning maturation wasting syndrome</a> in pigs (caused in part by porcine circovirus 2, which is now largely controlled through <a hfref="https://www.ncbi.nlm.nih.gov/pubmed/27769529">vaccination in commercial hog production</a>). However, several worldwide veterinary diseases are due to circoviruses, including <a href="https://en.wikipedia.org/wiki/Psittacine_beak_and_feather_disease">beak and feather disease</a> and <a href="https://www.ncbi.nlm.nih.gov/pubmed/28242782">fatal acute diarrhea</a> in dogs.
+</p>
+<figure>
+ <img class=scaled src="../DogCV.png", alt='missing' />
+ <figcaption><a href="https://wwwnc.cdc.gov/eid/article/19/4/12-1390-f2">Gastrointestinal system of dogs infected with dog circovirus</a> (DogCV) with hemorrhaging in stomach and intestines. CC-BY Li et al. 2013</figcaption>
+</figure>
+<figure>
+ <img class=scaled src="../PCV2.jpg", alt='missing' />
+ <figcaption><a href="https://virologyj.biomedcentral.com/articles/10.1186/1743-422X-8-291">Immune electron microscopy image of PCV2</a> (porcine circovirus 2) particles. CC-BY Guo et al. 2011</figcaption>
+</figure>
+<p>
+While some of the environmental isolates assigned to <i>Circoviridae</i> have genomes over 3,000 and 4,000 bases, it also contains some of the smallest genomes of CRESS-DNA viruses - some well-studied circoviruses have genomes about 1700nt long, and circularized putative genomes from metagenomics studies can be even smaller. Most analyzed sequences have two ORFs: the replication-associated protein (Rep, also referred to as the replication initiator protein) and capsid protein (Cp or Cap), with some isolates having had a third ORF experimentally verified, and some sequences having many hypothetical ORFs called that have not yet been studied in the lab.
+</p>
+<p>
+Both cycloviruses and circoviruses have non-enveloped, icosahedral virions of 15-25nm encapsidating their circular, ssDNA genomes, but while members of <i>Circovirus</i> are found infecting or associated with mammals, birds and fish, cycloviruses have been found infecting or associated with mammals, birds and insects. Sequences assigned to <i>Circovirus</i> have ambisense genomes, with the Rep gene in sense, sequences in Cyclovirus typically are ambisense in the opposite orientation (Rep gene in anti-sense).
+</p>
+<p>
+A great <a href="http://jgv.microbiologyresearch.org/content/journal/jgv/10.1099/jgv.0.000871">primer</a> on <i>Circoviridae</i>
+</p>
+<p>
+For more information about <i>Circovirus</i>:
+<br>
+<a href="https://talk.ictvonline.org/ictv-reports/ictv_online_report/ssdna-viruses/w/circoviridae/659/genus-circovirus">ICTV report</a> on circovirus<br>
+<a href="https://viralzone.expasy.org/118">ExPASy ViralZone summary of circovirus</a>
+Type species: <i>Porcine circovirus</i> 1 (<a href="https://www.ncbi.nlm.nih.gov/nuccore/12280941">NC_001792.2</a>)
+</p>
+<p>
+For more information about <i>Cyclovirus</i>:
+<br>
+<a href="https://talk.ictvonline.org/ictv-reports/ictv_online_report/ssdna-viruses/w/circoviridae/660/genus-cyclovirus">ICTV report</a> on cyclovirus<br>
+<a href="https://viralzone.expasy.org/7296">ExPASy ViralZone summary of cyclovirus</a>
+Type species: <i>Human-associated cyclovirus 8</i> (<a href="https://www.ncbi.nlm.nih.gov/nuccore/KF031466">KF031466</a>)
+</p>
+</div>
+
+<div id="Nanoviridae" class="tabcontent">
+<h3><i>Nanoviridae</i></h3>
+<p>
+The plant infecting CRESS-DNA viruses with more than two genomic segments belong in the family <a href="https://talk.ictvonline.org/ictv-reports/ictv_9th_report/ssdna-viruses-2011/w/ssdna_viruses/149/nanoviridae"><i>Nanoviridae</i></a>, which includes the genera <i>Babuvirus</i> and <i>Nanovirus</i>. One of the most economically important species in the family <i>Nanoviridae</i> is Banana bunchy top virus (BBTV), the type species of babuvirus. BBTV causes <a href="http://www.promusa.org/Bunchy+top">banana bunchy top disease</a>, which is common in banana growing areas such as Southeast Asia, the South Pacific, India and Africa. This virus is transmitted by the banana aphid and causes <a href="http://www.musarama.org/en/image/bunchy-top-symptom-81.html">plant crumpling, shrinking and chlorosis</a>, which may develop into necrosis.
+<br>
+<figure>
+ <img class=scaled src="../bbv.jpg", alt='missing', width="512", height="384"/>
+ <figcaption>Banana bunchy top, caused by Banana bunchy top virus (BBTV). CC-BY Scott Nelson 2014.</figcaption>
+</figure>
+
+<p>
+Viruses in the Family Nanoviridae have <a href="https://talk.ictvonline.org/ictv-reports/ictv_9th_report/ssdna-viruses-2011/w/ssdna_viruses/149/nanoviridae">multipartite genomes</a> consisting of 6 to 8 ~1000 nucleotide segments of circular ssDNA. Five of these DNA components are shared between babuviruses and nanoviruses. <a href="https://talk.ictvonline.org/ictv-reports/ictv_9th_report/ssdna-viruses-2011/w/ssdna_viruses/150/nanoviridae-figures">(DNA-R, -N, -S, -C and -M)</a>. Nanoviruses infect <a href="http://theseedsite.co.uk/monocots2.html">dicots</a>, have 8 genomic DNAs and may include three other DNA components with functions that have yet to be determined (DNA-U1, -U2 and U-4). Babuviruses infect <a href="http://theseedsite.co.uk/monocots2.html">monocots</a>, have 6 genomic DNAs and may include another DNA component with an unknown function (DNA-U4). Each of these components encode a single ORF that is transcribed in one direction, thogh a second putative ORF has been identified on one segment of BBTV (DNA-R). The virions are non-enveloped, sized 17-20nm in diameter and have on CP (coat protein). Additional DNA segments (alphasatellites) are also associated with many viruses in the family and can alter disease symptoms.
+</p>
+
+<p>
+For more information about Nanovirus:
+<br>
+<a href="https://talk.ictvonline.org/ictv-reports/ictv_9th_report/ssdna-viruses-2011/w/ssdna_viruses/149/nanoviridae">ICTV report</a> on nanovirus.
+<br>
+<a href="https://viralzone.expasy.org/565?outline=all_by_species">ExPASy ViralZone summary of nanovirus</a>
+<br>
+Type Species: <i>Subterranean clover stunt virus</i> (<a href="https://www.ncbi.nlm.nih.gov/nuccore/NC_003818.1">NC_003818.1</a>)
+</p>
+
+<p>
+For more information about Babuvirus:
+<br>
+<a href="https://talk.ictvonline.org/ictv-reports/ictv_9th_report/ssdna-viruses-2011/w/ssdna_viruses/149/nanoviridae">ICTV report</a> on babuvirus.
+<br>
+<a href="https://viralzone.expasy.org/564?outline=all_by_species">ExPASy ViralZone summary of babuvirus</a>
+<br>
+Type Species: <i>Banana bunchy top virus</i> (<a href="https://www.ncbi.nlm.nih.gov/nuccore/NC_003479.1">NC_003479.1</a>)
+</p>
+</div>
+
+<div id="Classifier" class="tabcontent">
<h3>Taxonomy</h3>
<form action="classifier.py" method="post"><br>
<textarea rows="4" cols="50" name="fasta" input type="submit">
@@ -248,6 +388,13 @@ MPSKKSGPQPHKRWVFTLNNPSEEEKNKIRELPISLFDYFVCGEEGLEEGRTAHLQGFANFAKKQTFNKVKWYFGARCHI
</div>
+<div id="Contributers" class="tabcontent">
+ <h3>Contributors</h3>
+ <p>This site is under construction</p>
+ <p>Please be patient while we tidy up a bit!</p>
+
+</div>
+
<div id="Results" class="tabcontent">
<h3>Results</h3>
<p>Results from Taxonomy prediction</p>
@@ -255,7 +402,7 @@ MPSKKSGPQPHKRWVFTLNNPSEEEKNKIRELPISLFDYFVCGEEGLEEGRTAHLQGFANFAKKQTFNKVKWYFGARCHI
"""
#Page contents, second part (results fit between body1 and body2)
-body2="""<p>This classifier will return the best fit of the submitted sequence to the training data.<br>
+body2="""<p><br><br>This classifier will return the best fit of the submitted sequence to the training data.<br>
Currently included in the training data:<br>
<li>Circoviridae</li>
<ul>