Exemple #1
0
def synapsin_concentrations():
    """ Synapsin concentration comparisons """
    resolution = {'res_xy_nm': 100, 'res_z_nm': 70}
    thresh = 0.9
    base_dir = '/Users/anish/Documents/Connectome/Synaptome-Duke/data/antibodyanalysis/Dilutions/KDM-SYN-110228/'
    folder_names = ['Stacks SynCS 100', 'Stacks SynCS 1000']

    target_antibody_name = 'ASynCS_1st.tif'
    conjugate_antibody_name = 'AVGluT1_3rd.tif'

    conjugate_filenames = []
    target_filenames = []
    query_list = []
    for fn in folder_names:
        query = {
            'preIF': [target_antibody_name, conjugate_antibody_name],
            'preIF_z': [2, 2],
            'postIF': [],
            'postIF_z': [],
            'punctumSize': 2
        }
        query_list.append(query)
        target_filenames.append(target_antibody_name)
        conjugate_filenames.append(conjugate_antibody_name)

    measure_list = aa.calculate_measure_lists(query_list, folder_names,
                                              base_dir, thresh, resolution,
                                              target_filenames)

    df = aa.create_df(measure_list, folder_names, target_filenames,
                      conjugate_filenames)

    print(df)
    return df
Exemple #2
0
def glur3_concentrations():
    """GLUR3 concentration comparisons """
    resolution = {'res_xy_nm': 100, 'res_z_nm': 70}
    thresh = 0.9
    base_dir = '/Users/anish/Documents/Connectome/Synaptome-Duke/data/antibodyanalysis/Dilutions/KDM-SYN-120322/'
    folder_names = ['GluR3_25', 'GluR3_125', 'GluR3_625', 'GluR3_3125']

    target_antibody_name = 'GluR3_1stA.tif'
    conjugate_antibody_name = 'VGluT1A.tif'

    conjugate_filenames = []
    target_filenames = []
    query_list = []
    for fn in folder_names:
        query = {
            'preIF': [conjugate_antibody_name],
            'preIF_z': [2],
            'postIF': [target_antibody_name],
            'postIF_z': [2],
            'punctumSize': 2
        }
        query_list.append(query)
        target_filenames.append(target_antibody_name)
        conjugate_filenames.append(conjugate_antibody_name)

    measure_list = aa.calculate_measure_lists(query_list, folder_names,
                                              base_dir, thresh, resolution,
                                              target_filenames)

    df = aa.create_df(measure_list, folder_names, target_filenames,
                      conjugate_filenames)
    print(df)

    return df
Exemple #3
0
def gephyrin_multipleclones():
    """Gephyrin multiple clone comparisons

    """
    folder_names = ['3-2-1', '4-2', '22-3', '23-1', '73-2', '83-1', '93-1']
    base_dir = '/Users/anish/Documents/Connectome/Synaptome-Duke/data/antibodyanalysis/L106-Gephyrin/'
    resolution = {'res_xy_nm': 100, 'res_z_nm': 70}
    thresh = 0.9

    target_filenames = ['3-2-1-cloneA.tif', '4-2-cloneA.tif', '22-3-cloneA.tif',
                        '23-1-cloneA.tif', '73-2-cloneA.tif', '83-1-cloneA.tif',
                        '93-1-cloneA.tif']

    conjugate_filenames = ['3-2-1-GADA.tif', '4-2-GADA.tif', '22-3-GADA.tif',
                           '23-1-GADA.tif',  '73-2-GADA.tif', '83-1GADA.tif',
                           '93-1-GADA.tif']

    query_list = []
    for n in range(0, len(target_filenames)):
        target_name = target_filenames[n]
        conjugate_name = conjugate_filenames[n]
        query = {'preIF': [conjugate_name], 'preIF_z': [2],
                 'postIF': [target_name], 'postIF_z': [2],
                 'punctumSize': 2}
        query_list.append(query)

    measure_list = aa.calculate_measure_lists(query_list, folder_names, base_dir,
                                        thresh, resolution, target_filenames)

    df = aa.create_df(measure_list, folder_names, target_filenames, conjugate_filenames)
    print(df)

    return df
Exemple #4
0
def VGAT_lowicryl_multipleclones():
    """ VGAT_lowicryl_multipleclones
    """

    base_dir = '/Users/anish/Documents/Connectome/Synaptome-Duke/data/antibodyanalysis/L118-VGAT/Lowicryl/'
    folder_names = aa.getListOfFolders(base_dir)
    resolution = {'res_xy_nm': 100, 'res_z_nm': 70}
    thresh = 0.9
    conjugate_filename_str = 'GAD'
    target_filename_str = 'VGAT'
    conjugate_filenames = []
    target_filenames = []
    query_list = []
    for foldername in folder_names:
        target_name = aa.find_filename(target_filename_str, foldername, base_dir)
        conjugate_name = aa.find_filename(conjugate_filename_str, foldername, base_dir)

        conjugate_filenames.append(conjugate_name)
        target_filenames.append(target_name)

        query = {'preIF': [target_name, conjugate_name], 'preIF_z': [2, 2],
                'postIF': [], 'postIF_z': [],
                'punctumSize': 2}

        query_list.append(query)

    measure_list = aa.calculate_measure_lists(query_list, folder_names, base_dir,
                                        thresh, resolution, target_filenames)

    df = aa.create_df(measure_list, folder_names, target_filenames, conjugate_filenames)
    print(df)

    return df
