Skip to main content

CTtools: chrysanthemum transcriptome workflows for prebuilt and custom references

Project description

CTtools

CTtools is a private transcriptome workflow toolkit for chrysanthemum projects. It generates LSF/bsub scripts for RNA-seq analysis — it does not run pipelines directly, but produces audit-friendly, modifiable shell scripts for HPC submission.

Author: YifanDong

Current Version: 0.2.5 (Released 2026-05-06)


Installation / 安装

3-step quick start / 三步快速开始

pip install cttools-chrysanthemum      # 1. Install Python package
cttools env save -o ./cttools.yml      # 2. Export Conda environment file
cttools env install --name cttools     # 3. Create Conda environment

Activate and verify / 激活并验证:

conda activate cttools
cttools --help

See INSTALLATION.md for the complete bilingual installation guide, troubleshooting, and alternative workflows.


Design Priority / 设计理念

CTtools encourages users to provide their own reference genome (FASTA), annotation (GFF/GTF) and protein file (PEP) for transparent, reproducible analyses.

Prebuilt species resources are supported as convenience presets, but custom reference workflows are the default recommendation.

Core Capabilities / 核心功能

  • Generate LSF/bsub scripts for RNA-seq workflows
  • Two modes:
    • custom: user-provided references (recommended)
    • prebuilt: registry-managed species resources
  • Stage-level execution: run full workflow or only selected stages
  • Install Conda environments from a bundled YAML file
  • Export the bundled Conda environment YAML to disk (cttools env save)
  • Auto-submit generated scripts to HPC via --submit flag

Stage-Level Execution / 分阶段执行

Prebuilt mode (3 stages)

starrsemmatrix

Custom mode (5 stages, recommended)

agatrsem_prepstarrsemmatrix

Select specific stages with --stages:

# Only reference preparation
cttools lsf-workflow custom \
    --reference-fasta ./ref.fa --reference-gff ./ref.gff \
    --stages agat rsem_prep

# Only mapping and quantification (resume from existing reference)
cttools lsf-workflow custom \
    --reads-dir ./reads --out-root ./out \
    --stages star rsem matrix

Quick Start / 快速使用

# Editable install (development)
pip install -e .
cttools --help
cttools registry list

# Preview conda command without executing
cttools env install --name cttools --dry-run

# Custom full workflow (recommended)
cttools lsf-workflow custom \
    --reference-fasta ./reference.fa \
    --reference-gff ./reference.gff \
    --reads-dir ./raw_reads \
    --out-root ./analysis_output \
    --script-dir ./lsf_scripts

# Prebuilt partial workflow
cttools lsf-workflow prebuilt \
    --species cn_diploid_bramble_head \
    --reads-dir ./raw_reads \
    --out-root ./analysis_output \
    --script-dir ./lsf_scripts \
    --stages matrix

Auto-Submit Feature / 自动提交 (v0.2.2+)

Use --submit to automatically submit generated scripts to the HPC cluster:

cttools lsf-workflow custom \
    --reference-fasta ./reference.fa \
    --reference-gff ./reference.gff \
    --reads-dir ./raw_reads \
    --out-root ./analysis_output \
    --submit

Environment Management / 环境管理

Command Description
cttools env show Print the bundled cttools.yml content
cttools env save -o ./file.yml Export the YAML to disk
cttools env install --name cttools Create conda env (auto-finds YAML)
cttools env install --dry-run Preview what conda would run
cttools env install --mode update Update an existing environment

Note: Starting from v0.2.3, generated LSF scripts no longer source /etc/profile, avoiding COLORTERM: unbound variable failures on hardened cluster shells.

Species Registry / 物种登记表

ID Species Reference
cultivated_hexaploid C. morifolium (Cmo), hexaploid "zhongshanzigui" DOI
cn_diploid_bramble_head C. nankingense (Cn_AB), diploid complete DOI
cn_diploid_bramble_hap C. nankingense (Cn_A), diploid haplotype DOI
wild_chrysanthemum C. seticuspe (CsGojo) Nakano M, et al. 2021
cultivated_hexaploid_hap C. morifolium (Cmo_hap), haplotype (internal) DOI

List all species: cttools registry list

Repository Layout / 项目结构

src/cttools/              Core package
  cli.py                  CLI entry point (argparse dispatch)
  workflows/              LSF script generation (lsf_builder, lsf_workflow, runner)
  resources/              Species registry TSV + cttools.yml (shipped in wheel)
  deg/                    Differential expression gene splitting
  enrichment/             GO/KO annotation background tables
  gene_search/            PEP FASTA parser
  preprocess/             EggNOG annotation parser
  quant/                  STAR/RSEM command builders
  utils/                  FASTQ auto-discovery
  visualization/          Expression matrix row selector
resources/                External registry template (source of truth)
tests/                    Unit and integration tests
scripts/                  Build, release, and validation utilities
docs/                     Architecture and requirement notes

Version History / 版本历史

See CHANGELOG.md for the complete version history.

Related Documents / 相关文档

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cttools_chrysanthemum-0.2.5-py3-none-any.whl (30.2 kB view details)

Uploaded Python 3

File details

Details for the file cttools_chrysanthemum-0.2.5-py3-none-any.whl.

File metadata

File hashes

Hashes for cttools_chrysanthemum-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 62db7780b3675c3348d2fdd7294e3df88515c95c025c9c21c44daba666a07efe
MD5 7fc202ab1e6d6c4e3a9a25376855f562
BLAKE2b-256 3fdb31ebaa5044771cb742db3d858379aeb199b662a96783251a5b2d94beba15

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page