biopipen 0.23.4__tar.gz → 0.23.6__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.

Files changed (224) hide show
  1. {biopipen-0.23.4 → biopipen-0.23.6}/PKG-INFO +1 -1
  2. biopipen-0.23.6/biopipen/__init__.py +1 -0
  3. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/core/filters.py +53 -32
  4. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/ns/scrna.py +7 -1
  5. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/ns/scrna_metabolic_landscape.py +4 -1
  6. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/MarkersFinder.R +4 -0
  7. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/MetaMarkers.R +6 -0
  8. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/SeuratClusterStats-stats.R +4 -0
  9. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/SeuratClustering.R +1 -0
  10. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/SeuratPreparing.R +13 -3
  11. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/TopExpressingGenes.R +6 -0
  12. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna_metabolic_landscape/MetabolicFeatures.R +7 -2
  13. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna_metabolic_landscape/MetabolicFeaturesIntraSubset.R +15 -4
  14. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna_metabolic_landscape/MetabolicPathwayActivity.R +1 -0
  15. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna_metabolic_landscape/MetabolicPathwayHeterogeneity.R +14 -10
  16. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/Immunarch-diversity.R +6 -0
  17. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/utils/gsea.R +49 -3
  18. {biopipen-0.23.4 → biopipen-0.23.6}/pyproject.toml +1 -1
  19. {biopipen-0.23.4 → biopipen-0.23.6}/setup.py +1 -1
  20. biopipen-0.23.4/biopipen/__init__.py +0 -1
  21. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/core/__init__.py +0 -0
  22. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/core/config.py +0 -0
  23. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/core/config.toml +0 -0
  24. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/core/defaults.py +0 -0
  25. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/core/proc.py +0 -0
  26. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/core/testing.py +0 -0
  27. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/ns/__init__.py +0 -0
  28. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/ns/bam.py +0 -0
  29. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/ns/bcftools.py +0 -0
  30. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/ns/bed.py +0 -0
  31. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/ns/cellranger.py +0 -0
  32. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/ns/cnv.py +0 -0
  33. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/ns/cnvkit.py +0 -0
  34. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/ns/cnvkit_pipeline.py +0 -0
  35. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/ns/delim.py +0 -0
  36. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/ns/gene.py +0 -0
  37. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/ns/gsea.py +0 -0
  38. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/ns/misc.py +0 -0
  39. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/ns/plot.py +0 -0
  40. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/ns/rnaseq.py +0 -0
  41. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/ns/tcgamaf.py +0 -0
  42. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/ns/tcr.py +0 -0
  43. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/ns/vcf.py +0 -0
  44. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/ns/web.py +0 -0
  45. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/bam/CNAClinic.svelte +0 -0
  46. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/bam/CNVpytor.svelte +0 -0
  47. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/bam/ControlFREEC.svelte +0 -0
  48. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/cellranger/CellRangerCount.svelte +0 -0
  49. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/cellranger/CellRangerVdj.svelte +0 -0
  50. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/cnv/AneuploidyScore.svelte +0 -0
  51. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/cnv/AneuploidyScoreSummary.svelte +0 -0
  52. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/cnv/TMADScoreSummary.svelte +0 -0
  53. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/cnvkit/CNVkitDiagram.svelte +0 -0
  54. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/cnvkit/CNVkitHeatmap.svelte +0 -0
  55. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/cnvkit/CNVkitScatter.svelte +0 -0
  56. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/delim/SampleInfo.svelte +0 -0
  57. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/gsea/FGSEA.svelte +0 -0
  58. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/gsea/GSEA.svelte +0 -0
  59. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/scrna/CellsDistribution.svelte +0 -0
  60. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/scrna/DimPlots.svelte +0 -0
  61. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/scrna/MarkersFinder.svelte +0 -0
  62. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/scrna/MetaMarkers.svelte +0 -0
  63. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/scrna/RadarPlots.svelte +0 -0
  64. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/scrna/ScFGSEA.svelte +0 -0
  65. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/scrna/SeuratClusterStats.svelte +0 -0
  66. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/scrna/SeuratMap2Ref.svelte +0 -0
  67. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/scrna/SeuratPreparing.svelte +0 -0
  68. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/scrna/TopExpressingGenes.svelte +0 -0
  69. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/scrna_metabolic_landscape/MetabolicFeatures.svelte +0 -0
  70. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/scrna_metabolic_landscape/MetabolicFeaturesIntraSubset.svelte +0 -0
  71. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/scrna_metabolic_landscape/MetabolicPathwayActivity.svelte +0 -0
  72. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/scrna_metabolic_landscape/MetabolicPathwayHeterogeneity.svelte +0 -0
  73. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/tcr/CDR3AAPhyschem.svelte +0 -0
  74. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/tcr/CloneResidency.svelte +0 -0
  75. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/tcr/Immunarch.svelte +0 -0
  76. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/tcr/SampleDiversity.svelte +0 -0
  77. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/tcr/TCRClusterStats.svelte +0 -0
  78. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/tcr/TESSA.svelte +0 -0
  79. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/tcr/VJUsage.svelte +0 -0
  80. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/utils/gsea.liq +0 -0
  81. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/utils/misc.liq +0 -0
  82. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/vcf/TruvariBenchSummary.svelte +0 -0
  83. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/reports/vcf/TruvariConsistency.svelte +0 -0
  84. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/bam/BamMerge.py +0 -0
  85. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/bam/BamSplitChroms.py +0 -0
  86. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/bam/CNAClinic.R +0 -0
  87. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/bam/CNVpytor.py +0 -0
  88. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/bam/ControlFREEC.py +0 -0
  89. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/bcftools/BcftoolsAnnotate.py +0 -0
  90. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/bcftools/BcftoolsFilter.py +0 -0
  91. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/bcftools/BcftoolsSort.py +0 -0
  92. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/bed/Bed2Vcf.py +0 -0
  93. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/bed/BedConsensus.py +0 -0
  94. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/bed/BedLiftOver.sh +0 -0
  95. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/bed/BedtoolsMerge.py +0 -0
  96. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/cellranger/CellRangerCount.py +0 -0
  97. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/cellranger/CellRangerVdj.py +0 -0
  98. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/cnv/AneuploidyScore.R +0 -0
  99. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/cnv/AneuploidyScoreSummary.R +0 -0
  100. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/cnv/TMADScore.R +0 -0
  101. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/cnv/TMADScoreSummary.R +0 -0
  102. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/cnvkit/CNVkitAccess.py +0 -0
  103. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/cnvkit/CNVkitAutobin.py +0 -0
  104. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/cnvkit/CNVkitBatch.py +0 -0
  105. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/cnvkit/CNVkitCall.py +0 -0
  106. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/cnvkit/CNVkitCoverage.py +0 -0
  107. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/cnvkit/CNVkitDiagram.py +0 -0
  108. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/cnvkit/CNVkitFix.py +0 -0
  109. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/cnvkit/CNVkitGuessBaits.py +0 -0
  110. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/cnvkit/CNVkitHeatmap.py +0 -0
  111. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/cnvkit/CNVkitReference.py +0 -0
  112. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/cnvkit/CNVkitScatter.py +0 -0
  113. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/cnvkit/CNVkitSegment.py +0 -0
  114. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/cnvkit/guess_baits.py +0 -0
  115. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/delim/RowsBinder.R +0 -0
  116. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/delim/SampleInfo.R +0 -0
  117. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/gene/GeneNameConversion.py +0 -0
  118. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/gsea/Enrichr.R +0 -0
  119. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/gsea/FGSEA.R +0 -0
  120. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/gsea/GSEA.R +0 -0
  121. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/gsea/PreRank.R +0 -0
  122. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/misc/Config2File.py +0 -0
  123. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/misc/Str2File.py +0 -0
  124. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/plot/Heatmap.R +0 -0
  125. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/plot/VennDiagram.R +0 -0
  126. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/rnaseq/UnitConversion.R +0 -0
  127. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/CellTypeAnnotation-direct.R +0 -0
  128. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/CellTypeAnnotation-hitype.R +0 -0
  129. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/CellTypeAnnotation-sccatch.R +0 -0
  130. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/CellTypeAnnotation-sctype.R +0 -0
  131. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/CellTypeAnnotation.R +0 -0
  132. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/CellsDistribution.R +0 -0
  133. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/DimPlots.R +0 -0
  134. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/ExprImpution-alra.R +0 -0
  135. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/ExprImpution-rmagic.R +0 -0
  136. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/ExprImpution-scimpute.R +0 -0
  137. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/ExprImpution.R +0 -0
  138. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/ModuleScoreCalculator.R +0 -0
  139. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/RadarPlots.R +0 -0
  140. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/SCImpute.R +0 -0
  141. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/ScFGSEA.R +0 -0
  142. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/SeuratClusterStats-dimplots.R +0 -0
  143. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/SeuratClusterStats-features.R +0 -0
  144. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/SeuratClusterStats-hists.R +0 -0
  145. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/SeuratClusterStats-ngenes.R +0 -0
  146. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/SeuratClusterStats.R +0 -0
  147. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/SeuratFilter.R +0 -0
  148. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/SeuratLoading.R +0 -0
  149. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/SeuratMap2Ref.R +0 -0
  150. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/SeuratMetadataMutater.R +0 -0
  151. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/SeuratSplit.R +0 -0
  152. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/SeuratSubClustering.R +0 -0
  153. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/SeuratSubset.R +0 -0
  154. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/SeuratTo10X.R +0 -0
  155. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/Write10X.R +0 -0
  156. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/scrna/sctype.R +0 -0
  157. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcgamaf/Maf2Vcf.py +0 -0
  158. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcgamaf/MafAddChr.py +0 -0
  159. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcgamaf/maf2vcf.pl +0 -0
  160. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/Attach2Seurat.R +0 -0
  161. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/CDR3AAPhyschem.R +0 -0
  162. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/CloneResidency.R +0 -0
  163. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/CloneSizeQQPlot.R +0 -0
  164. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/GIANA/GIANA.py +0 -0
  165. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/GIANA/GIANA4.py +0 -0
  166. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/GIANA/Imgt_Human_TRBV.fasta +0 -0
  167. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/GIANA/query.py +0 -0
  168. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/Immunarch-basic.R +0 -0
  169. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/Immunarch-clonality.R +0 -0
  170. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/Immunarch-geneusage.R +0 -0
  171. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/Immunarch-kmer.R +0 -0
  172. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/Immunarch-overlap.R +0 -0
  173. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/Immunarch-spectratyping.R +0 -0
  174. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/Immunarch-tracking.R +0 -0
  175. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/Immunarch-vjjunc.R +0 -0
  176. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/Immunarch.R +0 -0
  177. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/Immunarch2VDJtools.R +0 -0
  178. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/ImmunarchFilter.R +0 -0
  179. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/ImmunarchLoading.R +0 -0
  180. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/ImmunarchSplitIdents.R +0 -0
  181. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/SampleDiversity.R +0 -0
  182. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/TCRClusterStats.R +0 -0
  183. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/TCRClustering.R +0 -0
  184. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/TESSA.R +0 -0
  185. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/TESSA_source/Atchley_factors.csv +0 -0
  186. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/TESSA_source/BriseisEncoder.py +0 -0
  187. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/TESSA_source/MCMC_control.R +0 -0
  188. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/TESSA_source/TrainedEncoder.h5 +0 -0
  189. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/TESSA_source/fixed_b.csv +0 -0
  190. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/TESSA_source/initialization.R +0 -0
  191. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/TESSA_source/post_analysis.R +0 -0
  192. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/TESSA_source/real_data.R +0 -0
  193. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/TESSA_source/update.R +0 -0
  194. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/TESSA_source/utility.R +0 -0
  195. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/VJUsage.R +0 -0
  196. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/tcr/vdjtools-patch.sh +0 -0
  197. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/vcf/TruvariBench.sh +0 -0
  198. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/vcf/TruvariBenchSummary.R +0 -0
  199. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/vcf/TruvariConsistency.R +0 -0
  200. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/vcf/Vcf2Bed.py +0 -0
  201. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/vcf/VcfAnno.py +0 -0
  202. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/vcf/VcfDownSample.sh +0 -0
  203. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/vcf/VcfFilter.py +0 -0
  204. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/vcf/VcfFix.py +0 -0
  205. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/vcf/VcfFix_utils.py +0 -0
  206. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/vcf/VcfIndex.py +0 -0
  207. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/vcf/VcfIntersect.py +0 -0
  208. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/vcf/VcfLiftOver.sh +0 -0
  209. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/vcf/VcfSplitSamples.py +0 -0
  210. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/web/Download.py +0 -0
  211. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/scripts/web/DownloadList.py +0 -0
  212. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/utils/__init__.py +0 -0
  213. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/utils/common_docstrs.py +0 -0
  214. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/utils/gene.R +0 -0
  215. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/utils/gene.py +0 -0
  216. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/utils/io.R +0 -0
  217. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/utils/misc.R +0 -0
  218. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/utils/misc.py +0 -0
  219. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/utils/mutate_helpers.R +0 -0
  220. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/utils/plot.R +0 -0
  221. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/utils/reference.py +0 -0
  222. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/utils/rnaseq.R +0 -0
  223. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/utils/single_cell.R +0 -0
  224. {biopipen-0.23.4 → biopipen-0.23.6}/biopipen/utils/vcf.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: biopipen