def psd_pairwise_comparison():
    """Compare two PSD-95 clones.  This is just one way of setting up the 
    queries/data locations.  See the 'antibody_analysis' folder for multiple examples 
    of how to set up the tool. 

    Query Format (dict): 
        preIF : list of strs - name of the channel
        preIF_z : list of ints - number of slices to span. default=[2]
        postIF : list of strs
        postIF_z : list of ints. default=[2]
        punctumSize : number of pixels x/y that a puncta should span. default=2
    
    Returns
    -----------------
    df : dataframe - contains the results of the SACT 
    """
    # Location of the data
    base_dir = '../example/'

    # Data resolution, in nanometers
    resolution = {'res_xy_nm': 100, 'res_z_nm': 70}

    # Threshold value for the probability maps. This value does not usually need to be changed.
    thresh = 0.9

    # List the file names
    target_filenames = ['PSD95m_1st.tif', 'PSD95r_2nd.tif']
    reference_filenames = ['synapsin_1st.tif', 'synapsin_1st.tif']

    # Create a query for each pair
    query_list = []
    for n in range(0, len(target_filenames)):
        target_name = target_filenames[
            n]  # The AB we're interested in testing (PSD)
        reference_name = reference_filenames[
            n]  # The previously validated AB (synapsin)

        # Formulate the query
        query = {
            'preIF': [reference_name],
            'preIF_z': [2],
            'postIF': [target_name],
            'postIF_z': [2],
            'punctumSize': 2
        }
        query_list.append(query)

    # Run the SACT
    measure_list = aa.calculate_measure_lists(query_list, None, base_dir,
                                              thresh, resolution,
                                              target_filenames)

    # Convert measure object to a dataframe
    project_names = ['PSD_M', 'PSD_R']
    df = aa.create_df(measure_list, project_names, target_filenames,
                      reference_filenames)
    print(df)

    return df
def mitochrondia_170906():
    """ Run antibody characterization tool on the L113-Homer dataset

    Return
    ----------
    df : dataframe - contains results
    """

    # Location of data
    base_dir = '/Users/anish/Dropbox/KDM-SYN-170906/'
    folder_names = aa.getListOfFolders(base_dir)
    resolution = {'res_xy_nm': 100, 'res_z_nm': 70}
    thresh = 0.9

    conjugate_filename_str = 'VDAC'
    target_filename_str = 'N152'

    conjugate_filenames = []
    target_filenames = []
    query_list = []

    for foldername in folder_names:
        target_name = aa.find_filename(target_filename_str, foldername, base_dir)
        conjugate_name = aa.find_filename(conjugate_filename_str, foldername, base_dir)

        conjugate_filenames.append(conjugate_name)
        target_filenames.append(target_name)

        query = {'preIF': [], 'preIF_z': [],
                'postIF': [target_name, conjugate_name], 'postIF_z': [2, 2],
                'punctumSize': 2}

        query_list.append(query)

    measure_list = aa.calculate_measure_lists(query_list, folder_names, base_dir,
                                        thresh, resolution, target_filenames)

    df = aa.create_df(measure_list, folder_names, target_filenames, conjugate_filenames)
    print(df)

    return df
Exemple #7
0
def bassoon_L170921_multipleclones3():
    """ bassoon_L170921_multipleclones
    """

    base_dir = '/Users/anish/Documents/Connectome/Synaptome-Duke/data/antibodyanalysis/L170921-Bassoon/'
    folder_names = aa.getListOfFolders(base_dir)
    resolution = {'res_xy_nm': 100, 'res_z_nm': 70}
    thresh = 0.9
    conjugate_filename_str = 'PSD'

    conjugate_filename_str2 = 'VGluT1'

    target_filename_str = 'L124'
    conjugate_filenames = []
    target_filenames = []
    query_list = []
    for foldername in folder_names:
        target_name = aa.find_filename(target_filename_str, foldername, base_dir)
        conjugate_name = aa.find_filename(conjugate_filename_str, foldername, base_dir)

        conjugate_name2 = aa.find_filename(conjugate_filename_str2, foldername, base_dir)

        conjugate_filenames.append(conjugate_name)
        target_filenames.append(target_name)

        query = {'preIF': [target_name, conjugate_name2], 'preIF_z': [1, 1],
                'postIF': [conjugate_name], 'postIF_z': [1],
                'punctumSize': 2}

        query_list.append(query)

    measure_list = aa.calculate_measure_lists(query_list, folder_names, base_dir,
                                        thresh, resolution, target_filenames)

    df = aa.create_df(measure_list, folder_names, target_filenames, conjugate_filenames)
    print(df)

    return df
