polars-bio 유전체 인터벌 분석
Polars 위에서 유전체 구간 연산과 BED/VCF/BAM 파일 입출력을 초고속으로 처리하도록 Claude를 안내하는 스킬.
데이터·분석중급★ 33,030⑂ 3,248AI 점수 8/10마지막 업데이트: 2026. 8. 9.
무엇을 해주나
polars-bio 라이브러리를 정확하게 사용하는 방법을 Claude에게 알려주는 참조형 스킬입니다.
- 인터벌 연산 8종:
overlap,count_overlaps,nearest,merge,cluster,coverage,complement,subtract - 생물정보 파일 I/O: BED, VCF(+Zarr), BAM, CRAM, SAM, GFF/GTF, FASTA, FASTQ, Hi-C pairs를
read_*/scan_*/write_*/sink_*로 처리 - SQL 인터페이스: DataFusion 기반으로 파일을 테이블처럼 등록해 쿼리
- 파일업(depth): BAM/CRAM에서 CIGAR 인식 리드 뎁스 계산
- 스트리밍·클라우드: 메모리보다 큰 데이터의 out-of-core 처리, S3/GCS/Azure 경로 직접 읽기
좌표계(1-based vs 0-based) 처리, .pb 접근자가 LazyFrame에만 붙는다는 점, probe-build 인자 순서 등 실수하기 쉬운 부분도 함께 정리되어 있어 잘못된 코드 생성이 줄어듭니다.
이런 분께 추천
- bioframe/pybedtools를 쓰다가 속도 한계를 느낀 유전체 분석가
- 대용량 VCF/BAM을 노트북 메모리 안에서 다뤄야 하는 연구자
- Polars 기반 파이프라인에 유전체 구간 연산을 붙이려는 데이터 엔지니어
- 클라우드 버킷에 있는 시퀀싱 데이터를 다운로드 없이 조회하고 싶은 팀
활용 예시
- 피크-유전자 주석: "ATAC-seq 피크 BED와 GENCODE GFF를 겹쳐서 각 피크에 가장 가까운 유전자를 붙여줘" →
pb.read_bed+pb.read_gff+pb.nearest파이프라인 생성. - 커버리지 리포트: "타깃 패널 BED 구간별로 aligned.bam의 평균 뎁스를 계산해줘" →
pb.depth(min_mapping_quality=20)후 인터벌 조인. - 클라우드 변이 필터링: "s3://bucket/cohort.vcf.gz에서 QUAL>30인 변이만 SQL로 뽑아 Parquet으로 저장" →
pb.register_vcf+pb.sql+ 스트리밍 collect.
· · · 설치 가이드 · · ·
Claude 앱에 설치 (터미널 필요 없음)
- 아래 버튼으로 ZIP 파일을 받으세요.
- Claude 설정 → Capabilities에서 '코드 실행 및 파일 생성'을 켭니다. (한 번만)
- Claude에서 Customize → Skills → + → '스킬 업로드'를 누르고 받은 ZIP을 올립니다.
Claude Code에 설치
Claude에게 맡기기 — 아래 문장을 Claude Code에 붙여넣으세요
클로드스킬마트에서 찾은 스킬을 설치해줘. GitHub 저장소 K-Dense-AI/scientific-agent-skills 의 skills/polars-bio 폴더를 내 ~/.claude/skills/polars-bio/ 에 그대로 복사해줘. 설치가 끝나면 이 스킬로 무엇을 할 수 있는지 한 줄로 알려줘.
직접 명령으로 설치하기
git clone https://github.com/K-Dense-AI/scientific-agent-skills.git /tmp/sas && cp -r /tmp/sas/skills/polars-bio ~/.claude/skills/⚠ 제3자가 만든 스킬입니다. 설치 전 원본 저장소를 한 번 확인하세요.
- 터미널을 열고 스킬 폴더가 없다면 만듭니다:
mkdir -p ~/.claude/skills - 저장소를 임시 폴더에 내려받습니다:
git clone https://github.com/K-Dense-AI/scientific-agent-skills.git /tmp/sas - 이 스킬만 복사합니다:
cp -r /tmp/sas/skills/polars-bio ~/.claude/skills/ - 파이썬 환경(3.11~3.14)에 라이브러리를 설치합니다:
uv pip install "polars-bio==0.31.0"(pandas 연동이 필요하면"polars-bio[pandas]==0.31.0") - BAM을 다룰 예정이면 인덱스를 준비합니다:
samtools index aligned.bam - S3/GCS/Azure를 쓸 경우 해당 SDK 환경변수(
AWS_ACCESS_KEY_ID,GOOGLE_APPLICATION_CREDENTIALS등)를 설정합니다. - Claude Code를 재시작한 뒤 "polars-bio로 두 BED 파일의 overlap을 계산해줘"라고 요청해 동작을 확인합니다.
GitHub에서 원본 보기 ↗라이선스: MIT