3
- Version: 0.23.4
3
+ Version: 0.23.6
4
4
  Summary: Bioinformatics processes/pipelines that can be run from `pipen run`
5
5
  License: MIT
6
6
  Author: pwwang
@@ -0,0 +1 @@
1
+ __version__ = "0.23.6"
@@ -326,37 +326,58 @@ def _render_enrichr(
326
326
  components = []
327
327
 
328
328
  for db in dbs:
329
- components.append(
330
- {
331
- "title": db,
332
- "ui": "tabs",
333
- "contents": [
334
- {
335
- "title": "Plot",
336
- "ui": "flat",
337
- "contents": [
338
- {
339
- "kind": "image",
340
- "src": str(
341
- Path(cont["dir"]).joinpath(f"Enrichr-{db}.png")
342
- ),
343
- }
344
- ],
345
- },
346
- {
347
- "title": "Table",
348
- "ui": "flat",
349
- "contents": [
350
- {
351
- "kind": "table",
352
- "src": str(
353
- Path(cont["dir"]).joinpath(f"Enrichr-{db}.txt")
354
- ),
355
- }
356
- ],
357
- },
358
- ],
359
- }
360
- )
329
+ enrichr_plot = Path(cont["dir"]).joinpath(f"Enrichr-{db}.png")
330
+ if enrichr_plot.exists():
331
+ components.append(
332
+ {
333
+ "title": db,
334
+ "ui": "tabs",
335
+ "contents": [
336
+ {
337
+ "title": "Plot",
338
+ "ui": "flat",
339
+ "contents": [
340
+ {
341
+ "kind": "image",
342
+ "src": str(
343
+ Path(cont["dir"]).joinpath(f"Enrichr-{db}.png")
344
+ ),
345
+ }
346
+ ],
347
+ },
348
+ {
349
+ "title": "Table",
350
+ "ui": "flat",
351
+ "contents": [
352
+ {
353
+ "kind": "table",
354
+ "src": str(
355
+ Path(cont["dir"]).joinpath(f"Enrichr-{db}.txt")
356
+ ),
357
+ }
358
+ ],
359
+ },
360
+ ],
361
+ }
362
+ )
363
+ else:
364
+ components.append(
365
+ {
366
+ "title": db,
367
+ "ui": "tabs",
368
+ "contents": [
369
+ {
370
+ "title": "Error",
371
+ "ui": "flat",
372
+ "contents": [
373
+ {
374
+ "kind": "error",
375
+ "content": "No enriched terms found.",
376
+ }
377
+ ],
378
+ },
379
+ ],
380
+ }
381
+ )
361
382
 
362
383
  return render_ui(components, "accordion", job, level)
@@ -77,6 +77,7 @@ class SeuratPreparing(Proc):
77
77
 
78
78
  /// Note
79
79
  When using `SCTransform`, the default Assay will be set to `SCT` in output, rather than `RNA`.
80
+ If you are using `cca` or `rpca` interation, the default assay will be `integrated`.
80
81
  ///
81
82
 
82
83
  /// Note
@@ -771,6 +772,10 @@ class ModuleScoreCalculator(Proc):
771
772
  >>> "Proliferation": {"features": "STMN1,TUBB"}
772
773
  >>> }