def COMP():
    """ Run antibody characterization tool on the L110-CCK dataset

    Return
    ----------
    df : dataframe - contains results
    """

    # Location of data
    base_dir = "C:/Users/i3x-MM/Desktop/SACT/20180727_NM_Scope/Align"  #Location of align tif"
    resolution = {'res_xy_nm': 100, 'res_z_nm': 70}  #Resolution of a pixel
    thresh = 0.9  #What qualifies for final probability map
    number_of_datasets = 15  #Number of wells

    #Rb Antibody
    conjugate_fn_str = 'Synapsin'  #String segment to search in a filename
    #Ms Antibody project name, no parent or subclone number needed
    target_fn_str = 'L124'
    #Takes base directory string and gives you an array of all the files within
    filenames = aa.getListOfFolders(base_dir)
    #
    conjugate_filenames = []
    target_filenames = []
    query_list = []
    folder_names = []

    for n in range(1, 2):
        #Use if dataset missing
        #if n == 21: # Dataset 21 does not exist
        #continue

        print('Well: ', str(n))
        folder_names.append('Test-' +
                            str(n))  # Collate 'dataset' names for excel sheet
        conjugate_str = str(
            n
        ) + '-' + conjugate_fn_str  #creates filename to search for #Creates n-conjugatename
        target_str = str(n) + '-' + target_fn_str

        # Search for file associated with the specific dataset number
        indices = [
            i for i, s in enumerate(filenames)
            if conjugate_str == s[0:len(conjugate_str)]
        ]
        conjugate_name = filenames[indices[0]]
        print(conjugate_name)
        indices = [
            i for i, s in enumerate(filenames)
            if target_str == s[0:len(target_str)]
        ]
        target_name = filenames[indices[0]]
        print(target_name)

        conjugate_filenames.append(conjugate_name)
        target_filenames.append(target_name)

        # Create query
        #
        query = {
            'preIF': [conjugate_name],
            'preIF_z': [2],
            'postIF': [target_name],
            'postIF_z': [1],
            'punctumSize': 2
        }

        query_list.append(query)

    n = 2
    folder_names.append('Control' +
                        str(n))  # Collate 'dataset' names for excel sheet
    reference_fn_str = 'PSD'  #String segment to search in a filename
    target_fn_str = 'K28'
    conjugate_name, target_name = aa.findFilenames(reference_fn_str,
                                                   target_fn_str, filenames, n)
    conjugate_filenames.append(conjugate_name)
    target_filenames.append(target_name)
    query = {
        'preIF': [],
        'preIF_z': [],
        'postIF': [target_name, conjugate_name],
        'postIF_z': [1, 2],
        'punctumSize': 2
    }
    query_list.append(query)

    n = 3
    folder_names.append('Control' +
                        str(n))  # Collate 'dataset' names for excel sheet
    reference_fn_str = 'GAD2'  #String segment to search in a filename
    target_fn_str = 'L106'
    conjugate_name, target_name = aa.findFilenames(reference_fn_str,
                                                   target_fn_str, filenames, n)
    conjugate_filenames.append(conjugate_name)
    target_filenames.append(target_name)
    query = {
        'preIF': [target_name, conjugate_name],
        'preIF_z': [1, 2],
        'postIF': [],
        'postIF_z': [],
        'punctumSize': 2
    }
    query_list.append(query)

    n = 4
    folder_names.append('Control' +
                        str(n))  # Collate 'dataset' names for excel sheet
    reference_fn_str = 'Synapsin'  #String segment to search in a filename
    target_fn_str = 'SP2'
    conjugate_name, target_name = aa.findFilenames(reference_fn_str,
                                                   target_fn_str, filenames, n)
    conjugate_filenames.append(conjugate_name)
    target_filenames.append(target_name)
    query = {
        'preIF': [target_name, conjugate_name],
        'preIF_z': [1, 2],
        'postIF': [],
        'postIF_z': [],
        'punctumSize': 2
    }
    query_list.append(query)

    n = 5
    folder_names.append('Control' +
                        str(n))  # Collate 'dataset' names for excel sheet
    reference_fn_str = 'PSD'  #String segment to search in a filename
    target_fn_str = 'SP2'
    conjugate_name, target_name = aa.findFilenames(reference_fn_str,
                                                   target_fn_str, filenames, n)
    conjugate_filenames.append(conjugate_name)
    target_filenames.append(target_name)
    query = {
        'preIF': [],
        'preIF_z': [],
        'postIF': [target_name, conjugate_name],
        'postIF_z': [1, 2],
        'punctumSize': 2
    }
    query_list.append(query)

    n = 6
    folder_names.append('Control' +
                        str(n))  # Collate 'dataset' names for excel sheet
    reference_fn_str = 'GAD2'  #String segment to search in a filename
    target_fn_str = 'SP2'
    conjugate_name, target_name = aa.findFilenames(reference_fn_str,
                                                   target_fn_str, filenames, n)
    conjugate_filenames.append(conjugate_name)
    target_filenames.append(target_name)
    query = {
        'preIF': [target_name, conjugate_name],
        'preIF_z': [1, 2],
        'postIF': [],
        'postIF_z': [],
        'punctumSize': 2
    }
    query_list.append(query)

    n = 7
    folder_names.append('Control' +
                        str(n))  # Collate 'dataset' names for excel sheet
    reference_fn_str = 'NP-Rb'  #String segment to search in a filename
    target_fn_str = 'NP-Ms'
    conjugate_name, target_name = aa.findFilenames(reference_fn_str,
                                                   target_fn_str, filenames, n)
    conjugate_filenames.append(conjugate_name)
    target_filenames.append(target_name)
    query = {
        'preIF': [target_name, conjugate_name],
        'preIF_z': [1, 2],
        'postIF': [],
        'postIF_z': [],
        'punctumSize': 2
    }
    query_list.append(query)

    n = 8
    folder_names.append('Control' +
                        str(n))  # Collate 'dataset' names for excel sheet
    reference_fn_str = 'NPNS-Rb'  #String segment to search in a filename
    target_fn_str = 'NPNS-Ms'
    conjugate_name, target_name = aa.findFilenames(reference_fn_str,
                                                   target_fn_str, filenames, n)
    conjugate_filenames.append(conjugate_name)
    target_filenames.append(target_name)
    query = {
        'preIF': [target_name, conjugate_name],
        'preIF_z': [1, 2],
        'postIF': [],
        'postIF_z': [],
        'punctumSize': 2
    }
    query_list.append(query)

    n = 9
    folder_names.append('Control' +
                        str(n))  # Collate 'dataset' names for excel sheet
    reference_fn_str = 'Synapsin'  #String segment to search in a filename
    target_fn_str = 'L124'
    conjugate_name, target_name = aa.findFilenames(reference_fn_str,
                                                   target_fn_str, filenames, n)
    conjugate_filenames.append(conjugate_name)
    target_filenames.append(target_name)
    query = {
        'preIF': [conjugate_name],
        'preIF_z': [2],
        'postIF': [target_name],
        'postIF_z': [1],
        'punctumSize': 2
    }
    query_list.append(query)

    n = 10
    folder_names.append('Control' +
                        str(n))  # Collate 'dataset' names for excel sheet
    reference_fn_str = 'PSD'  #String segment to search in a filename
    target_fn_str = 'K28'
    conjugate_name, target_name = aa.findFilenames(reference_fn_str,
                                                   target_fn_str, filenames, n)
    conjugate_filenames.append(conjugate_name)
    target_filenames.append(target_name)
    query = {
        'preIF': [],
        'preIF_z': [],
        'postIF': [target_name, conjugate_name],
        'postIF_z': [1, 2],
        'punctumSize': 2
    }
    query_list.append(query)

    n = 11
    folder_names.append('Control' +
                        str(n))  # Collate 'dataset' names for excel sheet
    reference_fn_str = 'GAD2'  #String segment to search in a filename
    target_fn_str = 'L106'
    conjugate_name, target_name = aa.findFilenames(reference_fn_str,
                                                   target_fn_str, filenames, n)
    conjugate_filenames.append(conjugate_name)
    target_filenames.append(target_name)
    query = {
        'preIF': [target_name, conjugate_name],
        'preIF_z': [1, 2],
        'postIF': [],
        'postIF_z': [],
        'punctumSize': 2
    }
    query_list.append(query)

    n = 12
    folder_names.append('Control' +
                        str(n))  # Collate 'dataset' names for excel sheet
    reference_fn_str = 'Synapsin'  #String segment to search in a filename
    target_fn_str = 'SP2'
    conjugate_name, target_name = aa.findFilenames(reference_fn_str,
                                                   target_fn_str, filenames, n)
    conjugate_filenames.append(conjugate_name)
    target_filenames.append(target_name)
    query = {
        'preIF': [target_name, conjugate_name],
        'preIF_z': [1, 2],
        'postIF': [],
        'postIF_z': [],
        'punctumSize': 2
    }
    query_list.append(query)

    n = 13
    folder_names.append('Control' +
                        str(n))  # Collate 'dataset' names for excel sheet
    reference_fn_str = 'PSD'  #String segment to search in a filename
    target_fn_str = 'SP2'
    conjugate_name, target_name = aa.findFilenames(reference_fn_str,
                                                   target_fn_str, filenames, n)
    conjugate_filenames.append(conjugate_name)
    target_filenames.append(target_name)
    query = {
        'preIF': [],
        'preIF_z': [],
        'postIF': [target_name, conjugate_name],
        'postIF_z': [1, 2],
        'punctumSize': 2
    }
    query_list.append(query)

    n = 14
    folder_names.append('Control' +
                        str(n))  # Collate 'dataset' names for excel sheet
    reference_fn_str = 'GAD2'  #String segment to search in a filename
    target_fn_str = 'SP2'
    conjugate_name, target_name = aa.findFilenames(reference_fn_str,
                                                   target_fn_str, filenames, n)
    conjugate_filenames.append(conjugate_name)
    target_filenames.append(target_name)
    query = {
        'preIF': [target_name, conjugate_name],
        'preIF_z': [1, 2],
        'postIF': [],
        'postIF_z': [],
        'punctumSize': 2
    }
    query_list.append(query)

    n = 16
    folder_names.append('Control' +
                        str(n))  # Collate 'dataset' names for excel sheet
    reference_fn_str = 'NPNS-Rb'  #String segment to search in a filename
    target_fn_str = 'NPNS-Ms'
    conjugate_name, target_name = aa.findFilenames(reference_fn_str,
                                                   target_fn_str, filenames, n)
    conjugate_filenames.append(conjugate_name)
    target_filenames.append(target_name)
    query = {
        'preIF': [target_name, conjugate_name],
        'preIF_z': [1, 2],
        'postIF': [],
        'postIF_z': [],
        'punctumSize': 2
    }
    query_list.append(query)

    # Run all the queries
    measure_list = aa.calculate_measure_lists(query_list, None, base_dir,
                                              thresh, resolution,
                                              target_filenames)

    df = aa.create_df(measure_list, folder_names, target_filenames,
                      conjugate_filenames)
    print(df)

    return df
