Read FCS files#
In this notebook, we load an fcs file into the anndata format, move the forward scatter (FCS) and sideward scatter (SSC) information to the .obs
section of the anndata file and perform compensation on the data.
import readfcs
import pytometry as pm
%load_ext autoreload
%autoreload 2
Read data from readfcs
package example.
from pathlib import Path
path_data = readfcs.datasets.example()
adata = pm.io.read_fcs(path_data)
adata
AnnData object with n_obs × n_vars = 65016 × 16
var: 'channel'
uns: 'meta'
The .var
section of the AnnData object contains the channel information. We set the marker names as var_names
by default. In addition, we save the channel information in the "channel"
column.
adata.var
channel | |
---|---|
FSC-A | FSC-A |
FSC-H | FSC-H |
SSC-A | SSC-A |
KI67 | B515-A |
CD3 | R780-A |
CD28 | R710-A |
CD45RO | R660-A |
CD8 | V800-A |
CD4 | V655-A |
CD57 | V585-A |
VIVID / CD14 | V450-A |
CCR5 | G780-A |
CD19 | G710-A |
CD27 | G660-A |
CCR7 | G610-A |
CD127 | G560-A |
The .uns['meta']
section contains the header information from the FCS file.
adata.uns["meta"]
{'filename': '100715.fcs',
'sys': 'Windows XP 5.1',
'total_events': 65016,
'tube_name': 'Tube_025',
'exp_name': '070717_AB02_tb',
'cytometer': 'Main Aria (FACSAria)',
'creator': 'LYSYS',
'operator': 'Administrator',
'cst_pass': False,
'threshold': {'channel': 'FSC', 'threshold': '27000'},
'processing_date': '2007-07-17T15:38:06',
'spill': B515-A R780-A R710-A R660-A V800-A V655-A V585-A \
B515-A 1.000000 0.000000 0.000000 0.000088 0.000249 0.000645 0.007198
R780-A 0.000000 1.000000 0.071188 0.148448 0.338903 0.009717 0.000000
R710-A 0.000000 0.331405 1.000000 0.061965 0.120979 0.004053 0.000000
R660-A 0.000000 0.088621 0.389424 1.000000 0.029759 0.065553 0.000000
V800-A 0.000000 0.136618 0.010757 0.000000 1.000000 0.000156 0.000000
V655-A 0.000000 0.000124 0.019463 0.218206 0.004953 1.000000 0.003583
V585-A 0.000000 0.000000 0.000000 0.000000 0.001056 0.002287 1.000000
V450-A 0.000000 0.000000 0.000000 0.000000 0.000000 0.008118 0.170066
G780-A 0.003122 0.008526 0.001024 0.001163 0.125401 0.018142 0.193646
G710-A 0.002015 0.069645 0.194715 0.001008 0.151611 0.001270 0.007133
G660-A 0.001685 0.054340 0.277852 0.343008 0.061753 0.077523 0.004263
G610-A 0.000000 0.008713 0.048213 0.073190 0.150563 0.386293 0.101896
G560-A 0.001684 0.000000 0.000000 0.000095 0.003463 0.015712 0.174122
V450-A G780-A G710-A G660-A G610-A G560-A
B515-A 0.0 0.000000 0.000131 0.000067 0.000582 0.002520
R780-A 0.0 0.301380 0.007478 0.012354 0.000000 0.000000
R710-A 0.0 0.109117 0.100314 0.005832 0.000000 0.000000
R660-A 0.0 0.031294 0.039306 0.091375 0.000396 0.000057
V800-A 0.0 0.483235 0.014858 0.000000 0.000000 0.000000
V655-A 0.0 0.001311 0.029646 0.408902 0.006506 0.000119
V585-A 0.0 0.000389 0.000194 0.000000 0.062551 0.132484
V450-A 1.0 0.000000 0.000000 0.000000 0.000000 0.000000
G780-A 0.0 1.000000 0.066898 0.161456 0.286823 1.238037
G710-A 0.0 1.150032 1.000000 0.016077 0.014674 0.055352
G660-A 0.0 0.497488 0.743923 1.000000 0.010329 0.037635
G610-A 0.0 0.370277 0.613490 1.218024 1.000000 0.065211
G560-A 0.0 0.023802 0.049474 0.132511 0.239216 1.000000 }