pysam cho tệp hệ gen
Hướng dẫn dùng pysam để đọc, truy vấn, lọc và ghi các tệp SAM/BAM/CRAM, VCF/BCF, FASTA/FASTQ và tabix một cách chính xác.
Dữ liệu · Phân tíchNâng cao★ 33,030⑂ 3,248Điểm AI 8/10Cập nhật lần cuối: 9 thg 8, 2026
Kỹ năng này làm gì
Giúp Claude chọn đúng API và tham số khi xử lý các định dạng hệ gen dựa trên HTSlib bằng thư viện Python pysam.
- Đọc/ghi/lọc SAM·BAM·CRAM với
AlignmentFilevàAlignedSegment - Xử lý header, tách mẫu, kiểu gen của VCF/BCF với
VariantFile - Truy cập chuỗi và bảng khoảng với
FastaFile,FastxFile,TabixFile - Gọi
pysam.samtools,pysam.bcftoolscho các tác vụ khối lượng lớn: sort, index, merge, view - 4 script kèm theo (
inspect_hts.py,alignment_qc.py,variant_summary.py,filter_alignments.py) để kiểm tra metadata và tóm tắt QC dạng JSON
Điểm đáng giá nhất là phần "hợp đồng tọa độ": tọa độ số là 0-based nửa mở, còn chuỗi vùng kiểu samtools là 1-based bao gồm hai đầu, cùng các mặc định dễ gây sai của pileup() (max_depth=8000, ngưỡng chất lượng base) và yêu cầu tham chiếu cho CRAM 3.1.
Dành cho ai
- Nhà phân tích tin sinh học viết script Python trực tiếp trên BAM/CRAM/VCF
- Kỹ sư dữ liệu tự động hóa bước QC và lọc trong pipeline giải trình tự
- Học viên cao học quen samtools CLI nhưng chưa nắm quy ước API của pysam
- Nhóm nâng cấp môi trường lên pysam 0.24 và cần kiểm tra thay đổi hành vi
Ví dụ sử dụng
- "Đếm read trong chr1:1.000–2.000 của sample.bam với MAPQ ≥ 30, bỏ secondary/supplementary" → sinh code
fetch()đúng hệ tọa độ và điều kiện cờ. - "Chỉ giữ sample_A và sample_B, lọc biến thể FILTER=PASS rồi ghi ra VCF mới" → dùng
subset_samples()trước khi lặp record và sao chép header an toàn. - "CRAM của tôi không mở được" → hướng dẫn đặt
reference_filenamevà khi nào mới cầnREF_PATH/REF_CACHE.
· · · Hướng dẫn cài đặt · · ·
Cài vào ứng dụng Claude (không cần terminal)
- Tải tệp ZIP bằng nút bên dưới.
- Trong Claude, mở Settings → Capabilities và bật 'Code execution and file creation'. (chỉ một lần)
- Vào Customize → Skills → + → 'Upload a skill' rồi tải tệp ZIP lên.
Cài vào Claude Code
Để Claude làm — dán câu dưới đây vào Claude Code
Hãy cài skill mình tìm thấy trên Claude Skill Mart. Copy thư mục skills/pysam từ repo GitHub K-Dense-AI/scientific-agent-skills vào ~/.claude/skills/pysam/ của mình. Sau khi cài xong, cho mình biết skill này làm được gì trong một câu.
Cài bằng lệnh thủ công
git clone https://github.com/K-Dense-AI/scientific-agent-skills.git && mkdir -p ~/.claude/skills && cp -r scientific-agent-skills/skills/pysam ~/.claude/skills/⚠ Đây là skill do người khác tạo. Hãy kiểm tra repo gốc trước khi cài.
- Mở terminal (macOS dùng Terminal, Windows nên dùng WSL).
- Tải repo kỹ năng:
git clone https://github.com/K-Dense-AI/scientific-agent-skills.git - Tạo thư mục skills và copy riêng kỹ năng pysam:
mkdir -p ~/.claude/skills cp -r scientific-agent-skills/skills/pysam ~/.claude/skills/ - Cài thư viện Python với phiên bản ghim:
uv pip install "pysam==0.24.0" # hoặc pip install "pysam==0.24.0" - Kiểm tra:
python -c "import pysam; print(pysam.__version__, pysam.__samtools_version__)" - Khởi động lại Claude Code, rồi yêu cầu ví dụ: "Kiểm tra tệp BAM này bằng pysam".
- Nếu làm việc với CRAM, hãy chuẩn bị sẵn tệp FASTA tham chiếu khớp chính xác (kèm
.fai).
Xem mã nguồn trên GitHub ↗Giấy phép: MIT