RGLab / CytoML

A GatingML Interface for Cross Platform Cytometry Data Sharing
GNU Affero General Public License v3.0
30 stars 14 forks source link

skip the faulty gates without failing to parse the rest of gating tree #96

Closed mikejiang closed 4 years ago

mikejiang commented 4 years ago

Sometime there is some issue associated with parsing a particular gate (or node) in flowJo workspace (due to various reasons). Right now it will simply stop parsing and throw the error. e.g.

> flowjo_to_gatingset(ws, name = 4)
 Error in (function (ws, group_id, subset, execute, path, h5_dir, includeGates,  : 
  colname not found: <wrong-A> 

It is helpful to be able to skip that gate (and its descendants) so that the rest of gating tree can still be parsed and gated properly.

mikejiang commented 4 years ago

With the patch, passing skip_faulty_gate argument to skip the faulty node.

   gs <- flowjo_to_gatingset(ws, name = 4, skip_faulty_gate = TRUE)
colname not found: <wrong-A>
 Skipping the faulty node CD4 and its descendants 

> gh_pop_get_stats(gs[[1]])
                                          pop  count
 1:                                      root 119531
 2:                               /not debris  91720
 3:                      /not debris/singlets  87022
 4:                 /not debris/singlets/CD3+  54483
 5:             /not debris/singlets/CD3+/CD4     NA
 6:     /not debris/singlets/CD3+/CD4/38- DR+     NA
 7:     /not debris/singlets/CD3+/CD4/38+ DR+     NA
 8:     /not debris/singlets/CD3+/CD4/38+ DR-     NA
 9:     /not debris/singlets/CD3+/CD4/38- DR-     NA
10: /not debris/singlets/CD3+/CD4/CCR7- 45RA+     NA
11: /not debris/singlets/CD3+/CD4/CCR7+ 45RA+     NA
12: /not debris/singlets/CD3+/CD4/CCR7+ 45RA-     NA
13: /not debris/singlets/CD3+/CD4/CCR7- 45RA-     NA
14:             /not debris/singlets/CD3+/CD8  14564
15:     /not debris/singlets/CD3+/CD8/38- DR+   1308
16:     /not debris/singlets/CD3+/CD8/38+ DR+   1335
17:     /not debris/singlets/CD3+/CD8/38+ DR-   4450
18:     /not debris/singlets/CD3+/CD8/38- DR-   7471
19: /not debris/singlets/CD3+/CD8/CCR7- 45RA+   3919
20: /not debris/singlets/CD3+/CD8/CCR7+ 45RA+   6802
21: /not debris/singlets/CD3+/CD8/CCR7+ 45RA-   1569
22: /not debris/singlets/CD3+/CD8/CCR7- 45RA-   2274
23:             /not debris/singlets/CD3+/DNT   1293
24:             /not debris/singlets/CD3+/DPT    819