biopipen 0.26.0__py3-none-any.whl → 0.26.1__py3-none-any.whl
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/__init__.py +1 -1
- biopipen/ns/scrna.py +14 -1
- biopipen/scripts/scrna/CellsDistribution.R +4 -0
- biopipen/scripts/scrna/SeuratClusterStats-stats.R +37 -0
- biopipen/scripts/scrna/TopExpressingGenes.R +58 -33
- biopipen/scripts/tcr/CloneResidency.R +9 -0
- biopipen/utils/misc.R +19 -0
- {biopipen-0.26.0.dist-info → biopipen-0.26.1.dist-info}/METADATA +1 -1
- {biopipen-0.26.0.dist-info → biopipen-0.26.1.dist-info}/RECORD +11 -11
- {biopipen-0.26.0.dist-info → biopipen-0.26.1.dist-info}/WHEEL +1 -1
- {biopipen-0.26.0.dist-info → biopipen-0.26.1.dist-info}/entry_points.txt +1 -1
biopipen/__init__.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "0.26.
|
|
1
|
+
__version__ = "0.26.1"
|
biopipen/ns/scrna.py
CHANGED
|
@@ -483,14 +483,18 @@ class SeuratClusterStats(Proc):
|
|
|
483
483
|
The parameters from the cases can overwrite the default parameters.
|
|
484
484
|
- frac (flag): Whether to output the fraction of cells instead of number.
|
|
485
485
|
- pie (flag): Also output a pie chart?
|
|
486
|
+
- circos (flag): Also output a circos plot?
|
|
486
487
|
- table (flag): Whether to output a table (in tab-delimited format) and in the report.
|
|
487
488
|
- frac_ofall(flag): Whether to output the fraction against all cells,
|
|
488
489
|
instead of the fraction in each group.
|
|
490
|
+
Does not work for circos plot.
|
|
489
491
|
Only works when `frac` is `True` and `group-by` is specified.
|
|
490
492
|
- transpose (flag): Whether to transpose the cluster and group, that is,
|
|
491
493
|
using group as the x-axis and cluster to fill the plot.
|
|
494
|
+
For circos plot, when transposed, the arrows will be drawn from the idents (by `ident`) to the
|
|
495
|
+
the groups (by `group-by`).
|
|
492
496
|
Only works when `group-by` is specified.
|
|
493
|
-
- position (choice): The position of the bars.
|
|
497
|
+
- position (choice): The position of the bars. Does not work for pie and circos plots.
|
|
494
498
|
- stack: Use `position_stack()`.
|
|
495
499
|
- fill: Use `position_fill()`.
|
|
496
500
|
- dodge: Use `position_dodge()`.
|
|
@@ -499,8 +503,13 @@ class SeuratClusterStats(Proc):
|
|
|
499
503
|
- group-by: The column name in metadata to group the cells.
|
|
500
504
|
Does NOT support for pie charts.
|
|
501
505
|
- split-by: The column name in metadata to split the cells into different plots.
|
|
506
|
+
Does NOT support for circos plots.
|
|
502
507
|
- subset: An expression to subset the cells, will be passed to
|
|
503
508
|
`dplyr::filter()` on metadata.
|
|
509
|
+
- circos_devpars (ns): The device parameters for the circos plots.
|
|
510
|
+
- res (type=int): The resolution of the plots.
|
|
511
|
+
- height (type=int): The height of the plots.
|
|
512
|
+
- width (type=int): The width of the plots.
|
|
504
513
|
- pie_devpars (ns): The device parameters for the pie charts.
|
|
505
514
|
- res (type=int): The resolution of the plots.
|
|
506
515
|
- height (type=int): The height of the plots.
|
|
@@ -634,6 +643,7 @@ class SeuratClusterStats(Proc):
|
|
|
634
643
|
"stats_defaults": {
|
|
635
644
|
"frac": False,
|
|
636
645
|
"pie": False,
|
|
646
|
+
"circos": False,
|
|
637
647
|
"table": False,
|
|
638
648
|
"position": "auto",
|
|
639
649
|
"frac_ofall": False,
|
|
@@ -644,6 +654,7 @@ class SeuratClusterStats(Proc):
|
|
|
644
654
|
"subset": None,
|
|
645
655
|
"devpars": {"res": 100, "height": 600, "width": 800},
|
|
646
656
|
"pie_devpars": {"res": 100, "height": 600, "width": 800},
|
|
657
|
+
"circos_devpars": {"res": 100, "height": 600, "width": 600},
|
|
647
658
|
},
|
|
648
659
|
"stats": {
|
|
649
660
|
"Number of cells in each cluster": {
|
|
@@ -1142,6 +1153,7 @@ class TopExpressingGenes(Proc):
|
|
|
1142
1153
|
markers See below for all libraries.
|
|
1143
1154
|
<https://maayanlab.cloud/Enrichr/#libraries>
|
|
1144
1155
|
n (type=int): The number of top expressing genes to find.
|
|
1156
|
+
subset: An expression to subset the cells for each case.
|
|
1145
1157
|
cases (type=json): If you have multiple cases, you can specify them
|
|
1146
1158
|
here. The keys are the names of the cases and the values are the
|
|
1147
1159
|
above options except `mutaters`. If some options are
|
|
@@ -1162,6 +1174,7 @@ class TopExpressingGenes(Proc):
|
|
|
1162
1174
|
"section": "DEFAULT",
|
|
1163
1175
|
"dbs": ["KEGG_2021_Human", "MSigDB_Hallmark_2020"],
|
|
1164
1176
|
"n": 250,
|
|
1177
|
+
"subset": None,
|
|
1165
1178
|
"cases": {},
|
|
1166
1179
|
}
|
|
1167
1180
|
plugin_opts = {
|
|
@@ -372,6 +372,7 @@ do_case <- function(name, case) {
|
|
|
372
372
|
# heatmaps
|
|
373
373
|
log_debug(" Preparing pie charts ...")
|
|
374
374
|
hmd <- m %>%
|
|
375
|
+
arrange(!!sym(case$group_by), !!sym(cby)) %>%
|
|
375
376
|
mutate(!!sym(cby) := paste0("[", !!sym(case$group_by), "] ", !!sym(cby))) %>%
|
|
376
377
|
select(!!sym(cby), CloneGroupClusterSize, seurat_clusters) %>%
|
|
377
378
|
distinct(!!sym(cby), seurat_clusters, .keep_all = TRUE) %>%
|
|
@@ -426,6 +427,9 @@ do_case <- function(name, case) {
|
|
|
426
427
|
if (length(cells_by) == 1) {
|
|
427
428
|
hmsplits <- NULL
|
|
428
429
|
extra_width <- extra_width - 15
|
|
430
|
+
} else {
|
|
431
|
+
# keep the row order
|
|
432
|
+
hmrowlbls <- factor(hmrowlbls, levels = unique(hmrowlbls))
|
|
429
433
|
}
|
|
430
434
|
|
|
431
435
|
col_fun <- colorRamp2(c(0, max(hmdata, na.rm = T)), c("lightyellow", "purple"))
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
# Loaded variables: srtfile, outdir, srtobj
|
|
2
|
+
library(circlize)
|
|
2
3
|
|
|
3
4
|
stats_defaults = {{envs.stats_defaults | r: todot="-"}}
|
|
4
5
|
stats = {{envs.stats | r: todot="-", skip=1}}
|
|
@@ -12,6 +13,7 @@ do_one_stats = function(name) {
|
|
|
12
13
|
case = list_update(stats_defaults, stats[[name]])
|
|
13
14
|
case$devpars = list_update(stats_defaults$devpars, case$devpars)
|
|
14
15
|
case$pie_devpars = list_update(stats_defaults$pie_devpars, case$pie_devpars)
|
|
16
|
+
case$circos_devpars = list_update(stats_defaults$circos_devpars, case$circos_devpars)
|
|
15
17
|
if (isTRUE(case$pie) && !is.null(case$group.by)) {
|
|
16
18
|
stop(paste0(name, ": pie charts are not supported for group-by"))
|
|
17
19
|
}
|
|
@@ -27,6 +29,7 @@ do_one_stats = function(name) {
|
|
|
27
29
|
|
|
28
30
|
figfile = file.path(odir, paste0(slugify(name), ".bar.png"))
|
|
29
31
|
piefile = file.path(odir, paste0(slugify(name), ".pie.png"))
|
|
32
|
+
circosfile = file.path(odir, paste0(slugify(name), ".circos.png"))
|
|
30
33
|
samtablefile = file.path(odir, paste0(slugify(name), ".bysample.txt"))
|
|
31
34
|
tablefile = file.path(odir, paste0(slugify(name), ".txt"))
|
|
32
35
|
|
|
@@ -172,6 +175,40 @@ do_one_stats = function(name) {
|
|
|
172
175
|
ui = "tabs"
|
|
173
176
|
)
|
|
174
177
|
}
|
|
178
|
+
|
|
179
|
+
if (isTRUE(case$circos)) {
|
|
180
|
+
if (isTRUE(case$transpose)) {
|
|
181
|
+
circos_df <- plot_df %>%
|
|
182
|
+
select(from=!!sym(case$ident), to=!!sym(case$group.by), value=.n)
|
|
183
|
+
} else {
|
|
184
|
+
circos_df <- plot_df %>%
|
|
185
|
+
select(from=!!sym(case$group.by), to=!!sym(case$ident), value=.n)
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
png(
|
|
189
|
+
circosfile,
|
|
190
|
+
width=case$circos_devpars$width,
|
|
191
|
+
height=case$circos_devpars$height,
|
|
192
|
+
res=case$circos_devpars$res
|
|
193
|
+
)
|
|
194
|
+
circos.clear()
|
|
195
|
+
chordDiagram(
|
|
196
|
+
circos_df,
|
|
197
|
+
direction = 1,
|
|
198
|
+
direction.type = c("diffHeight", "arrows"),
|
|
199
|
+
link.arr.type = "big.arrow"
|
|
200
|
+
)
|
|
201
|
+
dev.off()
|
|
202
|
+
|
|
203
|
+
add_report(
|
|
204
|
+
list(
|
|
205
|
+
name = "Circos plot",
|
|
206
|
+
contents = list(list(kind = "image", src = circosfile))
|
|
207
|
+
),
|
|
208
|
+
h1 = name,
|
|
209
|
+
ui = "tabs"
|
|
210
|
+
)
|
|
211
|
+
}
|
|
175
212
|
}
|
|
176
213
|
|
|
177
214
|
sapply(names(stats), do_one_stats)
|
|
@@ -20,6 +20,7 @@ prefix_each <- {{ envs.prefix_each | r }}
|
|
|
20
20
|
section <- {{ envs.section | r }}
|
|
21
21
|
dbs <- {{ envs.dbs | r }}
|
|
22
22
|
n <- {{ envs.n | r }}
|
|
23
|
+
sset <- {{ envs.subset | r }}
|
|
23
24
|
cases <- {{ envs.cases | r: todot = "-" }} # nolint
|
|
24
25
|
|
|
25
26
|
set.seed(8525)
|
|
@@ -43,7 +44,8 @@ if (is.null(cases) || length(cases) == 0) {
|
|
|
43
44
|
prefix_each = prefix_each,
|
|
44
45
|
section = section,
|
|
45
46
|
dbs = dbs,
|
|
46
|
-
n = n
|
|
47
|
+
n = n,
|
|
48
|
+
subset = sset
|
|
47
49
|
)
|
|
48
50
|
)
|
|
49
51
|
} else {
|
|
@@ -56,7 +58,8 @@ if (is.null(cases) || length(cases) == 0) {
|
|
|
56
58
|
prefix_each = prefix_each,
|
|
57
59
|
section = section,
|
|
58
60
|
dbs = dbs,
|
|
59
|
-
n = n
|
|
61
|
+
n = n,
|
|
62
|
+
subset = sset
|
|
60
63
|
)
|
|
61
64
|
})
|
|
62
65
|
}
|
|
@@ -144,7 +147,7 @@ casename_info <- function(casename, create = FALSE) {
|
|
|
144
147
|
}
|
|
145
148
|
|
|
146
149
|
do_enrich <- function(expr, odir) {
|
|
147
|
-
|
|
150
|
+
log_debug(" Saving expressions ...")
|
|
148
151
|
expr <- expr %>% as.data.frame()
|
|
149
152
|
colnames(expr) <- c("Expression")
|
|
150
153
|
expr <- expr %>% rownames_to_column("Gene") %>% select(Gene, Expression)
|
|
@@ -165,7 +168,7 @@ do_enrich <- function(expr, odir) {
|
|
|
165
168
|
quote = FALSE
|
|
166
169
|
)
|
|
167
170
|
|
|
168
|
-
|
|
171
|
+
log_debug(" Running enrichment ...")
|
|
169
172
|
enriched <- enrichr(head(expr$Gene, n), dbs) # nolint
|
|
170
173
|
for (db in dbs) {
|
|
171
174
|
write.table(
|
|
@@ -178,7 +181,7 @@ do_enrich <- function(expr, odir) {
|
|
|
178
181
|
)
|
|
179
182
|
|
|
180
183
|
if (nrow(enriched[[db]]) == 0) {
|
|
181
|
-
|
|
184
|
+
log_warn(paste0(" No enriched terms for ", db))
|
|
182
185
|
next
|
|
183
186
|
}
|
|
184
187
|
|
|
@@ -199,15 +202,24 @@ do_case <- function(casename) {
|
|
|
199
202
|
case <- cases[[casename]]
|
|
200
203
|
info <- casename_info(casename, create = TRUE)
|
|
201
204
|
|
|
202
|
-
|
|
203
|
-
|
|
205
|
+
log_debug(" Calculating average expression ...")
|
|
206
|
+
if (!is.null(case$subset)) {
|
|
207
|
+
tryCatch({
|
|
208
|
+
sobj <- subset(srtobj, !!parse_expr(case$subset))
|
|
209
|
+
}, error = function(e) {
|
|
210
|
+
log_warn(" No cells found for the subset, skipping ...")
|
|
211
|
+
})
|
|
212
|
+
} else {
|
|
213
|
+
sobj <- srtobj
|
|
214
|
+
}
|
|
215
|
+
assay <- DefaultAssay(sobj)
|
|
204
216
|
avgexpr <- AverageExpression(
|
|
205
|
-
|
|
217
|
+
sobj,
|
|
206
218
|
group.by = case$group.by,
|
|
207
219
|
assays = assay
|
|
208
220
|
)[[assay]]
|
|
209
221
|
# https://github.com/satijalab/seurat/issues/7893
|
|
210
|
-
colnames(avgexpr) <- as.character(unique(
|
|
222
|
+
colnames(avgexpr) <- as.character(unique(sobj@meta.data[[case$group.by]]))
|
|
211
223
|
avgexpr <- avgexpr[, case$ident, drop = FALSE]
|
|
212
224
|
avgexpr <- avgexpr[order(-avgexpr), , drop = FALSE]
|
|
213
225
|
|
|
@@ -217,7 +229,7 @@ do_case <- function(casename) {
|
|
|
217
229
|
}
|
|
218
230
|
|
|
219
231
|
add_case_report <- function(info) {
|
|
220
|
-
|
|
232
|
+
log_debug(" Adding case report ...")
|
|
221
233
|
h1 = ifelse(
|
|
222
234
|
info$section == "DEFAULT",
|
|
223
235
|
info$case,
|
|
@@ -237,30 +249,43 @@ add_case_report <- function(info) {
|
|
|
237
249
|
ifelse(single_section, "#", info$case)
|
|
238
250
|
)
|
|
239
251
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
kind = "
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
252
|
+
if (!is.null(info$error)) {
|
|
253
|
+
add_report(
|
|
254
|
+
list(
|
|
255
|
+
kind = "descr",
|
|
256
|
+
content = paste0("Top ", n, " expressing genes")
|
|
257
|
+
),
|
|
258
|
+
list(kind = "error", content = info$error),
|
|
259
|
+
h1 = h1,
|
|
260
|
+
h2 = ifelse(h2 == "#", "Top Expressing Genes", h2),
|
|
261
|
+
h3 = ifelse(h2 == "#", "#", "Top Expressing Genes")
|
|
262
|
+
)
|
|
263
|
+
} else {
|
|
264
|
+
add_report(
|
|
265
|
+
list(
|
|
266
|
+
kind = "descr",
|
|
267
|
+
content = paste0("Top ", n, " expressing genes")
|
|
268
|
+
),
|
|
269
|
+
list(
|
|
270
|
+
kind = "table",
|
|
271
|
+
src = file.path(info$casedir, "exprn.txt")
|
|
272
|
+
),
|
|
273
|
+
h1 = h1,
|
|
274
|
+
h2 = ifelse(h2 == "#", "Top Expressing Genes", h2),
|
|
275
|
+
h3 = ifelse(h2 == "#", "#", "Top Expressing Genes")
|
|
276
|
+
)
|
|
253
277
|
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
278
|
+
add_report(
|
|
279
|
+
list(
|
|
280
|
+
kind = "descr",
|
|
281
|
+
content = paste0("Enrichment analysis for the top ", n, " expressing genes")
|
|
282
|
+
),
|
|
283
|
+
list(kind = "enrichr", dir = info$casedir),
|
|
284
|
+
h1 = h1,
|
|
285
|
+
h2 = ifelse(h2 == "#", "Enrichment Analysis", h2),
|
|
286
|
+
h3 = ifelse(h2 == "#", "#", "Enrichment Analysis")
|
|
287
|
+
)
|
|
288
|
+
}
|
|
264
289
|
}
|
|
265
290
|
|
|
266
291
|
sapply(sort(names(cases)), do_case)
|
|
@@ -329,6 +329,7 @@ plot_venndg <- function(counts, groups, singletons) {
|
|
|
329
329
|
|
|
330
330
|
plot_upset <- function(counts, singletons) {
|
|
331
331
|
query_singleton <- function(row) { row["Singletons"] == "true" }
|
|
332
|
+
query_multiplet <- function(row) { rep(TRUE, length(row)) }
|
|
332
333
|
|
|
333
334
|
cnts <- column_to_rownames(counts, "CDR3.aa") %>%
|
|
334
335
|
mutate(across(everything(), ~ as.integer(as.logical(.x))))
|
|
@@ -342,6 +343,14 @@ plot_upset <- function(counts, singletons) {
|
|
|
342
343
|
sets <- make.names(sets)
|
|
343
344
|
|
|
344
345
|
upset(cnts, sets = sets, query.legend = "top", sets.x.label = "# clones", queries = list(
|
|
346
|
+
list(
|
|
347
|
+
# in order to add legend
|
|
348
|
+
# actually mark all, but singleton will override
|
|
349
|
+
query = query_multiplet,
|
|
350
|
+
color = "#3b3b3b",
|
|
351
|
+
active = TRUE,
|
|
352
|
+
query.name = "Multiplets"
|
|
353
|
+
),
|
|
345
354
|
list(
|
|
346
355
|
query = query_singleton,
|
|
347
356
|
color = "orange",
|
biopipen/utils/misc.R
CHANGED
|
@@ -29,6 +29,25 @@ bQuote <- function(x) {
|
|
|
29
29
|
#' @param tolower Convert to lowercase
|
|
30
30
|
#' @return A slugified string
|
|
31
31
|
slugify <- function(x, non_alphanum_replace="-", collapse_replace=TRUE, tolower=FALSE) {
|
|
32
|
+
subs <- list(
|
|
33
|
+
"š"="s", "œ"="oe", "ž"="z", "ß"="ss", "þ"="y", "à"="a", "á"="a", "â"="a",
|
|
34
|
+
"ã"="a", "ä"="a", "å"="a", "æ"="ae", "ç"="c", "è"="e", "é"="e", "ê"="e",
|
|
35
|
+
"ë"="e", "ì"="i", "í"="i", "î"="i", "ï"="i", "ð"="d", "ñ"="n", "ò"="o",
|
|
36
|
+
"ó"="o", "ô"="o", "õ"="o", "ö"="o", "ø"="oe", "ù"="u", "ú"="u", "û"="u",
|
|
37
|
+
"ü"="u", "ý"="y", "ÿ"="y", "ğ"="g", "ı"="i", "ij"="ij", "ľ"="l", "ň"="n",
|
|
38
|
+
"ř"="r", "ş"="s", "ť"="t", "ų"="u", "ů"="u", "ý"="y", "ź"="z", "ż"="z",
|
|
39
|
+
"ſ"="s", "α"="a", "β"="b", "γ"="g", "δ"="d", "ε"="e", "ζ"="z", "η"="h",
|
|
40
|
+
"θ"="th", "ι"="i", "κ"="k", "λ"="l", "μ"="m", "ν"="n", "ξ"="x", "ο"="o",
|
|
41
|
+
"π"="p", "ρ"="r", "σ"="s", "τ"="t", "υ"="u", "φ"="ph", "χ"="ch", "ψ"="ps",
|
|
42
|
+
"ω"="o", "ά"="a", "έ"="e", "ή"="h", "ί"="i", "ό"="o", "ύ"="u", "ώ"="o",
|
|
43
|
+
"ϐ"="b", "ϑ"="th", "ϒ"="y", "ϕ"="ph", "ϖ"="p", "Ϛ"="st", "ϛ"="st", "Ϝ"="f",
|
|
44
|
+
"ϝ"="f", "Ϟ"="k", "ϟ"="k", "Ϡ"="k", "ϡ"="k", "ϰ"="k", "ϱ"="r", "ϲ"="s",
|
|
45
|
+
"ϳ"="j", "ϴ"="th", "ϵ"="e", "϶"="p"
|
|
46
|
+
)
|
|
47
|
+
# replace latin and greek characters to the closest english character
|
|
48
|
+
for (k in names(subs)) {
|
|
49
|
+
x <- gsub(k, subs[[k]], x)
|
|
50
|
+
}
|
|
32
51
|
x <- gsub("[^[:alnum:]_]", non_alphanum_replace, x)
|
|
33
52
|
if(collapse_replace) x <- gsub(paste0(non_alphanum_replace, "+"), non_alphanum_replace, x)
|
|
34
53
|
if(tolower) x <- tolower(x)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
biopipen/__init__.py,sha256=
|
|
1
|
+
biopipen/__init__.py,sha256=u0eTmljUU0kO8AAW-e1ESQ49mK2SuhpCy7eCliBLlDU,23
|
|
2
2
|
biopipen/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
3
|
biopipen/core/config.py,sha256=edK5xnDhM8j27srDzsxubi934NMrglLoKrdcC8qsEPk,1069
|
|
4
4
|
biopipen/core/config.toml,sha256=20RCI30Peee1EQdfb_UbV3Hf74XUPndJnYZlUThytsw,1781
|
|
@@ -21,7 +21,7 @@ biopipen/ns/gsea.py,sha256=EsNRAPYsagaV2KYgr4Jv0KCnZGqayM209v4yOGGTIOI,7423
|
|
|
21
21
|
biopipen/ns/misc.py,sha256=fzn0pXvdghMkQhu-e3MMapPNMyO6IAJbtTzVU3GbFa0,3246
|
|
22
22
|
biopipen/ns/plot.py,sha256=yguxmErUOH-hOM10JfuI_sXw2p49XF8yGR_gXfbd5yQ,4066
|
|
23
23
|
biopipen/ns/rnaseq.py,sha256=bKAa6friFWof4yDTWZQahm1MS-lrdetO1GqDKdfxXYc,7708
|
|
24
|
-
biopipen/ns/scrna.py,sha256=
|
|
24
|
+
biopipen/ns/scrna.py,sha256=Tm4FMMBfHnK99hcrCjIvigYtiIxOSXEemgNmi3qwE8M,99855
|
|
25
25
|
biopipen/ns/scrna_metabolic_landscape.py,sha256=9s1NvH3aMaNDXyfwy9TdzGcSP_lIW4JqhLgknNZcIKE,28313
|
|
26
26
|
biopipen/ns/snp.py,sha256=upGltsjjl09PWcRVdW6D5WpAQ3oWm1KwxQ026wsQwWc,2583
|
|
27
27
|
biopipen/ns/stats.py,sha256=yJ6C1CXF84T7DDs9mgufqUOr89Rl6kybE5ji8Vnx6cw,13693
|
|
@@ -123,7 +123,7 @@ biopipen/scripts/scrna/CellTypeAnnotation-hitype.R,sha256=6_DBAlLKcHqaMyWGZWvTd4
|
|
|
123
123
|
biopipen/scripts/scrna/CellTypeAnnotation-sccatch.R,sha256=1ejye0hs-EOwzzdP9gFWSLPcF6dOAA6VmNKXEjmS11E,1654
|
|
124
124
|
biopipen/scripts/scrna/CellTypeAnnotation-sctype.R,sha256=1nKRtzhVoJ9y0yMg1sgI6u7czsrk2cN0FvNUCZo8l-o,3878
|
|
125
125
|
biopipen/scripts/scrna/CellTypeAnnotation.R,sha256=OwLM_G4D7TG4HhIJjQxgIQM92X86lsWp9MVyXTTkLSc,618
|
|
126
|
-
biopipen/scripts/scrna/CellsDistribution.R,sha256=
|
|
126
|
+
biopipen/scripts/scrna/CellsDistribution.R,sha256=CXdL7yLaoKdkKdgckR6IbUXlVIQQ25oc3CTCq673CEU,19952
|
|
127
127
|
biopipen/scripts/scrna/DimPlots.R,sha256=-mXOTMnpPxvR30XLjwcohFfFx7xTqWKKiICwJiD6yEo,1554
|
|
128
128
|
biopipen/scripts/scrna/ExprImpution-alra.R,sha256=w3W1txJcdWg52-SETY2Z0lO7maDNfiMjBYIGN587YW0,843
|
|
129
129
|
biopipen/scripts/scrna/ExprImpution-rmagic.R,sha256=jYIfqZpnvjKJkvItLnemPVtUApHBYQi1_L8rHVbEe1M,735
|
|
@@ -140,7 +140,7 @@ biopipen/scripts/scrna/SeuratClusterStats-dimplots.R,sha256=pZKv1SnSNEGXDeE0_2VY
|
|
|
140
140
|
biopipen/scripts/scrna/SeuratClusterStats-features.R,sha256=SaKTJloP1fttRXZQeb2ApX0ej7al13wOoEYkthSk13k,15489
|
|
141
141
|
biopipen/scripts/scrna/SeuratClusterStats-hists.R,sha256=YhuD-GePjJPSkR0iLRgV_hiGHD_bnOIKp-LB6GCwquo,5037
|
|
142
142
|
biopipen/scripts/scrna/SeuratClusterStats-ngenes.R,sha256=GVKIXFNS_syCuSN8oxoBkjxxAeI5LdSxh-qLVkUsbDA,2146
|
|
143
|
-
biopipen/scripts/scrna/SeuratClusterStats-stats.R,sha256=
|
|
143
|
+
biopipen/scripts/scrna/SeuratClusterStats-stats.R,sha256=b5oXWb2GKt8nQxEXTc8Duv8rSx4UEwaO4OaEdyCBiF0,7590
|
|
144
144
|
biopipen/scripts/scrna/SeuratClusterStats.R,sha256=ouWoj7Q644uG3MUlT23AES8f74g38-jPtPhINSvoUas,1267
|
|
145
145
|
biopipen/scripts/scrna/SeuratClustering.R,sha256=kAvQq3RV86_KSv9NlUtUeQrPKkbhSsnv6Q4DoiTu8M0,6403
|
|
146
146
|
biopipen/scripts/scrna/SeuratFilter.R,sha256=BrYK0MLdaTtQvInMaQsmOt7oH_hlks0M1zykkJtg2lM,509
|
|
@@ -152,7 +152,7 @@ biopipen/scripts/scrna/SeuratSplit.R,sha256=vdK11V39_Uo_NaOh76QWCtxObGaEr5Ynxqq0
|
|
|
152
152
|
biopipen/scripts/scrna/SeuratSubClustering.R,sha256=L1SwKhNNKvsQGrcj0ZjScW9BLuvdO2pg7U48Ospsot8,6096
|
|
153
153
|
biopipen/scripts/scrna/SeuratSubset.R,sha256=yVA11NVE2FSSw-DhxQcJRapns0tNNHdyDYi5epO6SKM,1776
|
|
154
154
|
biopipen/scripts/scrna/SeuratTo10X.R,sha256=T2nJBTwOe12AIKC2FZsMSv6xx3s-67CYZokpz5wshqY,2679
|
|
155
|
-
biopipen/scripts/scrna/TopExpressingGenes.R,sha256=
|
|
155
|
+
biopipen/scripts/scrna/TopExpressingGenes.R,sha256=1OTCBeHooAKkByDBSBNG5F2icrPuznDW92EgG3YazTw,8563
|
|
156
156
|
biopipen/scripts/scrna/Write10X.R,sha256=OMhXvJwvaH-aWsMpijKrvXQVabc1qUu5ZEwiLAhkDeY,285
|
|
157
157
|
biopipen/scripts/scrna/celltypist-wrapper.py,sha256=f5M8f4rU5nC7l17RS0YVmUPpLLz4D6PIcgWtA77UExM,1722
|
|
158
158
|
biopipen/scripts/scrna/sctype.R,sha256=NaUJkABwF5G1UVm1CCtcMbwLSj94Mo24mbYCKFqo1Bw,6524
|
|
@@ -170,7 +170,7 @@ biopipen/scripts/tcgamaf/MafAddChr.py,sha256=V10HMisl12O3ZfXuRmFNdy5p-3mr43WCvy0
|
|
|
170
170
|
biopipen/scripts/tcgamaf/maf2vcf.pl,sha256=hJKcH-NbgWK6fmK7f3qex7ozJJl-PqCNPXqpwfcHwJg,22707
|
|
171
171
|
biopipen/scripts/tcr/Attach2Seurat.R,sha256=C91TAh1cLSxWkdFPf84pbxlpTYMuWq_rduG4eiIkXZI,1345
|
|
172
172
|
biopipen/scripts/tcr/CDR3AAPhyschem.R,sha256=-0BS6cdt5GfQJphA3HlDgGjWr4XFF-7INLJyMBHQNAc,16628
|
|
173
|
-
biopipen/scripts/tcr/CloneResidency.R,sha256=
|
|
173
|
+
biopipen/scripts/tcr/CloneResidency.R,sha256=AVIsBIR1zEuaQ9ozb0dbe9BSYi-RMV2-83xKPZ6DVMU,20347
|
|
174
174
|
biopipen/scripts/tcr/CloneSizeQQPlot.R,sha256=5FPfWQjxTsv59KSDQaDWj3C95zPQMngKG7qOf95NEzI,4527
|
|
175
175
|
biopipen/scripts/tcr/GIANA/GIANA.py,sha256=0qLhgCWxT8K-4JvORA03CzBPTT5pd4Di5B_DgrHXbFA,47198
|
|
176
176
|
biopipen/scripts/tcr/GIANA/GIANA4.py,sha256=Z7Q3cUr1Pvmy4CFADN0P7i9g1-HbzWROMqk5HvL_F1Q,45762
|
|
@@ -229,7 +229,7 @@ biopipen/utils/gene.R,sha256=BzAwlLA8hO12vF-3t6IwEuTEeLa_jBll4zm_5qe3qoE,1243
|
|
|
229
229
|
biopipen/utils/gene.py,sha256=qE_BqTayrJWxRdniffhcz6OhZcw9GUoOrj2EtFWH9Gw,2246
|
|
230
230
|
biopipen/utils/gsea.R,sha256=UMQOlWGstQTOBScvy1wIzrB7I3CE28Xo2v1sy4lmJ-M,7549
|
|
231
231
|
biopipen/utils/io.R,sha256=jIYdqdn0iRWfQYAZa5CjXi3fikqmYvPPLIXhobRe8sw,537
|
|
232
|
-
biopipen/utils/misc.R,sha256=
|
|
232
|
+
biopipen/utils/misc.R,sha256=yo6mp6lBiKCPpSuAmfETNJSQJDduTbEXa_56jmqs_VE,6805
|
|
233
233
|
biopipen/utils/misc.py,sha256=BpqPVgp_IlsUZow5P4mEtbPMjhO_vEb5atrF7iJ_xhU,3509
|
|
234
234
|
biopipen/utils/mutate_helpers.R,sha256=Bqy6Oi4rrPEPJw0Jq32bVAwwBfZv7JJL9jFcK5x-cek,17649
|
|
235
235
|
biopipen/utils/plot.R,sha256=pzl37PomNeUZPxohHZ2w93j3Fc4T0Qrc62FF-9MTKdw,4417
|
|
@@ -237,7 +237,7 @@ biopipen/utils/reference.py,sha256=6bPSwQa-GiDfr7xLR9a5T64Ey40y24yn3QfQ5wDFZkU,4
|
|
|
237
237
|
biopipen/utils/rnaseq.R,sha256=Ro2B2dG-Z2oVaT5tkwp9RHBz4dp_RF-JcizlM5GYXFs,1298
|
|
238
238
|
biopipen/utils/single_cell.R,sha256=pJjYP8bIZpNAtTQ32rOXhZxaM1Y-6D-xUcK3pql9tbk,4316
|
|
239
239
|
biopipen/utils/vcf.py,sha256=ajXs0M_QghEctlvUlSRjWQIABVF02wPdYd-0LP4mIsU,9377
|
|
240
|
-
biopipen-0.26.
|
|
241
|
-
biopipen-0.26.
|
|
242
|
-
biopipen-0.26.
|
|
243
|
-
biopipen-0.26.
|
|
240
|
+
biopipen-0.26.1.dist-info/METADATA,sha256=jpb9Z7AVsQ7LN-Zhza6QDrD1yDPWBuIcOwrajRsJV5M,878
|
|
241
|
+
biopipen-0.26.1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
242
|
+
biopipen-0.26.1.dist-info/entry_points.txt,sha256=wu70aoBcv1UahVbB_5237MY-9M9_mzqmWjDD-oi3yz0,621
|
|
243
|
+
biopipen-0.26.1.dist-info/RECORD,,
|
|
@@ -11,11 +11,11 @@ delim=biopipen.ns.delim
|
|
|
11
11
|
gene=biopipen.ns.gene
|
|
12
12
|
gsea=biopipen.ns.gsea
|
|
13
13
|
misc=biopipen.ns.misc
|
|
14
|
-
plink=biopipen.ns.plink
|
|
15
14
|
plot=biopipen.ns.plot
|
|
16
15
|
rnaseq=biopipen.ns.rnaseq
|
|
17
16
|
scrna=biopipen.ns.scrna
|
|
18
17
|
scrna_metabolic_landscape=biopipen.ns.scrna_metabolic_landscape
|
|
18
|
+
snp=biopipen.ns.snp
|
|
19
19
|
stats=biopipen.ns.stats
|
|
20
20
|
tcgamaf=biopipen.ns.tcgamaf
|
|
21
21
|
tcr=biopipen.ns.tcr
|