Spaces:
Sleeping
Sleeping
File size: 4,684 Bytes
6a1cba7 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | #!/usr/bin/env bash
# STEM BIO-AI Clinical Adjacency Detection Scan
# Usage: bash ca_detection_scan.sh /path/to/repo
# Output: detected triggers with severity classification
set -euo pipefail
REPO_PATH="${1:-.}"
print_help() {
echo "STEM BIO-AI Clinical Adjacency Detection Scan"
echo ""
echo "Usage: bash ca_detection_scan.sh [REPO_PATH]"
echo ""
echo " REPO_PATH Path to local repository clone (default: current directory)"
echo ""
echo "Scans import statements, dependencies, and README for clinical"
echo "adjacency triggers. Classifies as CA-DIRECT / CA-INDIRECT / CA-PLANNED."
}
if [ "${1:-}" = "--help" ] || [ "${1:-}" = "-h" ]; then
print_help
exit 0
fi
if [ ! -d "$REPO_PATH" ]; then
echo "ERROR: Directory not found: $REPO_PATH"
exit 1
fi
echo "=== STEM BIO-AI Clinical Adjacency Detection ==="
echo "Target: $REPO_PATH"
echo "Date: $(date -u +%Y-%m-%dT%H:%M:%SZ)"
echo ""
HIGHEST_SEVERITY="none"
TRIGGER_COUNT=0
check_import() {
local pattern="$1"
local label="$2"
local severity="$3"
FOUND=$(grep -rln "$pattern" --include="*.py" "$REPO_PATH" 2>/dev/null || true)
if [ -n "$FOUND" ]; then
echo " [${severity}] ${label}"
echo " Files: $(echo "$FOUND" | tr '\n' ' ')"
TRIGGER_COUNT=$((TRIGGER_COUNT + 1))
case "$severity" in
CA-DIRECT) HIGHEST_SEVERITY="CA-DIRECT" ;;
CA-INDIRECT)
[ "$HIGHEST_SEVERITY" != "CA-DIRECT" ] && HIGHEST_SEVERITY="CA-INDIRECT" ;;
CA-PLANNED)
[ "$HIGHEST_SEVERITY" = "none" ] && HIGHEST_SEVERITY="CA-PLANNED" ;;
esac
fi
}
check_readme() {
local pattern="$1"
local label="$2"
local severity="$3"
README_FILES=$(find "$REPO_PATH" -maxdepth 2 -iname "readme*" -o -iname "SKILL.md" 2>/dev/null || true)
for readme in $README_FILES; do
if grep -qil "$pattern" "$readme" 2>/dev/null; then
echo " [${severity}] ${label} (README: $readme)"
TRIGGER_COUNT=$((TRIGGER_COUNT + 1))
case "$severity" in
CA-DIRECT) HIGHEST_SEVERITY="CA-DIRECT" ;;
CA-INDIRECT)
[ "$HIGHEST_SEVERITY" != "CA-DIRECT" ] && HIGHEST_SEVERITY="CA-INDIRECT" ;;
CA-PLANNED)
[ "$HIGHEST_SEVERITY" = "none" ] && HIGHEST_SEVERITY="CA-PLANNED" ;;
esac
break
fi
done
}
echo "--- CODE_PATH: Import/Dependency Scan ---"
# Medical imaging
check_import "import pydicom\|from pydicom" "pydicom (DICOM imaging)" "CA-INDIRECT"
check_import "import SimpleITK\|from SimpleITK" "SimpleITK (medical imaging)" "CA-INDIRECT"
check_import "import monai\|from monai" "MONAI (medical AI)" "CA-INDIRECT"
check_import "import pathml\|from pathml" "PathML (pathology)" "CA-INDIRECT"
# Drug discovery
check_import "import autodock\|AutoDock\|autodock_vina" "AutoDock Vina (docking)" "CA-INDIRECT"
check_import "import deepchem\|from deepchem" "DeepChem (drug discovery)" "CA-INDIRECT"
check_import "REINVENT\|reinvent" "REINVENT (molecular generation)" "CA-INDIRECT"
# Genomics
check_import "ClinVar\|clinvar" "ClinVar (clinical genomics)" "CA-INDIRECT"
check_import "CPIC\|cpic\|PharmGx\|pharmacogenomic" "Pharmacogenomics (CPIC/PharmGx)" "CA-DIRECT"
check_import "DPYD\|CYP2D6\|CYP2C19\|allele" "Pharmacogene alleles" "CA-DIRECT"
check_import "gnomAD\|gnomad" "gnomAD (population genomics)" "CA-INDIRECT"
check_import "GATK\|gatk" "GATK (diagnostic pipeline)" "CA-INDIRECT"
# Clinical NLP
check_import "import ctakes\|cTAKES" "cTAKES (clinical NLP)" "CA-INDIRECT"
check_import "import medspacy\|from medspacy" "MedSpaCy (clinical NLP)" "CA-INDIRECT"
check_import "ClinicalBERT\|clinicalbert" "ClinicalBERT" "CA-INDIRECT"
# Direct clinical output
check_import "AVOID\|contraindicated\|dosage_adjustment\|treatment_recommendation" "Direct clinical output patterns" "CA-DIRECT"
check_import "patient.*risk.*score\|diagnostic.*classif\|survival.*analysis" "Patient-facing analysis" "CA-DIRECT"
echo ""
echo "--- TEXT_PATH: README Keyword Scan ---"
check_readme "clinical trial" "Clinical trial reference" "CA-INDIRECT"
check_readme "patient data" "Patient data reference" "CA-INDIRECT"
check_readme "FDA clearance\|CE mark\|SaMD" "Regulatory reference" "CA-DIRECT"
check_readme "hospital deployment" "Hospital deployment" "CA-DIRECT"
check_readme "treatment recommendation" "Treatment recommendation" "CA-DIRECT"
check_readme "planned.*clinical\|future.*clinical\|roadmap.*clinical" "Planned clinical capability" "CA-PLANNED"
echo ""
echo "=== Summary ==="
echo "Triggers found: $TRIGGER_COUNT"
echo "Highest severity: $HIGHEST_SEVERITY"
echo ""
if [ "$HIGHEST_SEVERITY" = "none" ]; then
echo "CLINICAL_ADJACENT: false"
else
echo "CLINICAL_ADJACENT: true"
echo "CA_SEVERITY: $HIGHEST_SEVERITY"
fi
|