biopipen 0.34.6__tar.gz → 0.34.8__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.6 → biopipen-0.34.8}/PKG-INFO +1 -1
- biopipen-0.34.8/biopipen/__init__.py +1 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/ns/scrna.py +6 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/MarkersFinder.R +31 -19
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/PseudoBulkDEG.R +112 -27
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/ScFGSEA.R +19 -21
- {biopipen-0.34.6 → biopipen-0.34.8}/pyproject.toml +1 -1
- {biopipen-0.34.6 → biopipen-0.34.8}/setup.py +1 -1
- biopipen-0.34.6/biopipen/__init__.py +0 -1
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/core/__init__.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/core/config.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/core/config.toml +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/core/defaults.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/core/filters.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/core/proc.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/core/testing.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/ns/__init__.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/ns/bam.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/ns/bed.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/ns/cellranger.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/ns/cellranger_pipeline.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/ns/cnv.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/ns/cnvkit.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/ns/cnvkit_pipeline.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/ns/delim.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/ns/gene.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/ns/gsea.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/ns/misc.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/ns/plot.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/ns/protein.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/ns/regulatory.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/ns/rnaseq.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/ns/scrna_metabolic_landscape.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/ns/snp.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/ns/stats.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/ns/tcgamaf.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/ns/tcr.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/ns/vcf.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/ns/web.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/bam/CNAClinic.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/bam/CNVpytor.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/bam/ControlFREEC.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/cellranger/CellRangerCount.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/cellranger/CellRangerSummary.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/cellranger/CellRangerVdj.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/cnv/AneuploidyScore.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/cnv/AneuploidyScoreSummary.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/cnv/TMADScoreSummary.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/cnvkit/CNVkitDiagram.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/cnvkit/CNVkitHeatmap.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/cnvkit/CNVkitScatter.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/common.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/gsea/FGSEA.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/gsea/GSEA.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/protein/ProdigySummary.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/scrna/CellsDistribution.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/scrna/DimPlots.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/scrna/MarkersFinder.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/scrna/MetaMarkers.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/scrna/RadarPlots.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/scrna_metabolic_landscape/MetabolicFeatures.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/scrna_metabolic_landscape/MetabolicPathwayActivity.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/scrna_metabolic_landscape/MetabolicPathwayHeterogeneity.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/snp/PlinkCallRate.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/snp/PlinkFreq.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/snp/PlinkHWE.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/snp/PlinkHet.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/snp/PlinkIBD.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/tcr/CDR3AAPhyschem.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/tcr/ClonalStats.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/tcr/CloneResidency.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/tcr/Immunarch.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/tcr/SampleDiversity.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/tcr/TCRClusterStats.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/tcr/TESSA.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/tcr/VJUsage.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/utils/misc.liq +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/vcf/TruvariBenchSummary.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/reports/vcf/TruvariConsistency.svelte +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/bam/BamMerge.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/bam/BamSampling.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/bam/BamSort.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/bam/BamSplitChroms.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/bam/BamSubsetByBed.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/bam/CNAClinic.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/bam/CNVpytor.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/bam/ControlFREEC.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/bam/SamtoolsView.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/bed/Bed2Vcf.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/bed/BedConsensus.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/bed/BedLiftOver.sh +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/bed/BedtoolsIntersect.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/bed/BedtoolsMakeWindows.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/bed/BedtoolsMerge.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/cellranger/CellRangerCount.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/cellranger/CellRangerSummary.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/cellranger/CellRangerVdj.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/cnv/AneuploidyScore.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/cnv/AneuploidyScoreSummary.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/cnv/TMADScore.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/cnv/TMADScoreSummary.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/cnvkit/CNVkitAccess.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/cnvkit/CNVkitAutobin.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/cnvkit/CNVkitBatch.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/cnvkit/CNVkitCall.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/cnvkit/CNVkitCoverage.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/cnvkit/CNVkitDiagram.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/cnvkit/CNVkitFix.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/cnvkit/CNVkitGuessBaits.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/cnvkit/CNVkitHeatmap.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/cnvkit/CNVkitReference.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/cnvkit/CNVkitScatter.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/cnvkit/CNVkitSegment.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/cnvkit/guess_baits.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/delim/RowsBinder.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/delim/SampleInfo.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/gene/GeneNameConversion.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/gene/GenePromoters.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/gsea/Enrichr.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/gsea/FGSEA.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/gsea/GSEA.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/gsea/PreRank.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/misc/Config2File.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/misc/Plot.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/misc/Shell.sh +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/misc/Str2File.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/plot/Heatmap.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/plot/Manhattan.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/plot/QQPlot.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/plot/ROC.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/plot/Scatter.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/plot/VennDiagram.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/protein/MMCIF2PDB.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/protein/PDB2Fasta.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/protein/Prodigy.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/protein/ProdigySummary.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/protein/RMSD.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/regulatory/MotifAffinityTest.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/regulatory/MotifAffinityTest_AtSNP.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/regulatory/MotifAffinityTest_MotifBreakR.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/regulatory/MotifScan.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/regulatory/VariantMotifPlot.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/regulatory/motifs-common.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/rnaseq/Simulation-ESCO.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/rnaseq/Simulation-RUVcorr.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/rnaseq/Simulation.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/rnaseq/UnitConversion.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/AnnData2Seurat.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/CCPlotR-patch.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/CellCellCommunication.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/CellCellCommunicationPlots.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/CellTypeAnnotation-celltypist.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/CellTypeAnnotation-direct.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/CellTypeAnnotation-hitype.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/CellTypeAnnotation-sccatch.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/CellTypeAnnotation-sctype.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/CellTypeAnnotation.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/CellsDistribution.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/DimPlots.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/ExprImputation-alra.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/ExprImputation-rmagic.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/ExprImputation-scimpute.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/ExprImputation.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/LoomTo10X.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/MetaMarkers.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/ModuleScoreCalculator.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/RadarPlots.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/SCImpute.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/ScSimulation.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/ScVelo.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/Seurat2AnnData.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/SeuratClusterStats-clustree.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/SeuratClusterStats-dimplots.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/SeuratClusterStats-features.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/SeuratClusterStats-ngenes.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/SeuratClusterStats-stats.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/SeuratClusterStats.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/SeuratClustering.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/SeuratFilter.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/SeuratLoading.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/SeuratMap2Ref.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/SeuratMetadataMutater.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/SeuratPreparing.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/SeuratSplit.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/SeuratSubClustering.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/SeuratSubset.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/SeuratTo10X.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/Slingshot.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/Subset10X.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/TopExpressingGenes.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/celltypist-wrapper.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/sctype.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna/seurat_anndata_conversion.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna_metabolic_landscape/MetabolicFeatures.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna_metabolic_landscape/MetabolicPathwayActivity.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/scrna_metabolic_landscape/MetabolicPathwayHeterogeneity.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/snp/MatrixEQTL.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/snp/Plink2GTMat.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/snp/PlinkCallRate.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/snp/PlinkFilter.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/snp/PlinkFreq.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/snp/PlinkFromVcf.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/snp/PlinkHWE.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/snp/PlinkHet.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/snp/PlinkIBD.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/snp/PlinkSimulation.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/snp/PlinkUpdateName.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/stats/ChowTest.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/stats/DiffCoexpr.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/stats/LiquidAssoc.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/stats/Mediation.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/stats/MetaPvalue.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/stats/MetaPvalue1.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcgamaf/Maf2Vcf.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcgamaf/MafAddChr.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcgamaf/maf2vcf.pl +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/Attach2Seurat.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/CDR3AAPhyschem.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/ClonalStats.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/CloneResidency.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/CloneSizeQQPlot.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/GIANA/GIANA.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/GIANA/GIANA4.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/GIANA/Imgt_Human_TRBV.fasta +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/GIANA/query.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/Immunarch-basic.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/Immunarch-clonality.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/Immunarch-diversity.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/Immunarch-geneusage.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/Immunarch-kmer.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/Immunarch-overlap.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/Immunarch-spectratyping.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/Immunarch-tracking.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/Immunarch-vjjunc.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/Immunarch.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/Immunarch2VDJtools.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/ImmunarchFilter.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/ImmunarchLoading.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/ImmunarchSplitIdents.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/SampleDiversity.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/ScRepCombiningExpression.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/ScRepLoading.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/TCRClusterStats.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/TCRClustering.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/TCRDock.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/TESSA.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/TESSA_source/Atchley_factors.csv +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/TESSA_source/BriseisEncoder.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/TESSA_source/MCMC_control.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/TESSA_source/TrainedEncoder.h5 +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/TESSA_source/fixed_b.csv +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/TESSA_source/initialization.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/TESSA_source/post_analysis.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/TESSA_source/real_data.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/TESSA_source/update.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/TESSA_source/utility.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/VJUsage.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/immunarch-patched.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/tcr/vdjtools-patch.sh +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/vcf/BcftoolsAnnotate.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/vcf/BcftoolsFilter.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/vcf/BcftoolsMerge.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/vcf/BcftoolsSort.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/vcf/BcftoolsView.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/vcf/TruvariBench.sh +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/vcf/TruvariBenchSummary.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/vcf/TruvariConsistency.R +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/vcf/Vcf2Bed.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/vcf/VcfAnno.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/vcf/VcfDownSample.sh +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/vcf/VcfFilter.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/vcf/VcfFix.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/vcf/VcfFix_utils.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/vcf/VcfIndex.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/vcf/VcfIntersect.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/vcf/VcfLiftOver.sh +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/vcf/VcfSplitSamples.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/vcf/bcftools_utils.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/web/Download.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/web/DownloadList.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/web/GCloudStorageDownloadBucket.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/web/GCloudStorageDownloadFile.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/scripts/web/gcloud_common.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/utils/__init__.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/utils/common_docstrs.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/utils/gene.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/utils/misc.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/utils/reference.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/utils/reporter.py +0 -0
- {biopipen-0.34.6 → biopipen-0.34.8}/biopipen/utils/vcf.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.34.8"
|
|
@@ -2706,6 +2706,7 @@ class PseudoBulkDEG(Proc):
|
|
|
2706
2706
|
analysis.
|
|
2707
2707
|
|
|
2708
2708
|
Envs:
|
|
2709
|
+
ncores (type=int): Number of cores to use for parallelization.
|
|
2709
2710
|
mutaters (type=json): Mutaters to mutate the metadata of the
|
|
2710
2711
|
seurat object. Keys are the new column names and values are the
|
|
2711
2712
|
expressions to mutate the columns. These new columns can be
|
|
@@ -2715,6 +2716,9 @@ class PseudoBulkDEG(Proc):
|
|
|
2715
2716
|
each: The column name in metadata to separate the cells into different cases.
|
|
2716
2717
|
When specified, the case will be expanded to multiple cases for
|
|
2717
2718
|
each value in the column.
|
|
2719
|
+
cache (type=auto): Where to cache the results.
|
|
2720
|
+
If `True`, cache to `outdir` of the job. If `False`, don't cache.
|
|
2721
|
+
Otherwise, specify the directory to cache to.
|
|
2718
2722
|
subset: An expression in string to subset the cells.
|
|
2719
2723
|
aggregate_by: The column names in metadata to aggregate the cells.
|
|
2720
2724
|
layer: The layer to pull and aggregate the data.
|
|
@@ -2844,7 +2848,9 @@ class PseudoBulkDEG(Proc):
|
|
|
2844
2848
|
lang = config.lang.rscript
|
|
2845
2849
|
script = "file://../scripts/scrna/PseudoBulkDEG.R"
|
|
2846
2850
|
envs = {
|
|
2851
|
+
"ncores": config.misc.ncores,
|
|
2847
2852
|
"mutaters": {},
|
|
2853
|
+
"cache": config.path.tmpdir,
|
|
2848
2854
|
"each": None,
|
|
2849
2855
|
"subset": None,
|
|
2850
2856
|
"aggregate_by": None,
|
|
@@ -165,10 +165,12 @@ post_casing <- function(name, case) {
|
|
|
165
165
|
|
|
166
166
|
if (length(cases) == 0 && name == "Marker Discovery") {
|
|
167
167
|
name <- case$each
|
|
168
|
+
} else {
|
|
169
|
+
name <- paste0(name, " (", case$each, ")")
|
|
168
170
|
}
|
|
169
171
|
|
|
170
172
|
for (each in eachs) {
|
|
171
|
-
newname <- paste0(name, "
|
|
173
|
+
newname <- paste0(name, "::", each)
|
|
172
174
|
newcase <- case
|
|
173
175
|
|
|
174
176
|
newcase$original_case <- name
|
|
@@ -266,20 +268,22 @@ process_markers <- function(markers, info, case) {
|
|
|
266
268
|
ui = "tabs"
|
|
267
269
|
)
|
|
268
270
|
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
271
|
+
if (nrow(markers) > 0) {
|
|
272
|
+
for (plotname in names(case$marker_plots)) {
|
|
273
|
+
plotargs <- case$marker_plots[[plotname]]
|
|
274
|
+
plotargs$degs <- markers
|
|
275
|
+
rownames(plotargs$degs) <- make.unique(markers$gene)
|
|
276
|
+
plotargs$outprefix <- file.path(info$prefix, paste0("markers.", slugify(plotname)))
|
|
277
|
+
do_call(VizDEGs, plotargs)
|
|
278
|
+
reporter$add2(
|
|
279
|
+
list(
|
|
280
|
+
name = plotname,
|
|
281
|
+
contents = list(reporter$image(plotargs$outprefix, plotargs$more_formats, plotargs$save_code))),
|
|
282
|
+
hs = c(info$section, info$name),
|
|
283
|
+
hs2 = ifelse(is.null(case$ident), "Markers", paste0("Markers (", case$ident, ")")),
|
|
284
|
+
ui = "tabs"
|
|
285
|
+
)
|
|
286
|
+
}
|
|
283
287
|
}
|
|
284
288
|
|
|
285
289
|
# Do enrichment analysis
|
|
@@ -397,6 +401,10 @@ process_allmarkers <- function(markers, plotcases, casename, groupname) {
|
|
|
397
401
|
plotargs <- plotcases[[plotname]]
|
|
398
402
|
plotargs$degs <- markers
|
|
399
403
|
plotargs$outprefix <- file.path(info$prefix, slugify(plotname))
|
|
404
|
+
if (identical(plotargs$plot_type, "heatmap")) {
|
|
405
|
+
plotargs$show_row_names = plotargs$show_row_names %||% TRUE
|
|
406
|
+
plotargs$show_column_names = plotargs$show_column_names %||% TRUE
|
|
407
|
+
}
|
|
400
408
|
do_call(VizDEGs, plotargs)
|
|
401
409
|
reporter$add2(
|
|
402
410
|
list(
|
|
@@ -545,7 +553,9 @@ run_case <- function(name) {
|
|
|
545
553
|
attr(markers, "group_by") <- each
|
|
546
554
|
attr(markers, "ident_1") <- NULL
|
|
547
555
|
attr(markers, "ident_2") <- NULL
|
|
548
|
-
|
|
556
|
+
if (!is.null(markers) && nrow(markers) > 0) {
|
|
557
|
+
process_allmarkers(markers, allmarker_plots, name, each)
|
|
558
|
+
}
|
|
549
559
|
}
|
|
550
560
|
|
|
551
561
|
if (length(overlaps) > 0) {
|
|
@@ -555,7 +565,7 @@ run_case <- function(name) {
|
|
|
555
565
|
|
|
556
566
|
}
|
|
557
567
|
|
|
558
|
-
if (!is.null(enriches)) {
|
|
568
|
+
if (!is.null(enriches) && length(enriches) > 0) {
|
|
559
569
|
log$info("- Summarizing enrichments in subcases (by each: {each}) ...")
|
|
560
570
|
if (!is.data.frame(enriches)) {
|
|
561
571
|
each_levels <- names(enriches)
|
|
@@ -571,7 +581,7 @@ run_case <- function(name) {
|
|
|
571
581
|
enriches[[each]] <- factor(enriches[[each]], levels = each_levels)
|
|
572
582
|
}
|
|
573
583
|
|
|
574
|
-
if (length(allenrich_plots) > 0) {
|
|
584
|
+
if (length(allenrich_plots) > 0 && !is.null(enriches) && nrow(enriches) > 0) {
|
|
575
585
|
log$info("- Visualizing all enrichments together ...")
|
|
576
586
|
process_allenriches(enriches, allenrich_plots, name, each)
|
|
577
587
|
}
|
|
@@ -634,7 +644,9 @@ run_case <- function(name) {
|
|
|
634
644
|
))
|
|
635
645
|
|
|
636
646
|
if (!is.null(original_case) && !is.null(cases[[original_case]])) {
|
|
637
|
-
markers
|
|
647
|
+
if (nrow(markers) > 0) {
|
|
648
|
+
markers[[each_name]] <- each
|
|
649
|
+
}
|
|
638
650
|
cases[[original_case]]$markers[[each]] <<- markers
|
|
639
651
|
cases[[original_case]]$enriches[[each]] <<- enrich
|
|
640
652
|
}
|
|
@@ -8,7 +8,9 @@ outdir <- {{out.outdir | r}}
|
|
|
8
8
|
joboutdir <- {{job.outdir | r}}
|
|
9
9
|
each <- {{envs.each | r}}
|
|
10
10
|
subset <- {{envs.subset | r}}
|
|
11
|
+
ncores <- {{envs.ncores | r}}
|
|
11
12
|
mutaters <- {{envs.mutaters | r}}
|
|
13
|
+
cache <- {{ envs.cache | r }}
|
|
12
14
|
aggregate_by <- {{envs.aggregate_by | r}}
|
|
13
15
|
layer <- {{envs.layer | r}}
|
|
14
16
|
assay <- {{envs.assay | r}}
|
|
@@ -35,6 +37,7 @@ overlaps <- {{ envs.overlaps | r }}
|
|
|
35
37
|
cases <- {{envs.cases | r}}
|
|
36
38
|
|
|
37
39
|
aggregate_by <- unique(c(aggregate_by, group_by, paired_by, each))
|
|
40
|
+
if (isTRUE(cache)) { cache <- joboutdir }
|
|
38
41
|
|
|
39
42
|
log <- get_logger()
|
|
40
43
|
reporter <- get_reporter()
|
|
@@ -74,10 +77,12 @@ defaults <- list(
|
|
|
74
77
|
ident_1 = ident_1,
|
|
75
78
|
ident_2 = ident_2,
|
|
76
79
|
dbs = dbs,
|
|
80
|
+
ncores = ncores,
|
|
77
81
|
sigmarkers = sigmarkers,
|
|
78
82
|
enrich_style = enrich_style,
|
|
79
83
|
paired_by = paired_by,
|
|
80
84
|
tool = tool,
|
|
85
|
+
cache = cache,
|
|
81
86
|
allmarker_plots_defaults = allmarker_plots_defaults,
|
|
82
87
|
allmarker_plots = allmarker_plots,
|
|
83
88
|
allenrich_plots_defaults = allenrich_plots_defaults,
|
|
@@ -131,12 +136,14 @@ expand_each <- function(name, case) {
|
|
|
131
136
|
|
|
132
137
|
if (length(cases) == 0 && name == "DEG Analysis") {
|
|
133
138
|
name <- case$each
|
|
139
|
+
} else {
|
|
140
|
+
name <- paste0(name, " (", case$each, ")")
|
|
134
141
|
}
|
|
135
142
|
|
|
136
143
|
case$aggregate_by <- unique(c(case$aggregate_by, case$group_by, case$paired_by, case$each))
|
|
137
144
|
|
|
138
145
|
for (each in eachs) {
|
|
139
|
-
newname <- paste0(
|
|
146
|
+
newname <- paste0(name, "::", each)
|
|
140
147
|
newcase <- case
|
|
141
148
|
|
|
142
149
|
newcase$original_case <- name
|
|
@@ -179,6 +186,7 @@ expand_each <- function(name, case) {
|
|
|
179
186
|
if (length(case$overlaps) > 0 || length(case$allmarker_plots) > 0 || length(case$allenrich_plots) > 0) {
|
|
180
187
|
ovcase <- case
|
|
181
188
|
|
|
189
|
+
ovcase$allexprs <- list()
|
|
182
190
|
ovcase$markers <- list()
|
|
183
191
|
ovcase$allmarker_plots <- lapply(
|
|
184
192
|
ovcase$allmarker_plots,
|
|
@@ -212,7 +220,52 @@ process_markers <- function(markers, info, case) {
|
|
|
212
220
|
# markers <- markers %>%
|
|
213
221
|
# mutate(gene = as.character(gene)) %>%
|
|
214
222
|
# arrange(p_val_adj, desc(abs(avg_log2FC)))
|
|
223
|
+
|
|
224
|
+
empty <- if (case$enrich_style == "enrichr") {
|
|
225
|
+
data.frame(
|
|
226
|
+
Database = character(0),
|
|
227
|
+
Term = character(0),
|
|
228
|
+
Overlap = character(0),
|
|
229
|
+
P.value = numeric(0),
|
|
230
|
+
Adjusted.P.value = numeric(0),
|
|
231
|
+
Odds.Ratio = numeric(0),
|
|
232
|
+
Combined.Score = numeric(0),
|
|
233
|
+
Genes = character(0),
|
|
234
|
+
Rank = numeric(0)
|
|
235
|
+
)
|
|
236
|
+
} else { # clusterProfiler
|
|
237
|
+
data.frame(
|
|
238
|
+
ID = character(0),
|
|
239
|
+
Description = character(0),
|
|
240
|
+
GeneRatio = character(0),
|
|
241
|
+
BgRatio = character(0),
|
|
242
|
+
Count = integer(0),
|
|
243
|
+
pvalue = numeric(0),
|
|
244
|
+
p.adjust = numeric(0),
|
|
245
|
+
qvalue = numeric(0),
|
|
246
|
+
geneID = character(0),
|
|
247
|
+
Database = character(0)
|
|
248
|
+
)
|
|
249
|
+
}
|
|
250
|
+
if (is.null(markers) || nrow(markers) == 0) {
|
|
251
|
+
if (case$error) {
|
|
252
|
+
stop("Error: No markers found in case '", info$name, "'.")
|
|
253
|
+
} else {
|
|
254
|
+
log$warn("! Warning: No markers found in case '", info$name, "'.")
|
|
255
|
+
reporter$add2(
|
|
256
|
+
list(
|
|
257
|
+
name = "Warning",
|
|
258
|
+
contents = list(list(kind = "error", content = "No markers found.", kind_ = "warning"))),
|
|
259
|
+
hs = c(info$section, info$name),
|
|
260
|
+
hs2 = "DEG Analysis",
|
|
261
|
+
ui = "tabs"
|
|
262
|
+
)
|
|
263
|
+
return(empty)
|
|
264
|
+
}
|
|
265
|
+
}
|
|
215
266
|
markers$gene <- as.character(markers$gene)
|
|
267
|
+
markers$p_val_adj <- as.numeric(markers$p_val_adj)
|
|
268
|
+
markers$log2FC <- as.numeric(markers$log2FC)
|
|
216
269
|
markers <- markers[order(markers$p_val_adj, -abs(markers$log2FC)), ]
|
|
217
270
|
|
|
218
271
|
# Save markers
|
|
@@ -287,7 +340,7 @@ process_markers <- function(markers, info, case) {
|
|
|
287
340
|
stop("Error: Not enough significant DEGs with '", case$sigmarkers, "' in case '", info$name, "' found (< 5) for enrichment analysis.")
|
|
288
341
|
} else {
|
|
289
342
|
message <- paste0("Not enough significant DEGs with '", case$sigmarkers, "' found (< 5) for enrichment analysis.")
|
|
290
|
-
log$warn("
|
|
343
|
+
log$warn("! Error: {message}")
|
|
291
344
|
reporter$add2(
|
|
292
345
|
list(
|
|
293
346
|
name = "Warning",
|
|
@@ -345,7 +398,7 @@ process_markers <- function(markers, info, case) {
|
|
|
345
398
|
if (case$error) {
|
|
346
399
|
stop("Error: ", e$message)
|
|
347
400
|
} else {
|
|
348
|
-
log$warn("
|
|
401
|
+
log$warn("! Error: {e$message}")
|
|
349
402
|
reporter$add2(
|
|
350
403
|
list(
|
|
351
404
|
name = "Warning",
|
|
@@ -478,6 +531,7 @@ process_overlaps <- function(markers, ovcases, casename, groupname) {
|
|
|
478
531
|
|
|
479
532
|
run_case <- function(name) {
|
|
480
533
|
case <- cases[[name]]
|
|
534
|
+
log$info("----------------------------------------")
|
|
481
535
|
log$info("Case: {name} ...")
|
|
482
536
|
|
|
483
537
|
case <- extract_vars(
|
|
@@ -485,18 +539,21 @@ run_case <- function(name) {
|
|
|
485
539
|
"dbs", "sigmarkers", "allmarker_plots", "allenrich_plots", "marker_plots", "enrich_plots",
|
|
486
540
|
"overlaps", "original_case", "markers", "enriches", "each_name", "each", "enrich_style",
|
|
487
541
|
"aggregate_by", "subset", "layer", "assay", "group_by", "ident_1", "ident_2", "original_subset",
|
|
488
|
-
"paired_by", "tool", "error",
|
|
542
|
+
"paired_by", "tool", "error", "ncores", "cache", "allexprs",
|
|
489
543
|
allow_nonexisting = TRUE
|
|
490
544
|
)
|
|
491
545
|
|
|
492
546
|
if (!is.null(markers) || !is.null(enriches)) {
|
|
493
|
-
if (!is.null(markers)
|
|
494
|
-
log$info("
|
|
547
|
+
if (!is.null(markers) && length(markers) > 0) {
|
|
548
|
+
log$info("Summarizing DEGs in subcases (by each: {each}) ...")
|
|
495
549
|
# handle the overlaps / allmarkers analysis here
|
|
496
550
|
if (!is.data.frame(markers)) {
|
|
497
551
|
each_levels <- names(markers)
|
|
498
552
|
markers <- do_call(rbind, lapply(each_levels, function(x) {
|
|
499
553
|
markers_df <- markers[[x]]
|
|
554
|
+
if (is.null(markers_df) || nrow(markers_df) == 0) {
|
|
555
|
+
return(NULL)
|
|
556
|
+
}
|
|
500
557
|
if (nrow(markers_df) > 0) {
|
|
501
558
|
markers_df[[each]] <- x
|
|
502
559
|
} else {
|
|
@@ -508,17 +565,17 @@ run_case <- function(name) {
|
|
|
508
565
|
}
|
|
509
566
|
# gene, p_val, avg_log2FC, pct.1, pct.2, p_val_adj, diff_pct, <each>
|
|
510
567
|
|
|
568
|
+
if (!is.data.frame(allexprs)) {
|
|
569
|
+
meta <- do_call(rbind, lapply(allexprs, attr, "meta"))
|
|
570
|
+
allexprs <- do_call(cbind, allexprs)
|
|
571
|
+
} else {
|
|
572
|
+
meta <- attr(allexprs, "meta")
|
|
573
|
+
}
|
|
574
|
+
|
|
511
575
|
if (length(allmarker_plots) > 0) {
|
|
512
|
-
log$info("
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
subset = original_subset, log = log
|
|
516
|
-
)
|
|
517
|
-
attr(markers, "object") <- AggregateExpressionPseudobulk(
|
|
518
|
-
srtobj, aggregate_by = aggregate_by, layer = layer, assay = assay,
|
|
519
|
-
subset = original_subset, log = log
|
|
520
|
-
)
|
|
521
|
-
attr(markers, "meta") <- attr(exprs, "meta")
|
|
576
|
+
log$info("Visualizing all DEGs together ...")
|
|
577
|
+
attr(markers, "object") <- allexprs
|
|
578
|
+
attr(markers, "meta") <- meta
|
|
522
579
|
attr(markers, "group_by") <- each
|
|
523
580
|
attr(markers, "paired_by") <- paired_by
|
|
524
581
|
attr(markers, "ident_1") <- NULL
|
|
@@ -527,18 +584,21 @@ run_case <- function(name) {
|
|
|
527
584
|
}
|
|
528
585
|
|
|
529
586
|
if (length(overlaps) > 0) {
|
|
530
|
-
log$info("
|
|
587
|
+
log$info("Visualizing overlaps between subcases ...")
|
|
531
588
|
process_overlaps(markers, overlaps, name, each)
|
|
532
589
|
}
|
|
533
590
|
|
|
534
591
|
}
|
|
535
592
|
|
|
536
|
-
if (!is.null(enriches)) {
|
|
537
|
-
log$info("
|
|
593
|
+
if (!is.null(enriches) && length(enriches) > 0) {
|
|
594
|
+
log$info("Summarizing enrichments in subcases (by each: {each}) ...")
|
|
538
595
|
if (!is.data.frame(enriches)) {
|
|
539
596
|
each_levels <- names(enriches)
|
|
540
597
|
enriches <- do_call(rbind, lapply(each_levels, function(x) {
|
|
541
598
|
enrich_df <- enriches[[x]]
|
|
599
|
+
if (is.null(enrich_df) || nrow(enrich_df) == 0) {
|
|
600
|
+
return(NULL)
|
|
601
|
+
}
|
|
542
602
|
if (nrow(enrich_df) > 0) {
|
|
543
603
|
enrich_df[[each]] <- x
|
|
544
604
|
} else {
|
|
@@ -546,11 +606,13 @@ run_case <- function(name) {
|
|
|
546
606
|
}
|
|
547
607
|
enrich_df
|
|
548
608
|
}))
|
|
549
|
-
enriches
|
|
609
|
+
if (!is.null(enriches) && nrow(enriches) > 0) {
|
|
610
|
+
enriches[[each]] <- factor(enriches[[each]], levels = each_levels)
|
|
611
|
+
}
|
|
550
612
|
}
|
|
551
613
|
|
|
552
|
-
if (length(allenrich_plots) > 0) {
|
|
553
|
-
log$info("
|
|
614
|
+
if (length(allenrich_plots) > 0 && !is.null(enriches) && nrow(enriches) > 0) {
|
|
615
|
+
log$info("Visualizing all enrichments together ...")
|
|
554
616
|
process_allenriches(enriches, allenrich_plots, name, each)
|
|
555
617
|
}
|
|
556
618
|
}
|
|
@@ -558,16 +620,36 @@ run_case <- function(name) {
|
|
|
558
620
|
return(invisible())
|
|
559
621
|
}
|
|
560
622
|
|
|
623
|
+
info <- case_info(name, outdir, create = TRUE)
|
|
561
624
|
exprs <- AggregateExpressionPseudobulk(
|
|
562
625
|
srtobj, aggregate_by = aggregate_by, layer = layer, assay = assay,
|
|
563
626
|
subset = subset, log = log
|
|
564
627
|
)
|
|
565
|
-
markers <-
|
|
566
|
-
|
|
567
|
-
|
|
628
|
+
markers <- tryCatch(
|
|
629
|
+
{
|
|
630
|
+
RunDEGAnalysis(
|
|
631
|
+
exprs, group_by = group_by, ident_1 = ident_1, ident_2 = ident_2,
|
|
632
|
+
paired_by = paired_by, tool = tool, log = log, ncores = ncores,
|
|
633
|
+
cache = cache
|
|
634
|
+
)
|
|
635
|
+
}, error = function(e) {
|
|
636
|
+
if (error) {
|
|
637
|
+
stop("Error: ", e$message)
|
|
638
|
+
} else {
|
|
639
|
+
log$warn("! Error: {e$message}")
|
|
640
|
+
reporter$add2(
|
|
641
|
+
list(
|
|
642
|
+
name = "Warning",
|
|
643
|
+
contents = list(list(kind = "error", content = e$message, kind_ = "warning"))),
|
|
644
|
+
hs = c(info$section, info$name),
|
|
645
|
+
hs2 = "DEG Analysis",
|
|
646
|
+
ui = "tabs"
|
|
647
|
+
)
|
|
648
|
+
return(invisible())
|
|
649
|
+
}
|
|
650
|
+
}
|
|
568
651
|
)
|
|
569
652
|
|
|
570
|
-
info <- case_info(name, outdir, create = TRUE)
|
|
571
653
|
enrich <- process_markers(markers, info = info, case = list(
|
|
572
654
|
dbs = dbs,
|
|
573
655
|
sigmarkers = sigmarkers,
|
|
@@ -579,9 +661,12 @@ run_case <- function(name) {
|
|
|
579
661
|
))
|
|
580
662
|
|
|
581
663
|
if (!is.null(original_case) && !is.null(cases[[original_case]])) {
|
|
582
|
-
markers
|
|
664
|
+
if (!is.null(markers)) {
|
|
665
|
+
markers[[each_name]] <- each
|
|
666
|
+
}
|
|
583
667
|
cases[[original_case]]$markers[[each]] <<- markers
|
|
584
668
|
cases[[original_case]]$enriches[[each]] <<- enrich
|
|
669
|
+
cases[[original_case]]$allexprs[[each]] <<- exprs
|
|
585
670
|
}
|
|
586
671
|
|
|
587
672
|
invisible()
|
|
@@ -82,11 +82,13 @@ expand_each <- function(name, case) {
|
|
|
82
82
|
}
|
|
83
83
|
|
|
84
84
|
if (length(cases) == 0 && name == "GSEA") {
|
|
85
|
-
|
|
85
|
+
prefix <- case$each
|
|
86
|
+
} else {
|
|
87
|
+
prefix <- paste0(name, " (", case$each, ")")
|
|
86
88
|
}
|
|
87
89
|
|
|
88
90
|
for (each in eachs) {
|
|
89
|
-
newname <- paste0(
|
|
91
|
+
newname <- paste0(prefix, "::", each)
|
|
90
92
|
newcase <- case
|
|
91
93
|
|
|
92
94
|
newcase$original_case <- paste0(name, " (all ", case$each,")")
|
|
@@ -142,6 +144,11 @@ do_case <- function(name) {
|
|
|
142
144
|
|
|
143
145
|
if (!is.null(case$gseas)) {
|
|
144
146
|
|
|
147
|
+
if (length(case$gseas) == 0) {
|
|
148
|
+
log$warn(" No GSEA results found for case {name}. Skipping.")
|
|
149
|
+
return(invisible(NULL))
|
|
150
|
+
}
|
|
151
|
+
|
|
145
152
|
each_levels <- names(case$gseas)
|
|
146
153
|
gseas <- do_call(rbind, lapply(each_levels, function(x) {
|
|
147
154
|
gsea_df <- case$gseas[[x]]
|
|
@@ -240,25 +247,16 @@ do_case <- function(name) {
|
|
|
240
247
|
quote = FALSE
|
|
241
248
|
)
|
|
242
249
|
if (all(is.na(ranks))) {
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
} else {
|
|
254
|
-
stop(paste0(
|
|
255
|
-
"All gene ranks are NA (# cells = ",
|
|
256
|
-
length(allclasses),
|
|
257
|
-
"). ",
|
|
258
|
-
"It's probably due to high missing rate in the data. ",
|
|
259
|
-
"You may want to try a different `envs$method` for pre-ranking."
|
|
260
|
-
))
|
|
261
|
-
}
|
|
250
|
+
log$warn(" All gene ranks are NA. It's probably due to high missing rate in the data.")
|
|
251
|
+
log$warn(" Case ignored, you may also try a different ranking method.")
|
|
252
|
+
reporter$add2(
|
|
253
|
+
list(
|
|
254
|
+
kind = "error",
|
|
255
|
+
content = "All gene ranks are NA. It's probably due to high missing rate in the data."
|
|
256
|
+
),
|
|
257
|
+
hs = c(info$section, info$name)
|
|
258
|
+
)
|
|
259
|
+
return(invisible(NULL))
|
|
262
260
|
}
|
|
263
261
|
|
|
264
262
|
# run fgsea
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.34.6"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|