Exemple #9
0
def cask():
    """ Run antibody characterization tool on the L110-CCK dataset

    Return
    ----------
    df : dataframe - contains results
    """

    # Location of data
    base_dir = "S:/AIBS_Stanford_for_AT/AT_Plans_and_NM_AT_Images/20171213_JAT_CASK_(K56A)_and_TBS_Comparison/Align_Tiffs" #Location of align tif
    resolution = {'res_xy_nm': 100, 'res_z_nm': 70} #Resolution of a pixel
    thresh = 0.9 #What qualifies for final probability map
    number_of_datasets = 20 #Number of wells

    #Rb Antibody
    conjugate_fn_str = 'PSD' #String segment to search in a filename 
    #Ms Antibody project name, no parent or subclone number needed
    target_fn_str = 'K56A'
    #Takes base directory string and gives you an array of all the files within
    filenames = aa.getListOfFolders(base_dir)
    #
    conjugate_filenames = []
    target_filenames = []
    query_list = []
    folder_names = []

    for n in range(1, number_of_datasets + 1):
        #Use if dataset missing
        #if n == 21: # Dataset 21 does not exist
            #continue

        print('Well: ', str(n))
        folder_names.append('K56A-' + str(n)) # Collate 'dataset' names for excel sheet
        conjugate_str = str(n) + '-' + conjugate_fn_str #creates filename to search for #Creates n-conjugatename
        target_str = str(n) + '-' + target_fn_str

        # Search for file associated with the specific dataset number
        indices = [i for i, s in enumerate(filenames) if conjugate_str == s[0:len(conjugate_str)]]
        conjugate_name = filenames[indices[0]]
        print(conjugate_name)
        indices = [i for i, s in enumerate(filenames) if target_str == s[0:len(target_str)]]
        target_name = filenames[indices[0]]
        print(target_name)
        
        conjugate_filenames.append(conjugate_name)
        target_filenames.append(target_name)

        # Create query
        #
        query = {'preIF': [target_name, conjugate_name], 'preIF_z': [1,2],
                'postIF': [], 'postIF_z': [],
                'punctumSize': 2}

        query_list.append(query)

    n = 21
    folder_names.append('Control' + str(n)) # Collate 'dataset' names for excel sheet
    reference_fn_str = 'PSD' #String segment to search in a filename
    target_fn_str = 'K28'
    conjugate_name, target_name = aa.findFilenames(reference_fn_str, target_fn_str, filenames, n)
    conjugate_filenames.append(conjugate_name)
    target_filenames.append(target_name)
    query = {'preIF': [target_name,conjugate_name], 'preIF_z': [2,2], 'postIF': [], 'postIF_z': [], 'punctumSize': 2}
    query_list.append(query)




    # Run all the queries
    measure_list = aa.calculate_measure_lists(query_list, None, base_dir,
                                        thresh, resolution, target_filenames)

    df = aa.create_df(measure_list, folder_names, target_filenames, conjugate_filenames)
    print(df)

    return df
