def loadfcs(): fname = glob.glob('*.fcs')[0] meta, data_numpy = fcsrd.parse_fcs(fname, meta_data_only=False, output_format='ndarray', reformat_meta=True) data = meta['_channels_'] a = (data['$PnS'].values) index = [] for name in a: if "CD" in name: index.insert(0, name) index.insert(0, "abTCR") index.insert(0, "MHCII") index.insert(0, "B220") index.insert(0, "Areg") index.insert(0, "Ly6G-C") index.insert(0, "Ly6G") index.insert(0, "Ly6C") index.insert(0, "BST2") index.insert(0, "Ter119") index.insert(0, "F4-80") index.insert(0, "gdTCR") index.insert(0, "SiglecF") index = np.array(index) surface_marker = data[data['$PnS'].isin(index)] surface_marker_data = data_numpy[:, surface_marker.index - 1] suface_marker_data_transformed = np.arcsinh(5 * surface_marker_data) quantile_995 = np.percentile(suface_marker_data_transformed, 99.5, axis=0) suface_marker_data_normalized = np.divide( suface_marker_data_transformed, np.tile(np.transpose(quantile_995), (np.shape(suface_marker_data_transformed)[0], 1))) suface_marker_data_normalized[suface_marker_data_normalized > 1] = 1 return suface_marker_data_normalized
#for i in range(1): fname = glob.glob('F:\\cytowork\\experiment_44185_files\\*.fcs' )[n_conditions * (i):n_conditions * (i + 1)] # create folder sample_name = fname[0].split('\\') sample_name = sample_name[-1] sample_name = sample_name.split('_') sample_name = sample_name[0] print(sample_name) # os.mkdir(sample_name) sel = range(n_conditions) for ii in sel: if ii == sel[0]: meta, data_numpy = fcsrd.parse_fcs(fname[ii], meta_data_only=False, output_format='ndarray', reformat_meta=True) # surface_marker_data = data_numpy[:,surface_marker.index - 1] # choose channel meta_data = meta['_channels_'] channel_names = (meta_data['$PnS'].values) selected_index = [] for name in channel_names: if "CD" in name: selected_index.insert(0, name) selected_index.insert(0, "HLA-DR") selected_index = np.array(selected_index) surface_marker = meta_data[meta_data['$PnS'].isin(selected_index)] surface_marker_data = data_numpy[:, surface_marker.index - 1] surface_marker_data = np.arcsinh(surface_marker_data / 5) surface_marker_data = np.divide(