Sync from private dev branch (md-analysis-tools v0.3.0).
## New: mdatools.docking namespace
- fingerprints: ProLIFCalculator
- clustering: cluster_by_kmeans/butina, ChemicalClusteringResult
- analysis: consensus, SAR (MCS/scaffold), strain, validation, vs_metrics (EF/ROC-AUC/BEDROC)
- selection: 11 PoseFilter classes + apply_filters, Pareto ranking
- preparation: ADMEProfiler (Ro5/Veber/QED/PAINS), radar chart
- library_design: ScaffoldAnalyzer, RGroupDecomposer, PharmacophoreModeler,
ensemble_pharmacophore, screen_library
- lbvs: LBVSScreener (Morgan ECFP4 + Tanimoto), diverse_subset (MaxMin)
## New: mdatools.shared namespace
- shared.properties: MolecularProperties, calculate_properties
- shared.posebusters: unified PoseBusters gate
- shared.data.pdb: RCSB PDB download client
- shared.data.klifs: KLIFS REST API client with disk cache
## pyproject.toml
- version: 0.2.2 → 0.3.0
- new optional-dependency group: [docking] (rdkit, scikit-learn, prolif)
248 tests pass.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>