DNAnalyzer is a powerful, privacy-focused DNA analysis tool using advanced machine learning models for accurate, on-device genomic analysis.
This documentation will guide you through the installation, setup, and usage of DNAnalyzer for various DNA analysis tasks. Whether you're a researcher, educator, or bioinformatics enthusiast, you'll find comprehensive information on all of DNAnalyzer's capabilities.
Before getting started, ensure your system meets the following requirements:
- Operating System: Windows 10+, macOS 10.14+, or Linux (Ubuntu 18.04+)
- Memory: 2GB RAM minimum (4GB+ recommended for large sequences)
- Storage: 200MB for application, additional space for sequence files
- Browser: Chrome 80+, Firefox 75+, Safari 13+, Edge 80+ (for web interface)
- Java Runtime: Java 17+ (for server mode)
DNAnalyzer can be installed and used in multiple ways depending on your needs and technical preferences.
The simplest way to use DNAnalyzer is through our web interface, which requires no installation:
The web interface runs entirely in your browser, ensuring your data never leaves your device.
For more advanced usage or batch processing, you can install DNAnalyzer as a local server:
dnanalyzer.bat
to start the serverhttp://localhost:8080
in your browserchmod +x dnanalyzer.sh
to make the script executable./dnanalyzer.sh
to start the serverhttp://localhost:8080
in your browserchmod +x dnanalyzer.sh
to make the script executable./dnanalyzer.sh
to start the serverhttp://localhost:8080
in your browserFor developers or those who want the latest features, you can build DNAnalyzer from source:
# Clone the repository
git clone https://github.com/VerisimilitudeX/DNAnalyzer.git
cd DNAnalyzer
# Make the Gradle wrapper executable
chmod +x ./gradlew
# Build the project
./gradlew clean bootJar
# Run the server
java -jar build/libs/DNAnalyzer.jar
This guide will help you quickly get started with DNAnalyzer's basic features.
Follow these steps to perform your first DNA sequence analysis:
Navigate to the DNA Analyzer page and upload your FASTA or FASTQ file by dragging it to the upload area or clicking to browse.
Don't have a sequence file? Click "Import Sample" to use a pre-loaded sample sequence.
Choose which analysis features you want to run:
Click the "Start Analysis" button to process your sequence. The analysis time depends on the sequence length and selected options.
Examine the analysis results, which include visualizations, statistics, and detailed information about your sequence.
You can export the results in JSON, CSV, or text format for further processing or documentation.
For large sequences (>1MB), consider using the local server installation for better performance and additional analysis options.
DNAnalyzer provides comprehensive tools to analyze the basic properties of DNA sequences.
One of the fundamental analyses is determining the nucleotide composition of your DNA sequence:
GC content is the percentage of nitrogenous bases in a DNA molecule that are either guanine (G) or cytosine (C):
GC Content (%) = (G + C) / (A + T + G + C) × 100
GC content is important because:
DNAnalyzer provides a RESTful API when running in server mode, allowing programmatic access to all analysis features.
The following endpoints are available when the server is running:
Check server status and version information
{
"status": "running",
"version": "1.0.0",
"uptime": "12h 34m 56s"
}
Analyze a DNA sequence file
Form data with the following parameters:
dnaFile
(required): The DNA sequence file to analyzeoptions
: JSON string with analysis options{
"sequence": {
"length": 1234,
"filename": "example.fa"
},
"basePairs": {
"counts": { "A": 300, "T": 310, "G": 320, "C": 304 },
"percentages": { "A": 24.3, "T": 25.1, "G": 25.9, "C": 24.7 },
"gcContent": 50.6
},
"analysis": {
// Additional analysis results based on options
}
}
Analyze base pair composition of a DNA sequence
{
"sequence": "ATGCATGCATGC"
}
{
"counts": { "A": 3, "T": 3, "G": 3, "C": 3 },
"percentages": { "A": 25, "T": 25, "G": 25, "C": 25 },
"gcContent": 50
}
Here's a simple Python example to interact with the DNAnalyzer API:
import requests
# API base URL
BASE_URL = "http://localhost:8080/api/v1"
# Check server status
response = requests.get(f"{BASE_URL}/status")
print("Server status:", response.json())
# Analyze a sequence
with open("sequence.fa", "rb") as f:
files = {"dnaFile": f}
options = {
"sequence-length": True,
"gc-content": True,
"base-composition": True,
"start-codons": True,
"stop-codons": True
}
data = {"options": json.dumps(options)}
response = requests.post(f"{BASE_URL}/analyze", files=files, data=data)
# Print results
result = response.json()
print(f"Sequence length: {result['sequence']['length']}")
print(f"GC content: {result['basePairs']['gcContent']}%")
Yes, DNAnalyzer is designed with privacy as a fundamental principle. All processing occurs locally on your device, and your DNA sequence data never leaves your system. In web mode, analysis runs directly in your browser, and in server mode, it runs only on your local machine. We don't collect, store, or transmit any of your sequence data.
DNAnalyzer supports the following file formats:
The sequences should contain only A, T, G, C, and N (unknown) nucleotides. Other characters will be treated as unknown bases.
The size limitations depend on the mode of operation:
For very large genomes (e.g., human genome), we recommend using the local server installation with a machine that has at least 8GB of RAM.
Not directly in the current version. DNAnalyzer is designed to work with full DNA sequences rather than SNP genotype data from consumer genetics services. However, we're developing a feature to support genotype data analysis in an upcoming version.
If you have raw data from these services, you would need to convert it to a suitable format before using it with DNAnalyzer.
Yes, DNAnalyzer is completely open source under the MIT License. You can view, modify, and contribute to the code on our GitHub repository.
DNAnalyzer has an active community of users and developers. Here's how you can get involved and find support.
If you need assistance with DNAnalyzer, there are several resources available:
Join our Discord server for real-time assistance and discussions about DNAnalyzer.
Join DiscordDNAnalyzer is an open-source project, and we welcome contributions from the community. There are many ways to contribute:
To get started with contributing, please read our contribution guidelines.
We're committed to providing a welcoming and inclusive environment for all contributors. Please read and follow our Code of Conduct.