Skip to content
Development
Skill

/cancer-research-figure-guide

Cancer Research (AACR) figures: resolution (300-1200 DPI), formats (EPS/TIFF/AI), hierarchical panel labels (Ai, Aii, Bi), figure/table limits, legend requirements with replicate counts.

From plugin
sciagent-skills
364200 skills
Install
$ npx -y skills add jaechang-hits/SciAgent-Skills --skill cancer-research-figure-guide --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/cancer-research-figure-guide

Context preview

The summary Claude sees to decide when to auto-load this skill.

Cancer Research (AACR) figures: resolution (300-1200 DPI), formats (EPS/TIFF/AI), hierarchical panel labels (Ai, Aii, Bi), figure/table limits, legend requirements with replicate counts.

SKILL.md

cancer-research-figure-guide.SKILL.md
name: cancer-research-figure-guide
description: "Cancer Research (AACR) figures: resolution (300-1200 DPI), formats (EPS/TIFF/AI), hierarchical panel labels (Ai, Aii, Bi), figure/table limits, legend requirements with replicate counts."
license: CC-BY-4.0
compatibility: Python 3.10+, Pillow, Matplotlib
metadata:
  authors: HITS
  version: "1.0"

Cancer Research (AACR) Figure Preparation Guide

Overview

This guide provides the complete specifications for preparing figures for submission to **Cancer Research** and other AACR (American Association for Cancer Research) journals. Cancer Research has a distinctive **hierarchical panel labeling system** (Ai, Aii, Bi, Bii) and strict limits on the total number of display items.

**Official reference**: https://aacrjournals.org/pages/article-style-and-format

---

Resolution Requirements

| Image Type | Minimum Resolution | |---|---| | Line art | **1,200 DPI** | | Halftone / color images | **300 DPI** | | Combination artwork | **600-900 DPI** |

from PIL import Image

def check_cancer_res_resolution(image_path, image_type='halftone'):
    """Check if image meets Cancer Research resolution requirements.

    Args:
        image_type: 'lineart' (1200), 'halftone' (300), or 'combination' (600)
    """
    min_dpi = {'lineart': 1200, 'halftone': 300, 'combination': 600}
    required = min_dpi.get(image_type, 300)

    img = Image.open(image_path)
    dpi = img.info.get('dpi', (72, 72))

    print(f"Type: {image_type} | Required: {required} DPI | Actual: {dpi[0]} DPI")
    passed = dpi[0] >= required
    print("PASS" if passed else f"FAIL: Need {required} DPI minimum")

    return passed

---

File Format

| Format | Accepted | |---|---| | **EPS** | Yes | | **TIFF** | Yes | | **AI** (Adobe Illustrator) | Yes | | **PSD** (Photoshop) | Yes | | **PNG** | Yes | | **PS** (PostScript) | Yes |

---

Figure Size and Dimensions

Display Item Limits

| Article Type | Maximum Display Items | |---|---| | Research Articles | **7** figures + tables combined | | Letters | **2** display items total |

  • Each figure must fit on a **single printed page**
  • Figures should be presented in sequential order adjacent to legends

---

Color Mode

  • No strict CMYK/RGB mandate in published guidelines
  • **RGB recommended** for online display
  • Follow general best practices for color accessibility

---

Font Requirements

| Element | Font | Size | |---|---|---| | Manuscript body text | Arial, Helvetica, or Times New Roman | 12 pt | | Figure text | Same fonts | 8-12 pt range |

---

Labeling Conventions

Hierarchical Panel Label System (AACR-Specific)

Cancer Research uses a unique **three-level hierarchical labeling** system:

1. **Level 1**: Capital letters — **A, B, C, D** 2. **Level 2**: Roman numerals — **i, ii, iii, iv** 3. **Level 3**: Lowercase letters — **a, b, c, d**

**Preferred format**: `Ai, Aii, Bi, Bii` (NOT `Aa, Ab, Ba, Bb`)

Labeling Rules

  • **No boxes** around panel labels
  • **No periods** after panel labels
  • Multiple panels should each be labeled and described in the legend

Legend Requirements

  • Figure legends must include the **number of technical AND biological replicates**
  • This is a mandatory requirement for Cancer Research
def generate_cancer_res_labels(n_main_panels, sub_panels_per_main=None):
    """Generate Cancer Research hierarchical panel labels.

    Args:
        n_main_panels: Number of main panels (A, B, C, ...)
        sub_panels_per_main: List of sub-panel counts per main panel,
                             or None for no sub-panels

    Returns:
        List of label strings

    Example:
        generate_cancer_res_labels(3, [2, 3, 1])
        # Returns: ['Ai', 'Aii', 'Bi', 'Bii', 'Biii', 'C']
    """
    import string

    labels = []
    roman = ['i', 'ii', 'iii', 'iv', 'v', 'vi', 'vii', 'viii']

    for i in range(n_main_panels):
        main_label = string.ascii_uppercase[i]

        if sub_panels_per_main and sub_panels_per_main[i] > 1:
            for j in range(sub_panels_per_main[i]):
                labels.append(f"{main_label}{roman[j]}")
        else:
            labels.append(main_label)

    return labels

Example Usage

# 3 main panels: A has 2 sub-panels, B has 3, C has 1
labels = generate_cancer_res_labels(3, [2, 3, 1])
print(labels)
# Output: ['Ai', 'Aii', 'Bi', 'Bii', 'Biii', 'C']

---

Image Integrity and Manipulation Policy

Cancer Research follows general **AACR editorial policies** for image integrity:

  • All image adjustments should be applied uniformly to the entire image
  • No selective enhancement of specific features
  • Original unprocessed data should be available upon request
  • Processing details should be described in Methods

---

Python Quick Start: Full Validation

from PIL import Image
import os

def validate_cancer_res_figure(image_path, image_type='halftone'):
    """Full validation of a figure against Cancer Research requirements."""
    img = Image.open(image_path)
    issues = []

    # 1. Resolution check
    min_dpi = {'lineart': 1200, 'halftone': 300, 'combination': 600}
    required = min_dpi.get(image_type, 300)
    dpi = img.info.get('dpi', (72, 72))
    if dpi[0] < required:
        issues.append(f"Resolution {dpi[0]} DPI below {required} DPI for {image_type}")

    # 2. Color mode check
    if img.mode not in ('RGB', 'RGBA'):
        issues.append(f"Color mode is {img.mode}; RGB recommended")

    # 3. Format check
    fmt = img.format
    accepted = ['TIFF', 'EPS', 'PNG', 'JPEG', 'PDF']
    if fmt and fmt.upper() not in accepted:
        issues.append(f"Format '{fmt}' not in standard list")

    # Report
    print(f"=== Cancer Research Figure Validation ===")
    print(f"Dimensions: {img.size[0]} x {img.size[1]} px")
    print(f"DPI: {dpi[0]} x {dpi[1]}")
    print(f"Color mode: {img.mode}")
    print(f"Format: {fmt}")

    if issues:
        print(f"\nISSUES FOUND ({len(issues)}):")
Read more
Ships withsciagent-skills

Turn your AI coding agent into a life sciences expert — 199 bioinformatics skills for Claude Code covering RNA-seq, single-cell analysis, genomics, proteomics, drug discovery, and more. Boosted BixBench from 65% to 92%. Open source.

Get the whole plugin

Other skills on sciagent-skills.