773
774
 
775
+ For `CellCycle`, the columns `S.Score`, `G2M.Score` and `Phase` will
776
+ be added to the metadata. `S.Score` and `G2M.Score` are the cell cycle
777
+ scores for each cell, and `Phase` is the cell cycle phase for each cell.
778
+
774
779
  You can also add Diffusion Components (DC) to the modules
775
780
  >>> {"DC": {"features": 2, "kind": "diffmap"}}
776
781
  will perform diffusion map as a reduction and add the first 2
@@ -1460,7 +1465,8 @@ class ScFGSEA(Proc):
1460
1465
  each: The column name in metadata to separate the cells into different subsets to do the analysis.
1461
1466
  section: The section name for the report. Worked only when `each` is not specified. Otherwise, the section name will be constructed from `each` and its value.
1462
1467
  This allows different cases to be put into the same section in the report.
1463
- gmtfile: The pathways in GMT format, with the gene names/ids in the same format as the seurat object
1468
+ gmtfile: The pathways in GMT format, with the gene names/ids in the same format as the seurat object.
1469
+ One could also use a URL to a GMT file. For example, from <https://download.baderlab.org/EM_Genesets/current_release/Human/symbol/Pathways/>.
1464
1470
  method (choice): The method to do the preranking.
1465
1471
  - signal_to_noise: Signal to noise.
