-
Notifications
You must be signed in to change notification settings - Fork 0
python alternative to analyse the output of the GC analyzer
License
mheydasch/GC_analysis_package
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Goal of this package is to create a python pipeline to analyze the data output from the GrowthConeAnalyzer MATLAB software: "Bagonis, Maria M., et al. "Automated profiling of growth cone heterogeneity defines relations between morphology and motility." J Cell Biol 218.1 (2019): 350-379." Contents of this package: analyze_features.py load_data.py KnockdownFeatures_class.py analyze_features.py: launch as python3 analyze_features.py -h from command line for help. This script is taking a list of folders and a list of knockdowns as the input. These will be used as input to the load_data.py module. This script is containing several statistical functions to analyze the data object created by load_data.py. It can be run from the command line and is giving the options to run a bonferroni corrected t-test to compare the knockdowns with the respective control and print figures for all features with significance annotations. Figures can either be based on raw data, or on the z_score In addition it gives the option to print .csv files of median feature values to be fed into the PCA analysis app. Dependencies: KnockdownFeatures_class.py load_data.py load_data.py: This module is calling KnockdownFeatures_class.py to create an object holding all knockdowns of an experiment with their respective features. It can be either run by the analyze_features.py script from the command line, which allows some automated data analysis options or from an editor to explore and analyze data more interactively. It takes a list of paths and knockdown names as an input. Folder structure must be the following: Experiment1 |-Knockdown1|-Cell1|-GCAFeatureExtraction|-...|-feature1.csv |-feature2.csv |-Cell2|-GCAFeatureExtraction|-... |-Knockdown2|-... Experiment2 |-Knockdown2|-... |-Knockdown3|-... GCAFeatureExtraction is hard coded, every feature needs to be contained as a .csv file somewhere in a folder exactly fitting this name. The path to this file is allowed to have an undefined number of subfolders within GCAFeatureExtraction. Not each experiment has to have all the knockdowns. If a knockdown is not found for an experiment it is simply skipped. The object, when initialized will only contain the information about path and knockdowns and contains function to extract and organize the given data into one object. self.extract_all() will use the input to extract the data from the different features by using the KnockdownFeatures_class.py module on each individual knockdown. It will create the following data structures: self.path: A list of the experiment folders to extract data from (first input argument) self.knockdowns: A list of the knockdowns to extract (second input argument) self.experiment: A dictionary mapping the experiment+knockdown name to the respective object created by the KnockdownFeatures_class.py module self.features: A list of strings of all the features that could be extracted grouped_features: A dictionary mapping the feature names to long format DataFrames containing the following information combined for all input data: KD: Name of the respective knockdown (second input argument) experiment: name of the experiment (first input argument) item: name of the knockdown+the cell number within that group meltid: row number of the original csv file, can be for example the ID of an individual filopodium timepoint: column number of the original csv file. usually the timepoint value: cell value of the original csv file. This is the measured value for the feature variable: experiment+item+timepoint. This is the unique ID for the cell and timepoint. Dependencies: KnockdownFeatures_class.py KnockdownFeatures_class.py: creates a class that holds all the features of one knockdown Usage: Initialize with the path to the experiment and a list of the folder names you want to search for features either use find_csv() and then load_features(feature) to load an individual feature, or use load_all() to load all features.
About
python alternative to analyse the output of the GC analyzer
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published