biopipen 0.27.9__tar.gz → 0.28.1__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.9 → biopipen-0.28.1}/PKG-INFO +1 -1
- biopipen-0.28.1/biopipen/__init__.py +1 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/ns/cellranger.py +32 -13
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/ns/cellranger_pipeline.py +39 -8
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/ns/scrna.py +10 -4
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/cellranger/CellRangerCount.py +20 -16
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/cellranger/CellRangerVdj.py +4 -17
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/CellTypeAnnotation-sccatch.R +2 -7
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/CellsDistribution.R +2 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/pyproject.toml +1 -1
- {biopipen-0.27.9 → biopipen-0.28.1}/setup.py +1 -1
- biopipen-0.27.9/biopipen/__init__.py +0 -1
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/core/__init__.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/core/config.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/core/config.toml +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/core/defaults.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/core/filters.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/core/proc.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/core/testing.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/ns/__init__.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/ns/bam.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/ns/bcftools.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/ns/bed.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/ns/cnv.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/ns/cnvkit.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/ns/cnvkit_pipeline.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/ns/delim.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/ns/gene.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/ns/gsea.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/ns/misc.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/ns/plot.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/ns/rnaseq.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/ns/scrna_metabolic_landscape.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/ns/snp.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/ns/stats.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/ns/tcgamaf.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/ns/tcr.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/ns/vcf.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/ns/web.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/bam/CNAClinic.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/bam/CNVpytor.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/bam/ControlFREEC.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/cellranger/CellRangerCount.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/cellranger/CellRangerSummary.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/cellranger/CellRangerVdj.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/cnv/AneuploidyScore.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/cnv/AneuploidyScoreSummary.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/cnv/TMADScoreSummary.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/cnvkit/CNVkitDiagram.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/cnvkit/CNVkitHeatmap.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/cnvkit/CNVkitScatter.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/delim/SampleInfo.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/gsea/FGSEA.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/gsea/GSEA.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/scrna/CellsDistribution.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/scrna/DimPlots.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/scrna/MarkersFinder.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/scrna/MetaMarkers.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/scrna/RadarPlots.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/scrna/ScFGSEA.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/scrna/SeuratClusterStats.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/scrna/SeuratMap2Ref.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/scrna/SeuratPreparing.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/scrna/TopExpressingGenes.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/scrna_metabolic_landscape/MetabolicFeatures.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/scrna_metabolic_landscape/MetabolicFeaturesIntraSubset.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/scrna_metabolic_landscape/MetabolicPathwayActivity.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/scrna_metabolic_landscape/MetabolicPathwayHeterogeneity.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/tcr/CDR3AAPhyschem.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/tcr/CloneResidency.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/tcr/Immunarch.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/tcr/SampleDiversity.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/tcr/TCRClusterStats.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/tcr/TESSA.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/tcr/VJUsage.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/utils/gsea.liq +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/utils/misc.liq +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/vcf/TruvariBenchSummary.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/reports/vcf/TruvariConsistency.svelte +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/bam/BamMerge.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/bam/BamSplitChroms.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/bam/CNAClinic.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/bam/CNVpytor.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/bam/ControlFREEC.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/bcftools/BcftoolsAnnotate.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/bcftools/BcftoolsFilter.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/bcftools/BcftoolsSort.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/bed/Bed2Vcf.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/bed/BedConsensus.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/bed/BedLiftOver.sh +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/bed/BedtoolsMerge.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/cellranger/CellRangerSummary.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/cnv/AneuploidyScore.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/cnv/AneuploidyScoreSummary.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/cnv/TMADScore.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/cnv/TMADScoreSummary.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/cnvkit/CNVkitAccess.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/cnvkit/CNVkitAutobin.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/cnvkit/CNVkitBatch.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/cnvkit/CNVkitCall.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/cnvkit/CNVkitCoverage.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/cnvkit/CNVkitDiagram.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/cnvkit/CNVkitFix.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/cnvkit/CNVkitGuessBaits.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/cnvkit/CNVkitHeatmap.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/cnvkit/CNVkitReference.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/cnvkit/CNVkitScatter.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/cnvkit/CNVkitSegment.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/cnvkit/guess_baits.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/delim/RowsBinder.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/delim/SampleInfo.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/gene/GeneNameConversion.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/gsea/Enrichr.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/gsea/FGSEA.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/gsea/GSEA.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/gsea/PreRank.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/misc/Config2File.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/misc/Str2File.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/plot/Heatmap.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/plot/ROC.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/plot/VennDiagram.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/rnaseq/Simulation-ESCO.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/rnaseq/Simulation-RUVcorr.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/rnaseq/Simulation.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/rnaseq/UnitConversion.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/AnnData2Seurat.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/CellTypeAnnotation-celltypist.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/CellTypeAnnotation-direct.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/CellTypeAnnotation-hitype.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/CellTypeAnnotation-sctype.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/CellTypeAnnotation.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/DimPlots.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/ExprImputation-alra.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/ExprImputation-rmagic.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/ExprImputation-scimpute.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/ExprImputation.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/MarkersFinder.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/MetaMarkers.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/ModuleScoreCalculator.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/RadarPlots.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/SCImpute.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/ScFGSEA.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/Seurat2AnnData.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/SeuratClusterStats-dimplots.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/SeuratClusterStats-features.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/SeuratClusterStats-hists.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/SeuratClusterStats-ngenes.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/SeuratClusterStats-stats.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/SeuratClusterStats.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/SeuratClustering.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/SeuratFilter.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/SeuratLoading.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/SeuratMap2Ref.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/SeuratMetadataMutater.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/SeuratPreparing.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/SeuratSplit.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/SeuratSubClustering.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/SeuratSubset.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/SeuratTo10X.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/Subset10X.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/TopExpressingGenes.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/celltypist-wrapper.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna/sctype.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna_metabolic_landscape/MetabolicFeatures.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna_metabolic_landscape/MetabolicFeaturesIntraSubset.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna_metabolic_landscape/MetabolicPathwayActivity.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/scrna_metabolic_landscape/MetabolicPathwayHeterogeneity.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/snp/MatrixEQTL.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/snp/PlinkSimulation.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/stats/ChowTest.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/stats/DiffCoexpr.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/stats/LiquidAssoc.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/stats/MetaPvalue.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcgamaf/Maf2Vcf.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcgamaf/MafAddChr.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcgamaf/maf2vcf.pl +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/Attach2Seurat.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/CDR3AAPhyschem.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/CloneResidency.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/CloneSizeQQPlot.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/GIANA/GIANA.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/GIANA/GIANA4.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/GIANA/Imgt_Human_TRBV.fasta +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/GIANA/query.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/Immunarch-basic.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/Immunarch-clonality.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/Immunarch-diversity.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/Immunarch-geneusage.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/Immunarch-kmer.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/Immunarch-overlap.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/Immunarch-spectratyping.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/Immunarch-tracking.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/Immunarch-vjjunc.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/Immunarch.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/Immunarch2VDJtools.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/ImmunarchFilter.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/ImmunarchLoading.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/ImmunarchSplitIdents.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/SampleDiversity.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/TCRClusterStats.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/TCRClustering.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/TCRDock.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/TESSA.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/TESSA_source/Atchley_factors.csv +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/TESSA_source/BriseisEncoder.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/TESSA_source/MCMC_control.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/TESSA_source/TrainedEncoder.h5 +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/TESSA_source/fixed_b.csv +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/TESSA_source/initialization.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/TESSA_source/post_analysis.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/TESSA_source/real_data.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/TESSA_source/update.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/TESSA_source/utility.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/VJUsage.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/immunarch-patched.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/tcr/vdjtools-patch.sh +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/vcf/TruvariBench.sh +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/vcf/TruvariBenchSummary.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/vcf/TruvariConsistency.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/vcf/Vcf2Bed.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/vcf/VcfAnno.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/vcf/VcfDownSample.sh +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/vcf/VcfFilter.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/vcf/VcfFix.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/vcf/VcfFix_utils.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/vcf/VcfIndex.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/vcf/VcfIntersect.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/vcf/VcfLiftOver.sh +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/vcf/VcfSplitSamples.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/web/Download.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/scripts/web/DownloadList.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/utils/__init__.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/utils/caching.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/utils/common_docstrs.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/utils/gene.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/utils/gene.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/utils/gsea.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/utils/io.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/utils/misc.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/utils/misc.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/utils/mutate_helpers.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/utils/plot.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/utils/reference.py +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/utils/rnaseq.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/utils/single_cell.R +0 -0
- {biopipen-0.27.9 → biopipen-0.28.1}/biopipen/utils/vcf.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.28.1"
|
|
@@ -7,12 +7,15 @@ class CellRangerCount(Proc):
|
|
|
7
7
|
"""Run cellranger count
|
|
8
8
|
|
|
9
9
|
to count gene expression and/or feature barcode reads
|
|
10
|
+
requires cellranger v7+.
|
|
10
11
|
|
|
11
12
|
Input:
|
|
12
13
|
fastqs: The input fastq files
|
|
13
14
|
Either a list of fastq files or a directory containing fastq files
|
|
14
15
|
If a directory is provided, it should be passed as a list with one
|
|
15
16
|
element.
|
|
17
|
+
id: The id defining output directory. If not provided, it is inferred
|
|
18
|
+
from the fastq files.
|
|
16
19
|
|
|
17
20
|
Output:
|
|
18
21
|
outdir: The output directory
|
|
@@ -23,21 +26,28 @@ class CellRangerCount(Proc):
|
|
|
23
26
|
ref: Path of folder containing 10x-compatible transcriptome reference
|
|
24
27
|
tmpdir: Path to temporary directory, used to save the soft-lined fastq files
|
|
25
28
|
to pass to cellranger
|
|
26
|
-
include_introns: Set to false to exclude intronic reads in count.
|
|
29
|
+
include_introns (flag): Set to false to exclude intronic reads in count.
|
|
30
|
+
create_bam (flag): Enable or disable BAM file generation.
|
|
31
|
+
This is required by cellrange v8+. When using cellrange v8-, it will be
|
|
32
|
+
transformed to `--no-bam`.
|
|
27
33
|
<more>: Other environment variables required by `cellranger count`
|
|
28
34
|
See `cellranger count --help` for more details or
|
|
29
35
|
https://www.10xgenomics.com/support/software/cell-ranger/advanced/cr-command-line-arguments#count
|
|
30
36
|
""" # noqa: E501
|
|
31
|
-
input = "fastqs:files"
|
|
37
|
+
input = "fastqs:files, id"
|
|
32
38
|
output = """outdir:dir:
|
|
33
39
|
{%- set fastqs = in.fastqs -%}
|
|
34
40
|
{%- if len(fastqs) == 1 and isdir(fastqs[0]) -%}
|
|
35
41
|
{%- set fastqs = fastqs[0] | glob: "*.fastq.gz" -%}
|
|
36
42
|
{%- endif -%}
|
|
37
|
-
{%-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
43
|
+
{%- if in.id -%}
|
|
44
|
+
{{in.id}}
|
|
45
|
+
{%- else -%}
|
|
46
|
+
{%- set id = commonprefix(*fastqs) |
|
|
47
|
+
regex_replace: "_L\\d+(:?_.*)?$", "" |
|
|
48
|
+
regex_replace: "_S\\d+$", "" -%}
|
|
49
|
+
{{- id -}}
|
|
50
|
+
{%- endif -%}
|
|
41
51
|
"""
|
|
42
52
|
lang = config.lang.python
|
|
43
53
|
envs = {
|
|
@@ -45,7 +55,8 @@ class CellRangerCount(Proc):
|
|
|
45
55
|
"cellranger": config.exe.cellranger,
|
|
46
56
|
"ref": config.ref.ref_cellranger_gex,
|
|
47
57
|
"tmpdir": config.path.tmpdir,
|
|
48
|
-
"include_introns":
|
|
58
|
+
"include_introns": True,
|
|
59
|
+
"create_bam": False,
|
|
49
60
|
}
|
|
50
61
|
script = "file://../scripts/cellranger/CellRangerCount.py"
|
|
51
62
|
plugin_opts = {
|
|
@@ -57,13 +68,16 @@ class CellRangerCount(Proc):
|
|
|
57
68
|
class CellRangerVdj(Proc):
|
|
58
69
|
"""Run cellranger vdj
|
|
59
70
|
|
|
60
|
-
to perform sequence assembly and paired clonotype calling
|
|
71
|
+
to perform sequence assembly and paired clonotype calling.
|
|
72
|
+
requires cellranger v7+.
|
|
61
73
|
|
|
62
74
|
Input:
|
|
63
75
|
fastqs: The input fastq files
|
|
64
76
|
Either a list of fastq files or a directory containing fastq files
|
|
65
77
|
If a directory is provided, it should be passed as a list with one
|
|
66
78
|
element.
|
|
79
|
+
id: The id determining the output directory. If not provided, it is inferred
|
|
80
|
+
from the fastq files.
|
|
67
81
|
|
|
68
82
|
Output:
|
|
69
83
|
outdir: The output directory
|
|
@@ -78,16 +92,20 @@ class CellRangerVdj(Proc):
|
|
|
78
92
|
See `cellranger vdj --help` for more details or
|
|
79
93
|
https://www.10xgenomics.com/support/software/cell-ranger/advanced/cr-command-line-arguments#vdj
|
|
80
94
|
""" # noqa: E501
|
|
81
|
-
input = "fastqs:files"
|
|
95
|
+
input = "fastqs:files, id"
|
|
82
96
|
output = """outdir:dir:
|
|
83
97
|
{%- set fastqs = in.fastqs -%}
|
|
84
98
|
{%- if len(fastqs) == 1 and isdir(fastqs[0]) -%}
|
|
85
99
|
{%- set fastqs = fastqs[0] | glob: "*.fastq.gz" -%}
|
|
86
100
|
{%- endif -%}
|
|
87
|
-
{%-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
101
|
+
{%- if in.id -%}
|
|
102
|
+
{{in.id}}
|
|
103
|
+
{%- else -%}
|
|
104
|
+
{%- set id = commonprefix(*fastqs) |
|
|
105
|
+
regex_replace: "_L\\d+(:?_.*)?$", "" |
|
|
106
|
+
regex_replace: "_S\\d+$", "" -%}
|
|
107
|
+
{{- id -}}
|
|
108
|
+
{%- endif -%}
|
|
91
109
|
"""
|
|
92
110
|
lang = config.lang.python
|
|
93
111
|
envs = {
|
|
@@ -129,4 +147,5 @@ class CellRangerSummary(Proc):
|
|
|
129
147
|
envs = {"group": None}
|
|
130
148
|
plugin_opts = {
|
|
131
149
|
"report": "file://../reports/cellranger/CellRangerSummary.svelte",
|
|
150
|
+
"report_paging": 8,
|
|
132
151
|
}
|
|
@@ -7,6 +7,7 @@ from __future__ import annotations
|
|
|
7
7
|
from typing import TYPE_CHECKING
|
|
8
8
|
|
|
9
9
|
from diot import Diot
|
|
10
|
+
from pipen.utils import mark, is_loading_pipeline
|
|
10
11
|
from pipen_args.procgroup import ProcGroup
|
|
11
12
|
|
|
12
13
|
if TYPE_CHECKING:
|
|
@@ -17,28 +18,43 @@ class CellRangerCountPipeline(ProcGroup):
|
|
|
17
18
|
"""The cellranger count pipeline
|
|
18
19
|
|
|
19
20
|
Run cellranger count for multiple samples and summarize the metrics.
|
|
21
|
+
|
|
22
|
+
Args:
|
|
23
|
+
input (type=list): The list of lists of fastq files.
|
|
24
|
+
or the list of comma-separated string of fastq files.
|
|
25
|
+
ids (type=list): The list of ids for the samples.
|
|
20
26
|
"""
|
|
21
|
-
DEFAULTS = Diot(input=None)
|
|
27
|
+
DEFAULTS = Diot(input=None, ids=None)
|
|
22
28
|
|
|
23
29
|
def post_init(self):
|
|
24
30
|
"""Check if the input is a list of fastq files"""
|
|
25
|
-
if (
|
|
31
|
+
if not is_loading_pipeline() and (
|
|
26
32
|
not isinstance(self.opts.input, (list, tuple))
|
|
27
33
|
or len(self.opts.input) == 0
|
|
28
|
-
or not isinstance(self.opts.input[0], (list, tuple))
|
|
29
34
|
):
|
|
30
35
|
raise TypeError(
|
|
31
36
|
"The input of `CellRangerCountPipeline` should be a list of lists of "
|
|
32
37
|
"fastq files."
|
|
33
38
|
)
|
|
34
39
|
|
|
40
|
+
if isinstance(self.opts.input, (list, tuple)):
|
|
41
|
+
self.opts.input = [
|
|
42
|
+
[y.strip() for y in x.split(",")]
|
|
43
|
+
if isinstance(x, str)
|
|
44
|
+
else x
|
|
45
|
+
for x in self.opts.input
|
|
46
|
+
]
|
|
47
|
+
|
|
35
48
|
@ProcGroup.add_proc
|
|
36
49
|
def p_cellranger_count(self) -> Proc:
|
|
37
50
|
"""Build CellRangerCount process"""
|
|
38
51
|
from .cellranger import CellRangerCount as _CellRangerCount
|
|
39
52
|
|
|
40
53
|
class CellRangerCount(_CellRangerCount):
|
|
41
|
-
|
|
54
|
+
if self.opts.ids:
|
|
55
|
+
input_data = list(zip(self.opts.input, self.opts.ids))
|
|
56
|
+
else:
|
|
57
|
+
input_data = self.opts.input
|
|
42
58
|
|
|
43
59
|
return CellRangerCount
|
|
44
60
|
|
|
@@ -58,28 +74,43 @@ class CellRangerVdjPipeline(ProcGroup):
|
|
|
58
74
|
"""The cellranger vdj pipeline
|
|
59
75
|
|
|
60
76
|
Run cellranger vdj for multiple samples and summarize the metrics.
|
|
77
|
+
|
|
78
|
+
Args:
|
|
79
|
+
input (type=list): The list of lists of fastq files.
|
|
80
|
+
or the list of comma-separated string of fastq files.
|
|
81
|
+
ids (type=list): The list of ids for the samples.
|
|
61
82
|
"""
|
|
62
|
-
DEFAULTS = Diot(input=None)
|
|
83
|
+
DEFAULTS = Diot(input=None, ids=None)
|
|
63
84
|
|
|
64
85
|
def post_init(self):
|
|
65
86
|
"""Check if the input is a list of fastq files"""
|
|
66
|
-
if (
|
|
87
|
+
if not is_loading_pipeline() and (
|
|
67
88
|
not isinstance(self.opts.input, (list, tuple))
|
|
68
89
|
or len(self.opts.input) == 0
|
|
69
|
-
or not isinstance(self.opts.input[0], (list, tuple))
|
|
70
90
|
):
|
|
71
91
|
raise TypeError(
|
|
72
92
|
"The input of `CellRangerVdjPipeline` should be a list of lists of "
|
|
73
93
|
"fastq files."
|
|
74
94
|
)
|
|
75
95
|
|
|
96
|
+
if isinstance(self.opts.input, (list, tuple)):
|
|
97
|
+
self.opts.input = [
|
|
98
|
+
[y.strip() for y in x.split(",")]
|
|
99
|
+
if isinstance(x, str)
|
|
100
|
+
else x
|
|
101
|
+
for x in self.opts.input
|
|
102
|
+
]
|
|
103
|
+
|
|
76
104
|
@ProcGroup.add_proc
|
|
77
105
|
def p_cellranger_vdj(self) -> Proc:
|
|
78
106
|
"""Build CellRangerVdj process"""
|
|
79
107
|
from .cellranger import CellRangerVdj as _CellRangerVdj
|
|
80
108
|
|
|
81
109
|
class CellRangerVdj(_CellRangerVdj):
|
|
82
|
-
|
|
110
|
+
if self.opts.ids:
|
|
111
|
+
input_data = list(zip(self.opts.input, self.opts.ids))
|
|
112
|
+
else:
|
|
113
|
+
input_data = self.opts.input
|
|
83
114
|
|
|
84
115
|
return CellRangerVdj
|
|
85
116
|
|
|
@@ -1689,11 +1689,11 @@ class CellTypeAnnotation(Proc):
|
|
|
1689
1689
|
///
|
|
1690
1690
|
|
|
1691
1691
|
sccatch_args (ns): The arguments for `scCATCH::findmarkergene()` if `tool` is `sccatch`.
|
|
1692
|
-
- species
|
|
1693
|
-
- Human: Human cells.
|
|
1694
|
-
- Mouse: Mouse cells.
|
|
1692
|
+
- species: The specie of cells.
|
|
1695
1693
|
- cancer: If the sample is from cancer tissue, then the cancer type may be defined.
|
|
1696
1694
|
- tissue: Tissue origin of cells must be defined.
|
|
1695
|
+
- marker: The marker genes for cell type identification.
|
|
1696
|
+
- if_use_custom_marker (flag): Whether to use custom marker genes. If `True`, no `species`, `cancer`, and `tissue` are needed.
|
|
1697
1697
|
- <more>: Other arguments for [`scCATCH::findmarkergene()`](https://rdrr.io/cran/scCATCH/man/findmarkergene.html).
|
|
1698
1698
|
You can pass an RDS file to `sccatch_args.marker` to work as custom marker. If so,
|
|
1699
1699
|
`if_use_custom_marker` will be set to `TRUE` automatically.
|
|
@@ -1743,7 +1743,13 @@ class CellTypeAnnotation(Proc):
|
|
|
1743
1743
|
"sctype_tissue": None,
|
|
1744
1744
|
"sctype_db": config.ref.sctype_db,
|
|
1745
1745
|
"cell_types": [],
|
|
1746
|
-
"sccatch_args": {
|
|
1746
|
+
"sccatch_args": {
|
|
1747
|
+
"species": None,
|
|
1748
|
+
"cancer": "Normal",
|
|
1749
|
+
"tissue": None,
|
|
1750
|
+
"marker": None,
|
|
1751
|
+
"if_use_custom_marker": False,
|
|
1752
|
+
},
|
|
1747
1753
|
"hitype_tissue": None,
|
|
1748
1754
|
"hitype_db": None,
|
|
1749
1755
|
"celltypist_args": {
|
|
@@ -5,23 +5,17 @@ from biopipen.utils.misc import run_command
|
|
|
5
5
|
|
|
6
6
|
fastqs = {{in.fastqs | repr}} # pyright: ignore # noqa
|
|
7
7
|
outdir = {{out.outdir | quote}} # pyright: ignore
|
|
8
|
+
id = {{out.outdir | basename | quote}} # pyright: ignore
|
|
8
9
|
|
|
9
10
|
cellranger = {{envs.cellranger | quote}} # pyright: ignore
|
|
10
11
|
tmpdir = Path({{envs.tmpdir | quote}}) # pyright: ignore
|
|
11
12
|
ref = {{envs.ref | quote}} # pyright: ignore
|
|
12
13
|
ncores = {{envs.ncores | int}} # pyright: ignore
|
|
14
|
+
include_introns = {{envs.include_introns | repr}}
|
|
15
|
+
create_bam = {{envs.create_bam | repr}}
|
|
13
16
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
{%- else -%}
|
|
17
|
-
id = {{out.outdir | basename | quote}} # pyright: ignore
|
|
18
|
-
{%- endif %}
|
|
19
|
-
|
|
20
|
-
{% if "sample" in envs -%}
|
|
21
|
-
sample = {{envs.sample | quote}} # pyright: ignore
|
|
22
|
-
{%- else -%}
|
|
23
|
-
sample = {{out.outdir | basename | quote}} # pyright: ignore
|
|
24
|
-
{%- endif %}
|
|
17
|
+
include_introns = str(include_introns).lower()
|
|
18
|
+
create_bam = str(create_bam).lower()
|
|
25
19
|
|
|
26
20
|
# create a temporary unique directory to store the soft-linked fastq files
|
|
27
21
|
fastqdir = tmpdir / f"cellranger_count_{uuid.uuid4()}"
|
|
@@ -34,25 +28,35 @@ for fastq in fastqs:
|
|
|
34
28
|
fastq = Path(fastq)
|
|
35
29
|
(fastqdir / fastq.name).symlink_to(fastq)
|
|
36
30
|
|
|
37
|
-
other_args = {{envs | dict_to_cli_args: dashify=True, exclude=['cellranger', 'transcriptome', 'ref', 'tmpdir', 'id', '
|
|
31
|
+
other_args = {{envs | dict_to_cli_args: dashify=True, exclude=['no_bam', 'create_bam', 'include_introns', 'cellranger', 'transcriptome', 'ref', 'tmpdir', 'id', 'ncores']}} # pyright: ignore
|
|
38
32
|
|
|
39
33
|
command = [
|
|
40
34
|
cellranger,
|
|
41
35
|
"count",
|
|
42
36
|
"--id",
|
|
43
37
|
id,
|
|
44
|
-
"--sample",
|
|
45
|
-
sample,
|
|
46
38
|
"--fastqs",
|
|
47
39
|
fastqdir,
|
|
48
40
|
"--transcriptome",
|
|
49
|
-
ref,
|
|
41
|
+
Path(ref).resolve(),
|
|
50
42
|
"--localcores",
|
|
51
43
|
ncores,
|
|
52
44
|
"--disable-ui",
|
|
45
|
+
"--include-introns",
|
|
46
|
+
include_introns,
|
|
53
47
|
*other_args,
|
|
54
48
|
]
|
|
55
49
|
|
|
50
|
+
# check cellranger version
|
|
51
|
+
# cellranger cellranger-7.2.0
|
|
52
|
+
version = run_command([cellranger, "--version"], stdout = "RETURN")
|
|
53
|
+
version = version.replace("cellranger", "").replace("-", "").strip()
|
|
54
|
+
version = list(map(int, version.split(".")))
|
|
55
|
+
if version[0] >= 8:
|
|
56
|
+
command += ["--create-bam", create_bam]
|
|
57
|
+
elif not create_bam:
|
|
58
|
+
command += ["--no-bam"]
|
|
59
|
+
|
|
56
60
|
run_command(command, fg=True, cwd=str(Path(outdir).parent))
|
|
57
61
|
|
|
58
62
|
web_summary_html = Path(outdir) / "outs" / "web_summary.html"
|
|
@@ -68,7 +72,7 @@ print("# Modify web_summary.html to move javascript to a separate file")
|
|
|
68
72
|
try:
|
|
69
73
|
web_summary_js = Path(outdir) / "outs" / "web_summary.js"
|
|
70
74
|
web_summary_content = web_summary_html.read_text()
|
|
71
|
-
regex = re.compile(r"<script>(
|
|
75
|
+
regex = re.compile(r"<script>(.+)</script>", re.DOTALL)
|
|
72
76
|
web_summary_html.write_text(regex.sub(
|
|
73
77
|
'<script src="web_summary.js"></script>',
|
|
74
78
|
web_summary_content,
|
|
@@ -5,24 +5,13 @@ from biopipen.utils.misc import run_command
|
|
|
5
5
|
|
|
6
6
|
fastqs = {{in.fastqs | repr}} # pyright: ignore # noqa
|
|
7
7
|
outdir = {{out.outdir | quote}} # pyright: ignore
|
|
8
|
+
id = {{out.outdir | basename | quote}} # pyright: ignore
|
|
8
9
|
|
|
9
10
|
cellranger = {{envs.cellranger | quote}} # pyright: ignore
|
|
10
11
|
tmpdir = Path({{envs.tmpdir | quote}}) # pyright: ignore
|
|
11
12
|
ref = {{envs.ref | quote}} # pyright: ignore
|
|
12
13
|
ncores = {{envs.ncores | int}} # pyright: ignore
|
|
13
14
|
|
|
14
|
-
{% if "id" in envs -%}
|
|
15
|
-
id = {{envs.id | quote}} # pyright: ignore
|
|
16
|
-
{%- else -%}
|
|
17
|
-
id = {{out.outdir | basename | quote}} # pyright: ignore
|
|
18
|
-
{%- endif %}
|
|
19
|
-
|
|
20
|
-
{% if "sample" in envs -%}
|
|
21
|
-
sample = {{envs.sample | quote}} # pyright: ignore
|
|
22
|
-
{%- else -%}
|
|
23
|
-
sample = {{out.outdir | basename | quote}} # pyright: ignore
|
|
24
|
-
{%- endif %}
|
|
25
|
-
|
|
26
15
|
# create a temporary unique directory to store the soft-linked fastq files
|
|
27
16
|
fastqdir = tmpdir / f"cellranger_count_{uuid.uuid4()}"
|
|
28
17
|
fastqdir.mkdir(parents=True, exist_ok=True)
|
|
@@ -34,19 +23,17 @@ for fastq in fastqs:
|
|
|
34
23
|
fastq = Path(fastq)
|
|
35
24
|
(fastqdir / fastq.name).symlink_to(fastq)
|
|
36
25
|
|
|
37
|
-
other_args = {{envs | dict_to_cli_args: dashify=True, exclude=['cellranger', 'reference', 'ref', 'tmpdir', 'id', '
|
|
26
|
+
other_args = {{envs | dict_to_cli_args: dashify=True, exclude=['cellranger', 'reference', 'ref', 'tmpdir', 'id', 'ncores']}} # pyright: ignore
|
|
38
27
|
|
|
39
28
|
command = [
|
|
40
29
|
cellranger,
|
|
41
30
|
"vdj",
|
|
42
31
|
"--id",
|
|
43
32
|
id,
|
|
44
|
-
"--sample",
|
|
45
|
-
sample,
|
|
46
33
|
"--fastqs",
|
|
47
34
|
fastqdir,
|
|
48
35
|
"--reference",
|
|
49
|
-
ref,
|
|
36
|
+
Path(ref).resolve(),
|
|
50
37
|
"--localcores",
|
|
51
38
|
ncores,
|
|
52
39
|
"--disable-ui",
|
|
@@ -68,7 +55,7 @@ print("# Modify web_summary.html to move javascript to a separate file")
|
|
|
68
55
|
try:
|
|
69
56
|
web_summary_js = Path(outdir) / "outs" / "web_summary.js"
|
|
70
57
|
web_summary_content = web_summary_html.read_text()
|
|
71
|
-
regex = re.compile(r"<script>(
|
|
58
|
+
regex = re.compile(r"<script>(.+)</script>", re.DOTALL)
|
|
72
59
|
web_summary_html.write_text(regex.sub(
|
|
73
60
|
'<script src="web_summary.js"></script>',
|
|
74
61
|
web_summary_content,
|
|
@@ -7,19 +7,12 @@ outfile = {{out.outfile | r}}
|
|
|
7
7
|
sccatch_args = {{envs.sccatch_args | r}}
|
|
8
8
|
newcol = {{envs.newcol | r}}
|
|
9
9
|
|
|
10
|
-
if (is.null(sccatch_args$tissue)) { stop("`envs.sccatch_args.tissue` origin of cells must be defined.") }
|
|
11
|
-
if (is.null(sccatch_args$species)) {
|
|
12
|
-
sccatch_args$species = "Human"
|
|
13
|
-
}
|
|
14
10
|
if (!is.null(sccatch_args$marker)) {
|
|
15
11
|
cellmatch = readRDS(sccatch_args$marker)
|
|
16
12
|
sccatch_args$if_use_custom_marker = TRUE
|
|
17
13
|
}
|
|
18
14
|
sccatch_args$marker = cellmatch
|
|
19
15
|
|
|
20
|
-
if (is.null(sccatch_args$cancer)) {
|
|
21
|
-
sccatch_args$cancer = "Normal"
|
|
22
|
-
}
|
|
23
16
|
if (is.integer(sccatch_args$use_method)) {
|
|
24
17
|
sccatch_args$use_method = as.character(sccatch_args$use_method)
|
|
25
18
|
}
|
|
@@ -30,6 +23,8 @@ obj = createscCATCH(data = GetAssayData(sobj), cluster = as.character(Idents(sob
|
|
|
30
23
|
sccatch_args$object = obj
|
|
31
24
|
|
|
32
25
|
obj = do_call(findmarkergene, sccatch_args)
|
|
26
|
+
obj = findcelltype(object = obj)
|
|
27
|
+
|
|
33
28
|
write.table(
|
|
34
29
|
obj@celltype,
|
|
35
30
|
file = file.path(dirname(outfile), "cluster2celltype.tsv"),
|
|
@@ -360,6 +360,7 @@ do_case <- function(name, case) {
|
|
|
360
360
|
}
|
|
361
361
|
|
|
362
362
|
log_info(" Merging and saving pie charts ...")
|
|
363
|
+
devpars = case$devpars
|
|
363
364
|
# assemble and save pie chart plots
|
|
364
365
|
res <- devpars$res %||% 100
|
|
365
366
|
# legend, cells_by names
|
|
@@ -405,6 +406,7 @@ do_case <- function(name, case) {
|
|
|
405
406
|
}
|
|
406
407
|
|
|
407
408
|
col_fun <- colorRamp2(c(0, max(hmdata, na.rm = T)), c("lightyellow", "purple"))
|
|
409
|
+
hm_devpars <- case$hm_devpars
|
|
408
410
|
hm_res <- hm_devpars$res %||% 100
|
|
409
411
|
hm_width <- hm_devpars$width %||% (600 + 15 * length(unique(meta$seurat_clusters)) + extra_width)
|
|
410
412
|
hm_height <- hm_devpars$height %||% (450 + 15 * cells_rows + extra_height)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.27.9"
|
|
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
|