|
a |
|
b/web/docs/docs.html |
|
|
1 |
<!DOCTYPE html> |
|
|
2 |
<html lang="en"> |
|
|
3 |
|
|
|
4 |
<head> |
|
|
5 |
<!-- Google tag (gtag.js) --> |
|
|
6 |
<script async src="https://www.googletagmanager.com/gtag/js?id=G-0LTP0WK7EM"></script> |
|
|
7 |
<script> |
|
|
8 |
window.dataLayer = window.dataLayer || []; |
|
|
9 |
function gtag() { dataLayer.push(arguments); } |
|
|
10 |
gtag('js', new Date()); |
|
|
11 |
|
|
|
12 |
gtag('config', 'G-0LTP0WK7EM'); |
|
|
13 |
</script> |
|
|
14 |
<meta charset="UTF-8"> |
|
|
15 |
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|
|
16 |
<title>Documentation - DNAnalyzer</title> |
|
|
17 |
<meta name="description" |
|
|
18 |
content="Comprehensive documentation for DNAnalyzer - Get started with our powerful DNA analysis tools and learn how to use all features."> |
|
|
19 |
|
|
|
20 |
<!-- Stylesheets --> |
|
|
21 |
<link rel="stylesheet" href="../style.css"> |
|
|
22 |
<link rel="stylesheet" href="docs.css"> |
|
|
23 |
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> |
|
|
24 |
<link rel="preconnect" href="https://fonts.googleapis.com"> |
|
|
25 |
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> |
|
|
26 |
<link |
|
|
27 |
href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap" |
|
|
28 |
rel="stylesheet"> |
|
|
29 |
|
|
|
30 |
<!-- Favicon --> |
|
|
31 |
<link rel="shortcut icon" href="../assets/icons/Icon_Dark_BG.svg" type="image/svg+xml"> |
|
|
32 |
</head> |
|
|
33 |
|
|
|
34 |
<body> |
|
|
35 |
<!-- Background effects --> |
|
|
36 |
<div class="bg-gradient"> |
|
|
37 |
<div class="bg-blob bg-blob-1"></div> |
|
|
38 |
<div class="bg-blob bg-blob-2"></div> |
|
|
39 |
</div> |
|
|
40 |
|
|
|
41 |
<div class="notification-banner"> |
|
|
42 |
<span>Exclusive WSSEF Preview: </span> |
|
|
43 |
<span> Transformer Architecture in Epigenomics!</span> |
|
|
44 |
<a href="https://epiclassify.dnanalyzer.org" target="_blank" class="notification-link">Explore Now</a> |
|
|
45 |
<button class="notification-close" aria-label="Dismiss notification"></button> |
|
|
46 |
</div> |
|
|
47 |
|
|
|
48 |
<!-- Navbar --> |
|
|
49 |
<nav class="navbar" id="navbar"> |
|
|
50 |
<div class="container navbar-container"> |
|
|
51 |
<a href="../index.html" class="logo"> |
|
|
52 |
<img src="../assets/icons/Icon_Dark_BG.svg" alt="DNAnalyzer Logo"> |
|
|
53 |
<span class="logo-text">DNAnalyzer</span> |
|
|
54 |
</a> |
|
|
55 |
|
|
|
56 |
<button class="mobile-toggle" id="mobileToggle" aria-label="Toggle navigation"> |
|
|
57 |
<i class="fas fa-bars"></i> |
|
|
58 |
</button> |
|
|
59 |
|
|
|
60 |
<ul class="nav-links" id="navLinks"> |
|
|
61 |
<li><a href="../index.html">Home</a></li> |
|
|
62 |
<li><a href="../features/features.html">Features</a></li> |
|
|
63 |
<li><a href="../analyzer/analyzer.html">Analyzer</a></li> |
|
|
64 |
<li><a href="../server/server.html">Server</a></li> |
|
|
65 |
<li><a href="docs.html" class="active">Docs</a></li> |
|
|
66 |
<li><a href="../about/about.html">About</a></li> |
|
|
67 |
</ul> |
|
|
68 |
|
|
|
69 |
<div class="nav-buttons"> |
|
|
70 |
<a href="https://github.com/VerisimilitudeX/DNAnalyzer" class="btn btn-secondary btn-sm"> |
|
|
71 |
<i class="fab fa-github btn-icon"></i> GitHub |
|
|
72 |
</a> |
|
|
73 |
</div> |
|
|
74 |
</div> |
|
|
75 |
</nav> |
|
|
76 |
|
|
|
77 |
<!-- Documentation Layout --> |
|
|
78 |
<div class="docs-layout"> |
|
|
79 |
<!-- Sidebar (Left) --> |
|
|
80 |
<aside class="docs-sidebar" id="docsSidebar"> |
|
|
81 |
<div class="sidebar-header"> |
|
|
82 |
<h2>Documentation</h2> |
|
|
83 |
<button class="mobile-close" id="closeSidebar"> |
|
|
84 |
<i class="fas fa-times"></i> |
|
|
85 |
</button> |
|
|
86 |
</div> |
|
|
87 |
|
|
|
88 |
<div class="sidebar-search"> |
|
|
89 |
<div class="search-input-wrapper"> |
|
|
90 |
<i class="fas fa-search"></i> |
|
|
91 |
<input type="text" id="docsSearch" placeholder="Search documentation..."> |
|
|
92 |
</div> |
|
|
93 |
</div> |
|
|
94 |
|
|
|
95 |
<nav class="sidebar-nav"> |
|
|
96 |
<div class="nav-section"> |
|
|
97 |
<h3>Getting Started</h3> |
|
|
98 |
<ul> |
|
|
99 |
<li><a href="#introduction" class="active">Introduction</a></li> |
|
|
100 |
<li><a href="#installation">Installation</a></li> |
|
|
101 |
<li><a href="#quick-start">Quick Start</a></li> |
|
|
102 |
</ul> |
|
|
103 |
</div> |
|
|
104 |
|
|
|
105 |
<div class="nav-section"> |
|
|
106 |
<h3>Core Concepts</h3> |
|
|
107 |
<ul> |
|
|
108 |
<li><a href="#sequence-analysis">Sequence Analysis</a></li> |
|
|
109 |
<li><a href="#codon-detection">Codon Detection</a></li> |
|
|
110 |
<li><a href="#reading-frames">Reading Frames</a></li> |
|
|
111 |
<li><a href="#protein-prediction">Protein Prediction</a></li> |
|
|
112 |
</ul> |
|
|
113 |
</div> |
|
|
114 |
|
|
|
115 |
<div class="nav-section"> |
|
|
116 |
<h3>Advanced Usage</h3> |
|
|
117 |
<ul> |
|
|
118 |
<li><a href="#server-setup">Server Setup</a></li> |
|
|
119 |
<li><a href="#api-reference">API Reference</a></li> |
|
|
120 |
<li><a href="#cli-usage">CLI Usage</a></li> |
|
|
121 |
</ul> |
|
|
122 |
</div> |
|
|
123 |
|
|
|
124 |
<div class="nav-section"> |
|
|
125 |
<h3>Resources</h3> |
|
|
126 |
<ul> |
|
|
127 |
<li><a href="#faq">FAQ</a></li> |
|
|
128 |
<li><a href="#troubleshooting">Troubleshooting</a></li> |
|
|
129 |
<li><a href="#community">Community</a></li> |
|
|
130 |
</ul> |
|
|
131 |
</div> |
|
|
132 |
</nav> |
|
|
133 |
</aside> |
|
|
134 |
|
|
|
135 |
<!-- Content (Right) --> |
|
|
136 |
<div class="docs-content"> |
|
|
137 |
<div class="docs-mobile-header"> |
|
|
138 |
<button class="sidebar-toggle" id="sidebarToggle"> |
|
|
139 |
<i class="fas fa-bars"></i> |
|
|
140 |
</button> |
|
|
141 |
<h2>Documentation</h2> |
|
|
142 |
</div> |
|
|
143 |
|
|
|
144 |
<div class="docs-container"> |
|
|
145 |
<!-- Introduction --> |
|
|
146 |
<section id="introduction" class="doc-section"> |
|
|
147 |
<h1>Introduction to DNAnalyzer</h1> |
|
|
148 |
<p class="lead">DNAnalyzer is a powerful, privacy-focused DNA analysis tool using advanced machine |
|
|
149 |
learning models for accurate, on-device genomic analysis.</p> |
|
|
150 |
|
|
|
151 |
<p>This documentation will guide you through the installation, setup, and usage of DNAnalyzer for |
|
|
152 |
various DNA analysis tasks. Whether you're a researcher, educator, or bioinformatics enthusiast, |
|
|
153 |
you'll find comprehensive information on all of DNAnalyzer's capabilities.</p> |
|
|
154 |
|
|
|
155 |
<div class="info-box"> |
|
|
156 |
<h3>Key Features</h3> |
|
|
157 |
<ul> |
|
|
158 |
<li><strong>Privacy-First Analysis:</strong> All processing occurs on your device, ensuring |
|
|
159 |
your genetic data never leaves your system.</li> |
|
|
160 |
<li><strong>Machine Learning Powered:</strong> Advanced ML algorithms provide exceptional |
|
|
161 |
accuracy in sequence analysis.</li> |
|
|
162 |
<li><strong>Comprehensive Tools:</strong> From basic sequence statistics to advanced protein |
|
|
163 |
prediction and promoter detection.</li> |
|
|
164 |
<li><strong>Open Source:</strong> DNAnalyzer is completely open source under the MIT |
|
|
165 |
License.</li> |
|
|
166 |
</ul> |
|
|
167 |
</div> |
|
|
168 |
|
|
|
169 |
<h2>System Requirements</h2> |
|
|
170 |
<p>Before getting started, ensure your system meets the following requirements:</p> |
|
|
171 |
|
|
|
172 |
<div class="code-block"> |
|
|
173 |
<div class="code-header"> |
|
|
174 |
<span class="code-label">System Requirements</span> |
|
|
175 |
<button class="copy-button">Copy</button> |
|
|
176 |
</div> |
|
|
177 |
<pre><code>- Operating System: Windows 10+, macOS 10.14+, or Linux (Ubuntu 18.04+) |
|
|
178 |
- Memory: 2GB RAM minimum (4GB+ recommended for large sequences) |
|
|
179 |
- Storage: 200MB for application, additional space for sequence files |
|
|
180 |
- Browser: Chrome 80+, Firefox 75+, Safari 13+, Edge 80+ (for web interface) |
|
|
181 |
- Java Runtime: Java 17+ (for server mode)</code></pre> |
|
|
182 |
</div> |
|
|
183 |
</section> |
|
|
184 |
|
|
|
185 |
<!-- Installation --> |
|
|
186 |
<section id="installation" class="doc-section"> |
|
|
187 |
<h1>Installation</h1> |
|
|
188 |
<p>DNAnalyzer can be installed and used in multiple ways depending on your needs and technical |
|
|
189 |
preferences.</p> |
|
|
190 |
|
|
|
191 |
<h2>Web Interface (No Installation)</h2> |
|
|
192 |
<p>The simplest way to use DNAnalyzer is through our web interface, which requires no installation: |
|
|
193 |
</p> |
|
|
194 |
<ol> |
|
|
195 |
<li>Visit <a href="../analyzer/analyzer.html">DNAnalyzer Web App</a></li> |
|
|
196 |
<li>Upload your DNA sequence files</li> |
|
|
197 |
<li>Select analysis options and get results</li> |
|
|
198 |
</ol> |
|
|
199 |
<p>The web interface runs entirely in your browser, ensuring your data never leaves your device.</p> |
|
|
200 |
|
|
|
201 |
<h2>Local Server Installation</h2> |
|
|
202 |
<p>For more advanced usage or batch processing, you can install DNAnalyzer as a local server:</p> |
|
|
203 |
|
|
|
204 |
<div class="tabs"> |
|
|
205 |
<div class="tab-header"> |
|
|
206 |
<button class="tab-button active" data-tab="windows">Windows</button> |
|
|
207 |
<button class="tab-button" data-tab="macos">macOS</button> |
|
|
208 |
<button class="tab-button" data-tab="linux">Linux</button> |
|
|
209 |
</div> |
|
|
210 |
|
|
|
211 |
<div class="tab-content active" id="windows"> |
|
|
212 |
<ol> |
|
|
213 |
<li>Download the latest <a |
|
|
214 |
href="https://github.com/VerisimilitudeX/DNAnalyzer/releases">DNAnalyzer |
|
|
215 |
release</a> for Windows</li> |
|
|
216 |
<li>Extract the ZIP file to your preferred location</li> |
|
|
217 |
<li>Ensure Java 17 or newer is installed on your system</li> |
|
|
218 |
<li>Double-click on <code>dnanalyzer.bat</code> to start the server</li> |
|
|
219 |
<li>Access the interface at <code>http://localhost:8080</code> in your browser</li> |
|
|
220 |
</ol> |
|
|
221 |
</div> |
|
|
222 |
|
|
|
223 |
<div class="tab-content" id="macos"> |
|
|
224 |
<ol> |
|
|
225 |
<li>Download the latest <a |
|
|
226 |
href="https://github.com/VerisimilitudeX/DNAnalyzer/releases">DNAnalyzer |
|
|
227 |
release</a> for macOS</li> |
|
|
228 |
<li>Extract the ZIP file to your preferred location</li> |
|
|
229 |
<li>Ensure Java 17 or newer is installed on your system</li> |
|
|
230 |
<li>Open Terminal and navigate to the extracted folder</li> |
|
|
231 |
<li>Run <code>chmod +x dnanalyzer.sh</code> to make the script executable</li> |
|
|
232 |
<li>Execute <code>./dnanalyzer.sh</code> to start the server</li> |
|
|
233 |
<li>Access the interface at <code>http://localhost:8080</code> in your browser</li> |
|
|
234 |
</ol> |
|
|
235 |
</div> |
|
|
236 |
|
|
|
237 |
<div class="tab-content" id="linux"> |
|
|
238 |
<ol> |
|
|
239 |
<li>Download the latest <a |
|
|
240 |
href="https://github.com/VerisimilitudeX/DNAnalyzer/releases">DNAnalyzer |
|
|
241 |
release</a> for Linux</li> |
|
|
242 |
<li>Extract the archive to your preferred location</li> |
|
|
243 |
<li>Ensure Java 17 or newer is installed on your system</li> |
|
|
244 |
<li>Open Terminal and navigate to the extracted folder</li> |
|
|
245 |
<li>Run <code>chmod +x dnanalyzer.sh</code> to make the script executable</li> |
|
|
246 |
<li>Execute <code>./dnanalyzer.sh</code> to start the server</li> |
|
|
247 |
<li>Access the interface at <code>http://localhost:8080</code> in your browser</li> |
|
|
248 |
</ol> |
|
|
249 |
</div> |
|
|
250 |
</div> |
|
|
251 |
|
|
|
252 |
<h2>Building from Source</h2> |
|
|
253 |
<p>For developers or those who want the latest features, you can build DNAnalyzer from source:</p> |
|
|
254 |
|
|
|
255 |
<div class="code-block"> |
|
|
256 |
<div class="code-header"> |
|
|
257 |
<span class="code-label">Building from Source</span> |
|
|
258 |
<button class="copy-button">Copy</button> |
|
|
259 |
</div> |
|
|
260 |
<pre><code># Clone the repository |
|
|
261 |
git clone https://github.com/VerisimilitudeX/DNAnalyzer.git |
|
|
262 |
cd DNAnalyzer |
|
|
263 |
|
|
|
264 |
# Make the Gradle wrapper executable |
|
|
265 |
chmod +x ./gradlew |
|
|
266 |
|
|
|
267 |
# Build the project |
|
|
268 |
./gradlew clean bootJar |
|
|
269 |
|
|
|
270 |
# Run the server |
|
|
271 |
java -jar build/libs/DNAnalyzer.jar</code></pre> |
|
|
272 |
</div> |
|
|
273 |
</section> |
|
|
274 |
|
|
|
275 |
<!-- Quick Start --> |
|
|
276 |
<section id="quick-start" class="doc-section"> |
|
|
277 |
<h1>Quick Start Guide</h1> |
|
|
278 |
<p>This guide will help you quickly get started with DNAnalyzer's basic features.</p> |
|
|
279 |
|
|
|
280 |
<h2>Analyzing Your First DNA Sequence</h2> |
|
|
281 |
<p>Follow these steps to perform your first DNA sequence analysis:</p> |
|
|
282 |
|
|
|
283 |
<div class="steps"> |
|
|
284 |
<div class="step"> |
|
|
285 |
<div class="step-number">1</div> |
|
|
286 |
<div class="step-content"> |
|
|
287 |
<h3>Upload a Sequence</h3> |
|
|
288 |
<p>Navigate to the <a href="../analyzer/analyzer.html">DNA Analyzer</a> page and upload |
|
|
289 |
your FASTA or FASTQ file by dragging it to the upload area or clicking to browse. |
|
|
290 |
</p> |
|
|
291 |
<p><strong>Don't have a sequence file?</strong> Click "Import Sample" to use a |
|
|
292 |
pre-loaded sample sequence.</p> |
|
|
293 |
</div> |
|
|
294 |
</div> |
|
|
295 |
|
|
|
296 |
<div class="step"> |
|
|
297 |
<div class="step-number">2</div> |
|
|
298 |
<div class="step-content"> |
|
|
299 |
<h3>Select Analysis Options</h3> |
|
|
300 |
<p>Choose which analysis features you want to run:</p> |
|
|
301 |
<ul> |
|
|
302 |
<li><strong>Basic Analysis:</strong> Sequence length, GC content, base composition |
|
|
303 |
</li> |
|
|
304 |
<li><strong>Codon Analysis:</strong> Start codons, stop codons, reading frames</li> |
|
|
305 |
<li><strong>Advanced Features:</strong> Coverage analysis, protein prediction, |
|
|
306 |
promoter detection</li> |
|
|
307 |
</ul> |
|
|
308 |
</div> |
|
|
309 |
</div> |
|
|
310 |
|
|
|
311 |
<div class="step"> |
|
|
312 |
<div class="step-number">3</div> |
|
|
313 |
<div class="step-content"> |
|
|
314 |
<h3>Run Analysis</h3> |
|
|
315 |
<p>Click the "Start Analysis" button to process your sequence. The analysis time depends |
|
|
316 |
on the sequence length and selected options.</p> |
|
|
317 |
</div> |
|
|
318 |
</div> |
|
|
319 |
|
|
|
320 |
<div class="step"> |
|
|
321 |
<div class="step-number">4</div> |
|
|
322 |
<div class="step-content"> |
|
|
323 |
<h3>Review Results</h3> |
|
|
324 |
<p>Examine the analysis results, which include visualizations, statistics, and detailed |
|
|
325 |
information about your sequence.</p> |
|
|
326 |
<p>You can export the results in JSON, CSV, or text format for further processing or |
|
|
327 |
documentation.</p> |
|
|
328 |
</div> |
|
|
329 |
</div> |
|
|
330 |
</div> |
|
|
331 |
|
|
|
332 |
<div class="info-box tip"> |
|
|
333 |
<h3>Pro Tip</h3> |
|
|
334 |
<p>For large sequences (>1MB), consider using the local server installation for better |
|
|
335 |
performance and additional analysis options.</p> |
|
|
336 |
</div> |
|
|
337 |
</section> |
|
|
338 |
|
|
|
339 |
<!-- Sequence Analysis --> |
|
|
340 |
<section id="sequence-analysis" class="doc-section"> |
|
|
341 |
<h1>Sequence Analysis</h1> |
|
|
342 |
<p>DNAnalyzer provides comprehensive tools to analyze the basic properties of DNA sequences.</p> |
|
|
343 |
|
|
|
344 |
<h2>Base Composition Analysis</h2> |
|
|
345 |
<p>One of the fundamental analyses is determining the nucleotide composition of your DNA sequence: |
|
|
346 |
</p> |
|
|
347 |
|
|
|
348 |
<ul> |
|
|
349 |
<li><strong>Nucleotide Counts:</strong> Total count of A, T, G, C, and any other bases (N) in |
|
|
350 |
the sequence</li> |
|
|
351 |
<li><strong>Percentage Distribution:</strong> Proportion of each nucleotide type</li> |
|
|
352 |
<li><strong>Visualization:</strong> Interactive bar chart showing the distribution</li> |
|
|
353 |
</ul> |
|
|
354 |
|
|
|
355 |
<h2>GC Content Analysis</h2> |
|
|
356 |
<p>GC content is the percentage of nitrogenous bases in a DNA molecule that are either guanine (G) |
|
|
357 |
or cytosine (C):</p> |
|
|
358 |
|
|
|
359 |
<div class="code-block"> |
|
|
360 |
<div class="code-header"> |
|
|
361 |
<span class="code-label">GC Content Formula</span> |
|
|
362 |
<button class="copy-button">Copy</button> |
|
|
363 |
</div> |
|
|
364 |
<pre><code>GC Content (%) = (G + C) / (A + T + G + C) × 100</code></pre> |
|
|
365 |
</div> |
|
|
366 |
|
|
|
367 |
<p>GC content is important because:</p> |
|
|
368 |
<ul> |
|
|
369 |
<li>It affects DNA stability (higher GC content = more stable)</li> |
|
|
370 |
<li>GC-rich regions often indicate regulatory elements and gene-dense areas</li> |
|
|
371 |
<li>Different organisms have characteristic GC content ranges</li> |
|
|
372 |
</ul> |
|
|
373 |
|
|
|
374 |
<div class="info-box"> |
|
|
375 |
<h3>Interpreting GC Content</h3> |
|
|
376 |
<ul> |
|
|
377 |
<li><strong>Low GC (< 40%):</strong> Common in AT-rich genomes like certain bacteria</li> |
|
|
378 |
<li><strong>Medium GC (40-60%):</strong> Typical of many eukaryotic genomes, including |
|
|
379 |
humans</li> |
|
|
380 |
<li><strong>High GC (> 60%):</strong> Often found in gene-rich regions and certain |
|
|
381 |
prokaryotes</li> |
|
|
382 |
</ul> |
|
|
383 |
</div> |
|
|
384 |
</section> |
|
|
385 |
|
|
|
386 |
<!-- More sections would continue here... --> |
|
|
387 |
|
|
|
388 |
<!-- API Reference --> |
|
|
389 |
<section id="api-reference" class="doc-section"> |
|
|
390 |
<h1>API Reference</h1> |
|
|
391 |
<p>DNAnalyzer provides a RESTful API when running in server mode, allowing programmatic access to |
|
|
392 |
all analysis features.</p> |
|
|
393 |
|
|
|
394 |
<h2>API Endpoints</h2> |
|
|
395 |
<p>The following endpoints are available when the server is running:</p> |
|
|
396 |
|
|
|
397 |
<div class="api-endpoint"> |
|
|
398 |
<div class="endpoint-method get">GET</div> |
|
|
399 |
<div class="endpoint-path">/api/v1/status</div> |
|
|
400 |
<div class="endpoint-description"> |
|
|
401 |
<p>Check server status and version information</p> |
|
|
402 |
<h4>Response</h4> |
|
|
403 |
<div class="code-block"> |
|
|
404 |
<pre><code>{ |
|
|
405 |
"status": "running", |
|
|
406 |
"version": "1.0.0", |
|
|
407 |
"uptime": "12h 34m 56s" |
|
|
408 |
}</code></pre> |
|
|
409 |
</div> |
|
|
410 |
</div> |
|
|
411 |
</div> |
|
|
412 |
|
|
|
413 |
<div class="api-endpoint"> |
|
|
414 |
<div class="endpoint-method post">POST</div> |
|
|
415 |
<div class="endpoint-path">/api/v1/analyze</div> |
|
|
416 |
<div class="endpoint-description"> |
|
|
417 |
<p>Analyze a DNA sequence file</p> |
|
|
418 |
<h4>Request</h4> |
|
|
419 |
<p>Form data with the following parameters:</p> |
|
|
420 |
<ul> |
|
|
421 |
<li><code>dnaFile</code> (required): The DNA sequence file to analyze</li> |
|
|
422 |
<li><code>options</code>: JSON string with analysis options</li> |
|
|
423 |
</ul> |
|
|
424 |
<h4>Response</h4> |
|
|
425 |
<div class="code-block"> |
|
|
426 |
<pre><code>{ |
|
|
427 |
"sequence": { |
|
|
428 |
"length": 1234, |
|
|
429 |
"filename": "example.fa" |
|
|
430 |
}, |
|
|
431 |
"basePairs": { |
|
|
432 |
"counts": { "A": 300, "T": 310, "G": 320, "C": 304 }, |
|
|
433 |
"percentages": { "A": 24.3, "T": 25.1, "G": 25.9, "C": 24.7 }, |
|
|
434 |
"gcContent": 50.6 |
|
|
435 |
}, |
|
|
436 |
"analysis": { |
|
|
437 |
// Additional analysis results based on options |
|
|
438 |
} |
|
|
439 |
}</code></pre> |
|
|
440 |
</div> |
|
|
441 |
</div> |
|
|
442 |
</div> |
|
|
443 |
|
|
|
444 |
<div class="api-endpoint"> |
|
|
445 |
<div class="endpoint-method post">POST</div> |
|
|
446 |
<div class="endpoint-path">/api/v1/base-pairs</div> |
|
|
447 |
<div class="endpoint-description"> |
|
|
448 |
<p>Analyze base pair composition of a DNA sequence</p> |
|
|
449 |
<h4>Request</h4> |
|
|
450 |
<div class="code-block"> |
|
|
451 |
<pre><code>{ |
|
|
452 |
"sequence": "ATGCATGCATGC" |
|
|
453 |
}</code></pre> |
|
|
454 |
</div> |
|
|
455 |
<h4>Response</h4> |
|
|
456 |
<div class="code-block"> |
|
|
457 |
<pre><code>{ |
|
|
458 |
"counts": { "A": 3, "T": 3, "G": 3, "C": 3 }, |
|
|
459 |
"percentages": { "A": 25, "T": 25, "G": 25, "C": 25 }, |
|
|
460 |
"gcContent": 50 |
|
|
461 |
}</code></pre> |
|
|
462 |
</div> |
|
|
463 |
</div> |
|
|
464 |
</div> |
|
|
465 |
|
|
|
466 |
<h2>Python Client Example</h2> |
|
|
467 |
<p>Here's a simple Python example to interact with the DNAnalyzer API:</p> |
|
|
468 |
|
|
|
469 |
<div class="code-block"> |
|
|
470 |
<div class="code-header"> |
|
|
471 |
<span class="code-label">Python</span> |
|
|
472 |
<button class="copy-button">Copy</button> |
|
|
473 |
</div> |
|
|
474 |
<pre><code>import requests |
|
|
475 |
|
|
|
476 |
# API base URL |
|
|
477 |
BASE_URL = "http://localhost:8080/api/v1" |
|
|
478 |
|
|
|
479 |
# Check server status |
|
|
480 |
response = requests.get(f"{BASE_URL}/status") |
|
|
481 |
print("Server status:", response.json()) |
|
|
482 |
|
|
|
483 |
# Analyze a sequence |
|
|
484 |
with open("sequence.fa", "rb") as f: |
|
|
485 |
files = {"dnaFile": f} |
|
|
486 |
options = { |
|
|
487 |
"sequence-length": True, |
|
|
488 |
"gc-content": True, |
|
|
489 |
"base-composition": True, |
|
|
490 |
"start-codons": True, |
|
|
491 |
"stop-codons": True |
|
|
492 |
} |
|
|
493 |
data = {"options": json.dumps(options)} |
|
|
494 |
response = requests.post(f"{BASE_URL}/analyze", files=files, data=data) |
|
|
495 |
|
|
|
496 |
# Print results |
|
|
497 |
result = response.json() |
|
|
498 |
print(f"Sequence length: {result['sequence']['length']}") |
|
|
499 |
print(f"GC content: {result['basePairs']['gcContent']}%")</code></pre> |
|
|
500 |
</div> |
|
|
501 |
</section> |
|
|
502 |
|
|
|
503 |
<!-- FAQ Section --> |
|
|
504 |
<section id="faq" class="doc-section"> |
|
|
505 |
<h1>Frequently Asked Questions</h1> |
|
|
506 |
|
|
|
507 |
<div class="faq-item"> |
|
|
508 |
<div class="faq-question"> |
|
|
509 |
<h3>Is my DNA data secure when using DNAnalyzer?</h3> |
|
|
510 |
<i class="fas fa-chevron-down"></i> |
|
|
511 |
</div> |
|
|
512 |
<div class="faq-answer"> |
|
|
513 |
<p>Yes, DNAnalyzer is designed with privacy as a fundamental principle. All processing |
|
|
514 |
occurs locally on your device, and your DNA sequence data never leaves your system. In |
|
|
515 |
web mode, analysis runs directly in your browser, and in server mode, it runs only on |
|
|
516 |
your local machine. We don't collect, store, or transmit any of your sequence data.</p> |
|
|
517 |
</div> |
|
|
518 |
</div> |
|
|
519 |
|
|
|
520 |
<div class="faq-item"> |
|
|
521 |
<div class="faq-question"> |
|
|
522 |
<h3>What file formats does DNAnalyzer support?</h3> |
|
|
523 |
<i class="fas fa-chevron-down"></i> |
|
|
524 |
</div> |
|
|
525 |
<div class="faq-answer"> |
|
|
526 |
<p>DNAnalyzer supports the following file formats:</p> |
|
|
527 |
<ul> |
|
|
528 |
<li>FASTA (.fa, .fasta)</li> |
|
|
529 |
<li>FASTQ (.fastq)</li> |
|
|
530 |
<li>Plain text (.txt) containing DNA sequences</li> |
|
|
531 |
</ul> |
|
|
532 |
<p>The sequences should contain only A, T, G, C, and N (unknown) nucleotides. Other |
|
|
533 |
characters will be treated as unknown bases.</p> |
|
|
534 |
</div> |
|
|
535 |
</div> |
|
|
536 |
|
|
|
537 |
<div class="faq-item"> |
|
|
538 |
<div class="faq-question"> |
|
|
539 |
<h3>How large of a sequence can DNAnalyzer handle?</h3> |
|
|
540 |
<i class="fas fa-chevron-down"></i> |
|
|
541 |
</div> |
|
|
542 |
<div class="faq-answer"> |
|
|
543 |
<p>The size limitations depend on the mode of operation:</p> |
|
|
544 |
<ul> |
|
|
545 |
<li><strong>Web Interface:</strong> Up to around 5MB sequence files, depending on your |
|
|
546 |
browser and device memory</li> |
|
|
547 |
<li><strong>Local Server:</strong> Can handle much larger sequences, typically up to |
|
|
548 |
several hundred MB</li> |
|
|
549 |
</ul> |
|
|
550 |
<p>For very large genomes (e.g., human genome), we recommend using the local server |
|
|
551 |
installation with a machine that has at least 8GB of RAM.</p> |
|
|
552 |
</div> |
|
|
553 |
</div> |
|
|
554 |
|
|
|
555 |
<div class="faq-item"> |
|
|
556 |
<div class="faq-question"> |
|
|
557 |
<h3>Can DNAnalyzer analyze my 23andMe or Ancestry DNA data?</h3> |
|
|
558 |
<i class="fas fa-chevron-down"></i> |
|
|
559 |
</div> |
|
|
560 |
<div class="faq-answer"> |
|
|
561 |
<p>Not directly in the current version. DNAnalyzer is designed to work with full DNA |
|
|
562 |
sequences rather than SNP genotype data from consumer genetics services. However, we're |
|
|
563 |
developing a feature to support genotype data analysis in an upcoming version.</p> |
|
|
564 |
<p>If you have raw data from these services, you would need to convert it to a suitable |
|
|
565 |
format before using it with DNAnalyzer.</p> |
|
|
566 |
</div> |
|
|
567 |
</div> |
|
|
568 |
|
|
|
569 |
<div class="faq-item"> |
|
|
570 |
<div class="faq-question"> |
|
|
571 |
<h3>Is DNAnalyzer open source?</h3> |
|
|
572 |
<i class="fas fa-chevron-down"></i> |
|
|
573 |
</div> |
|
|
574 |
<div class="faq-answer"> |
|
|
575 |
<p>Yes, DNAnalyzer is completely open source under the MIT License. You can view, modify, |
|
|
576 |
and contribute to the code on our <a |
|
|
577 |
href="https://github.com/VerisimilitudeX/DNAnalyzer">GitHub repository</a>.</p> |
|
|
578 |
</div> |
|
|
579 |
</div> |
|
|
580 |
</section> |
|
|
581 |
|
|
|
582 |
<!-- Community Section --> |
|
|
583 |
<section id="community" class="doc-section"> |
|
|
584 |
<h1>Community & Support</h1> |
|
|
585 |
<p>DNAnalyzer has an active community of users and developers. Here's how you can get involved and |
|
|
586 |
find support.</p> |
|
|
587 |
|
|
|
588 |
<h2>Getting Help</h2> |
|
|
589 |
<p>If you need assistance with DNAnalyzer, there are several resources available:</p> |
|
|
590 |
|
|
|
591 |
<div class="community-resources"> |
|
|
592 |
<div class="resource-card"> |
|
|
593 |
<i class="fab fa-discord"></i> |
|
|
594 |
<h3>Discord Community</h3> |
|
|
595 |
<p>Join our Discord server for real-time assistance and discussions about DNAnalyzer.</p> |
|
|
596 |
<a href="https://discord.gg/xNpujz49gj" class="btn btn-secondary btn-sm">Join Discord</a> |
|
|
597 |
</div> |
|
|
598 |
|
|
|
599 |
<div class="resource-card"> |
|
|
600 |
<i class="fab fa-github"></i> |
|
|
601 |
<h3>GitHub Issues</h3> |
|
|
602 |
<p>Report bugs or request features through our GitHub issue tracker.</p> |
|
|
603 |
<a href="https://github.com/VerisimilitudeX/DNAnalyzer/issues" |
|
|
604 |
class="btn btn-secondary btn-sm">GitHub Issues</a> |
|
|
605 |
</div> |
|
|
606 |
|
|
|
607 |
<div class="resource-card"> |
|
|
608 |
<i class="fas fa-book"></i> |
|
|
609 |
<h3>Documentation</h3> |
|
|
610 |
<p>Browse comprehensive guides and tutorials in our documentation.</p> |
|
|
611 |
<a href="docs.html" class="btn btn-secondary btn-sm">View Docs</a> |
|
|
612 |
</div> |
|
|
613 |
</div> |
|
|
614 |
|
|
|
615 |
<h2>Contributing</h2> |
|
|
616 |
<p>DNAnalyzer is an open-source project, and we welcome contributions from the community. There are |
|
|
617 |
many ways to contribute:</p> |
|
|
618 |
|
|
|
619 |
<ul> |
|
|
620 |
<li><strong>Code Contributions:</strong> Help improve DNAnalyzer by fixing bugs or adding new |
|
|
621 |
features</li> |
|
|
622 |
<li><strong>Documentation:</strong> Improve our guides, tutorials, and API documentation</li> |
|
|
623 |
<li><strong>Testing:</strong> Test DNAnalyzer and report issues or suggest improvements</li> |
|
|
624 |
<li><strong>Translations:</strong> Help translate DNAnalyzer into different languages</li> |
|
|
625 |
</ul> |
|
|
626 |
|
|
|
627 |
<p>To get started with contributing, please read our <a |
|
|
628 |
href="https://github.com/VerisimilitudeX/DNAnalyzer/blob/main/CONTRIBUTING.md">contribution |
|
|
629 |
guidelines</a>.</p> |
|
|
630 |
|
|
|
631 |
<div class="info-box"> |
|
|
632 |
<h3>Code of Conduct</h3> |
|
|
633 |
<p>We're committed to providing a welcoming and inclusive environment for all contributors. |
|
|
634 |
Please read and follow our <a |
|
|
635 |
href="https://github.com/VerisimilitudeX/DNAnalyzer/blob/main/CODE_OF_CONDUCT.md">Code |
|
|
636 |
of Conduct</a>.</p> |
|
|
637 |
</div> |
|
|
638 |
</section> |
|
|
639 |
</div> |
|
|
640 |
</div> |
|
|
641 |
</div> |
|
|
642 |
|
|
|
643 |
<!-- Footer --> |
|
|
644 |
<footer class="footer"> |
|
|
645 |
<div class="container"> |
|
|
646 |
<div class="footer-grid"> |
|
|
647 |
<div class="footer-brand"> |
|
|
648 |
<img src="../assets/icons/Icon_Dark_BG.svg" alt="DNAnalyzer Logo"> |
|
|
649 |
<p>DNAnalyzer is a powerful, privacy-focused DNA analysis tool using cutting-edge machine learning |
|
|
650 |
models for accurate, on-device genomic analysis.</p> |
|
|
651 |
|
|
|
652 |
<div class="footer-social"> |
|
|
653 |
<a href="https://www.twitter.com/DNAnalyzer_" class="social-link"> |
|
|
654 |
<i class="fab fa-twitter"></i> |
|
|
655 |
</a> |
|
|
656 |
<a href="https://github.com/VerisimilitudeX/DNAnalyzer" class="social-link"> |
|
|
657 |
<i class="fab fa-github"></i> |
|
|
658 |
</a> |
|
|
659 |
<a href="#" class="social-link"> |
|
|
660 |
<i class="fab fa-twitter"></i> |
|
|
661 |
</a> |
|
|
662 |
</div> |
|
|
663 |
</div> |
|
|
664 |
|
|
|
665 |
<div class="footer-nav"> |
|
|
666 |
<h4>Product</h4> |
|
|
667 |
<ul> |
|
|
668 |
<li><a href="../features/features.html">Features</a></li> |
|
|
669 |
<li><a href="../analyzer/analyzer.html">DNA Analyzer</a></li> |
|
|
670 |
<li><a href="../server/server.html">Server</a></li> |
|
|
671 |
<li><a href="docs.html">Documentation</a></li> |
|
|
672 |
</ul> |
|
|
673 |
</div> |
|
|
674 |
|
|
|
675 |
<div class="footer-nav"> |
|
|
676 |
<h4>Resources</h4> |
|
|
677 |
<ul> |
|
|
678 |
<li><a href="getting-started.md">Getting Started</a></li> |
|
|
679 |
<li><a href="citations.md">Citations</a></li> |
|
|
680 |
<li><a href="research/genes.md">Gene Research</a></li> |
|
|
681 |
<li><a href="samples/cli-arguments-examples.md">CLI Examples</a></li> |
|
|
682 |
</ul> |
|
|
683 |
</div> |
|
|
684 |
|
|
|
685 |
<div class="footer-nav"> |
|
|
686 |
<h4>Community</h4> |
|
|
687 |
<ul> |
|
|
688 |
<li><a href="https://github.com/VerisimilitudeX/DNAnalyzer">GitHub</a></li> |
|
|
689 |
<li><a href="https://discord.gg/xNpujz49gj">Discord</a></li> |
|
|
690 |
<li><a href="contributing/CONTRIBUTING.md">Contributing</a></li> |
|
|
691 |
<li><a href="../CODE_OF_CONDUCT.md">Code of Conduct</a></li> |
|
|
692 |
</ul> |
|
|
693 |
</div> |
|
|
694 |
</div> |
|
|
695 |
|
|
|
696 |
<div class="footer-bottom"> |
|
|
697 |
<div class="footer-copyright"> |
|
|
698 |
Copyright © Piyush Acharya 2025. DNAnalyzer is a fiscally sponsored 501(c)(3) nonprofit (EIN: |
|
|
699 |
81-2908499). MIT License. |
|
|
700 |
</div> |
|
|
701 |
|
|
|
702 |
<div class="footer-links"> |
|
|
703 |
<a href="../LICENSE.md">License</a> |
|
|
704 |
<a href="../SECURITY.md">Security</a> |
|
|
705 |
<a href="../CITATION.cff">Citation</a> |
|
|
706 |
</div> |
|
|
707 |
</div> |
|
|
708 |
</div> |
|
|
709 |
</footer> |
|
|
710 |
|
|
|
711 |
<!-- JavaScript --> |
|
|
712 |
<script src="docs.js"></script> |
|
|
713 |
</body> |
|
|
714 |
|
|
|
715 |
</html> |