224 lines
7.0 KiB
Markdown
224 lines
7.0 KiB
Markdown
---
|
|
title: "Infectious Disease Outbreak Intelligence - Phase Details"
|
|
task: ""
|
|
lineage_type: import
|
|
upstream_source: https://github.com/mims-harvard/ToolUniverse/blob/e2520a96/skills/tooluniverse-infectious-disease/phase_details.md
|
|
upstream_sha: e2520a96
|
|
imported_at: 2026-06-26
|
|
prompt_class: prompt
|
|
upstream_changes: accepted
|
|
author: upstream
|
|
validated: false
|
|
---
|
|
|
|
# Infectious Disease Outbreak Intelligence - Phase Details
|
|
|
|
## Phase 1: Pathogen Identification
|
|
|
|
### 1.1 Taxonomic Classification
|
|
|
|
```python
|
|
def identify_pathogen(tu, pathogen_query):
|
|
"""Classify pathogen taxonomically."""
|
|
taxonomy = tu.tools.NCBIDatasets_suggest_taxonomy(query=pathogen_query)
|
|
return {
|
|
'taxid': taxonomy.get('taxid'),
|
|
'scientific_name': taxonomy.get('scientific_name'),
|
|
'rank': taxonomy.get('rank'),
|
|
'lineage': taxonomy.get('lineage'),
|
|
'type': classify_type(taxonomy) # virus, bacteria, fungus, parasite
|
|
}
|
|
```
|
|
|
|
### 1.2 Related Pathogens (Knowledge Transfer)
|
|
|
|
```python
|
|
def find_related_pathogens(tu, taxid):
|
|
"""Find related pathogens for drug knowledge transfer."""
|
|
relatives = tu.tools.NCBI_Taxonomy_get_children(taxid=taxid, rank="genus")
|
|
related_with_drugs = []
|
|
for rel in relatives:
|
|
drugs = tu.tools.ChEMBL_search_targets(
|
|
query=rel['scientific_name'], organism_contains=True
|
|
)
|
|
if drugs:
|
|
related_with_drugs.append({'pathogen': rel, 'drugs': drugs})
|
|
return related_with_drugs
|
|
```
|
|
|
|
### 1.3 Output Example
|
|
|
|
```markdown
|
|
## 1. Pathogen Profile
|
|
|
|
### 1.1 Taxonomic Classification
|
|
|
|
| Property | Value |
|
|
|----------|-------|
|
|
| **Organism** | SARS-CoV-2 |
|
|
| **Taxonomy ID** | 2697049 |
|
|
| **Type** | RNA virus (positive-sense, single-stranded) |
|
|
| **Family** | Coronaviridae |
|
|
| **Genus** | Betacoronavirus |
|
|
|
|
### 1.2 Related Pathogens with Drug Precedent
|
|
|
|
| Relative | Similarity | Approved Drugs | Relevance |
|
|
|----------|------------|----------------|-----------|
|
|
| SARS-CoV | 79% genome | Remdesivir (EUA) | High |
|
|
| MERS-CoV | 50% genome | None approved | Medium |
|
|
```
|
|
|
|
---
|
|
|
|
## Phase 2: Target Identification
|
|
|
|
### 2.1 Essential Protein Identification
|
|
|
|
```python
|
|
def identify_targets(tu, pathogen_name):
|
|
"""Identify essential druggable targets."""
|
|
proteins = tu.tools.UniProt_search(
|
|
query=f"organism:{pathogen_name}", reviewed=True
|
|
)
|
|
targets = []
|
|
for protein in proteins:
|
|
chembl_target = tu.tools.ChEMBL_search_targets(query=protein['gene_name'])
|
|
targets.append({
|
|
'uniprot': protein['accession'],
|
|
'name': protein['protein_name'],
|
|
'function': protein['function'],
|
|
'has_drug_precedent': len(chembl_target) > 0,
|
|
'druggability': assess_druggability(protein)
|
|
})
|
|
return rank_targets(targets)
|
|
```
|
|
|
|
### 2.2 Target Prioritization Criteria
|
|
|
|
| Criterion | Weight | Description |
|
|
|-----------|--------|-------------|
|
|
| **Essentiality** | 30% | Required for replication/survival |
|
|
| **Conservation** | 25% | Conserved across strains/variants |
|
|
| **Druggability** | 25% | Structural features amenable to binding |
|
|
| **Drug precedent** | 20% | Existing drugs for homologous targets |
|
|
|
|
---
|
|
|
|
## Phase 3: Structure Prediction
|
|
|
|
```python
|
|
def predict_target_structure(tu, sequence, target_name):
|
|
"""Predict structure using AlphaFold2 via NVIDIA NIM."""
|
|
structure = tu.tools.NvidiaNIM_alphafold2(
|
|
sequence=sequence, algorithm="mmseqs2", relax_prediction=False
|
|
)
|
|
plddt_scores = parse_plddt(structure)
|
|
return {
|
|
'structure': structure['structure'],
|
|
'mean_plddt': np.mean(plddt_scores),
|
|
'high_confidence_regions': get_high_confidence(plddt_scores),
|
|
'predicted_binding_site': identify_binding_site(structure)
|
|
}
|
|
```
|
|
|
|
### pLDDT Quality Assessment
|
|
|
|
| pLDDT Range | Confidence | Use for Docking |
|
|
|-------------|------------|-----------------|
|
|
| >90 | Very High | Excellent |
|
|
| 70-90 | High | Good |
|
|
| 50-70 | Medium | Use caution |
|
|
| <50 | Low | Not recommended |
|
|
|
|
---
|
|
|
|
## Phase 4: Drug Repurposing Screen
|
|
|
|
### 4.1 Identify Candidates
|
|
|
|
```python
|
|
def get_repurposing_candidates(tu, target_name, pathogen_family):
|
|
"""Find approved drugs to repurpose."""
|
|
candidates = []
|
|
# 1. Drugs approved for related pathogens
|
|
candidates.extend(tu.tools.ChEMBL_search_drugs(
|
|
query=pathogen_family, max_phase=4))
|
|
# 2. Broad-spectrum antivirals
|
|
candidates.extend(tu.tools.ChEMBL_search_drugs(
|
|
query="broad spectrum antiviral", max_phase=4))
|
|
# 3. Drugs with known activity against target class
|
|
candidates.extend(tu.tools.DGIdb_get_drug_gene_interactions(
|
|
genes=[target_name]))
|
|
return deduplicate(candidates)
|
|
```
|
|
|
|
### 4.2 Docking Screen (NVIDIA NIM)
|
|
|
|
```python
|
|
def dock_candidates(tu, target_structure, candidate_smiles_list):
|
|
"""Dock candidate drugs against target."""
|
|
results = []
|
|
for smiles in candidate_smiles_list:
|
|
docking = tu.tools.NvidiaNIM_diffdock(
|
|
protein=target_structure, ligand=smiles, num_poses=5
|
|
)
|
|
results.append({
|
|
'smiles': smiles,
|
|
'top_score': docking['poses'][0]['confidence'],
|
|
'poses': docking['poses']
|
|
})
|
|
return sorted(results, key=lambda x: x['top_score'], reverse=True)
|
|
```
|
|
|
|
---
|
|
|
|
## Phase 4.5: Pathway Analysis
|
|
|
|
```python
|
|
def analyze_pathogen_pathways(tu, pathogen_name, pathogen_type):
|
|
"""Identify druggable metabolic pathways in pathogen."""
|
|
pathways = tu.tools.kegg_search_pathway(query=f"{pathogen_name} metabolism")
|
|
essential_genes = tu.tools.KEGG_get_pathway_genes(
|
|
pathway_id=pathways[0]['pathway_id'])
|
|
host_pathogen = tu.tools.kegg_search_pathway(
|
|
query=f"{pathogen_name} host interaction")
|
|
return {
|
|
'metabolic_pathways': pathways,
|
|
'essential_genes': essential_genes,
|
|
'host_interaction': host_pathogen
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Phase 5: Literature Intelligence
|
|
|
|
```python
|
|
def comprehensive_outbreak_literature(tu, pathogen_name):
|
|
"""Search all literature sources for outbreak intelligence."""
|
|
pubmed = tu.tools.PubMed_search_articles(
|
|
query=f"{pathogen_name} AND (outbreak OR treatment OR drug)",
|
|
limit=50, sort="date")
|
|
biorxiv = tu.tools.BioRxiv_list_recent_preprints(
|
|
query=f"{pathogen_name} treatment mechanism", limit=20)
|
|
medrxiv = tu.tools.MedRxiv_get_preprint(
|
|
query=f"{pathogen_name} clinical trial", limit=20)
|
|
arxiv = tu.tools.ArXiv_search_papers(
|
|
query=f"{pathogen_name} drug discovery", category="q-bio", limit=10)
|
|
trials = tu.tools.search_clinical_trials(
|
|
condition=pathogen_name, status="Recruiting")
|
|
|
|
key_papers = pubmed[:10]
|
|
for paper in key_papers:
|
|
citation = tu.tools.openalex_search_works(query=paper['title'], limit=1)
|
|
paper['citations'] = citation[0].get('cited_by_count', 0) if citation else 0
|
|
|
|
return {
|
|
'pubmed': pubmed, 'biorxiv': biorxiv, 'medrxiv': medrxiv,
|
|
'arxiv': arxiv, 'trials': trials, 'key_papers': key_papers
|
|
}
|
|
```
|
|
|
|
**Note**: Preprints (BioRxiv/MedRxiv) are NOT peer-reviewed but CRITICAL for outbreak intelligence. Always note this caveat in reports.
|