Transcriptomics
Bulk RNA-seq analysis: strand-aware quantification from raw FASTQs to DESeq2 contrasts
Bulk RNA-seq from FASTQs or count matrices to DESeq2 contrasts with pinned STAR and DESeq2 versions, figures, scripts, and a Methods draft [1].
Transcriptomics
Bulk RNA-seq from FASTQs or count matrices to DESeq2 contrasts with pinned STAR and DESeq2 versions, figures, scripts, and a Methods draft [1].
| Category | Details |
|---|---|
| Supported platforms / instruments | Illumina NovaSeq, NextSeq, and HiSeq (paired- and single-end); MGI DNBSEQ-T7 / G400 / G99 when scoped at kickoff; poly(A)+ and rRNA-depleted total RNA; strand-specific and non-strand-specific libraries; pre-built count matrices accepted |
| Input requirements | ≥30 million aligned reads per replicate for standard gene-level DE [2]; ≥50 bp read length; ≥3 biological replicates per condition recommended [1]; higher depth than the ENCODE minimum may be needed for isoform- or fusion-focused work, confirmed at kickoff |
| Reference builds supported | Human GRCh38 (GENCODE v44 / Ensembl 110); mouse GRCm39 (GENCODE vM33 / Ensembl 110); custom references on request |
| Primary tools (with versions) | STAR 2.7.11b; Subread/featureCounts 2.0.8; DESeq2 1.52.0; Salmon 1.10.3; tximport 1.34.0; fastp 0.24.0; FastQC 0.12.1; MultiQC 1.25.1; samtools 1.21; RSeQC 5.0.3; clusterProfiler 4.20.0 |
| Typical turnaround time | 2-4 weeks (standard cohort, 4-12 samples, one contrast); 4-6 weeks (multi-contrast designs, large cohorts, or extensive pathway modeling). Confirmed at kickoff |
| Deliverable formats | .csv count matrices; .rds DESeq2 objects; sorted BAM on request; PDF/SVG figures; HTML QC report; documented R scripts; Methods draft |
| Key cited best-practice reference | Conesa et al. [1], Genome Biology; Love et al. [3], Genome Biology (DESeq2) |
| Custom / bespoke analysis | Non-standard inputs, outputs, and methods scoped at kickoff, for example Salmon-only quantification, edgeR/limma-voom, rMATS splicing, fusion calling, or client-specified contrasts and figures |
Bulk RNA-seq aligns or quasi-maps short reads to a reference genome or transcriptome and aggregates signal into a sample-by-gene count matrix. Each library reports average expression across many cells rather than per-cell counts [1]. scRNA-seq instead assigns UMIs to individual barcodes. Compared with microarrays, RNA-seq can capture novel splice junctions and unannotated transcripts when depth permits. The GTEx v8 resource sequenced 17,382 RNA-seq samples across 54 tissue sites from 948 donors and is widely used as a tissue-level expression atlas [4]. Pepkio starts from FASTQs or existing count matrices and returns QC-audited DE results with documented parameters at each stage. Custom inputs, deliverable formats, and analyses outside the standard workflow are agreed at kickoff. See the bulk RNA-seq glossary.
Bulk RNA-seq is a fit when biological variation is at the sample or condition level, such as drug response, genotype, disease stage, or treatment arms, and tissue composition is fairly stable or deconvolution is acceptable.
| Approach | Best for | Limitations | Approximate cost range |
|---|---|---|---|
| Bulk RNA-seq | Condition contrasts (treated vs. control), pathway enrichment, eQTL-style cohorts, homogeneous cell lines | Averages across cell types; rare populations may fall below detection; composition shifts can confound DE | Lower per-sample sequencing and analysis cost than scRNA-seq for modest cohorts |
| scRNA-seq (droplet) | Cell-type discovery, rare populations, trajectory inference in heterogeneous tissue | Dissociation artifacts; higher per-cell cost; no native spatial context | Library prep, sequencing, and bioinformatics vary by cell count and integration scope |
| Spatial transcriptomics (e.g., 10x Visium, Xenium) | Tissue architecture, microenvironment niches, region-specific expression | Lower depth per cell; sectioning constraints; platform-specific capture | Higher per-study cost than dissociated bulk or scRNA-seq for equivalent gene coverage |
Pepkio confirms FASTQ integrity (or count-matrix dimensions), read layout, library type (poly(A)+, rRNA-depleted, strand-specific), and experimental design. Sample IDs, batch, condition, and covariates are recorded in sample_manifest.csv. Designs with fewer than three biological replicates per condition are flagged before DE testing [1].
Tools used: FastQC 0.12.1 / custom validation scripts
Output: sample_manifest.csv with library IDs, read counts, strandness flags, and QC notes
Adapter contamination, low-quality tails, and overrepresented sequences are assessed per library. When trimming is warranted, reads are filtered before alignment. Aggregated metrics are compiled for review [7].
Tools used: FastQC 0.12.1; fastp 0.24.0; MultiQC 1.25.1
Output: Per-sample FastQC/fastp reports; multiqc_report.html
Paired- or single-end reads are aligned with splice-aware mapping to GRCh38 or GRCm39 with GENCODE annotation. Strand-specific library orientation is set from metadata or inferred from RSeQC when ambiguous [8]. Mapping rates, uniquely mapped reads, and splice junction counts are compared against expected ranges for the library type.
Tools used: STAR 2.7.11b; samtools 1.21
Output: Coordinate-sorted, indexed BAM files; star_log_final.txt per sample
Gene-level read counts are summarized from aligned BAMs using exon-gene overlap rules consistent with the annotation build. Multi-mapping reads are handled per Subread defaults; parameters are recorded for reproducibility [9].
Tools used: Subread/featureCounts 2.0.8
Output: Raw count matrix (counts_raw.csv); featureCounts_summary.txt
Sample-level library sizes, gene detection rates, and pairwise correlations are computed. PCA and hierarchical clustering are used to separate biological condition from sequencing batch when possible. RSeQC reports read distribution over genomic features and confirms strandness [8]. Outlier samples are flagged before modeling.
Tools used: DESeq2 1.52.0 (diagnostics); RSeQC 5.0.3
Output: sample_qc_summary.csv; PCA and correlation heatmaps; RSeQC read-distribution plots
Genes with insufficient counts across samples are removed using a pre-specified rule, typically ≥10 counts in at least n samples, where n equals the smallest replicate group size [3]. Retained and excluded gene counts are logged.
Tools used: DESeq2 1.52.0
Output: Filtered count matrix; gene_filter_log.csv
A design matrix encodes condition, batch, and covariates (e.g., sex, RIN, paired blocking). DESeq2 estimates size factors, dispersions, and Wald statistics for each contrast [3]. Paired designs use ~ subject + condition; multi-factor designs include interaction terms when biologically justified.
Tools used: DESeq2 1.52.0
Output: DESeqDataSet .rds object; dds_results_<contrast>.csv
Log2 fold-changes can be shrunk with DESeq2 lfcShrink using apeglm or ashr on request. Benjamini-Hochberg adjusted p-values from DESeq2 control the false discovery rate across tested genes [3]. Contrasts with no genes passing a pre-agreed FDR threshold are reported with full ranked tables.
Tools used: DESeq2 1.52.0; Bioconductor apeglm on request
Output: deg_results.csv with columns: gene_id, gene_name, baseMean, log2FoldChange, lfcSE, stat, pvalue, padj
Significant genes (padj threshold agreed at kickoff) are tested for over-representation in GO and KEGG gene sets. Dot plots and bar charts summarize enriched terms with gene counts and adjusted p-values [10].
Tools used: clusterProfiler 4.20.0
Output: go_enrichment.csv, kegg_enrichment.csv; enrichment dot plots
MA plots, volcano plots, and top-gene heatmaps are exported at publication resolution. Commented R scripts reproduce each stage from raw inputs. A journal-formatted Methods section cites software versions and reference builds. Salmon 1.10.3 + tximport 1.34.0 quantification is available when clients provide transcriptome references or prefer quasi-mapping without full BAM alignment [11], scoped at kickoff.
Tools used: DESeq2 1.52.0; pheatmap; EnhancedVolcano on request
Output: PDF/SVG figures; R scripts; README; Methods draft; final deliverable bundle
ENCODE recommends ≥30 million aligned reads per replicate for long poly(A)+ RNA-seq libraries and read lengths ≥50 bp [2]. Conesa et al. [1] recommend at least three biological replicates per condition. Pepkio can analyze smaller designs but documents reduced statistical power in the QC report. Targets are confirmed at kickoff.
Yes, with caveats documented in the QC report. Libraries below 30 million aligned reads may lack power for low-abundance genes or isoform-level work [2]. Outlier samples in PCA are flagged before DE. Re-sequencing is discussed when yield threatens the study question.
Yes. Pepkio processes paired- and single-end Illumina FASTQs from NovaSeq, NextSeq, and HiSeq instruments. MGI DNBSEQ-T7, G400, and G99 FASTQs are processed when scoped at kickoff, with adapter and QC validation in the report. Poly(A)+ and rRNA-depleted libraries are supported. Strand-specific orientation is set from library metadata or RSeQC inference [8]. Pre-built count matrices in .csv or .txt can be imported when alignment is already complete.
A standard project (roughly 4-12 samples, one primary contrast, gene-level DE, and GO/KEGG enrichment) typically completes in 2-4 weeks from data receipt. Multi-contrast designs, large cohorts (>24 samples), or extensions such as splicing or fusion analysis may take 4-6 weeks. Milestone check-ins occur during the project. Exact timelines are confirmed at kickoff.
When batch is known and not fully confounded with condition, Pepkio includes batch in the DESeq2 design formula [3]. PCA and correlation heatmaps are reviewed before modeling. Post-hoc batch adjustment with ComBat-seq or surrogate variable analysis is scoped separately when required.
Yes. You retain full ownership of all code, scripts, and results. Pepkio delivers commented R scripts and environment lock files. Objects use standard .rds and .csv formats. R Markdown delivery is available on request.
Yes. Checkpoint reviews occur after QC, after sample-level audit, and before final delivery. You can review contrast definitions, covariate choices, and gene-filtering thresholds within agreed scope. A dedicated scientific contact leads the project.
Clarification of methods, QC thresholds, and minor figure or table revisions within agreed scope (typically ≤20% of deliverables). Substantial new analyses requested by reviewers are scoped separately.
No. Pepkio operates as a fee-for-service provider and does not require co-authorship unless that is discussed in advance.
Yes. Pepkio imports gene-level count matrices in .csv, .tsv, or SummarizedExperiment-compatible formats, validates names against the agreed annotation, and proceeds from sample QC through DESeq2. The Methods draft states the upstream quantification source you provide.
Pepkio defaults to DESeq2 for standard negative-binomial DE on raw counts [3]. edgeR quasi-likelihood F-tests suit some designs with multiple factors. limma-voom fits when voom transformation is preferred or for microarray-style workflows [13, 14]. The Methods draft states the engine and design formula used.
Bulk RNA-seq averages across cell types, so composition shifts can mimic or mask condition effects [1]. Pepkio documents this limitation in the QC report and recommends scRNA-seq or deconvolution when heterogeneity is expected. Cell-type deconvolution, rMATS splicing, fusion calling, and other extensions are scoped as separate milestones at kickoff.
Tell us:
We'll tell you:
Contact us to start with a free consultation. Need everyday bench calculators? Try our free lab tools.