From aging-clock
DNA 메틸화(DNAm) 데이터로부터 생물학적 나이(Biological Age)를 추정하는 Horvath 스타일 에피제네틱 시계(Epigenetic Clock)를 Python으로 구현·학습·평가·예측하는 전체 파이프라인. 사용자가 "노화 시계", "생물학적 나이 추정", "aging clock", "epigenetic clock", "Horvath clock", "DNA 메틸화로 나이 예측", "Age Acceleration 계산", "GEO 메틸화 데이터 분석", "β값으로 나이 맞히기", "ElasticNet 나이 회귀", "bio age", "에피제네틱 나이" 등을 언급하거나, DNA 메틸화 배열/GEO accession(GSE*)/Illumina 450K/EPIC array 데이터를 다루며 나이를 예측·분석하려 할 때, 혹은 CpG β값 데이터셋을 활용한 회귀 모델을 만들려 할 때 반드시 이 skill을 사용할 것. 한국 환경(WSL2, AWS 서울 리전, PIPA/생명윤리법/IRB/식약처 SaMD/ISMS-P 규제)에 맞춘 로컬라이징까지 포함.
How this skill is triggered — by the user, by Claude, or both
Slash command
/aging-clock:aging-clockThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
DNA 메틸화(β값) 데이터로부터 **생물학적 나이**를 추정하는 Horvath 스타일 에피제네틱 시계를 만들고, **Age Acceleration**(역연령 대비 가속도)을 산출하는 전체 파이프라인입니다.
DNA 메틸화(β값) 데이터로부터 생물학적 나이를 추정하는 Horvath 스타일 에피제네틱 시계를 만들고, Age Acceleration(역연령 대비 가속도)을 산출하는 전체 파이프라인입니다.
핵심 산출물:
.joblib)다음 중 하나라도 해당하면 이 스킬을 로드하고 워크플로우를 따를 것:
단순한 회귀 질문(예: "sklearn ElasticNet 예제")은 이 스킬을 호출하지 않음.
사용자에게 다음을 확인:
references/kr-regulations.md를 먼저 읽을 것scripts/setup_env.sh를 사용자 환경에 맞게 안내. 주요 패키지:
numpy pandas scikit-learn scipy matplotlib seaborn GEOparse joblib
선택 패키지: torch (딥러닝 버전), pyreadr (RData 대응).
한국 네트워크에서 pip이 느리면 카카오 미러(https://mirror.kakao.com/pypi/simple/)를 권장.
두 경로 중 하나:
scripts/data.py의 download_geo() + build_beta_matrix() + extract_age() 사용. 추천 accession은 references/geo-datasets.md 참조.GEO 데이터는 수 GB까지 갈 수 있으므로 디스크 용량·다운로드 시간을 미리 안내할 것.
scripts/data.py의 preprocess_beta()를 그대로 사용:
기본 경로는 ElasticNet(scripts/model.py의 train_clock()):
ElasticNetCV — l1_ratio를 [0.1, 0.5, 0.7, 0.9, 0.95, 0.99, 1.0]에서 탐색n_alphas=50, max_iter=20000딥러닝 버전이 필요하면 scripts/mlp.py의 AgingMLP 사용 (HuberLoss + AdamW, Dropout 0.3).
scripts/evaluate.py를 사용하여:
age_acceleration()으로 잔차 기반 Age Acceleration 산출plot_pred_vs_true()로 산점도 저장 (한글 폰트 자동 설정 포함)outputs/clock_model.jobliboutputs/predictions.csv (샘플ID, 역연령, 예측 나이, Age Acceleration)outputs/pred_vs_true.pngoutputs/meta.json (사용 accession, CpG 수, MAE, Corr, 학습 시각)references/reproducibility-checklist.md의 항목을 하나씩 검토하며 안내.
references/kr-regulations.md를 열어 다음을 확인:
사용자가 "한 번에 돌려줘"라고 요청하면 scripts/run_pipeline.py를 사용:
python scripts/run_pipeline.py \
--geo-id GSEXXXXXX \
--output-dir ./outputs \
--model-type elasticnet \
--seed 42
aging-clock/
├── SKILL.md (이 파일)
├── scripts/
│ ├── setup_env.sh 가상환경 + 패키지 설치
│ ├── data.py GEO 다운로드·β값 행렬·메타데이터·전처리
│ ├── model.py ElasticNet 학습
│ ├── mlp.py PyTorch MLP 버전 (선택)
│ ├── evaluate.py 평가·Age Acceleration·시각화
│ └── run_pipeline.py end-to-end CLI
├── references/
│ ├── geo-datasets.md 추천 GEO accession과 특징
│ ├── reproducibility-checklist.md 재현성·MLOps 체크리스트
│ └── kr-regulations.md 한국 법·제도 상세 (PIPA/IRB/SaMD/ISMS-P)
└── assets/
└── korean-fonts.py matplotlib 한글 폰트 자동 설정 헬퍼
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub gaebalai/claudecode-company --plugin aging-clock