| **Gene Regulatory Network Analysis | AI-Powered Health Predictions | Cloud-Native Platform** |
A cutting-edge, cloud-native platform for multi-scale Gene Regulatory Network (GRN) analysis, incorporating modern AI/ML, high-performance computing, and collaborative science capabilities. Perfect for researchers, bioinformaticians, and healthcare professionals seeking advanced genomic analysis tools.
# Local deployment (development)
./scripts/deploy.sh local
# Production deployment
./scripts/deploy.sh production
The deployment script automatically:
# Validate setup
./scripts/validate_setup.sh
# Start local development environment
make dev-up
# Run tests
make test
GenNet Cloud Platform is an advanced, cloud-native evolution of the legacy GenNet tool, providing:
Keywords: gene regulatory networks, GRN analysis, bioinformatics platform, AI healthcare, personalized medicine, genomic analysis, computational biology
GenNet Cloud Platform empowers researchers and clinicians to:
Target Users: Biologists, bioinformaticians, computational biologists, medical researchers, and healthcare professionals.
graph TD
A[User Interface] --> B[API Gateway]
B --> C[Authentication Service]
C --> D{Authorized?}
D -->|Yes| E[Workflow Service]
D -->|No| F[Access Denied]
E --> G[GRN Service]
G --> H[Neo4j Graph DB]
E --> I[Analysis Services]
I --> J[HPC Orchestrator]
J --> K[Kubernetes Cluster]
K --> L[Results Storage]
L --> M[S3/InfluxDB]
M --> N[Real-time Updates]
N --> A
graph TB
subgraph "Client Layer"
UI[Web UI - Next.js]
SDK[Python SDK]
end
subgraph "API Layer"
GW[API Gateway - Kong]
GQL[GraphQL Service]
end
subgraph "Core Services"
AUTH[Auth Service]
GRN[GRN Service]
WF[Workflow Service]
COLLAB[Collaboration Service]
end
subgraph "Analysis Services"
QUAL[Qualitative Service]
HYB[Hybrid Service]
ML[ML Service]
end
subgraph "Infrastructure"
HPC[HPC Orchestrator]
META[Metadata Service]
end
subgraph "Data Layer"
PG[PostgreSQL]
NEO[Neo4j]
REDIS[Redis]
INF[InfluxDB]
S3[S3]
end
UI --> GW
SDK --> GW
GW --> AUTH
GW --> GQL
GQL --> GRN
GQL --> WF
AUTH --> PG
GRN --> NEO
WF --> REDIS
COLLAB --> REDIS
QUAL --> HPC
HYB --> HPC
ML --> HPC
HPC --> K8S[Kubernetes]
META --> PG
WF --> INF
WF --> S3
See ARCHITECTURE.md for detailed architecture documentation.
from gennet import GenNetClient
# Initialize client
client = GenNetClient(
base_url="https://api.gennet.cloud",
api_key="your-api-key"
)
# Create a new GRN network
network = client.create_network(
name="Sample GRN",
description="Example gene regulatory network",
nodes=[
{"id": "gene1", "type": "gene", "expression": 0.5},
{"id": "gene2", "type": "gene", "expression": 0.3}
],
edges=[
{"source": "gene1", "target": "gene2", "weight": 0.8}
]
)
# Run qualitative analysis
workflow = client.create_workflow(
name="Qualitative Analysis",
workflow_type="qualitative",
network_id=network["id"],
parameters={
"ctl_formula": "AG(g1 > 0.5)",
"k_parameter_range": [1, 10]
}
)
# Monitor progress
status = client.get_workflow_status(workflow["id"])
while status["state"] != "completed":
time.sleep(5)
status = client.get_workflow_status(workflow["id"])
# Retrieve results
results = client.get_workflow_results(workflow["id"])
print("Analysis Results:", results)
import { GenNetCollaboration } from 'gennet-sdk';
const collab = new GenNetCollaboration('wss://api.gennet.cloud/ws');
// Join a workspace
collab.joinWorkspace('workspace-123');
// Listen for real-time updates
collab.on('network-update', (update) => {
console.log('Network updated:', update);
});
// Make changes
collab.updateNode('gene1', { expression: 0.7 });
# Get authentication token
TOKEN=$(curl -X POST https://api.gennet.cloud/auth/login \
-H "Content-Type: application/json" \
-d '{"username":"user","password":"pass"}' | jq -r '.token')
# List networks
curl -H "Authorization: Bearer $TOKEN" \
https://api.gennet.cloud/api/v1/networks
# Create workflow
curl -X POST https://api.gennet.cloud/api/v1/workflows \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "ML Analysis",
"workflow_type": "ml",
"network_id": "net-123",
"parameters": {"algorithm": "GENIE3"}
}'
# Run all tests
make test
# Unit tests only
make test-unit
# Integration tests
make test-integration
# With coverage
make test-coverage
See TESTING.md for detailed testing documentation.
gennet-platform/
โโโ infrastructure/ # Terraform, Kubernetes manifests
โโโ services/ # Microservices
โ โโโ api-gateway/
โ โโโ auth-service/
โ โโโ grn-service/
โ โโโ workflow-service/
โ โโโ qualitative-service/
โ โโโ hybrid-service/
โ โโโ ml-service/
โ โโโ collaboration-service/
โ โโโ metadata-service/
โ โโโ graphql-service/
โ โโโ hpc-orchestrator/
โโโ frontend/ # Next.js web application
โโโ libraries/ # Python SDK
โโโ tools/ # Data ingestion, migration tools
โโโ tests/ # Integration and E2E tests
โโโ docs/ # Documentation
Docker-only (Recommended - no Python venv needed):
SKIP_VENV=true ./scripts/deploy.sh local
Full local deployment (requires python3-venv):
./scripts/deploy.sh local
Production deployment:
./scripts/deploy.sh production
Note: If you encounter
python3-venverrors, either install it (sudo apt install python3.12-venv) or useSKIP_VENV=truefor Docker-only deployment.
The deployment script automatically handles:
See DEPLOYMENT_QUICKSTART.md for quick reference or docs/DEPLOYMENT_GUIDE.md for detailed instructions.
# Start services with Docker Compose
make dev-up
# Run individual services
cd services/auth-service
uvicorn main:app --reload
# Deploy infrastructure
cd infrastructure/terraform
terraform apply
# Deploy services to Kubernetes
kubectl apply -f infrastructure/kubernetes/
from gennet import GenNetClient
client = GenNetClient(base_url="https://api.gennet.com", api_key="your-key")
# List networks
networks = client.list_networks()
# Create workflow
workflow = client.create_workflow(
name="My Analysis",
workflow_type="qualitative",
network_id="network-123"
)
See API.md for complete API documentation.
Import docs/API.postman_collection.json into Postman for interactive API testing.
[Contributing guidelines to be added]
[To be determined]
Status: โ COMPLETE - All planned features implemented and tested.
See COMPLETION_SUMMARY.md for detailed implementation status.
For questions or support, please refer to the documentation or open an issue.