一键导入
sampleinfo
The SampleInfo process is the pipeline entry point that reads sample metadata files, performs statistical analyses, and generates visualization reports.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
The SampleInfo process is the pipeline entry point that reads sample metadata files, performs statistical analyses, and generates visualization reports.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Master skill for generating immunopipe pipeline configurations. Determines pipeline architecture based on data type (scRNA-seq with or without scTCR/BCR-seq) and analysis requirements. Routes to individual process skills for detailed configuration. Use this skill when starting a new immunopipe configuration or modifying pipeline-level options.
Analyzes physicochemical properties of CDR3 amino acid sequences to understand biochemical characteristics of T-cell receptor repertoires. Performs regression analysis between two cell groups at different CDR3 lengths for each physicochemical feature (hydrophobicity, volume, isoelectric point, etc.).
Cluster TCR/BCR clones by CDR3 sequences using GIANA or ClusTCR (both Faiss-based). Adds `CDR3_Cluster` column to metadata for clonotype analysis.
Infer ligand-receptor interactions and cell-cell communication networks from single-cell RNA-seq data using the LIANA+ framework. Identifies potential signaling events between cell types based on gene expression patterns and curated ligand-receptor interaction databases.
Visualize cell-cell communication inference results from CellCellCommunication process. Creates publication-ready network diagrams, heatmaps, and interaction plots to help interpret ligand-receptor interactions between cell types.
Annotates cell clusters with biological cell type labels using multiple methods: direct assignment, ScType, scCATCH, hitype, or CellTypist. This process is essential for interpreting clustering results by assigning meaningful biological identities to each cluster.
| name | sampleinfo |
| description | The SampleInfo process is the pipeline entry point that reads sample metadata files, performs statistical analyses, and generates visualization reports. |
The SampleInfo process is the pipeline entry point that reads sample metadata files, performs statistical analyses, and generates visualization reports.
LoadingRNAFromSeuratNote: Mutually exclusive with LoadingRNAFromSeurat.
[SampleInfo]
cache = true
[SampleInfo.in]
infile = "path/to/sample_info.txt" # Required: yes (unless using LoadingRNAFromSeurat)
[SampleInfo.envs]
sep = "\t" # str - File separator
mutaters = {} # dict - Column transformations using R expressions
save_mutated = false # bool - Save mutated columns to output
exclude_cols = "TCRData,BCRData,RNAData" # Columns hidden in report
defaults = { plot_type = "bar", more_formats = [], save_code = false }
stats = {} # dict - Statistical plot definitions
Required input columns: Sample (unique ID), RNAData (directory path)
Optional columns: TCRData, BCRData, additional metadata
Data format: CSV/TSV with header, RNA data must be Read10X()-compatible
sep (string): Field separator - "\t", ",", ";", or any character
mutaters (dict): R expressions for dplyr::mutate(). Keys are column names, values are R expressions.
mutaters = { "AgeGroup" = "ifelse(Age > 60, 'Senior', 'Adult')" }paired() identifies paired samples: paired(., 'PatientID', 'Timepoint', c('T1', 'T2'))save_mutated (bool): Save mutated columns to output file. Factor columns lose level ordering when saved as text.
exclude_cols (str/list): Comma-separated string or list of columns to exclude from report table.
defaults (dict): Default plot parameters inherited by all plots:
[SampleInfo.envs.defaults]
plot_type = "bar" # Plot type (see External References)
more_formats = [] # Additional formats: ["pdf", "svg"]
save_code = false # Save R code and data
subset = null # dplyr::filter expression
section = null # Report section name
descr = null # Plot description
width = null, height = null, res = 100 # Plot dimensions
stats (dict): Plot definitions. Keys are case names (titles), values inherit from defaults.
| plot_type | Function | Description |
|---|---|---|
pie | PieChart() | Pie chart |
bar | BarPlot() | Bar plot |
box | BoxPlot() | Box plot |
violin | ViolinPlot() | Violin plot |
histogram | Histogram() | Histogram |
density | DensityPlot() | Density plot |
scatter | ScatterPlot() | Scatter plot |
line | LinePlot() | Line plot |
ridge | RidgePlot() | Ridge plot |
heatmap | Heatmap() | Heatmap |
Full reference: https://pwwang.github.io/plotthis/reference/
x = "column_name", y = "column_name" # Axis columns
split_by = "column_name", facet_by = "column_name" # Split/facet
palette = "Paired", alpha = 1.0 # Color and transparency
title = "Plot Title", nrow = 2, ncol = 3 # Layout
legend.position = "right" # Legend placement
subsetsubset = "Sample == 'A'"
subset = "Age > 60"
subset = "Diagnosis %in% c('Colitis', 'Control')"
subset = "Sex == 'F' & Age > 50"
[SampleInfo.in]
infile = "samples.txt"
[SampleInfo.in]
infile = "sample_info.txt"
[SampleInfo.envs.stats."Samples_per_Diagnosis"]
plot_type = "bar"
x = "Sample"
split_by = "Diagnosis"
[SampleInfo.in]
infile = "metadata/samples.tsv"
[SampleInfo.envs]
save_mutated = true
mutaters = { "AgeGroup" = "ifelse(Age > 60, 'Senior', 'Adult')" }
[SampleInfo.envs.stats."N_Samples_per_Diagnosis"]
x = "Sample"
split_by = "Diagnosis"
[SampleInfo.envs.stats."Age_distribution"]
plot_type = "histogram"
x = "Age"
[SampleInfo.envs]
mutaters = { "PairID" = "paired(., 'PatientID', 'Timepoint', c('T1', 'T2'))" }
[SampleInfo.envs.stats."Paired_Samples"]
x = "PairID"
subset = "!is.na(PairID)"
[SampleInfo.envs.stats."Controls_Only"]
x = "Sample"
split_by = "Diagnosis"
subset = "Diagnosis == 'Control'"
SeuratPreparing: Reads sample metadataScRepLoading: Uses TCRData/BCRData columns[SampleInfo.in.infile]sep = "," for CSV)Sample and RNAData columns existsave_mutated for factor columns - use SeuratPreparing.envs.mutaters insteadsep: Single character stringmutaters: Valid R expressionsstats keys: Must be unique case namesdevpars.res: Positive integer (default: 100)Issue: SampleInfo re-runs entire pipeline on parameter change
Solution: Set cache = "force" at pipeline level and [SampleInfo] cache = false
Issue: Factor levels appear in wrong order
Solution: Use SeuratPreparing.envs.mutaters for factor columns
Issue: Plots don't show expected data
Solution: Check column names in x, y, split_by match input file exactly
Issue: Paired sample function returns NA values
Solution: Use uniq = false in paired() or adjust idents parameter
Issue: Mutations not saved for downstream use
Solution: Set save_mutated = true. For Seurat metadata, use SeuratPreparing.envs.mutaters
Issue: Plot type not recognized
Solution: Ensure plot_type is lowercase and maps to a plotthis function