def isotype_specific():
    """ Run antibody characterization tool
    L106 is Gephyrin, L120 is Collybistin, L124 is Bassoon and K28 is PSD-95.

    1:3 - L106 (Gephyrin) / GAD2
    4   - L120 (Collybistin) / GAD2
    5   - K28 (PSD95) / PSD95
    6   - L124 (Bassoon) / PSD95
    7:9 - L106 (Gephyrin) / GAD2
    10  - L120 (Collybistin) / GAD2
    11  - K28 (PSD95) / PSD95
    12  - L124 (Bassoon) / PSD95 

    Return
    ----------
    df : dataframe - contains results
    """

    # Location of data
    base_dir = '/Users/anish/Documents/Connectome/Synaptome-Duke/data/antibodyanalysis/Isotype-Specific-Ab-Data/'
    resolution = {'res_xy_nm': 100, 'res_z_nm': 70}
    thresh = 0.9
    number_of_datasets = 12

    filenames = aa.getListOfFolders(base_dir)

    conjugate_filenames = []
    target_filenames = []
    query_list = []
    folder_names = []

    for n in range(1, 4):
        folder_names.append(str(n))  # Collate 'dataset' names for excel sheet
        reference_fn_str = 'GAD2'  # String segment to search in a filename
        target_fn_str = 'L106'
        conjugate_name, target_name = aa.findFilenames(reference_fn_str,
                                                       target_fn_str,
                                                       filenames, n)

        conjugate_filenames.append(conjugate_name)
        target_filenames.append(target_name)

        # Create query
        query = {
            'preIF': [target_name],
            'preIF_z': [1],
            'postIF': [conjugate_name],
            'postIF_z': [1],
            'punctumSize': 2
        }
        query_list.append(query)

    # Dataset 4
    n = 4
    folder_names.append(str(n))  # Collate 'dataset' names for excel sheet
    reference_fn_str = 'GAD2'  # String segment to search in a filename
    target_fn_str = 'L120'
    conjugate_name, target_name = aa.findFilenames(reference_fn_str,
                                                   target_fn_str, filenames, n)
    conjugate_filenames.append(conjugate_name)
    target_filenames.append(target_name)
    query = {
        'preIF': [target_name],
        'preIF_z': [1],
        'postIF': [conjugate_name],
        'postIF_z': [1],
        'punctumSize': 2
    }
    query_list.append(query)

    # Dataset 5
    n = 5
    folder_names.append(str(n))  # Collate 'dataset' names for excel sheet
    reference_fn_str = 'PSD'  # String segment to search in a filename
    target_fn_str = 'K28'
    conjugate_name, target_name = aa.findFilenames(reference_fn_str,
                                                   target_fn_str, filenames, n)
    conjugate_filenames.append(conjugate_name)
    target_filenames.append(target_name)
    query = {
        'preIF': [],
        'preIF_z': [],
        'postIF': [conjugate_name, target_name],
        'postIF_z': [1, 1],
        'punctumSize': 2
    }
    query_list.append(query)

    # Dataset 6
    n = 6
    folder_names.append(str(n))  # Collate 'dataset' names for excel sheet
    reference_fn_str = 'PSD'  # String segment to search in a filename
    target_fn_str = 'L124'
    conjugate_name, target_name = aa.findFilenames(reference_fn_str,
                                                   target_fn_str, filenames, n)
    conjugate_filenames.append(conjugate_name)
    target_filenames.append(target_name)
    query = {
        'preIF': [],
        'preIF_z': [],
        'postIF': [conjugate_name, target_name],
        'postIF_z': [1, 1],
        'punctumSize': 2
    }
    query_list.append(query)

    # Datasets 7:9
    for n in range(7, 10):
        folder_names.append(str(n))  # Collate 'dataset' names for excel sheet
        reference_fn_str = 'GAD2'  # String segment to search in a filename
        target_fn_str = 'L106'
        conjugate_name, target_name = aa.findFilenames(reference_fn_str,
                                                       target_fn_str,
                                                       filenames, n)

        conjugate_filenames.append(conjugate_name)
        target_filenames.append(target_name)

        # Create query
        query = {
            'preIF': [target_name],
            'preIF_z': [1],
            'postIF': [conjugate_name],
            'postIF_z': [1],
            'punctumSize': 2
        }
        query_list.append(query)

    # Dataset 10
    n = 10
    folder_names.append(str(n))  # Collate 'dataset' names for excel sheet
    reference_fn_str = 'GAD2'  # String segment to search in a filename
    target_fn_str = 'L120'
    conjugate_name, target_name = aa.findFilenames(reference_fn_str,
                                                   target_fn_str, filenames, n)
    conjugate_filenames.append(conjugate_name)
    target_filenames.append(target_name)
    query = {
        'preIF': [target_name],
        'preIF_z': [1],
        'postIF': [conjugate_name],
        'postIF_z': [1],
        'punctumSize': 2
    }
    query_list.append(query)

    # Dataset 11
    n = 11
    folder_names.append(str(n))  # Collate 'dataset' names for excel sheet
    reference_fn_str = 'PSD'  # String segment to search in a filename
    target_fn_str = 'K28'
    conjugate_name, target_name = aa.findFilenames(reference_fn_str,
                                                   target_fn_str, filenames, n)
    conjugate_filenames.append(conjugate_name)
    target_filenames.append(target_name)
    query = {
        'preIF': [],
        'preIF_z': [],
        'postIF': [conjugate_name, target_name],
        'postIF_z': [1, 1],
        'punctumSize': 2
    }
    query_list.append(query)

    # Dataset 12
    n = 12
    folder_names.append(str(n))  # Collate 'dataset' names for excel sheet
    reference_fn_str = 'PSD'  # String segment to search in a filename
    target_fn_str = 'L124'
    conjugate_name, target_name = aa.findFilenames(reference_fn_str,
                                                   target_fn_str, filenames, n)
    conjugate_filenames.append(conjugate_name)
    target_filenames.append(target_name)
    query = {
        'preIF': [],
        'preIF_z': [],
        'postIF': [conjugate_name, target_name],
        'postIF_z': [1, 1],
        'punctumSize': 2
    }
    query_list.append(query)

    # Run all the queries
    measure_list = aa.calculate_measure_lists(query_list, None, base_dir,
                                              thresh, resolution,
                                              target_filenames)

    df = aa.create_df(measure_list, folder_names, target_filenames,
                      conjugate_filenames)
    print(df)

    return df
