Esempio n. 1
0
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
Esempio n. 2
0
    #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(