AgentSkillsCN

bio-reporting-jupyter-reports

利用 papermill 对生物信息学分析进行参数化,构建可复现的 Jupyter 笔记本。当您需要生成自动化分析报告,运行基于笔记本的流水线,或创建可共享的计算笔记本时,请使用此方法。

SKILL.md
--- frontmatter
name: bio-reporting-jupyter-reports
description: Creates reproducible Jupyter notebooks for bioinformatics analysis with parameterization using papermill. Use when generating automated analysis reports, running notebook-based pipelines, or creating shareable computational notebooks.
tool_type: python
primary_tool: papermill

Jupyter Reports with Papermill

Parameterized Notebooks

python
import papermill as pm

# Execute notebook with parameters
pm.execute_notebook(
    'analysis_template.ipynb',
    'output_report.ipynb',
    parameters={
        'input_file': 'data/counts.csv',
        'condition_col': 'treatment',
        'fdr_threshold': 0.05
    }
)

Creating Parameterized Templates

Mark a cell with the parameters tag in Jupyter:

python
# Parameters (tag this cell as "parameters")
input_file = 'default.csv'
output_dir = 'results/'
fdr_threshold = 0.05

Batch Processing

python
import papermill as pm
from pathlib import Path

samples = ['sample1', 'sample2', 'sample3']

for sample in samples:
    pm.execute_notebook(
        'qc_template.ipynb',
        f'reports/{sample}_qc.ipynb',
        parameters={'sample_id': sample}
    )

Converting to HTML/PDF

bash
# Single notebook
jupyter nbconvert --to html report.ipynb

# With execution
jupyter nbconvert --execute --to html report.ipynb

# PDF (requires pandoc + LaTeX)
jupyter nbconvert --to pdf report.ipynb

Best Practices

  • Keep analysis code in cells, explanatory text in markdown
  • Use parameters for all configurable values
  • Include version information and timestamps
  • Clear outputs before committing to version control

Related Skills

  • reporting/quarto-reports - Alternative report format
  • reporting/rmarkdown-reports - R-based reports
  • workflows/rnaseq-to-de - Embed in workflows