def homer():
    """ Run antibody characterization tool on the L113-Homer dataset

    Return
    ----------
    df : dataframe - contains results
    """

    # Location of data
    base_dir = '/Users/anish/Documents/Connectome/Synaptome-Duke/data/antibodyanalysis/neuromab_L113/'
    resolution = {'res_xy_nm': 100, 'res_z_nm': 70}
    thresh = 0.9
    number_of_datasets = 146

    conjugate_fn_str = 'psd'  # String segment to search in a filename
    target_fn_str = 'L113'

    filenames = aa.getListOfFolders(base_dir)

    conjugate_filenames = []
    target_filenames = []
    query_list = []
    folder_names = []

    for n in range(1, number_of_datasets + 1):
        # for n in range(1, 3):
        if n == 21:  # Dataset 21 does not exist
            continue

        print('Set: ', str(n))
        # Collate 'dataset' names for excel sheet
        folder_names.append('L113-' + str(n))
        # filename to search for
        conjugate_str = str(n) + '-' + conjugate_fn_str
        target_str = str(n) + '-' + target_fn_str

        # Search for file associated with the specific dataset number
        indices = [
            i for i, s in enumerate(filenames)
            if conjugate_str == s[0:len(conjugate_str)]
        ]
        conjugate_name = filenames[indices[0]]
        print(conjugate_name)
        indices = [
            i for i, s in enumerate(filenames)
            if target_str == s[0:len(target_str)]
        ]
        target_name = filenames[indices[0]]
        print(target_name)

        conjugate_filenames.append(conjugate_name)
        target_filenames.append(target_name)

        # Create query
        query = {
            'preIF': [target_name],
            'preIF_z': [2],
            'postIF': [conjugate_name],
            'postIF_z': [2],
            'punctumSize': 2
        }

        query_list.append(query)

    # Run all the queries
    measure_list = aa.calculate_measure_lists(query_list, None, base_dir,
                                              thresh, resolution,
                                              target_filenames)

    df = aa.create_df(measure_list, folder_names, target_filenames,
                      conjugate_filenames)
    print(df)

    return df
Exemple #12
0
def NM_Scope():
    """ Run antibody characterization tool on the Microscope dataset

    Return
    ----------
    df : dataframe - contains results
    """

    # Location of data
    base_dir = "Z:/AIBS_Stanford_for_AT/AT_Plans_and_NM_AT_Images/20180426_JAT_Microscope_Validation/NM_Scope/NM_Scope_Raw_Align_Tiff"  #Location of align tif
    resolution = {'res_xy_nm': 100, 'res_z_nm': 70}  #Resolution of a pixel
    thresh = 0.9  #What qualifies for final probability map
    number_of_datasets = 6  #Number of wells

    #Rb Antibody
    conjugate_fn_str = 'GAD2'  #String segment to search in a filename
    #Ms Antibody project name, no parent or subclone number needed
    target_fn_str = 'L110'
    #Takes base directory string and gives you an array of all the files within
    filenames = aa.getListOfFolders(base_dir)
    #
    conjugate_filenames = []
    target_filenames = []
    query_list = []
    folder_names = []

    n = 1
    folder_names.append('Control' +
                        str(n))  # Collate 'dataset' names for excel sheet
    reference_fn_str = 'PSD'  #String segment to search in a filename
    target_fn_str = 'K28'
    conjugate_name, target_name = aa.findFilenames(reference_fn_str,
                                                   target_fn_str, filenames, n)
    conjugate_filenames.append(conjugate_name)
    target_filenames.append(target_name)
    query = {
        'preIF': [],
        'preIF_z': [],
        'postIF': [target_name, conjugate_name],
        'postIF_z': [1, 2],
        'punctumSize': 2
    }
    query_list.append(query)

    n = 2
    folder_names.append('Control' +
                        str(n))  # Collate 'dataset' names for excel sheet
    reference_fn_str = 'SYNAPSIN'  #String segment to search in a filename
    target_fn_str = 'K28'
    conjugate_name, target_name = aa.findFilenames(reference_fn_str,
                                                   target_fn_str, filenames, n)
    conjugate_filenames.append(conjugate_name)
    target_filenames.append(target_name)
    query = {
        'preIF': [conjugate_name],
        'preIF_z': [2],
        'postIF': [target_name],
        'postIF_z': [1],
        'punctumSize': 2
    }
    query_list.append(query)

    n = 3
    folder_names.append('Control' +
                        str(n))  # Collate 'dataset' names for excel sheet
    reference_fn_str = 'GAD2'  #String segment to search in a filename
    target_fn_str = 'L106'
    conjugate_name, target_name = aa.findFilenames(reference_fn_str,
                                                   target_fn_str, filenames, n)
    conjugate_filenames.append(conjugate_name)
    target_filenames.append(target_name)
    query = {
        'preIF': [conjugate_name],
        'preIF_z': [2],
        'postIF': [target_name],
        'postIF_z': [1],
        'punctumSize': 2
    }
    query_list.append(query)

    n = 4
    folder_names.append('Control' +
                        str(n))  # Collate 'dataset' names for excel sheet
    reference_fn_str = 'PSD'  #String segment to search in a filename
    target_fn_str = 'SP20-PSD95'
    conjugate_name, target_name = aa.findFilenames(reference_fn_str,
                                                   target_fn_str, filenames, n)
    conjugate_filenames.append(conjugate_name)
    target_filenames.append(target_name)
    query = {
        'preIF': [],
        'preIF_z': [],
        'postIF': [target_name, conjugate_name],
        'postIF_z': [1, 2],
        'punctumSize': 2
    }
    query_list.append(query)

    n = 5
    folder_names.append('Control' +
                        str(n))  # Collate 'dataset' names for excel sheet
    reference_fn_str = 'SYNAPSIN'  #String segment to search in a filename
    target_fn_str = 'SP20-SYNAPSIN1'
    conjugate_name, target_name = aa.findFilenames(reference_fn_str,
                                                   target_fn_str, filenames, n)
    conjugate_filenames.append(conjugate_name)
    target_filenames.append(target_name)
    query = {
        'preIF': [target_name, conjugate_name],
        'preIF_z': [1, 2],
        'postIF': [],
        'postIF_z': [],
        'punctumSize': 2
    }
    query_list.append(query)

    n = 6
    folder_names.append('Control' +
                        str(n))  # Collate 'dataset' names for excel sheet
    reference_fn_str = 'GAD2'  #String segment to search in a filename
    target_fn_str = 'SP20-GAD2'
    conjugate_name, target_name = aa.findFilenames(reference_fn_str,
                                                   target_fn_str, filenames, n)
    conjugate_filenames.append(conjugate_name)
    target_filenames.append(target_name)
    query = {
        'preIF': [target_name, conjugate_name],
        'preIF_z': [1, 2],
        'postIF': [],
        'postIF_z': [],
        'punctumSize': 2
    }
    query_list.append(query)

    n = 7
    folder_names.append('Control' +
                        str(n))  # Collate 'dataset' names for excel sheet
    reference_fn_str = 'NP-RB'  #String segment to search in a filename
    target_fn_str = 'NP-MS'
    conjugate_name, target_name = aa.findFilenames(reference_fn_str,
                                                   target_fn_str, filenames, n)
    conjugate_filenames.append(conjugate_name)
    target_filenames.append(target_name)
    query = {
        'preIF': [target_name, conjugate_name],
        'preIF_z': [1, 1],
        'postIF': [],
        'postIF_z': [],
        'punctumSize': 2
    }
    query_list.append(query)

    n = 8
    folder_names.append('Control' +
                        str(n))  # Collate 'dataset' names for excel sheet
    reference_fn_str = 'NPNS-RB'  #String segment to search in a filename
    target_fn_str = 'NPNS-MS'
    conjugate_name, target_name = aa.findFilenames(reference_fn_str,
                                                   target_fn_str, filenames, n)
    conjugate_filenames.append(conjugate_name)
    target_filenames.append(target_name)
    query = {
        'preIF': [target_name, conjugate_name],
        'preIF_z': [1, 1],
        'postIF': [],
        'postIF_z': [],
        'punctumSize': 2
    }
    query_list.append(query)

    # Run all the queries
    measure_list = aa.calculate_measure_lists(query_list, None, base_dir,
                                              thresh, resolution,
                                              target_filenames)

    df = aa.create_df(measure_list, folder_names, target_filenames,
                      conjugate_filenames)
    print(df)

    return df
