biopipen 0.34.1__tar.gz → 0.34.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of biopipen might be problematic. Click here for more details.
- {biopipen-0.34.1 → biopipen-0.34.2}/PKG-INFO +1 -1
- biopipen-0.34.2/biopipen/__init__.py +1 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/ns/scrna.py +243 -31
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/ns/tcr.py +4 -4
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/MarkersFinder.R +34 -28
- biopipen-0.34.2/biopipen/scripts/scrna/PseudoBulkDEG.R +592 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/ScFGSEA.R +35 -35
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/TopExpressingGenes.R +6 -6
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/ScRepCombiningExpression.R +2 -2
- {biopipen-0.34.1 → biopipen-0.34.2}/pyproject.toml +1 -1
- {biopipen-0.34.1 → biopipen-0.34.2}/setup.py +1 -1
- biopipen-0.34.1/biopipen/__init__.py +0 -1
- biopipen-0.34.1/biopipen/reports/scrna/TopExpressingGenes.svelte +0 -17
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/core/__init__.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/core/config.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/core/config.toml +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/core/defaults.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/core/filters.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/core/proc.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/core/testing.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/ns/__init__.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/ns/bam.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/ns/bed.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/ns/cellranger.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/ns/cellranger_pipeline.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/ns/cnv.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/ns/cnvkit.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/ns/cnvkit_pipeline.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/ns/delim.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/ns/gene.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/ns/gsea.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/ns/misc.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/ns/plot.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/ns/protein.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/ns/regulatory.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/ns/rnaseq.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/ns/scrna_metabolic_landscape.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/ns/snp.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/ns/stats.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/ns/tcgamaf.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/ns/vcf.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/ns/web.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/bam/CNAClinic.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/bam/CNVpytor.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/bam/ControlFREEC.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/cellranger/CellRangerCount.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/cellranger/CellRangerSummary.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/cellranger/CellRangerVdj.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/cnv/AneuploidyScore.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/cnv/AneuploidyScoreSummary.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/cnv/TMADScoreSummary.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/cnvkit/CNVkitDiagram.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/cnvkit/CNVkitHeatmap.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/cnvkit/CNVkitScatter.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/common.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/gsea/FGSEA.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/gsea/GSEA.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/protein/ProdigySummary.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/scrna/CellsDistribution.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/scrna/DimPlots.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/scrna/MarkersFinder.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/scrna/MetaMarkers.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/scrna/RadarPlots.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/scrna_metabolic_landscape/MetabolicFeatures.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/scrna_metabolic_landscape/MetabolicPathwayActivity.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/scrna_metabolic_landscape/MetabolicPathwayHeterogeneity.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/snp/PlinkCallRate.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/snp/PlinkFreq.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/snp/PlinkHWE.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/snp/PlinkHet.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/snp/PlinkIBD.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/tcr/CDR3AAPhyschem.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/tcr/ClonalStats.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/tcr/CloneResidency.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/tcr/Immunarch.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/tcr/SampleDiversity.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/tcr/TCRClusterStats.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/tcr/TESSA.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/tcr/VJUsage.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/utils/misc.liq +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/vcf/TruvariBenchSummary.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/reports/vcf/TruvariConsistency.svelte +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/bam/BamMerge.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/bam/BamSampling.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/bam/BamSort.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/bam/BamSplitChroms.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/bam/BamSubsetByBed.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/bam/CNAClinic.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/bam/CNVpytor.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/bam/ControlFREEC.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/bam/SamtoolsView.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/bed/Bed2Vcf.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/bed/BedConsensus.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/bed/BedLiftOver.sh +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/bed/BedtoolsIntersect.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/bed/BedtoolsMakeWindows.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/bed/BedtoolsMerge.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/cellranger/CellRangerCount.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/cellranger/CellRangerSummary.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/cellranger/CellRangerVdj.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/cnv/AneuploidyScore.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/cnv/AneuploidyScoreSummary.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/cnv/TMADScore.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/cnv/TMADScoreSummary.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/cnvkit/CNVkitAccess.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/cnvkit/CNVkitAutobin.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/cnvkit/CNVkitBatch.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/cnvkit/CNVkitCall.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/cnvkit/CNVkitCoverage.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/cnvkit/CNVkitDiagram.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/cnvkit/CNVkitFix.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/cnvkit/CNVkitGuessBaits.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/cnvkit/CNVkitHeatmap.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/cnvkit/CNVkitReference.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/cnvkit/CNVkitScatter.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/cnvkit/CNVkitSegment.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/cnvkit/guess_baits.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/delim/RowsBinder.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/delim/SampleInfo.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/gene/GeneNameConversion.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/gene/GenePromoters.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/gsea/Enrichr.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/gsea/FGSEA.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/gsea/GSEA.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/gsea/PreRank.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/misc/Config2File.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/misc/Plot.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/misc/Shell.sh +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/misc/Str2File.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/plot/Heatmap.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/plot/Manhattan.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/plot/QQPlot.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/plot/ROC.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/plot/Scatter.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/plot/VennDiagram.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/protein/MMCIF2PDB.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/protein/PDB2Fasta.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/protein/Prodigy.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/protein/ProdigySummary.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/protein/RMSD.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/regulatory/MotifAffinityTest.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/regulatory/MotifAffinityTest_AtSNP.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/regulatory/MotifAffinityTest_MotifBreakR.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/regulatory/MotifScan.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/regulatory/VariantMotifPlot.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/regulatory/motifs-common.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/rnaseq/Simulation-ESCO.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/rnaseq/Simulation-RUVcorr.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/rnaseq/Simulation.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/rnaseq/UnitConversion.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/AnnData2Seurat.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/CCPlotR-patch.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/CellCellCommunication.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/CellCellCommunicationPlots.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/CellTypeAnnotation-celltypist.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/CellTypeAnnotation-direct.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/CellTypeAnnotation-hitype.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/CellTypeAnnotation-sccatch.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/CellTypeAnnotation-sctype.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/CellTypeAnnotation.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/CellsDistribution.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/DimPlots.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/ExprImputation-alra.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/ExprImputation-rmagic.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/ExprImputation-scimpute.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/ExprImputation.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/LoomTo10X.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/MetaMarkers.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/ModuleScoreCalculator.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/RadarPlots.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/SCImpute.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/SCP-plot.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/ScSimulation.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/ScVelo.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/Seurat2AnnData.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/SeuratClusterStats-clustree.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/SeuratClusterStats-dimplots.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/SeuratClusterStats-features.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/SeuratClusterStats-ngenes.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/SeuratClusterStats-stats.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/SeuratClusterStats.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/SeuratClustering.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/SeuratFilter.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/SeuratLoading.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/SeuratMap2Ref.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/SeuratMetadataMutater.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/SeuratPreparing.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/SeuratSplit.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/SeuratSubClustering.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/SeuratSubset.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/SeuratTo10X.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/Slingshot.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/Subset10X.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/celltypist-wrapper.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/sctype.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna/seurat_anndata_conversion.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna_metabolic_landscape/MetabolicFeatures.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna_metabolic_landscape/MetabolicPathwayActivity.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/scrna_metabolic_landscape/MetabolicPathwayHeterogeneity.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/snp/MatrixEQTL.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/snp/Plink2GTMat.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/snp/PlinkCallRate.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/snp/PlinkFilter.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/snp/PlinkFreq.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/snp/PlinkFromVcf.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/snp/PlinkHWE.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/snp/PlinkHet.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/snp/PlinkIBD.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/snp/PlinkSimulation.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/snp/PlinkUpdateName.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/stats/ChowTest.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/stats/DiffCoexpr.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/stats/LiquidAssoc.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/stats/Mediation.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/stats/MetaPvalue.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/stats/MetaPvalue1.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcgamaf/Maf2Vcf.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcgamaf/MafAddChr.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcgamaf/maf2vcf.pl +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/Attach2Seurat.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/CDR3AAPhyschem.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/ClonalStats.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/CloneResidency.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/CloneSizeQQPlot.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/GIANA/GIANA.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/GIANA/GIANA4.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/GIANA/Imgt_Human_TRBV.fasta +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/GIANA/query.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/Immunarch-basic.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/Immunarch-clonality.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/Immunarch-diversity.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/Immunarch-geneusage.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/Immunarch-kmer.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/Immunarch-overlap.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/Immunarch-spectratyping.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/Immunarch-tracking.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/Immunarch-vjjunc.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/Immunarch.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/Immunarch2VDJtools.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/ImmunarchFilter.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/ImmunarchLoading.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/ImmunarchSplitIdents.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/SampleDiversity.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/ScRepLoading.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/TCRClusterStats.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/TCRClustering.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/TCRDock.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/TESSA.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/TESSA_source/Atchley_factors.csv +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/TESSA_source/BriseisEncoder.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/TESSA_source/MCMC_control.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/TESSA_source/TrainedEncoder.h5 +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/TESSA_source/fixed_b.csv +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/TESSA_source/initialization.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/TESSA_source/post_analysis.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/TESSA_source/real_data.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/TESSA_source/update.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/TESSA_source/utility.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/VJUsage.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/immunarch-patched.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/tcr/vdjtools-patch.sh +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/vcf/BcftoolsAnnotate.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/vcf/BcftoolsFilter.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/vcf/BcftoolsMerge.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/vcf/BcftoolsSort.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/vcf/BcftoolsView.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/vcf/TruvariBench.sh +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/vcf/TruvariBenchSummary.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/vcf/TruvariConsistency.R +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/vcf/Vcf2Bed.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/vcf/VcfAnno.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/vcf/VcfDownSample.sh +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/vcf/VcfFilter.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/vcf/VcfFix.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/vcf/VcfFix_utils.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/vcf/VcfIndex.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/vcf/VcfIntersect.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/vcf/VcfLiftOver.sh +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/vcf/VcfSplitSamples.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/vcf/bcftools_utils.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/web/Download.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/web/DownloadList.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/web/GCloudStorageDownloadBucket.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/web/GCloudStorageDownloadFile.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/scripts/web/gcloud_common.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/utils/__init__.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/utils/common_docstrs.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/utils/gene.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/utils/misc.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/utils/reference.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/utils/reporter.py +0 -0
- {biopipen-0.34.1 → biopipen-0.34.2}/biopipen/utils/vcf.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.34.2"
|
|
@@ -197,8 +197,8 @@ class SeuratPreparing(Proc):
|
|
|
197
197
|
|
|
198
198
|
SCTransform (ns): Arguments for [`SCTransform()`](https://satijalab.org/seurat/reference/sctransform).
|
|
199
199
|
`object` is specified internally, and `-` in the key will be replaced with `.`.
|
|
200
|
-
-
|
|
201
|
-
-
|
|
200
|
+
- return-only-var-genes: Whether to return only variable genes.
|
|
201
|
+
- min_cells: The minimum number of cells that a gene must be expressed in to be kept.
|
|
202
202
|
A hidden argument of `SCTransform` to filter genes.
|
|
203
203
|
If you try to keep all genes in the `RNA` assay, you can set `min_cells` to `0` and
|
|
204
204
|
`return-only-var-genes` to `False`.
|
|
@@ -491,7 +491,7 @@ class SeuratClusterStats(Proc):
|
|
|
491
491
|
|
|
492
492
|
```toml
|
|
493
493
|
[SeuratClusterStats.envs.stats]
|
|
494
|
-
nCells_Sample = {
|
|
494
|
+
nCells_Sample = { group_by = "Sample" }
|
|
495
495
|
```
|
|
496
496
|
|
|
497
497
|
{: width="80%" }
|
|
@@ -515,8 +515,6 @@ class SeuratClusterStats(Proc):
|
|
|
515
515
|
```toml
|
|
516
516
|
[SeuratClusterStats.envs.dimplots.Idents]
|
|
517
517
|
label = true
|
|
518
|
-
label-box = true
|
|
519
|
-
repel = true
|
|
520
518
|
```
|
|
521
519
|
|
|
522
520
|
{: width="80%" }
|
|
@@ -1007,11 +1005,11 @@ class DimPlots(Proc):
|
|
|
1007
1005
|
class MarkersFinder(Proc):
|
|
1008
1006
|
"""Find markers between different groups of cells
|
|
1009
1007
|
|
|
1010
|
-
When only `
|
|
1008
|
+
When only `group_by` is specified as `"seurat_clusters"` in
|
|
1011
1009
|
`envs.cases`, the markers will be found for all the clusters.
|
|
1012
1010
|
|
|
1013
1011
|
You can also find the differentially expressed genes between
|
|
1014
|
-
any two groups of cells by setting `
|
|
1012
|
+
any two groups of cells by setting `group_by` to a different
|
|
1015
1013
|
column name in metadata. Follow `envs.cases` for more details.
|
|
1016
1014
|
|
|
1017
1015
|
Input:
|
|
@@ -1028,16 +1026,16 @@ class MarkersFinder(Proc):
|
|
|
1028
1026
|
* Used in `future::plan(strategy = "multicore", workers = <ncores>)` to parallelize some Seurat procedures.
|
|
1029
1027
|
* See also: <https://satijalab.org/seurat/articles/future_vignette.html>
|
|
1030
1028
|
mutaters (type=json): The mutaters to mutate the metadata
|
|
1031
|
-
|
|
1032
|
-
If only `
|
|
1029
|
+
group_by: The column name in metadata to group the cells.
|
|
1030
|
+
If only `group_by` is specified, and `ident-1` and `ident-2` are
|
|
1033
1031
|
not specified, markers will be found for all groups in this column
|
|
1034
1032
|
in the manner of "group vs rest" comparison.
|
|
1035
1033
|
`NA` group will be ignored.
|
|
1036
1034
|
If `None`, `Seurat::Idents(srtobj)` will be used, which is usually
|
|
1037
1035
|
`"seurat_clusters"` after unsupervised clustering.
|
|
1038
|
-
|
|
1039
|
-
When this is empty, the comparisons will be expanded to each group v.s. the rest of the cells in `
|
|
1040
|
-
|
|
1036
|
+
ident_1: The first group of cells to compare
|
|
1037
|
+
When this is empty, the comparisons will be expanded to each group v.s. the rest of the cells in `group_by`.
|
|
1038
|
+
ident_2: The second group of cells to compare
|
|
1041
1039
|
If not provided, the rest of the cells are used for `ident-2`.
|
|
1042
1040
|
each: The column name in metadata to separate the cells into different
|
|
1043
1041
|
cases.
|
|
@@ -1164,9 +1162,9 @@ class MarkersFinder(Proc):
|
|
|
1164
1162
|
envs = {
|
|
1165
1163
|
"ncores": config.misc.ncores,
|
|
1166
1164
|
"mutaters": {},
|
|
1167
|
-
"
|
|
1168
|
-
"
|
|
1169
|
-
"
|
|
1165
|
+
"group_by": None,
|
|
1166
|
+
"ident_1": None,
|
|
1167
|
+
"ident_2": None,
|
|
1170
1168
|
"each": None,
|
|
1171
1169
|
"dbs": ["KEGG_2021_Human", "MSigDB_Hallmark_2020"],
|
|
1172
1170
|
"sigmarkers": "p_val_adj < 0.05",
|
|
@@ -1241,11 +1239,11 @@ class TopExpressingGenes(Proc):
|
|
|
1241
1239
|
Envs:
|
|
1242
1240
|
mutaters (type=json): The mutaters to mutate the metadata
|
|
1243
1241
|
ident: The group of cells to find the top expressing genes.
|
|
1244
|
-
The cells will be selected by the `
|
|
1242
|
+
The cells will be selected by the `group_by` column with this
|
|
1245
1243
|
`ident` value in metadata.
|
|
1246
1244
|
If not provided, the top expressing genes will be found for all
|
|
1247
|
-
groups of cells in the `
|
|
1248
|
-
|
|
1245
|
+
groups of cells in the `group_by` column.
|
|
1246
|
+
group_by: The column name in metadata to group the cells.
|
|
1249
1247
|
each: The column name in metadata to separate the cells into different
|
|
1250
1248
|
cases.
|
|
1251
1249
|
dbs (list): The dbs to do enrichment analysis for significant
|
|
@@ -1288,7 +1286,7 @@ class TopExpressingGenes(Proc):
|
|
|
1288
1286
|
envs = {
|
|
1289
1287
|
"mutaters": {},
|
|
1290
1288
|
"ident": None,
|
|
1291
|
-
"
|
|
1289
|
+
"group_by": None,
|
|
1292
1290
|
"each": None,
|
|
1293
1291
|
"dbs": ["KEGG_2021_Human", "MSigDB_Hallmark_2020"],
|
|
1294
1292
|
"n": 250,
|
|
@@ -1305,7 +1303,7 @@ class TopExpressingGenes(Proc):
|
|
|
1305
1303
|
"cases": {},
|
|
1306
1304
|
}
|
|
1307
1305
|
plugin_opts = {
|
|
1308
|
-
"report": "file://../reports/
|
|
1306
|
+
"report": "file://../reports/common.svelte",
|
|
1309
1307
|
"report_paging": 8,
|
|
1310
1308
|
}
|
|
1311
1309
|
|
|
@@ -1609,9 +1607,9 @@ class ScFGSEA(Proc):
|
|
|
1609
1607
|
mutaters (type=json): The mutaters to mutate the metadata.
|
|
1610
1608
|
The key-value pairs will be passed the `dplyr::mutate()` to mutate the metadata.
|
|
1611
1609
|
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1610
|
+
group_by: The column name in metadata to group the cells.
|
|
1611
|
+
ident_1: The first group of cells to compare
|
|
1612
|
+
ident_2: The second group of cells to compare, if not provided, the rest of the cells that are not `NA`s in `group_by` column are used for `ident-2`.
|
|
1615
1613
|
each: The column name in metadata to separate the cells into different subsets to do the analysis.
|
|
1616
1614
|
subset: An expression to subset the cells.
|
|
1617
1615
|
gmtfile: The pathways in GMT format, with the gene names/ids in the same format as the seurat object.
|
|
@@ -1637,15 +1635,15 @@ class ScFGSEA(Proc):
|
|
|
1637
1635
|
If it is < 1, will apply it to `padj`, selecting pathways with `padj` < `top`.
|
|
1638
1636
|
eps (type=float): This parameter sets the boundary for calculating the p value.
|
|
1639
1637
|
See <https://rdrr.io/bioc/fgsea/man/fgseaMultilevel.html>
|
|
1640
|
-
|
|
1638
|
+
alleach_plots_defaults (ns): Default options for the plots to generate for all pathways.
|
|
1641
1639
|
- plot_type: The type of the plot, currently either dot or heatmap (default)
|
|
1642
1640
|
- devpars (ns): The device parameters for the plots.
|
|
1643
1641
|
- res (type=int): The resolution of the plots.
|
|
1644
1642
|
- height (type=int): The height of the plots.
|
|
1645
1643
|
- width (type=int): The width of the plots.
|
|
1646
1644
|
- <more>: See <https://pwwang.github.io/biopipen.utils.R/reference/VizGSEA.html>.
|
|
1647
|
-
|
|
1648
|
-
The keys are the names of the cases and the values are the dicts inherited from `
|
|
1645
|
+
alleach_plots (type=json): Cases of the plots to generate for all pathways.
|
|
1646
|
+
The keys are the names of the cases and the values are the dicts inherited from `alleach_plots_defaults`.
|
|
1649
1647
|
minsize (type=int): Minimal size of a gene set to test. All pathways below the threshold are excluded.
|
|
1650
1648
|
maxsize (type=int): Maximal size of a gene set to test. All pathways above the threshold are excluded.
|
|
1651
1649
|
rest (type=json;order=98): Rest arguments for [`fgsea()`](https://rdrr.io/bioc/fgsea/man/fgsea.html)
|
|
@@ -1668,9 +1666,9 @@ class ScFGSEA(Proc):
|
|
|
1668
1666
|
envs = {
|
|
1669
1667
|
"mutaters": {},
|
|
1670
1668
|
"ncores": config.misc.ncores,
|
|
1671
|
-
"
|
|
1672
|
-
"
|
|
1673
|
-
"
|
|
1669
|
+
"group_by": None,
|
|
1670
|
+
"ident_1": None,
|
|
1671
|
+
"ident_2": None,
|
|
1674
1672
|
"each": None,
|
|
1675
1673
|
"subset": None,
|
|
1676
1674
|
"gmtfile": "KEGG_2021_Human",
|
|
@@ -1679,11 +1677,11 @@ class ScFGSEA(Proc):
|
|
|
1679
1677
|
"minsize": 10,
|
|
1680
1678
|
"maxsize": 100,
|
|
1681
1679
|
"eps": 0,
|
|
1682
|
-
"
|
|
1680
|
+
"alleach_plots_defaults": {
|
|
1683
1681
|
"plot_type": "heatmap",
|
|
1684
1682
|
"devpars": {"res": 100},
|
|
1685
1683
|
},
|
|
1686
|
-
"
|
|
1684
|
+
"alleach_plots": {},
|
|
1687
1685
|
"rest": {},
|
|
1688
1686
|
"cases": {},
|
|
1689
1687
|
}
|
|
@@ -2681,3 +2679,217 @@ class LoomTo10X(Proc):
|
|
|
2681
2679
|
output = "outdir:dir:{{in.loomfile | stem}}.10X"
|
|
2682
2680
|
lang = config.lang.rscript
|
|
2683
2681
|
script = "file://../scripts/scrna/LoomTo10X.R"
|
|
2682
|
+
|
|
2683
|
+
|
|
2684
|
+
class PseudoBulkDEG(Proc):
|
|
2685
|
+
"""Pseduo-bulk differential gene expression analysis
|
|
2686
|
+
|
|
2687
|
+
This process performs differential gene expression analysis, instead of
|
|
2688
|
+
on single-cell level, on the pseudo-bulk data, aggregated from the single-cell data.
|
|
2689
|
+
|
|
2690
|
+
Input:
|
|
2691
|
+
sobjfile: The seurat object file in RDS or qs/qs2 format.
|
|
2692
|
+
|
|
2693
|
+
Output:
|
|
2694
|
+
outdir: The output containing the results of the differential gene expression
|
|
2695
|
+
analysis.
|
|
2696
|
+
|
|
2697
|
+
Envs:
|
|
2698
|
+
mutaters (type=json): Mutaters to mutate the metadata of the
|
|
2699
|
+
seurat object. Keys are the new column names and values are the
|
|
2700
|
+
expressions to mutate the columns. These new columns can be
|
|
2701
|
+
used to define your cases.
|
|
2702
|
+
each: The column name in metadata to separate the cells into different cases.
|
|
2703
|
+
When specified, the case will be expanded to multiple cases for
|
|
2704
|
+
each value in the column.
|
|
2705
|
+
subset: An expression in string to subset the cells.
|
|
2706
|
+
aggregate_by: The column names in metadata to aggregate the cells.
|
|
2707
|
+
layer: The layer to pull and aggregate the data.
|
|
2708
|
+
assay: The assay to pull and aggregate the data.
|
|
2709
|
+
error (flag): Error out if no/not enough markers are found or no pathways are enriched.
|
|
2710
|
+
If `False`, empty results will be returned.
|
|
2711
|
+
group_by: The column name in metadata to group the cells.
|
|
2712
|
+
ident_1: The first identity to compare.
|
|
2713
|
+
ident_2: The second identity to compare.
|
|
2714
|
+
If not specified, the rest of the identities will be compared with `ident_1`.
|
|
2715
|
+
paired_by: The column name in metadata to mark the paired samples.
|
|
2716
|
+
For example, subject. If specified, the paired test will be performed.
|
|
2717
|
+
dbs (list): The databases to use for enrichment analysis.
|
|
2718
|
+
The databases are passed to `biopipen.utils::Enrichr()` to do the
|
|
2719
|
+
enrichment analysis. The default databases are `KEGG_2021_Human` and
|
|
2720
|
+
`MSigDB_Hallmark_2020`.
|
|
2721
|
+
See <https://maayanlab.cloud/Enrichr/#libraries> for the available
|
|
2722
|
+
libraries.
|
|
2723
|
+
sigmarkers: An expression passed to `dplyr::filter()` to filter the
|
|
2724
|
+
significant markers for enrichment analysis.
|
|
2725
|
+
The default is `p_val_adj < 0.05`.
|
|
2726
|
+
If `tool = 'DESeq2'`, the variables that can be used for filtering
|
|
2727
|
+
are: `baseMean`, `log2FC`, `lfcSE`, `stat`, `p_val`, `p_val_adj`.
|
|
2728
|
+
If `tool = 'edgeR'`, the variables that can be used for filtering
|
|
2729
|
+
are: `logCPM`, `log2FC`, `LR`, `p_val`, `p_val_adj`.
|
|
2730
|
+
enrich_style (choice): The style of the enrichment analysis.
|
|
2731
|
+
- enrichr: Use `enrichr`-style for the enrichment analysis.
|
|
2732
|
+
- clusterProfiler: Use `clusterProfiler`-style for the enrichment analysis.
|
|
2733
|
+
allmarker_plots_defaults (ns): Default options for the plots for all markers when `ident-1` is not specified.
|
|
2734
|
+
- plot_type: The type of the plot.
|
|
2735
|
+
See <https://pwwang.github.io/scplotter/reference/FeatureStatPlot.html>.
|
|
2736
|
+
Available types are `violin`, `box`, `bar`, `ridge`, `dim`, `heatmap` and `dot`.
|
|
2737
|
+
- more_formats (type=list): The extra formats to save the plot in.
|
|
2738
|
+
- save_code (flag): Whether to save the code to generate the plot.
|
|
2739
|
+
- devpars (ns): The device parameters for the plots.
|
|
2740
|
+
- res (type=int): The resolution of the plots.
|
|
2741
|
+
- height (type=int): The height of the plots.
|
|
2742
|
+
- width (type=int): The width of the plots.
|
|
2743
|
+
- order_by: an expression to order the markers, passed by `dplyr::arrange()`.
|
|
2744
|
+
- genes: The number of top genes to show or an expression passed to `dplyr::filter()` to filter the genes.
|
|
2745
|
+
- <more>: Other arguments passed to [`scplotter::FeatureStatPlot()`](https://pwwang.github.io/scplotter/reference/FeatureStatPlot.html).
|
|
2746
|
+
allmarker_plots (type=json): All marker plot cases.
|
|
2747
|
+
The keys are the names of the cases and the values are the dicts inherited from `allmarker_plots_defaults`.
|
|
2748
|
+
allenrich_plots_defaults (ns): Default options for the plots to generate for the enrichment analysis.
|
|
2749
|
+
- plot_type: The type of the plot.
|
|
2750
|
+
- devpars (ns): The device parameters for the plots.
|
|
2751
|
+
- res (type=int): The resolution of the plots.
|
|
2752
|
+
- height (type=int): The height of the plots.
|
|
2753
|
+
- width (type=int): The width of the plots.
|
|
2754
|
+
- <more>: See <https://pwwang.github.io/scplotter/reference/EnrichmentPlot.html>.
|
|
2755
|
+
allenrich_plots (type=json): Cases of the plots to generate for the enrichment analysis.
|
|
2756
|
+
The keys are the names of the cases and the values are the dicts inherited from `allenrich_plots_defaults`.
|
|
2757
|
+
The cases under `envs.cases` can inherit this options.
|
|
2758
|
+
marker_plots_defaults (ns): Default options for the plots to generate for the markers.
|
|
2759
|
+
- plot_type: The type of the plot.
|
|
2760
|
+
See <https://pwwang.github.io/scplotter/reference/FeatureStatPlot.html>.
|
|
2761
|
+
Available types are `violin`, `box`, `bar`, `ridge`, `dim`, `heatmap` and `dot`.
|
|
2762
|
+
There are two additional types available - `volcano_pct` and `volcano_log2fc`.
|
|
2763
|
+
- more_formats (type=list): The extra formats to save the plot in.
|
|
2764
|
+
- save_code (flag): Whether to save the code to generate the plot.
|
|
2765
|
+
- devpars (ns): The device parameters for the plots.
|
|
2766
|
+
- res (type=int): The resolution of the plots.
|
|
2767
|
+
- height (type=int): The height of the plots.
|
|
2768
|
+
- width (type=int): The width of the plots.
|
|
2769
|
+
- order_by: an expression to order the markers, passed by `dplyr::arrange()`.
|
|
2770
|
+
- genes: The number of top genes to show or an expression passed to `dplyr::filter()` to filter the genes.
|
|
2771
|
+
- <more>: Other arguments passed to [`scplotter::FeatureStatPlot()`](https://pwwang.github.io/scplotter/reference/FeatureStatPlot.html).
|
|
2772
|
+
If `plot_type` is `volcano_pct` or `volcano_log2fc`, they will be passed to
|
|
2773
|
+
[`scplotter::VolcanoPlot()`](https://pwwang.github.io/plotthis/reference/VolcanoPlot.html).
|
|
2774
|
+
marker_plots (type=json): Cases of the plots to generate for the markers.
|
|
2775
|
+
Plot cases. The keys are the names of the cases and the values are the dicts inherited from `marker_plots_defaults`.
|
|
2776
|
+
The cases under `envs.cases` can inherit this options.
|
|
2777
|
+
enrich_plots_defaults (ns): Default options for the plots to generate for the enrichment analysis.
|
|
2778
|
+
- plot_type: The type of the plot.
|
|
2779
|
+
See <https://pwwang.github.io/scplotter/reference/EnrichmentPlot.html>.
|
|
2780
|
+
Available types are `bar`, `dot`, `lollipop`, `network`, `enrichmap` and `wordcloud`.
|
|
2781
|
+
- more_formats (type=list): The extra formats to save the plot in.
|
|
2782
|
+
- save_code (flag): Whether to save the code to generate the plot.
|
|
2783
|
+
- devpars (ns): The device parameters for the plots.
|
|
2784
|
+
- res (type=int): The resolution of the plots.
|
|
2785
|
+
- height (type=int): The height of the plots.
|
|
2786
|
+
- width (type=int): The width of the plots.
|
|
2787
|
+
- <more>: See <https://pwwang.github.io/scplotter/reference/EnrichmentPlot.htmll>.
|
|
2788
|
+
enrich_plots (type=json): Cases of the plots to generate for the enrichment analysis.
|
|
2789
|
+
The keys are the names of the cases and the values are the dicts inherited from `enrich_plots_defaults`.
|
|
2790
|
+
The cases under `envs.cases` can inherit this options.
|
|
2791
|
+
overlaps_defaults (ns): Default options for investigating the overlapping of significant markers between different cases or comparisons.
|
|
2792
|
+
This means either `ident-1` should be empty, so that they can be expanded to multiple comparisons.
|
|
2793
|
+
- sigmarkers: The expression to filter the significant markers for each case.
|
|
2794
|
+
If not provided, `envs.sigmarkers` will be used.
|
|
2795
|
+
- plot_type (choice): The type of the plot to generate for the overlaps.
|
|
2796
|
+
- venn: Use `plotthis::VennDiagram()`.
|
|
2797
|
+
- upset: Use `plotthis::UpsetPlot()`.
|
|
2798
|
+
- more_formats (type=list): The extra formats to save the plot in.
|
|
2799
|
+
- save_code (flag): Whether to save the code to generate the plot.
|
|
2800
|
+
- devpars (ns): The device parameters for the plots.
|
|
2801
|
+
- res (type=int): The resolution of the plots.
|
|
2802
|
+
- height (type=int): The height of the plots.
|
|
2803
|
+
- width (type=int): The width of the plots.
|
|
2804
|
+
- <more>: More arguments pased to `plotthis::VennDiagram()`
|
|
2805
|
+
(<https://pwwang.github.io/plotthis/reference/venndiagram1.html>)
|
|
2806
|
+
or `plotthis::UpsetPlot()`
|
|
2807
|
+
(<https://pwwang.github.io/plotthis/reference/upsetplot1.html>)
|
|
2808
|
+
overlaps (type=json): Cases for investigating the overlapping of significant markers between different cases or comparisons.
|
|
2809
|
+
The keys are the names of the cases and the values are the dicts inherited from `overlaps_defaults`.
|
|
2810
|
+
There are two situations that we can perform overlaps:
|
|
2811
|
+
1. If `ident-1` is not specified, the overlaps can be performed between different comparisons.
|
|
2812
|
+
2. If `each` is specified, the overlaps can be performed between different cases, where in each case, `ident-1` must be specified.
|
|
2813
|
+
tool (choice): The method to use for the differential expression analysis.
|
|
2814
|
+
- DESeq2: Use DESeq2 for the analysis.
|
|
2815
|
+
- edgeR: Use edgeR for the analysis.
|
|
2816
|
+
plots_defaults (ns): The default parameters for the plots.
|
|
2817
|
+
- <more>: Parameters passed to `biopipen.utils::VizBulkDEGs()`.
|
|
2818
|
+
See: <https://pwwang.github.io/biopipen.utils.R/reference/VizBulkDEGs.html>
|
|
2819
|
+
plots (type=json): The parameters for the plots.
|
|
2820
|
+
The keys are the names of the plots and the values are the parameters
|
|
2821
|
+
for the plots. The parameters will override the defaults in `plots_defaults`.
|
|
2822
|
+
If not specified, no plots will be generated.
|
|
2823
|
+
cases (type=json): The cases for the analysis.
|
|
2824
|
+
The keys are the names of the cases and the values are the arguments for
|
|
2825
|
+
the analysis. The arguments include the ones inherited from `envs`.
|
|
2826
|
+
If no cases are specified, a default case will be added with
|
|
2827
|
+
the name `DEG Analysis` and the default values specified above.
|
|
2828
|
+
""" # noqa: E501
|
|
2829
|
+
input = "sobjfile:file"
|
|
2830
|
+
output = "outdir:dir:{{in.sobjfile | stem}}.pseudobulk_deg"
|
|
2831
|
+
lang = config.lang.rscript
|
|
2832
|
+
script = "file://../scripts/scrna/PseudoBulkDEG.R"
|
|
2833
|
+
envs = {
|
|
2834
|
+
"mutaters": {},
|
|
2835
|
+
"each": None,
|
|
2836
|
+
"subset": None,
|
|
2837
|
+
"aggregate_by": None,
|
|
2838
|
+
"layer": "counts",
|
|
2839
|
+
"assay": "RNA",
|
|
2840
|
+
"error": True,
|
|
2841
|
+
"group_by": None,
|
|
2842
|
+
"ident_1": None,
|
|
2843
|
+
"ident_2": None,
|
|
2844
|
+
"paired_by": None,
|
|
2845
|
+
"tool": "DESeq2",
|
|
2846
|
+
"dbs": ["KEGG_2021_Human", "MSigDB_Hallmark_2020"],
|
|
2847
|
+
"sigmarkers": "p_val_adj < 0.05",
|
|
2848
|
+
"enrich_style": "enrichr",
|
|
2849
|
+
"allmarker_plots_defaults": {
|
|
2850
|
+
"plot_type": None,
|
|
2851
|
+
"more_formats": [],
|
|
2852
|
+
"save_code": False,
|
|
2853
|
+
"devpars": {"res": 100},
|
|
2854
|
+
"order_by": "desc(abs(log2FC))",
|
|
2855
|
+
"genes": 10,
|
|
2856
|
+
},
|
|
2857
|
+
"allmarker_plots": {},
|
|
2858
|
+
"allenrich_plots_defaults": {
|
|
2859
|
+
"plot_type": "heatmap",
|
|
2860
|
+
"devpars": {"res": 100},
|
|
2861
|
+
},
|
|
2862
|
+
"allenrich_plots": {},
|
|
2863
|
+
"marker_plots_defaults": {
|
|
2864
|
+
"plot_type": None,
|
|
2865
|
+
"more_formats": [],
|
|
2866
|
+
"save_code": False,
|
|
2867
|
+
"devpars": {"res": 100},
|
|
2868
|
+
"order_by": "desc(abs(log2FC))",
|
|
2869
|
+
"genes": 10,
|
|
2870
|
+
},
|
|
2871
|
+
"marker_plots": {
|
|
2872
|
+
"Volcano Plot": {"plot_type": "volcano"},
|
|
2873
|
+
},
|
|
2874
|
+
"enrich_plots_defaults": {
|
|
2875
|
+
"more_formats": [],
|
|
2876
|
+
"save_code": False,
|
|
2877
|
+
"devpars": {"res": 100},
|
|
2878
|
+
},
|
|
2879
|
+
"enrich_plots": {
|
|
2880
|
+
"Bar Plot": {"plot_type": "bar", "ncol": 1, "top_term": 10},
|
|
2881
|
+
},
|
|
2882
|
+
"overlaps_defaults": {
|
|
2883
|
+
"sigmarkers": None,
|
|
2884
|
+
"plot_type": "venn",
|
|
2885
|
+
"more_formats": [],
|
|
2886
|
+
"save_code": False,
|
|
2887
|
+
"devpars": {"res": 100},
|
|
2888
|
+
},
|
|
2889
|
+
"overlaps": {},
|
|
2890
|
+
"cases": {},
|
|
2891
|
+
}
|
|
2892
|
+
plugin_opts = {
|
|
2893
|
+
"report": "file://../reports/common.svelte",
|
|
2894
|
+
"report_paging": 8,
|
|
2895
|
+
}
|
|
@@ -1756,10 +1756,10 @@ class ScRepCombiningExpression(Proc):
|
|
|
1756
1756
|
a custom variable in the data.
|
|
1757
1757
|
chain: indicate if both or a specific chain should be used
|
|
1758
1758
|
e.g. "both", "TRA", "TRG", "IGH", "IGL".
|
|
1759
|
-
|
|
1759
|
+
group_by: The column label in the combined clones in which clone frequency will
|
|
1760
1760
|
be calculated. NULL or "none" will keep the format of input.data.
|
|
1761
1761
|
proportion (flag): Whether to proportion (TRUE) or total frequency (FALSE) of
|
|
1762
|
-
the clone based on the
|
|
1762
|
+
the clone based on the group_by variable.
|
|
1763
1763
|
filterNA (flag): Method to subset Seurat/SCE object of barcodes without clone
|
|
1764
1764
|
information
|
|
1765
1765
|
cloneSize (type=json): The bins for the grouping based on proportion or
|
|
@@ -1767,7 +1767,7 @@ class ScRepCombiningExpression(Proc):
|
|
|
1767
1767
|
If proportion is FALSE and the cloneSizes are not set high enough based on
|
|
1768
1768
|
frequency, the upper limit of cloneSizes will be automatically updated.
|
|
1769
1769
|
addLabel (flag): This will add a label to the frequency header, allowing the
|
|
1770
|
-
user to try multiple
|
|
1770
|
+
user to try multiple group_by variables or recalculate frequencies after
|
|
1771
1771
|
subsetting the data.
|
|
1772
1772
|
"""
|
|
1773
1773
|
input = "screpfile:file,srtobj:file"
|
|
@@ -1776,7 +1776,7 @@ class ScRepCombiningExpression(Proc):
|
|
|
1776
1776
|
envs = {
|
|
1777
1777
|
"cloneCall": "aa",
|
|
1778
1778
|
"chain": "both",
|
|
1779
|
-
"
|
|
1779
|
+
"group_by": "Sample",
|
|
1780
1780
|
"proportion": True,
|
|
1781
1781
|
"filterNA": False,
|
|
1782
1782
|
"cloneSize": {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
library(rlang)
|
|
2
2
|
library(dplyr)
|
|
3
3
|
library(Seurat)
|
|
4
|
+
library(tidyseurat)
|
|
4
5
|
library(plotthis)
|
|
5
6
|
library(biopipen.utils)
|
|
6
7
|
|
|
@@ -13,9 +14,9 @@ joboutdir <- {{ job.outdir | r }}
|
|
|
13
14
|
|
|
14
15
|
ncores <- {{ envs.ncores | int }}
|
|
15
16
|
mutaters <- {{ envs.mutaters | r }}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
group_by <- {{ envs.group_by | default: envs["group-by"] | default: None | r }}
|
|
18
|
+
ident_1 <- {{ envs.ident_1 | default: envs["ident-1"] | default: None | r }}
|
|
19
|
+
ident_2 <- {{ envs.ident_2 | default: envs["ident-2"] | default: None | r }}
|
|
19
20
|
each <- {{ envs.each | r }}
|
|
20
21
|
dbs <- {{ envs.dbs | r }}
|
|
21
22
|
sigmarkers <- {{ envs.sigmarkers | r }}
|
|
@@ -75,9 +76,9 @@ overlaps <- lapply(overlaps, function(x) {
|
|
|
75
76
|
})
|
|
76
77
|
|
|
77
78
|
defaults <- list(
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
79
|
+
group_by = group_by,
|
|
80
|
+
ident_1 = ident_1,
|
|
81
|
+
ident_2 = ident_2,
|
|
81
82
|
dbs = dbs,
|
|
82
83
|
sigmarkers = sigmarkers,
|
|
83
84
|
enrich_style = enrich_style,
|
|
@@ -104,17 +105,17 @@ log$info("Expanding cases ...")
|
|
|
104
105
|
post_casing <- function(name, case) {
|
|
105
106
|
outcases <- list()
|
|
106
107
|
|
|
107
|
-
case$
|
|
108
|
+
case$group_by <- case$group_by %||% "Identity"
|
|
108
109
|
|
|
109
110
|
if (is.null(case$each) || is.na(case$each) || nchar(case$each) == 0 || isFALSE(each)) {
|
|
110
111
|
# single cases, no need to expand
|
|
111
|
-
if (length(case$
|
|
112
|
+
if (length(case$ident_1) > 0 && length(case$overlaps) > 0) {
|
|
112
113
|
stop("Cannot perform 'overlaps' with a single comparison (ident-1 is set) in case '", name, "'")
|
|
113
114
|
}
|
|
114
|
-
if (length(case$
|
|
115
|
+
if (length(case$ident_1) > 0 && length(case$allmarker_plots) > 0) {
|
|
115
116
|
stop("Cannot perform 'allmarker_plots' with a single comparison (ident-1 is set) in case '", name, "'")
|
|
116
117
|
}
|
|
117
|
-
if (length(case$
|
|
118
|
+
if (length(case$ident_1) > 0 && length(case$allenrich_plots) > 0) {
|
|
118
119
|
stop("Cannot perform 'allenrich_plots' with a single comparison (ident-1 is set) in case '", name, "'")
|
|
119
120
|
}
|
|
120
121
|
|
|
@@ -158,8 +159,8 @@ post_casing <- function(name, case) {
|
|
|
158
159
|
srtobj@meta.data %>%
|
|
159
160
|
pull(case$each) %>% na.omit() %>% unique() %>% as.vector()
|
|
160
161
|
}
|
|
161
|
-
if (length(case$overlaps) > 0 && is.null(case$
|
|
162
|
-
stop("Cannot perform 'overlaps' analysis with 'each' and without '
|
|
162
|
+
if (length(case$overlaps) > 0 && is.null(case$ident_1)) {
|
|
163
|
+
stop("Cannot perform 'overlaps' analysis with 'each' and without 'ident_1' in case '", name, "'")
|
|
163
164
|
}
|
|
164
165
|
|
|
165
166
|
if (length(cases) == 0 && name == "Marker Discovery") {
|
|
@@ -173,6 +174,7 @@ post_casing <- function(name, case) {
|
|
|
173
174
|
newcase$original_case <- name
|
|
174
175
|
newcase$each_name <- case$each
|
|
175
176
|
newcase$each <- each
|
|
177
|
+
newcase$original_subset <- case$subset
|
|
176
178
|
|
|
177
179
|
if (!is.null(case$subset)) {
|
|
178
180
|
newcase$subset <- paste0(case$subset, " & ", bQuote(case$each), " == '", each, "'")
|
|
@@ -443,7 +445,7 @@ process_allenriches <- function(enriches, plotcases, casename, groupname) {
|
|
|
443
445
|
}
|
|
444
446
|
|
|
445
447
|
process_overlaps <- function(markers, ovcases, casename, groupname) {
|
|
446
|
-
name <- paste0(casename, "::", paste0(groupname, "
|
|
448
|
+
name <- paste0(casename, "::", paste0(groupname, " (Overlaps)"))
|
|
447
449
|
info <- case_info(name, outdir, create = TRUE)
|
|
448
450
|
|
|
449
451
|
for (plotname in names(ovcases)) {
|
|
@@ -510,7 +512,7 @@ run_case <- function(name) {
|
|
|
510
512
|
case <- extract_vars(
|
|
511
513
|
case,
|
|
512
514
|
"dbs", "sigmarkers", "allmarker_plots", "allenrich_plots", "marker_plots", "enrich_plots",
|
|
513
|
-
"overlaps", "original_case", "markers", "enriches", "each_name", "each", "enrich_style",
|
|
515
|
+
"overlaps", "original_case", "markers", "enriches", "each_name", "each", "enrich_style", "original_subset",
|
|
514
516
|
allow_nonexisting = TRUE
|
|
515
517
|
)
|
|
516
518
|
|
|
@@ -535,10 +537,14 @@ run_case <- function(name) {
|
|
|
535
537
|
|
|
536
538
|
if (length(allmarker_plots) > 0) {
|
|
537
539
|
log$info("- Visualizing all markers together ...")
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
540
|
+
if (is.null(original_subset)) {
|
|
541
|
+
attr(markers, "object") <- srtobj
|
|
542
|
+
} else {
|
|
543
|
+
attr(markers, "object") <- filter(srtobj, !!parse_expr(original_subset))
|
|
544
|
+
}
|
|
545
|
+
attr(markers, "group_by") <- each
|
|
546
|
+
attr(markers, "ident_1") <- NULL
|
|
547
|
+
attr(markers, "ident_2") <- NULL
|
|
542
548
|
process_allmarkers(markers, allmarker_plots, name, each)
|
|
543
549
|
}
|
|
544
550
|
|
|
@@ -579,16 +585,16 @@ run_case <- function(name) {
|
|
|
579
585
|
case$object <- NULL
|
|
580
586
|
gc()
|
|
581
587
|
|
|
582
|
-
if (is.null(case$
|
|
583
|
-
all_idents <- unique(as.character(markers[[case$
|
|
588
|
+
if (is.null(case$ident_1)) {
|
|
589
|
+
all_idents <- unique(as.character(markers[[case$group_by]]))
|
|
584
590
|
enriches <- list()
|
|
585
591
|
for (ident in all_idents) {
|
|
586
|
-
log$info("- {case$
|
|
587
|
-
ident_markers <- markers[markers[[case$
|
|
588
|
-
casename <- paste0(name, "::", paste0(case$
|
|
592
|
+
log$info("- {case$group_by}: {ident} ...")
|
|
593
|
+
ident_markers <- markers[markers[[case$group_by]] == ident, , drop = TRUE]
|
|
594
|
+
casename <- paste0(name, "::", paste0(case$group_by, ": ", ident))
|
|
589
595
|
info <- case_info(casename, outdir, create = TRUE)
|
|
590
596
|
|
|
591
|
-
attr(ident_markers, "
|
|
597
|
+
attr(ident_markers, "ident_1") <- ident
|
|
592
598
|
enrich <- process_markers(ident_markers, info = info, case = list(
|
|
593
599
|
dbs = dbs,
|
|
594
600
|
sigmarkers = sigmarkers,
|
|
@@ -603,17 +609,17 @@ run_case <- function(name) {
|
|
|
603
609
|
|
|
604
610
|
if (length(allmarker_plots) > 0) {
|
|
605
611
|
log$info("- Visualizing all markers together ...")
|
|
606
|
-
process_allmarkers(markers, allmarker_plots, name, case$
|
|
612
|
+
process_allmarkers(markers, allmarker_plots, name, case$group_by)
|
|
607
613
|
}
|
|
608
614
|
|
|
609
615
|
if (length(overlaps) > 0) {
|
|
610
616
|
log$info("- Visualizing overlaps between subcases ...")
|
|
611
|
-
process_overlaps(markers, overlaps, name, case$
|
|
617
|
+
process_overlaps(markers, overlaps, name, case$group_by)
|
|
612
618
|
}
|
|
613
619
|
|
|
614
620
|
if (length(allenrich_plots) > 0) {
|
|
615
621
|
log$info("- Visualizing all enrichments together ...")
|
|
616
|
-
process_allenriches(enriches, allenrich_plots, name, case$
|
|
622
|
+
process_allenriches(enriches, allenrich_plots, name, case$group_by)
|
|
617
623
|
}
|
|
618
624
|
} else {
|
|
619
625
|
info <- case_info(name, outdir, create = TRUE)
|
|
@@ -624,7 +630,7 @@ run_case <- function(name) {
|
|
|
624
630
|
marker_plots = marker_plots,
|
|
625
631
|
enrich_plots = enrich_plots,
|
|
626
632
|
error = case$error,
|
|
627
|
-
ident = if (is.null(case$
|
|
633
|
+
ident = if (is.null(case$ident_2)) case$ident_1 else paste0(case$ident_1, " vs ", case$ident_2)
|
|
628
634
|
))
|
|
629
635
|
|
|
630
636
|
if (!is.null(original_case) && !is.null(cases[[original_case]])) {
|