1466
1472
  The larger the differences of the means (scaled by the standard deviations);
@@ -402,7 +402,10 @@ class ScrnaMetabolicLandscape(ProcGroup):
402
402
  If False, the values will be left as is.
403
403
  gmtfile: The GMT file with the metabolic pathways. The gene names should
404
404
  match the gene names in the gene list in RNAData or
405
- the Seurat object
405
+ the Seurat object.
406
+ You can also provide a URL to the GMT file.
407
+ For example, from
408
+ <https://download.baderlab.org/EM_Genesets/current_release/Human/symbol/>.
406
409
  grouping: defines the basic groups to investigate the metabolic activity
407
410
  Typically the clusters.
408
411
  grouping_prefix: Working as a prefix to group names
@@ -306,6 +306,10 @@ do_enrich <- function(info, markers, sig, volgenes) {
306
306
  col.names = TRUE,
307
307
  quote = FALSE
308
308
  )
309
+ if (nrow(enriched[[db]]) == 0) {
310
+ log_warn(" No enrichment found for case: {info$casename} - {db}")
311
+ next
312
+ }
309
313
  png(
310
314
  file.path(info$casedir, paste0("Enrichr-", db, ".png")),
311
315
  res = 100, height = 1000, width = 1000
@@ -183,6 +183,12 @@ do_enrich <- function(info, markers, sig) {
183
183
  col.names = TRUE,
184
184
  quote = FALSE
185
185
  )
186
+
187
+ if (nrow(enriched[[db]]) == 0) {
188
+ log_info(paste0(" No enriched terms for ", db))
189
+ next
190
+ }
191
+
186
192
  png(
187
193
  file.path(info$casedir, paste0("Enrichr-", db, ".png")),
188
194
  res = 100, height = 600, width = 800
@@ -69,6 +69,10 @@ do_one_stats = function(name) {
69
69
  select(all_of(select_cols)) %>%
70
70
  group_by(!!!syms(select_cols)) %>%
71
71
  summarise(.n = n(), .groups = "drop")
72
+
73
+ if (isTRUE(case$frac) || isTRUE(case$frac_ofall)) {
74
+ plot_df <- plot_df %>% mutate(.frac = .n / sum(.n))
75
+ }
72
76
  }
73
77
 
74
78
  write.table(plot_df, tablefile, sep="\t", quote=FALSE, row.names=FALSE)
@@ -143,6 +143,7 @@ if (is.null(resolution) || length(resolution) == 1) {
143
143
  }
144
144
 
145
145
  if (DefaultAssay(sobj) == "SCT") {
146
+ # https://github.com/satijalab/seurat/issues/6968
146
147
  log_info("Running PrepSCTFindMarkers ...")
147
148
  sobj <- PrepSCTFindMarkers(sobj)
148
149
  }
@@ -101,7 +101,6 @@ load_sample = function(sample) {
101
101
  # filter the cells that don't have any gene expressions
102
102
  cell_exprs = colSums(obj@assays$RNA)
103
103
  obj = subset(obj, cells = names(cell_exprs[cell_exprs > 0]))
104
- # obj = SCTransform(object=obj, return.only.var.genes=FALSE, verbose=FALSE)
105
104
  obj = RenameCells(obj, add.cell.id = sample)
106
105
  # Attach meta data
107
106
  for (mname in names(mdata)) {
@@ -110,9 +109,15 @@ load_sample = function(sample) {
110
109
  if (is.factor(mdt)) { mdt = levels(mdt)[mdt] }
111
110
  obj[[mname]] = mdt
112
111
  }
113
- # obj_list[[sample]] = obj
114
112
 
115
- # obj_list
113
+ if (isTRUE(envs$use_sct)) {
114
+ # so that we have data and scale.data layers on RNA assay
115
+ # useful for visualization in case some genes are not in
116
+ # the SCT assay
117
+ obj = NormalizeData(obj, verbose = FALSE)
118
+ obj = FindVariableFeatures(obj, verbose = FALSE)
119
+ obj = ScaleData(obj, verbose = FALSE)
120
+ }
116
121
  obj
117
122
  }
118
123
 
@@ -329,6 +334,11 @@ if (!envs$no_integration) {
329
334
  IntegrateLayersArgs <- envs$IntegrateLayers
330
335
  IntegrateLayersArgs$object <- sobj
331
336
  method <- IntegrateLayersArgs$method
337
+ if (!is.null(IntegrateLayersArgs$reference) && is.character(IntegrateLayersArgs$reference)) {
338
+ log_info(" Using reference samples: {paste(IntegrateLayersArgs$reference, collapse = ', ')}")
339
+ IntegrateLayersArgs$reference <- match(IntegrateLayersArgs$reference, samples)
340
+ log_info(" Transferred to indices: {paste(IntegrateLayersArgs$reference, collapse = ', ')}")
341
+ }
332
342
  if (method %in% c("CCA", "cca")) { method <- "CCAIntegration" } else
333
343
  if (method %in% c("RPCA", "rpca")) { method <- "RPCAIntegration" } else
334
344
  if (method %in% c("Harmony", "harmony")) { method <- "HarmonyIntegration" } else
@@ -177,6 +177,12 @@ do_enrich <- function(expr, odir) {
177
177
  col.names = TRUE,
178
178
  quote = FALSE
179
179
  )
180
+
181
+ if (nrow(enriched[[db]]) == 0) {
182
+ log_info(paste0(" No enriched terms for ", db))
183
+ next
184
+ }
185
+
180
186
  png(
181
187
  file.path(odir, paste0("Enrichr-", db, ".png")),
182
188
  res = 100, height = 1000, width = 1000
@@ -36,6 +36,7 @@ gmt_pathways <- function(gmt_file) {
36
36
  pathways
37
37
  }
38
38
 
39
+ gmtfile <- localizeGmtfile(gmtfile)
39
40
  pathways <- gmt_pathways(gmtfile)
40
41
  metabolics <- unique(as.vector(unname(unlist(pathways))))
41
42
  sobj <- readRDS(sobjfile)
@@ -78,7 +79,8 @@ do_one_group <- function(obj, features, group, outputdir, h1) {
78
79
  )
79
80
  }
80
81
 
81
- add_report(
82
+ # Can't add report directly, mclapply can't modify global variables.
83
+ report = list(
82
84
  list(kind = "fgsea", dir = odir),
83
85
  h1 = ifelse(is.null(h1), groupname, h1),
84
86
  h2 = ifelse(is.null(h1), "#", groupname)
@@ -88,7 +90,7 @@ do_one_group <- function(obj, features, group, outputdir, h1) {
88
90
  log_warn(paste("Unable to run for", group))
89
91
  log_warn(e$message)
90
92
 
91
- add_report(
93
+ report = list(
92
94
  list(
93
95
  kind = "error",
94
96
  content = paste0("Error running GSEA for ", group, ": ", e$message)
@@ -98,6 +100,7 @@ do_one_group <- function(obj, features, group, outputdir, h1) {
98
100
  )
99
101
  })
100
102
 
103
+ report
101
104
  }
102
105
 
103
106
  do_one_subset <- function(s, subset_col, subset_prefix) {
@@ -126,6 +129,8 @@ do_one_subset <- function(s, subset_col, subset_prefix) {
126
129
  if (any(unlist(lapply(x, class)) == "try-error")) {
127
130
  stop("mclapply error")
128
131
  }
132
+
133
+ for (r in x) { do.call(add_report, r) }
129
134
  }
130
135
 
131
136
  do_one_subset_col <- function(subset_col, subset_prefix) {
@@ -38,11 +38,11 @@ gmt_pathways <- function(gmt_file) {
38
38
  pathways
39
39
  }
40
40
 
41
+ gmtfile <- localizeGmtfile(gmtfile)
41
42
  pathways <- gmt_pathways(gmtfile)
42
43
  metabolics <- unique(as.vector(unname(unlist(pathways))))
43
44
  sobj <- readRDS(sobjfile)
44
45
 
45
-
46
46
  do_one_comparison <- function(
47
47
  obj,
48
48
  compname,
@@ -111,7 +111,7 @@ do_one_comparison <- function(
111
111
  envs = list(nproc = 1)
112
112
  )
113
113
 
114
- add_report(
114
+ report = list(
115
115
  list(kind = "fgsea", dir = odir),
116
116
  h1 = groupname,
117
117
  h2 = compname
@@ -123,7 +123,11 @@ do_one_comparison <- function(
123
123
  gmtfile,
124
124
  odir
125
125
  )
126
+
127
+ report = list()
126
128
  }
129
+
130
+ report
127
131
  }
128
132
 
129
133
  do_one_group <- function(group) {
@@ -138,12 +142,13 @@ do_one_group <- function(group) {
138
142
  groupdir = file.path(outdir, slugify(groupname, tolower = FALSE))
139
143
  dir.create(groupdir, showWarnings = FALSE)
140
144
 
145
+ report = list()
141
146
  for (i in seq_along(subsetting_comparison)) {
142
147
  sci = subsetting_comparison[[i]]
143
148
  if (is.null(sci) || length(sci) == 0) {
144
149
  next
145
150
  }
146
- sapply(
151
+ rs = lapply(
147
152
  names(sci),
148
153
  function(compname) {
149
154
  do_one_comparison(
@@ -159,17 +164,23 @@ do_one_group <- function(group) {
159
164
  )
160
165
  }
161
166
  )
167
+ if (length(rs) > 0) {
168
+ report = c(report, rs)
169
+ }
162
170
  }
171
+ report
163
172
  }
164
173
 
165
174
  groups = sort(as.character(unique(sobj@meta.data[[grouping]])))
166
175
  if (ncores == 1) {
167
- lapply(groups, do_one_group)
176
+ x = lapply(groups, do_one_group)
168
177
  } else {
169
178
  x = mclapply(groups, do_one_group, mc.cores = ncores)
170
179
  if (any(unlist(lapply(x, class)) == "try-error")) {
171
180
  stop("mclapply error")
172
181
  }
173
182
  }
183
+ report = unlist(x, recursive = FALSE)
184
+ for (r in report) { do.call(add_report, r) }
174
185
 
175
186
  save_report(joboutdir)
@@ -39,6 +39,7 @@ gmt_pathways <- function(gmt_file) {
39
39
  pathways
40
40
  }
41
41
 
42
+ gmtfile <- localizeGmtfile(gmtfile)
42
43
  pathways <- gmt_pathways(gmtfile)
43
44
  pathway_names <- names(pathways)
44
45
  metabolics <- unique(as.vector(unname(unlist(pathways))))
@@ -41,6 +41,7 @@ gmt_pathways <- function(gmt_file) {
41
41
  pathways
42
42
  }
43
43
 
44
+ gmtfile <- localizeGmtfile(gmtfile)
44
45
  pathways <- gmt_pathways(gmtfile)
45
46
  metabolics <- unique(as.vector(unname(unlist(pathways))))
46
47
  sobj <- readRDS(sobjfile)
@@ -216,7 +217,7 @@ do_one_subset <- function(s, subset_col, subset_prefix) {
216
217
 
217
218
  ggsave(file.path(subset_dir, "PC_variance_plot.pdf"), p, device = "pdf", useDingbats = FALSE)
218
219
 
219
- add_report(
220
+ list(
220
221
  list(kind = "descr", content = "Metabolic pathways enriched in genes with highest contribution to the metabolic heterogeneities"),
221
222
  list(kind = "image", src = bubblefile),
222
223
  h1 = ifelse(is.null(s), "Metabolic pathway heterogeneity", paste0(subset_prefix, s))
@@ -226,17 +227,20 @@ do_one_subset <- function(s, subset_col, subset_prefix) {
226
227
  do_one_subset_col <- function(subset_col, subset_prefix) {
227
228
  log_info(paste0("- Handling subset column: ", subset_col, " ..."))
228
229
  if (is.null(subset_col)) {
229
- do_one_subset(NULL, subset_col = NULL, subset_prefix = NULL)
230
- }
231
- subsets <- na.omit(unique(sobj@meta.data[[subset_col]]))
232
-
233
- if (ncores == 1) {
234
- lapply(subsets, do_one_subset, subset_col = subset_col, subset_prefix = subset_prefix)
230
+ x <- do_one_subset(NULL, subset_col = NULL, subset_prefix = NULL)
231
+ do.call(add_report, x)
235
232
  } else {
236
- x <- mclapply(subsets, do_one_subset, subset_col = subset_col, subset_prefix = subset_prefix, mc.cores = ncores)
237
- if (any(unlist(lapply(x, class)) == "try-error")) {
238
- stop(paste0("\nmclapply error:", x))
233
+ subsets <- na.omit(unique(sobj@meta.data[[subset_col]]))
234
+
235
+ if (ncores == 1) {
236
+ x = lapply(subsets, do_one_subset, subset_col = subset_col, subset_prefix = subset_prefix)
237
+ } else {
238
+ x <- mclapply(subsets, do_one_subset, subset_col = subset_col, subset_prefix = subset_prefix, mc.cores = ncores)
239
+ if (any(unlist(lapply(x, class)) == "try-error")) {
240
+ stop(paste0("\nmclapply error:", x))
241
+ }
239
242
  }
243
+ for (r in x) { do.call(add_report, r) }
240
244
  }
241
245
  }
242
246
 
@@ -647,6 +647,12 @@ run_div_case = function(casename) {
647
647
  # Filter
648
648
  if (!is.null(case$subset)) {
649
649
  d = immdata_from_expanded(filter_expanded_immdata(exdata, case$subset))
650
+ if (nrow(d$meta) == 0) {
651
+ stop(paste0(
652
+ "No samples/cells left after filtering. ",
653
+ "Do you have the correct `subset` for case: ",
654
+ casename, "?"))
655
+ }
650
656
  } else {
651
657
  d = immdata
652
658
  }
@@ -1,8 +1,48 @@
1
1
  library(ggplot2)
2
2
  library(dplyr)
3
3
  library(tibble)
4
+ library(slugify)
4
5
 
5
- prerank = function(
6
+
7
+ localizeGmtfile <- function(gmturl, cachedir = tempdir()) {
8
+ # Download the GMT file and save it to cachedir
9
+ # Return the path to the GMT file
10
+ if (!startsWith(gmturl, "http") && !startsWith(gmturl, "ftp")) {
11
+ return(gmturl)
12
+ }
13
+ gmtfile = file.path(cachedir, basename(gmturl))
14
+ if (!file.exists(gmtfile)) {
15
+ download.file(gmturl, gmtfile)
16
+ items <- read.delim(gmtfile, header = FALSE, stringsAsFactors = FALSE, sep = "\t")
17
+ if (ncol(items) < 3) {
18
+ stop(paste0("Invalid GMT file: ", gmtfile, ", from ", gmturl))
19
+ }
20
+ if (nrow(items) == 0) {
21
+ stop(paste0("Empty GMT file: ", gmtfile, ", from ", gmturl))
22
+ }
23
+ if (nchar(items$V2[1]) < nchar(items$V1[1]) && nchar(items$V2[1]) > 0) {
24
+ warning(paste0(
25
+ "The second column is shorter, switching the first and second columns in GMT file ",
26
+ gmtfile,
27
+ " from ",
28
+ gmturl
29
+ ))
30
+ items <- items[, c(2, 1, 3:ncol(items))]
31
+ write.table(
32
+ items,
33
+ gmtfile,
34
+ row.names = F,
35
+ col.names = F,
36
+ sep = "\t",
37
+ quote = F
38
+ )
39
+ }
40
+ }
41
+ return(gmtfile)
42
+ }
43
+
44
+
45
+ prerank <- function(
6
46
  exprdata,
7
47
  pos,
8
48
  neg,
@@ -63,6 +103,11 @@ runEnrichr = function(
63
103
  outfig = file.path(outdir, paste0("Enrichr_", db, ".png"))
64
104
  write.table(enr, outtable, row.names=T, col.names=F, sep="\t", quote=F)
65
105
 
106
+ if (nrow(enr) == 0) {
107
+ print(paste0("No enriched terms for ", db))
108
+ next
109
+ }
110
+
66
111
  png(outfig, res=100, height=1000, width=1400)
67
112
  print(
68
113
  plotEnrich(
@@ -95,6 +140,7 @@ runFGSEA = function(
95
140
  ranks = unlist(ranks)
96
141
  }
97
142
 
143
+ gmtfile = localizeGmtfile(gmtfile)
98
144
  envs$pathways = gmtPathways(gmtfile)
99
145
  envs$stats = ranks
100
146
  gsea_res = do.call(fgsea::fgsea, envs)
@@ -130,7 +176,7 @@ runFGSEA = function(
130
176
  dev.off()
131
177
 
132
178
  for (pathway in topPathways) {
133
- enrfig = file.path(outdir, paste0("fgsea_", gsub("/", "-", pathway, fixed=T), ".png"))
179
+ enrfig = file.path(outdir, paste0("fgsea_", slugify(pathway), ".png"))
134
180
  png(enrfig, res=100, width=1000, height=800)
135
181
  print(plotEnrichment(
136
182
  envs$pathways[[pathway]],
@@ -186,7 +232,7 @@ runGSEA = function(
186
232
 
187
233
  envs$input.ds = gctfile
188
234
  envs$input.cls = clsfile
189
- envs$gs.db = gmtfile
235
+ envs$gs.db = localizeGmtfile(gmtfile)
190
236
  envs$output.directory = outdir
191
237
 
192
238
  do.call(GSEA, envs)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "biopipen"
3
- version = "0.23.4"
3
+ version = "0.23.6"
4
4
  description = "Bioinformatics processes/pipelines that can be run from `pipen run`"
5
5
  authors = ["pwwang <pwwang@pwwang.com>"]
6
6
  license = "MIT"
@@ -75,7 +75,7 @@ entry_points = \
75
75
 
76
76
  setup_kwargs = {
77
77
  'name': 'biopipen',
78
- 'version': '0.23.4',
78
+ 'version': '0.23.6',
79
79
  'description': 'Bioinformatics processes/pipelines that can be run from `pipen run`',
80
80
  'long_description': 'None',
81
81
  'author': 'pwwang',
@@ -1 +0,0 @@
1
- __version__ = "0.23.4"
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