def NAME():
    """ Run antibody characterization tool on the L110-CCK dataset


    Return
    ----------
    df : dataframe - contains results
    """

    # Location of data
    base_dir = "(Location)" #Location of align tif --> Should be the location of the experiment's align tiff folder, ex: "C/desktop/work/image_processing/YYYYMMDD/align_tiffs"
    resolution = {'res_xy_nm': 100, 'res_z_nm': 70} #Resolution of a pixel (do not alter)
    thresh = 0.9 #What qualifies for final probability map (do not alter)
    number_of_datasets = 20 #Number of wells in the experiemnts, "20" is an example where there are 16 samples and 4 controls

    #Rb Antibody
    conjugate_fn_str = 'GAD2' #String segment to search in a filename
    #conjugate_fn_str should be the term used in the name of the control align tiff for a well (usually "PSD", "GAD2", or "SYNAPSIN")
    target_fn_str = 'L106'
    #Ms Antibody project name, no parent or subclone number needed
    #target_fn_str should be the project number, for instance if this was testing L109 samples, this would be "L109"
    #Takes base directory string and gives you an array of all the files within
    filenames = aa.getListOfFolders(base_dir) #Do not change
    conjugate_filenames = [] #Do not change
    target_filenames = [] #Do not change
    query_list = [] #Do not change
    folder_names = [] #Do not change

    for n in range(1, 17):
        #Use if dataset missing
        #This is where you put in the rangee of wells used as your test samples
        #Since we have 16 samples that are test samples for L106, the range is equal to 1 through n+1, or 1 through 17
        #If your test samples do not begin at well 1, then adjust the beginning of the range accordingly (3 through 17 if the first test sample is in well 3) 
            #continue

        print('Well: ', str(n)) #Do not change
        folder_names.append('Test-' + str(n)) # Collate 'dataset' names for excel sheet #Do not change
        conjugate_str = str(n) + '-' + conjugate_fn_str #creates filename to search for #Creates n-conjugatename #Do not change
        target_str = str(n) + '-' + target_fn_str #Do not change

        # Search for file associated with the specific dataset number
        indices = [i for i, s in enumerate(filenames) if conjugate_str == s[0:len(conjugate_str)]] #Do not change
        conjugate_name = filenames[indices[0]] #Do not change
        print(conjugate_name) #Do not change
        indices = [i for i, s in enumerate(filenames) if target_str == s[0:len(target_str)]] #Do not change
        target_name = filenames[indices[0]] #Do not change
        print(target_name) #Do not change
        
        conjugate_filenames.append(conjugate_name) #Do not change
        target_filenames.append(target_name) #Do not change

        # Create query
        #
        query = {'preIF': [conjugate_name], 'preIF_z': [2],
                'postIF': [target_name], 'postIF_z': [1],
                'punctumSize': 2}
        #preIF = items that are presynaptic targets go here, because GAD2, our conjugate, is presynaptic I put the conjugate_name in this box
        #preIF_z = how many tiffs a puncta must be in to be registered, conjugate sample number is 2 so 2 goes in this box
        #postIF = items that are postsynaptic targets go here, L106 is postsynaptic so I put target_name here
        #postIF_z = how many tiffs a puncta must be in to be registered, target sample number is 1 (for now unless changed later) 
        #punctumSize = size of punctum the algorithm is looking for, do not change unless directed to

        """Example of a presynaptic target and presynaptic conjugate
            query = {'preIF': [target_name,conjugate_name], 'preIF_z': [1,2],
                'postIF': [], 'postIF_z': [],
                'punctumSize': 2}"""

        """Example of a postsynaptic target and presynaptic conjugate
            query = {'preIF': [conjugate_name], 'preIF_z': [2],
                'postIF': [target_name], 'postIF_z': [1],
                'punctumSize': 2}"""

        """Example of a postsynaptic target and postsynaptic conjugate
            query = {'preIF': [], 'preIF_z': [],
                'postIF': [target_name,conjugate_name], 'postIF_z': [1,2],
                'punctumSize': 2}"""

        """Example of a presynaptic target and postsynaptic conjugate
            query = {'preIF': [target_name], 'preIF_z': [1],
                'postIF': [conjugate_name], 'postIF_z': [2],
                'punctumSize': 2}"""


        query_list.append(query)


    #The following n samples are controls - you can add as many of these as you want by copying the block of code and pasting it after the last one
    #The notes in the following block of code apply to all of the controls
    n = 17 #well number of control sample
    folder_names.append('Control' + str(n)) # Collate 'dataset' names for excel sheet #Do not change
    reference_fn_str = 'GAD2' #String segment to search in a filename #refernce_fn_str is the project number/name of RB control
    target_fn_str = 'L106' #target_fn_str is the project number of the Ms control you are using
    conjugate_name, target_name = aa.findFilenames(reference_fn_str, target_fn_str, filenames, n) #Do not alter
    conjugate_filenames.append(conjugate_name) #Do not alter
    target_filenames.append(target_name) #Do not alter
    query = {'preIF': [conjugate_name], 'preIF_z': [2], 'postIF': [target_name], 'postIF_z': [1], 'punctumSize': 2} #Se the examples and explanations above about "query"
    query_list.append(query) #Do not change

    n = 18
    folder_names.append('Control' + str(n)) # Collate 'dataset' names for excel sheet
    reference_fn_str = 'GAD2' #String segment to search in a filename
    target_fn_str = 'SP2'
    conjugate_name, target_name = aa.findFilenames(reference_fn_str, target_fn_str, filenames, n)
    conjugate_filenames.append(conjugate_name)
    target_filenames.append(target_name)
    query = {'preIF': [target_name,conjugate_name], 'preIF_z': [1,2], 'postIF': [], 'postIF_z': [], 'punctumSize': 2}
    query_list.append(query)

    n = 19
    folder_names.append('Control' + str(n)) # Collate 'dataset' names for excel sheet
    reference_fn_str = 'NP-RB' #String segment to search in a filename
    target_fn_str = 'NP-MS'
    conjugate_name, target_name = aa.findFilenames(reference_fn_str, target_fn_str, filenames, n)
    conjugate_filenames.append(conjugate_name)
    target_filenames.append(target_name)
    query = {'preIF': [], 'preIF_z': [], 'postIF': [target_name,conjugate_name], 'postIF_z': [1,2], 'punctumSize': 2}
    query_list.append(query)

    n = 20
    folder_names.append('Control' + str(n)) # Collate 'dataset' names for excel sheet
    reference_fn_str = 'NPNS-RB' #String segment to search in a filename
    target_fn_str = 'NPNS-MS'
    conjugate_name, target_name = aa.findFilenames(reference_fn_str, target_fn_str, filenames, n)
    conjugate_filenames.append(conjugate_name)
    target_filenames.append(target_name)
    query = {'preIF': [], 'preIF_z': [], 'postIF': [target_name,conjugate_name], 'postIF_z': [1,2], 'punctumSize': 2}
    query_list.append(query)


    
    measure_list = aa.calculate_measure_lists(query_list, None, base_dir,
                                        thresh, resolution, target_filenames) # Run all the queries

    df = aa.create_df(measure_list, folder_names, target_filenames, conjugate_filenames) #Do not change
    print(df) #Do not change

    return df #Do not change
