biopipen 0.27.2__tar.gz → 0.27.3__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.27.2 → biopipen-0.27.3}/PKG-INFO +3 -2
- biopipen-0.27.3/biopipen/__init__.py +1 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/ns/scrna.py +8 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/MarkersFinder.R +30 -5
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/MetaMarkers.R +17 -3
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/ScFGSEA.R +21 -4
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/SeuratPreparing.R +113 -1
- {biopipen-0.27.2 → biopipen-0.27.3}/pyproject.toml +3 -2
- {biopipen-0.27.2 → biopipen-0.27.3}/setup.py +4 -3
- biopipen-0.27.2/biopipen/__init__.py +0 -1
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/core/__init__.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/core/config.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/core/config.toml +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/core/defaults.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/core/filters.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/core/proc.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/core/testing.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/ns/__init__.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/ns/bam.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/ns/bcftools.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/ns/bed.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/ns/cellranger.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/ns/cellranger_pipeline.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/ns/cnv.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/ns/cnvkit.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/ns/cnvkit_pipeline.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/ns/delim.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/ns/gene.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/ns/gsea.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/ns/misc.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/ns/plot.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/ns/rnaseq.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/ns/scrna_metabolic_landscape.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/ns/snp.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/ns/stats.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/ns/tcgamaf.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/ns/tcr.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/ns/vcf.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/ns/web.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/bam/CNAClinic.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/bam/CNVpytor.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/bam/ControlFREEC.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/cellranger/CellRangerCount.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/cellranger/CellRangerSummary.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/cellranger/CellRangerVdj.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/cnv/AneuploidyScore.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/cnv/AneuploidyScoreSummary.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/cnv/TMADScoreSummary.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/cnvkit/CNVkitDiagram.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/cnvkit/CNVkitHeatmap.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/cnvkit/CNVkitScatter.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/delim/SampleInfo.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/gsea/FGSEA.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/gsea/GSEA.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/scrna/CellsDistribution.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/scrna/DimPlots.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/scrna/MarkersFinder.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/scrna/MetaMarkers.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/scrna/RadarPlots.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/scrna/ScFGSEA.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/scrna/SeuratClusterStats.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/scrna/SeuratMap2Ref.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/scrna/SeuratPreparing.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/scrna/TopExpressingGenes.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/scrna_metabolic_landscape/MetabolicFeatures.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/scrna_metabolic_landscape/MetabolicFeaturesIntraSubset.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/scrna_metabolic_landscape/MetabolicPathwayActivity.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/scrna_metabolic_landscape/MetabolicPathwayHeterogeneity.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/tcr/CDR3AAPhyschem.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/tcr/CloneResidency.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/tcr/Immunarch.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/tcr/SampleDiversity.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/tcr/TCRClusterStats.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/tcr/TESSA.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/tcr/VJUsage.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/utils/gsea.liq +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/utils/misc.liq +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/vcf/TruvariBenchSummary.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/reports/vcf/TruvariConsistency.svelte +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/bam/BamMerge.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/bam/BamSplitChroms.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/bam/CNAClinic.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/bam/CNVpytor.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/bam/ControlFREEC.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/bcftools/BcftoolsAnnotate.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/bcftools/BcftoolsFilter.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/bcftools/BcftoolsSort.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/bed/Bed2Vcf.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/bed/BedConsensus.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/bed/BedLiftOver.sh +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/bed/BedtoolsMerge.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/cellranger/CellRangerCount.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/cellranger/CellRangerSummary.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/cellranger/CellRangerVdj.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/cnv/AneuploidyScore.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/cnv/AneuploidyScoreSummary.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/cnv/TMADScore.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/cnv/TMADScoreSummary.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/cnvkit/CNVkitAccess.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/cnvkit/CNVkitAutobin.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/cnvkit/CNVkitBatch.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/cnvkit/CNVkitCall.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/cnvkit/CNVkitCoverage.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/cnvkit/CNVkitDiagram.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/cnvkit/CNVkitFix.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/cnvkit/CNVkitGuessBaits.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/cnvkit/CNVkitHeatmap.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/cnvkit/CNVkitReference.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/cnvkit/CNVkitScatter.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/cnvkit/CNVkitSegment.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/cnvkit/guess_baits.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/delim/RowsBinder.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/delim/SampleInfo.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/gene/GeneNameConversion.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/gsea/Enrichr.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/gsea/FGSEA.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/gsea/GSEA.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/gsea/PreRank.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/misc/Config2File.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/misc/Str2File.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/plot/Heatmap.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/plot/VennDiagram.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/rnaseq/Simulation-ESCO.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/rnaseq/Simulation-RUVcorr.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/rnaseq/Simulation.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/rnaseq/UnitConversion.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/AnnData2Seurat.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/CellTypeAnnotation-celltypist.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/CellTypeAnnotation-direct.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/CellTypeAnnotation-hitype.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/CellTypeAnnotation-sccatch.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/CellTypeAnnotation-sctype.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/CellTypeAnnotation.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/CellsDistribution.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/DimPlots.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/ExprImpution-alra.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/ExprImpution-rmagic.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/ExprImpution-scimpute.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/ExprImpution.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/ModuleScoreCalculator.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/RadarPlots.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/SCImpute.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/Seurat2AnnData.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/SeuratClusterStats-dimplots.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/SeuratClusterStats-features.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/SeuratClusterStats-hists.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/SeuratClusterStats-ngenes.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/SeuratClusterStats-stats.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/SeuratClusterStats.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/SeuratClustering.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/SeuratFilter.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/SeuratLoading.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/SeuratMap2Ref.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/SeuratMetadataMutater.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/SeuratSplit.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/SeuratSubClustering.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/SeuratSubset.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/SeuratTo10X.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/TopExpressingGenes.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/Write10X.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/celltypist-wrapper.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna/sctype.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna_metabolic_landscape/MetabolicFeatures.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna_metabolic_landscape/MetabolicFeaturesIntraSubset.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna_metabolic_landscape/MetabolicPathwayActivity.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/scrna_metabolic_landscape/MetabolicPathwayHeterogeneity.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/snp/PlinkSimulation.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/stats/ChowTest.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/stats/DiffCoexpr.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/stats/LiquidAssoc.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/stats/MetaPvalue.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcgamaf/Maf2Vcf.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcgamaf/MafAddChr.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcgamaf/maf2vcf.pl +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/Attach2Seurat.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/CDR3AAPhyschem.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/CloneResidency.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/CloneSizeQQPlot.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/GIANA/GIANA.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/GIANA/GIANA4.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/GIANA/Imgt_Human_TRBV.fasta +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/GIANA/query.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/Immunarch-basic.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/Immunarch-clonality.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/Immunarch-diversity.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/Immunarch-geneusage.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/Immunarch-kmer.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/Immunarch-overlap.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/Immunarch-spectratyping.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/Immunarch-tracking.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/Immunarch-vjjunc.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/Immunarch.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/Immunarch2VDJtools.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/ImmunarchFilter.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/ImmunarchLoading.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/ImmunarchSplitIdents.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/SampleDiversity.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/TCRClusterStats.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/TCRClustering.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/TCRDock.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/TESSA.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/TESSA_source/Atchley_factors.csv +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/TESSA_source/BriseisEncoder.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/TESSA_source/MCMC_control.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/TESSA_source/TrainedEncoder.h5 +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/TESSA_source/fixed_b.csv +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/TESSA_source/initialization.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/TESSA_source/post_analysis.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/TESSA_source/real_data.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/TESSA_source/update.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/TESSA_source/utility.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/VJUsage.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/immunarch-patched.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/tcr/vdjtools-patch.sh +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/vcf/TruvariBench.sh +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/vcf/TruvariBenchSummary.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/vcf/TruvariConsistency.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/vcf/Vcf2Bed.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/vcf/VcfAnno.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/vcf/VcfDownSample.sh +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/vcf/VcfFilter.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/vcf/VcfFix.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/vcf/VcfFix_utils.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/vcf/VcfIndex.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/vcf/VcfIntersect.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/vcf/VcfLiftOver.sh +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/vcf/VcfSplitSamples.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/web/Download.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/scripts/web/DownloadList.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/utils/__init__.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/utils/caching.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/utils/common_docstrs.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/utils/gene.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/utils/gene.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/utils/gsea.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/utils/io.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/utils/misc.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/utils/misc.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/utils/mutate_helpers.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/utils/plot.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/utils/reference.py +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/utils/rnaseq.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/utils/single_cell.R +0 -0
- {biopipen-0.27.2 → biopipen-0.27.3}/biopipen/utils/vcf.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: biopipen
|
|
3
|
-
Version: 0.27.
|
|
3
|
+
Version: 0.27.3
|
|
4
4
|
Summary: Bioinformatics processes/pipelines that can be run from `pipen run`
|
|
5
5
|
License: MIT
|
|
6
6
|
Author: pwwang
|
|
@@ -17,6 +17,7 @@ Requires-Dist: datar[pandas] (>=0.15.6,<0.16.0)
|
|
|
17
17
|
Requires-Dist: pipen-board[report] (>=0.15,<0.16)
|
|
18
18
|
Requires-Dist: pipen-cli-run (>=0.13,<0.14)
|
|
19
19
|
Requires-Dist: pipen-filters (>=0.12,<0.13)
|
|
20
|
-
Requires-Dist: pipen-poplog (>=0.1,<0.2)
|
|
20
|
+
Requires-Dist: pipen-poplog (>=0.1.2,<0.2.0)
|
|
21
21
|
Requires-Dist: pipen-runinfo (>=0.6,<0.7) ; extra == "runinfo"
|
|
22
22
|
Requires-Dist: pipen-verbose (>=0.11,<0.12)
|
|
23
|
+
Requires-Dist: pyyaml-include (==1.*)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.27.3"
|
|
@@ -201,6 +201,13 @@ class SeuratPreparing(Proc):
|
|
|
201
201
|
- scvi: Same as `scVIIntegration`.
|
|
202
202
|
- <more>: See <https://satijalab.org/seurat/reference/integratelayers>
|
|
203
203
|
|
|
204
|
+
DoubletFinder (ns): Arguments to run [`DoubletFinder`](https://github.com/chris-mcginnis-ucsf/DoubletFinder).
|
|
205
|
+
See also <https://demultiplexing-doublet-detecting-docs.readthedocs.io/en/latest/DoubletFinder.html>.
|
|
206
|
+
To disable `DoubletFinder`, set `envs.DoubletFinder` to `None` or `False`; or set `pcs` to `0`.
|
|
207
|
+
- PCs (type=int): Number of PCs to use for 'doubletFinder' function.
|
|
208
|
+
- doublets (type=float): Number of expected doublets as a proportion of the pool size.
|
|
209
|
+
- pN (type=float): Number of doublets to simulate as a proportion of the pool size.
|
|
210
|
+
|
|
204
211
|
Requires:
|
|
205
212
|
r-seurat:
|
|
206
213
|
- check: {{proc.lang}} <(echo "library(Seurat)")
|
|
@@ -227,6 +234,7 @@ class SeuratPreparing(Proc):
|
|
|
227
234
|
"min_cells": 5,
|
|
228
235
|
},
|
|
229
236
|
"IntegrateLayers": {"method": "harmony"},
|
|
237
|
+
"DoubletFinder": {"PCs": 0, "pN": 0.25, "doublets": 0.075},
|
|
230
238
|
}
|
|
231
239
|
script = "file://../scripts/scrna/SeuratPreparing.R"
|
|
232
240
|
plugin_opts = {
|
|
@@ -120,7 +120,7 @@ expand_each <- function(name, case) {
|
|
|
120
120
|
pull(case$each) %>% na.omit() %>% unique() %>% as.vector()
|
|
121
121
|
}
|
|
122
122
|
for (each in eachs) {
|
|
123
|
-
by <- make.names(paste0("
|
|
123
|
+
by <- make.names(paste0("..", name, "_", case$each,"_", each))
|
|
124
124
|
srtobj@meta.data <<- srtobj@meta.data %>% mutate(
|
|
125
125
|
!!sym(by) := if_else(
|
|
126
126
|
!!sym(case$each) == each,
|
|
@@ -364,6 +364,16 @@ add_case_report <- function(info, sigmarkers, siggenes) {
|
|
|
364
364
|
}
|
|
365
365
|
}
|
|
366
366
|
|
|
367
|
+
ensure_sobj <- function(expr, allow_empty) {
|
|
368
|
+
tryCatch({ expr }, error = function(e) {
|
|
369
|
+
if (allow_empty) {
|
|
370
|
+
log_warn(" Ignoring this case: {e$message}")
|
|
371
|
+
return(NULL)
|
|
372
|
+
} else {
|
|
373
|
+
stop(e)
|
|
374
|
+
}
|
|
375
|
+
})
|
|
376
|
+
}
|
|
367
377
|
|
|
368
378
|
do_case_findall <- function(casename) {
|
|
369
379
|
# casename
|
|
@@ -382,10 +392,17 @@ do_case_findall <- function(casename) {
|
|
|
382
392
|
# args$min.cells.group <- args$min.cells.group %||% 1
|
|
383
393
|
# args$min.cells.feature <- args$min.cells.feature %||% 1
|
|
384
394
|
# args$min.pct <- args$min.pct %||% 0
|
|
395
|
+
allow_empty = startsWith(case$group.by, "..")
|
|
385
396
|
if (!is.null(case$subset)) {
|
|
386
|
-
args$object <-
|
|
397
|
+
args$object <- ensure_sobj({
|
|
398
|
+
srtobj %>% filter(!!parse_expr(case$subset) & !is.na(!!sym(case$group.by)))
|
|
399
|
+
}, allow_empty)
|
|
400
|
+
if (is.null(args$object)) { return() }
|
|
387
401
|
} else {
|
|
388
|
-
args$object <-
|
|
402
|
+
args$object <- ensure_sobj({
|
|
403
|
+
srtobj %>% filter(!is.na(!!sym(case$group.by)))
|
|
404
|
+
}, allow_empty)
|
|
405
|
+
if (is.null(args$object)) { return() }
|
|
389
406
|
}
|
|
390
407
|
Idents(args$object) <- case$group.by
|
|
391
408
|
|
|
@@ -486,11 +503,19 @@ do_case <- function(casename) {
|
|
|
486
503
|
# sigmarkers
|
|
487
504
|
# rest
|
|
488
505
|
args <- case$rest
|
|
506
|
+
allow_empty = startsWith(case$group.by, "..")
|
|
489
507
|
if (!is.null(case$subset)) {
|
|
490
|
-
args$object <-
|
|
508
|
+
args$object <- ensure_sobj({
|
|
509
|
+
srtobj %>% filter(!!parse_expr(case$subset) & !is.na(!!sym(case$group.by)))
|
|
510
|
+
}, allow_empty)
|
|
511
|
+
if (is.null(args$object)) { return() }
|
|
491
512
|
} else {
|
|
492
|
-
args$object <-
|
|
513
|
+
args$object <- ensure_sobj({
|
|
514
|
+
srtobj %>% filter(!is.na(!!sym(case$group.by)))
|
|
515
|
+
}, allow_empty)
|
|
516
|
+
if (is.null(args$object)) { return() }
|
|
493
517
|
}
|
|
518
|
+
|
|
494
519
|
args$assay <- case$assay
|
|
495
520
|
args$group.by <- case$group.by
|
|
496
521
|
args$ident.1 <- case$ident.1
|
|
@@ -76,7 +76,7 @@ expand_each <- function(name, case) {
|
|
|
76
76
|
pull(case$each) %>% unique() %>% na.omit()
|
|
77
77
|
}
|
|
78
78
|
for (each in eachs) {
|
|
79
|
-
by = make.names(paste0("
|
|
79
|
+
by = make.names(paste0("..", name, "_", case$each, "_", each))
|
|
80
80
|
idents <- case$idents
|
|
81
81
|
if (is.null(idents) || length(idents) == 0) {
|
|
82
82
|
srtobj@meta.data = srtobj@meta.data %>%
|
|
@@ -169,17 +169,31 @@ do_enrich <- function(info, markers, sig) {
|
|
|
169
169
|
}
|
|
170
170
|
}
|
|
171
171
|
|
|
172
|
+
ensure_sobj <- function(expr, allow_empty) {
|
|
173
|
+
tryCatch({ expr }, error = function(e) {
|
|
174
|
+
if (allow_empty) {
|
|
175
|
+
log_warn(" Ignoring this case: {e$message}")
|
|
176
|
+
return(NULL)
|
|
177
|
+
} else {
|
|
178
|
+
stop(e)
|
|
179
|
+
}
|
|
180
|
+
})
|
|
181
|
+
}
|
|
182
|
+
|
|
172
183
|
do_case <- function(casename) {
|
|
173
184
|
log_info("- Dealing with case: {casename} ...")
|
|
174
185
|
info <- casename_info(casename, cases, outdir, create = TRUE)
|
|
175
186
|
case <- cases[[casename]]
|
|
187
|
+
allow_empty = startsWith(case$group_by, "..")
|
|
176
188
|
|
|
177
189
|
if (sum(!is.na(srtobj@meta.data[[case$group_by]])) == 0) {
|
|
178
190
|
msg = "Not enough cells to run tests."
|
|
179
191
|
} else {
|
|
180
|
-
sobj <- srtobj %>% filter(!is.na(!!sym(case$group_by)))
|
|
192
|
+
sobj <- ensure_sobj({ srtobj %>% filter(!is.na(!!sym(case$group_by))) }, allow_empty)
|
|
193
|
+
if (is.null(sobj)) { return() }
|
|
181
194
|
if (!is.null(case$subset)) {
|
|
182
|
-
sobj <-
|
|
195
|
+
sobj <- ensure_sobj({ sobj %>% filter(!!parse_expr(case$subset)) }, allow_empty)
|
|
196
|
+
if (is.null(sobj)) { return() }
|
|
183
197
|
}
|
|
184
198
|
df <- tryCatch({
|
|
185
199
|
GetAssayData(sobj, layer = "data")
|
|
@@ -72,7 +72,7 @@ expand_each <- function(name, case) {
|
|
|
72
72
|
pull(case$each) %>% na.omit() %>% unique() %>% as.vector()
|
|
73
73
|
}
|
|
74
74
|
for (each in eachs) {
|
|
75
|
-
by <- make.names(paste0("
|
|
75
|
+
by <- make.names(paste0("..", name, "_", case$each,"_", each))
|
|
76
76
|
srtobj@meta.data <<- srtobj@meta.data %>%
|
|
77
77
|
mutate(!!sym(by) := if_else(
|
|
78
78
|
!!sym(case$each) == each,
|
|
@@ -97,18 +97,35 @@ log_info("- Expanding cases...")
|
|
|
97
97
|
cases <- expand_cases(cases, defaults, expand_each)
|
|
98
98
|
|
|
99
99
|
|
|
100
|
+
ensure_sobj <- function(expr, allow_empty) {
|
|
101
|
+
tryCatch({ expr }, error = function(e) {
|
|
102
|
+
if (allow_empty) {
|
|
103
|
+
log_warn(" Ignoring this case: {e$message}")
|
|
104
|
+
return(NULL)
|
|
105
|
+
} else {
|
|
106
|
+
stop(e)
|
|
107
|
+
}
|
|
108
|
+
})
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
|
|
100
112
|
do_case <- function(name, case) {
|
|
101
113
|
log_info("- Handling case: {name} ...")
|
|
102
114
|
info <- casename_info(name, cases, outdir, create = TRUE)
|
|
103
115
|
|
|
116
|
+
allow_empty = startsWith(case$group.by, "..")
|
|
104
117
|
# prepare expression matrix
|
|
105
118
|
log_info(" Preparing expression matrix...")
|
|
106
|
-
sobj <- srtobj %>% filter(!is.na(!!sym(case$group.by)))
|
|
119
|
+
sobj <- ensure_sobj({ srtobj %>% filter(!is.na(!!sym(case$group.by))) }, allow_empty)
|
|
120
|
+
if (is.null(sobj)) { return() }
|
|
121
|
+
|
|
107
122
|
if (!is.null(case$subset)) {
|
|
108
|
-
sobj <- sobj %>% filter(!!!parse_exprs(case$subset))
|
|
123
|
+
sobj <- ensure_sobj({ sobj %>% filter(!!!parse_exprs(case$subset)) }, allow_empty)
|
|
124
|
+
if (is.null(sobj)) { return() }
|
|
109
125
|
}
|
|
110
126
|
if (!is.null(case$ident.2)) {
|
|
111
|
-
sobj <- sobj %>% filter(!!sym(case$group.by) %in% c(case$ident.1, case$ident.2))
|
|
127
|
+
sobj <- ensure_sobj({ sobj %>% filter(!!sym(case$group.by) %in% c(case$ident.1, case$ident.2)) }, allow_empty)
|
|
128
|
+
if (is.null(sobj)) { return() }
|
|
112
129
|
}
|
|
113
130
|
|
|
114
131
|
allclasses <- sobj@meta.data[, case$group.by, drop = TRUE]
|
|
@@ -13,6 +13,7 @@ envs = {{envs | r: todot = "-", skip = 1}}
|
|
|
13
13
|
|
|
14
14
|
set.seed(8525)
|
|
15
15
|
options(future.globals.maxSize = 80000 * 1024^2)
|
|
16
|
+
options(future.rng.onMisuse="ignore")
|
|
16
17
|
options(Seurat.object.assay.version = "v5")
|
|
17
18
|
plan(strategy = "multicore", workers = envs$ncores)
|
|
18
19
|
|
|
@@ -342,7 +343,7 @@ RunPCAArgs$object <- sobj
|
|
|
342
343
|
sobj <- do_call(RunPCA, RunPCAArgs)
|
|
343
344
|
|
|
344
345
|
if (!envs$no_integration) {
|
|
345
|
-
log_info("- Running IntegrateLayers ...")
|
|
346
|
+
log_info("- Running IntegrateLayers (method = {envs$IntegrateLayers$method}) ...")
|
|
346
347
|
IntegrateLayersArgs <- envs$IntegrateLayers
|
|
347
348
|
method <- IntegrateLayersArgs$method
|
|
348
349
|
if (!is.null(IntegrateLayersArgs$reference) && is.character(IntegrateLayersArgs$reference)) {
|
|
@@ -383,6 +384,117 @@ if (!envs$use_sct) {
|
|
|
383
384
|
sobj <- JoinLayers(sobj)
|
|
384
385
|
}
|
|
385
386
|
|
|
387
|
+
if (!is.null(envs$DoubletFinder) && is.list(envs$DoubletFinder) && envs$DoubletFinder$PCs > 0) {
|
|
388
|
+
library(DoubletFinder)
|
|
389
|
+
|
|
390
|
+
log_info("Running DoubletFinder ...")
|
|
391
|
+
log_info("- Preparing Seurat object ...")
|
|
392
|
+
# More controls from envs?
|
|
393
|
+
sobj <- FindNeighbors(sobj, dims = 1:envs$DoubletFinder$PCs)
|
|
394
|
+
sobj <- FindClusters(sobj)
|
|
395
|
+
|
|
396
|
+
log_info("- pK Indentification ...")
|
|
397
|
+
sweep.res.list <- paramSweep(
|
|
398
|
+
sobj,
|
|
399
|
+
PCs = 1:envs$DoubletFinder$PCs,
|
|
400
|
+
sct = envs$use_sct,
|
|
401
|
+
num.cores = envs$ncores
|
|
402
|
+
)
|
|
403
|
+
sweep.stats <- summarizeSweep(sweep.res.list, GT = FALSE)
|
|
404
|
+
bcmvn <- find.pK(sweep.stats)
|
|
405
|
+
|
|
406
|
+
bcmvn$Selected <- bcmvn$pK == bcmvn$pK[which.max(bcmvn$BCmetric)[1]]
|
|
407
|
+
plot <- ggplot(bcmvn, aes(x = pK, y = BCmetric, color = Selected)) +
|
|
408
|
+
geom_point() +
|
|
409
|
+
# rotate x axis labels
|
|
410
|
+
theme(axis.text.x = element_text(angle = 90, hjust = 1))
|
|
411
|
+
ggsave(plot, filename = file.path(plotsdir, "pK_BCmetric.png"))
|
|
412
|
+
|
|
413
|
+
pK <- bcmvn$pK[which.max(bcmvn$BCmetric)[1]]
|
|
414
|
+
pK <- as.numeric(as.character(pK))
|
|
415
|
+
pN <- envs$DoubletFinder$pN
|
|
416
|
+
log_info("- Homotypic Doublet Proportion Estimate ...")
|
|
417
|
+
homotypic.prop <- modelHomotypic(Idents(sobj))
|
|
418
|
+
nExp_poi <- round(nrow(sobj@meta.data) * envs$DoubletFinder$doublets)
|
|
419
|
+
nExp_poi.adj <- round(nExp_poi * (1 - homotypic.prop))
|
|
420
|
+
|
|
421
|
+
log_info("- Running DoubletFinder ...")
|
|
422
|
+
sobj <- doubletFinder(
|
|
423
|
+
sobj,
|
|
424
|
+
PCs = 1:envs$DoubletFinder$PCs,
|
|
425
|
+
pN = pN,
|
|
426
|
+
pK = pK,
|
|
427
|
+
nExp = nExp_poi.adj,
|
|
428
|
+
reuse.pANN = FALSE,
|
|
429
|
+
sct = envs$use_sct
|
|
430
|
+
)
|
|
431
|
+
pANN_col <- paste0("pANN_", pN, "_", pK)
|
|
432
|
+
pANN_col <- colnames(sobj@meta.data)[grepl(pANN_col, colnames(sobj@meta.data))]
|
|
433
|
+
DF_col <- paste0("DF.classifications_", pN, "_", pK)
|
|
434
|
+
DF_col <- colnames(sobj@meta.data)[grepl(DF_col, colnames(sobj@meta.data))]
|
|
435
|
+
doublets <- as.data.frame(
|
|
436
|
+
cbind(
|
|
437
|
+
colnames(sobj),
|
|
438
|
+
sobj@meta.data[, pANN_col],
|
|
439
|
+
sobj@meta.data[, DF_col]
|
|
440
|
+
)
|
|
441
|
+
)
|
|
442
|
+
colnames(doublets) <- c("Barcode","DoubletFinder_score","DoubletFinder_DropletType")
|
|
443
|
+
write.table(
|
|
444
|
+
doublets,
|
|
445
|
+
file.path(joboutdir, "DoubletFinder_doublets_singlets.txt"),
|
|
446
|
+
row.names = FALSE,
|
|
447
|
+
quote = FALSE,
|
|
448
|
+
sep = "\t"
|
|
449
|
+
)
|
|
450
|
+
|
|
451
|
+
summary <- as.data.frame(table(doublets$DoubletFinder_DropletType))
|
|
452
|
+
colnames(summary) <- c("Classification", "Droplet_N")
|
|
453
|
+
write.table(
|
|
454
|
+
summary,
|
|
455
|
+
file.path(joboutdir, "DoubletFinder_summary.txt"),
|
|
456
|
+
row.names = FALSE,
|
|
457
|
+
quote = FALSE,
|
|
458
|
+
sep = "\t"
|
|
459
|
+
)
|
|
460
|
+
|
|
461
|
+
# Do a dimplot
|
|
462
|
+
log_info("- Plotting dimension reduction ...")
|
|
463
|
+
dimp <- DimPlot(
|
|
464
|
+
sobj, group.by = DF_col, order = "Doublet",
|
|
465
|
+
cols = c("#333333", "#FF3333"), pt.size = 0.8, alpha = 0.5)
|
|
466
|
+
ggsave(dimp, filename = file.path(plotsdir, "DoubletFinder_dimplot.png"))
|
|
467
|
+
|
|
468
|
+
log_info("- Filtering doublets ...")
|
|
469
|
+
sobj <- subset(sobj, cells = doublets$Barcode[doublets$DoubletFinder_DropletType == "Singlet"])
|
|
470
|
+
|
|
471
|
+
add_report(
|
|
472
|
+
list(
|
|
473
|
+
kind = "descr",
|
|
474
|
+
content = "The table contains the number of cells classified as singlets and doublets."
|
|
475
|
+
),
|
|
476
|
+
list(
|
|
477
|
+
kind = "table",
|
|
478
|
+
data = list(path = file.path(joboutdir, "DoubletFinder_summary.txt"))
|
|
479
|
+
),
|
|
480
|
+
h1 = "DoubletFinder Results",
|
|
481
|
+
h2 = "The DoubletFinder Summary"
|
|
482
|
+
)
|
|
483
|
+
add_report(
|
|
484
|
+
list(
|
|
485
|
+
name = "pK vs BCmetric",
|
|
486
|
+
src = file.path(plotsdir, "pK_BCmetric.png")
|
|
487
|
+
),
|
|
488
|
+
list(
|
|
489
|
+
name = "Dimension Reduction Plot",
|
|
490
|
+
src = file.path(plotsdir, "DoubletFinder_dimplot.png")
|
|
491
|
+
),
|
|
492
|
+
ui = "table_of_images",
|
|
493
|
+
h1 = "DoubletFinder Results",
|
|
494
|
+
h2 = "Plots"
|
|
495
|
+
)
|
|
496
|
+
}
|
|
497
|
+
|
|
386
498
|
log_info("Saving filtered seurat object ...")
|
|
387
499
|
saveRDS(sobj, rdsfile)
|
|
388
500
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "biopipen"
|
|
3
|
-
version = "0.27.
|
|
3
|
+
version = "0.27.3"
|
|
4
4
|
description = "Bioinformatics processes/pipelines that can be run from `pipen run`"
|
|
5
5
|
authors = ["pwwang <pwwang@pwwang.com>"]
|
|
6
6
|
license = "MIT"
|
|
@@ -15,10 +15,11 @@ python = "^3.9"
|
|
|
15
15
|
pipen-filters = "^0.12"
|
|
16
16
|
pipen-cli-run = "^0.13"
|
|
17
17
|
pipen-verbose = "^0.11"
|
|
18
|
-
pipen-poplog = "^0.1"
|
|
18
|
+
pipen-poplog = "^0.1.2"
|
|
19
19
|
datar = { version = "^0.15.6", extras = ["pandas"] }
|
|
20
20
|
pipen-board = { version = "^0.15", extras = ["report"] }
|
|
21
21
|
pipen-runinfo = { version = "^0.6", optional = true }
|
|
22
|
+
pyyaml-include = "1.*" # https://github.com/copier-org/copier/issues/1568
|
|
22
23
|
|
|
23
24
|
[tool.poetry.extras]
|
|
24
25
|
runinfo = ["pipen-runinfo"]
|
|
@@ -48,8 +48,9 @@ install_requires = \
|
|
|
48
48
|
'pipen-board[report]>=0.15,<0.16',
|
|
49
49
|
'pipen-cli-run>=0.13,<0.14',
|
|
50
50
|
'pipen-filters>=0.12,<0.13',
|
|
51
|
-
'pipen-poplog>=0.1,<0.2',
|
|
52
|
-
'pipen-verbose>=0.11,<0.12'
|
|
51
|
+
'pipen-poplog>=0.1.2,<0.2.0',
|
|
52
|
+
'pipen-verbose>=0.11,<0.12',
|
|
53
|
+
'pyyaml-include==1.*']
|
|
53
54
|
|
|
54
55
|
extras_require = \
|
|
55
56
|
{'runinfo': ['pipen-runinfo>=0.6,<0.7']}
|
|
@@ -81,7 +82,7 @@ entry_points = \
|
|
|
81
82
|
|
|
82
83
|
setup_kwargs = {
|
|
83
84
|
'name': 'biopipen',
|
|
84
|
-
'version': '0.27.
|
|
85
|
+
'version': '0.27.3',
|
|
85
86
|
'description': 'Bioinformatics processes/pipelines that can be run from `pipen run`',
|
|
86
87
|
'long_description': 'None',
|
|
87
88
|
'author': 'pwwang',
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.27.2"
|
|
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
|
|
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
|