コード例 #1
0
        for i in range(1, len(imageset.images) - 1):
            arr = peripheral_profiles[np.random.choice(
                peripheral_profiles.shape[0], i, replace=True)]
            rand_idx = randint(0, peripheral_profiles.shape[0] - 1)
            mean_arr = np.mean(arr, axis=0)
            arr_diff = mean_arr - peripheral_profiles[rand_idx, :]
            mse = helpers.mean_absolute_deviation(arr_diff)
            mads.append(mse)
        total_mads.append(mads)
    return total_mads


# Figure 2.D Mean Absolute Deviation of Arhgdia mRNA distribution for peripheral fraction descriptors of a randomly selected cell
# from a pooled average of up to ~40 cells for cultured and micropatterned cells.

constants.init_config(analysis_config_js_path=pathlib.Path(
    global_root_dir, "src/analysis/stability/config_original.json"))
dataset_root_fp = pathlib.Path(
    constants.analysis_config['DATASET_CONFIG_PATH'].format(
        root_dir=global_root_dir)).parent
primary_fp = pathlib.Path(dataset_root_fp,
                          constants.dataset_config['PRIMARY_FILE_NAME'])
secondary_fp = pathlib.Path(dataset_root_fp,
                            constants.dataset_config['SECONDARY_FILE_NAME'])
analysis_repo = H5RepositoryWithCheckpoint(repo_path=primary_fp,
                                           secondary_repo_path=secondary_fp)

total_mads = []
for gene in constants.analysis_config['MRNA_GENES']:
    total_mads.append(compute_stability(gene, bootstrap=500))

tgt_image_name = constants.analysis_config['FIGURE_NAME_FORMAT']
コード例 #2
0
    ["src/analysis/colocalization/config_nocodazole_pard3.json"]
]
# Figure 6C top Peripheral Colocalization Score (CS) for original data
# Figure 6C top Cytoplasmic Colocalization Score (CS) for original data
# Figure 6D Colocalization Score (CS) for original data (4 figures)
# Figure 7F top left Colocalization Score (CS) for arhgdia data
# Figure 7F top right Colocalization Score (CS) for nocodazole arhgdia data
# Figure 7F bottom left Colocalization Score (CS) for pard3 data
# Figure 7F bottom right Colocalization Score (CS) for nocodazole pard3 data

if __name__ == '__main__':
    np.random.seed(int(round(time.time())))
    for conf in configurations:
        logger.info("Colocalization Score")
        conf_full_path = pathlib.Path(global_root_dir, conf[0])
        constants.init_config(analysis_config_js_path=conf_full_path)
        repo = helpers.open_repo()
        peripheral_flag = "periph" in conf[0]
        stripes = constants.analysis_config["STRIPE_NUM"]
        mrna_densities = compute_relative_densities(
            repo, 'mrna', quadrants_num=8, peripheral_flag=peripheral_flag)
        prot_densities = compute_relative_densities(
            repo, 'protein', quadrants_num=8, peripheral_flag=peripheral_flag)

        css, results = [], {}
        for gene in constants.analysis_config['PROTEINS']:
            cs, p, ranking = helpers.calculate_colocalization_score(
                mrna_densities[gene],
                prot_densities[gene],
                constants.dataset_config['TIMEPOINTS_NUM_MRNA'],
                constants.dataset_config['TIMEPOINTS_NUM_PROTEIN'],
コード例 #3
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Credits: Benjamin Dartigues, Emmanuel Bouilhol, Hayssam Soueidan, Macha Nikolski

import pathlib
import warnings
from unittest import TestCase

import constants
import image_processing as ip
import path
from imageWithSpots import ImageWithSpots
from repository import H5RepositoryWithCheckpoint

constants.init_config(analysis_config_js_path=path.test_config_path)


class TestImageWithSpots(TestCase):
    def setUp(self) -> None:
        self.h5_sample_path = pathlib.Path(path.global_example_data,
                                           "basic.h5")
        self.repo = H5RepositoryWithCheckpoint(repo_path=self.h5_sample_path)
        self.img = ImageWithSpots(repository=self.repo,
                                  image_path="mrna/arhgdia/2h/1")

    def tearDown(self) -> None:
        self.repo.clear()

    def test_get_spots(self):
        self.assertEqual(self.img.get_spots().shape, (218, 3))
コード例 #4
0
def compute_zline_distance(repo, molecule_list, timepoints, z_line_spacing):
    all_median_profiles = []
    for molecule in molecule_list:
        for timepoint in timepoints:
            image_set = ImageSet(repo, [f"{'mrna'}/{molecule}/{timepoint}/"])
            if image_set.__sizeof__() < 5:
                logger.warning("Image set is small for {}", molecule)
            total_profile = image_set.compute_zline_distance(z_line_spacing)
            all_median_profiles.append(np.median(total_profile, axis=0))
    return all_median_profiles


# figure 8B mRNA enrichment between z-lines in muscle fibers

constants.init_config(analysis_config_js_path=pathlib.Path(
    global_root_dir, "src/analysis/muscle/config_muscle.json"))
dataset_root_fp = pathlib.Path(
    constants.analysis_config['DATASET_CONFIG_PATH'].format(
        root_dir=global_root_dir)).parent
primary_fp = pathlib.Path(dataset_root_fp,
                          constants.dataset_config['PRIMARY_FILE_NAME'])
secondary_fp = pathlib.Path(dataset_root_fp,
                            constants.dataset_config['SECONDARY_FILE_NAME'])
analysis_repo = H5RepositoryWithCheckpoint(repo_path=primary_fp,
                                           secondary_repo_path=secondary_fp)
z_line_spacing = constants.analysis_config['Z_LINE_SPACING']

molecule_list = ['actn2', 'gapdh']
timepoints = ['mature']
all_median_profiles_mature = compute_zline_distance(analysis_repo,
                                                    molecule_list, timepoints,
コード例 #5
0
# Credits: Benjamin Dartigues, Emmanuel Bouilhol, Hayssam Soueidan, Macha Nikolski

import pathlib
from unittest import TestCase

import numpy as np
from loguru import logger

import constants
import helpers
import image_processing as ip
import path
from image3d import Image3d
from repository import H5RepositoryWithCheckpoint

constants.init_config(
    analysis_config_js_path=path.test_config_path)  # TODO this is annoying


class TestImage3d(TestCase):
    def setUp(self) -> None:
        self.h5_sample_path = pathlib.Path(path.global_example_data,
                                           "basic.h5")
        self.repo = H5RepositoryWithCheckpoint(repo_path=self.h5_sample_path)
        self.img = Image3d(repository=self.repo,
                           image_path="mrna/arhgdia/2h/1")

    def tearDown(self) -> None:
        self.repo.clear()

    def test_compute_cell_mask_slices(self):
        cell_mask = helpers.unit_circle(15, 7)