def N452():
    """ Run antibody characterization tool on the L110-CCK dataset

    Return
    ----------
    df : dataframe - contains results
    """

    # Location of data
    base_dir = "C:/Users/stjst/Desktop/Work/Image_Processing/20180202_N452/Align"  #Location of align tif"
    resolution = {'res_xy_nm': 100, 'res_z_nm': 70}  #Resolution of a pixel
    thresh = 0.9  #What qualifies for final probability map
    number_of_datasets = 20  #Number of wells

    #Rb Antibody
    conjugate_fn_str = 'GAD2'  #String segment to search in a filename
    #Ms Antibody project name, no parent or subclone number needed
    target_fn_str = 'N452'
    #Takes base directory string and gives you an array of all the files within
    filenames = aa.getListOfFolders(base_dir)
    #
    conjugate_filenames = []
    target_filenames = []
    query_list = []
    folder_names = []

    for n in range(1, 20):
        #Use if dataset missing
        #if n == 21: # Dataset 21 does not exist
        #continue

        print('Well: ', str(n))
        folder_names.append('Test-' +
                            str(n))  # Collate 'dataset' names for excel sheet
        conjugate_str = str(
            n
        ) + '-' + conjugate_fn_str  #creates filename to search for #Creates n-conjugatename
        target_str = str(n) + '-' + target_fn_str

        # Search for file associated with the specific dataset number
        indices = [
            i for i, s in enumerate(filenames)
            if conjugate_str == s[0:len(conjugate_str)]
        ]
        conjugate_name = filenames[indices[0]]
        print(conjugate_name)
        indices = [
            i for i, s in enumerate(filenames)
            if target_str == s[0:len(target_str)]
        ]
        target_name = filenames[indices[0]]
        print(target_name)

        conjugate_filenames.append(conjugate_name)
        target_filenames.append(target_name)

        # Create query
        #
        query = {
            'preIF': [conjugate_name],
            'preIF_z': [2],
            'postIF': [target_name],
            'postIF_z': [1],
            'punctumSize': 2
        }

        query_list.append(query)

    # Run all the queries
    measure_list = aa.calculate_measure_lists(query_list, None, base_dir,
                                              thresh, resolution,
                                              target_filenames)

    df = aa.create_df(measure_list, folder_names, target_filenames,
                      conjugate_filenames)
    print(df)

    return df