How carinerey/pcoc works
PCOC supports two user-facing workflows: detecting convergent substitutions in an existing alignment/tree and simulating alignments to assess detection power. The detection workflow includes manual transition annotation, model estimation, site scoring/filtering, and optional visualization; simulation includes scenario construction, sequence generation, and benchmarking. Source excerpts confirm key CLI-to-library calls, but omit portions of both drivers, so uncertain internal wiring is not shown.
Main entry points: pcoc_det.py Detection runner · pcoc_sim.py Simulation runner · bpp_lib.py BPP model runner · pcoc_num_tree.py Tree numbering
Components 15
Empirical detection
- Detection runner
src/pcoc_det.py - Tree numbering
src/pcoc_num_tree.py
Power simulation
- Simulation runner
src/pcoc_sim.py - Scenario placement
src/placing.py - Simulated data and benchmarks
src/pcoc_sim.py
Phylogenetic models
- Event annotation
src/events_placing.py - Profile handling
src/profile_tools.py - BPP model runner
src/bpp_lib.py
Analysis outputs
- Likelihood analysis
src/estim_data.py - Tree and score plots
src/plot_data.py - Site scores and plots
src/pcoc_det.py
Other components
- Researcher
- Amino-acid alignment
- Gene tree
- BPP suite
Connections 22
- Researcher → Tree numbering: numbers tree
- Gene tree → Tree numbering: supplies tree
- Researcher → Detection runner: starts analysis
- Amino-acid alignment → Detection runner: supplies alignment
- Gene tree → Detection runner: supplies tree
- Tree numbering → Researcher: returns node labels
- Detection runner → Event annotation: annotates events
- Detection runner → Profile handling: configures profiles
- Detection runner → BPP model runner: requests estimates
- BPP model runner → BPP suite: runs model fitting
- Detection runner → Likelihood analysis: analyzes likelihoods
- Detection runner → Tree and score plots: requests plots
- Detection runner → Site scores and plots: writes scores
- Tree and score plots → Site scores and plots: renders figures
- Researcher → Simulation runner: starts simulation
- Simulation runner → Profile handling: configures profiles
- Simulation runner → Scenario placement: places transitions
- Simulation runner → Event annotation: builds event models
- Simulation runner → BPP model runner: requests simulations
- BPP model runner → BPP suite: runs sequence models
- Simulation runner → Likelihood analysis: benchmarks methods
- Simulation runner → Simulated data and benchmarks: writes alignments and metrics