Пример #1
0
def main(args):

	verbose = args.verbose
	#directory = assemblePath(args.input,'summary')
	directory = args.input

	msg = 'AMiGA is peeking inside the summary directory'

	smartPrint('',verbose)
	smartPrint(tidyMessage(msg),verbose)
	# smartPrint(checkDirectoryNotEmpty(directory,'Summary')[1],verbose)

	criteria = checkParameterCommand(args.subset,sep=',')
	
	directory,filename = isFileOrFolder(directory,up=1)

	if filename: ls_files = ['{}{}{}'.format(directory,os.sep,filename)]
	else: ls_files = findPlateReaderFiles(directory,'.txt')

	full_df = read(ls_files)
	sub_df = subsetDf(full_df,criteria)
	sub_df = group(sub_df,args)
	sub_df = pivot(sub_df,args,args.value)
	sub_df = reduceDf(sub_df,args)
	clusterMap(sub_df,full_df,args,directory)
	saveDf(full_df,sub_df,args,directory)
Пример #2
0
def main():

    args = parseCommand()
    verbose = args['verbose']
    #directory = assemblePath(args['fi'],'summary')
    directory = args['fi']

    msg = 'AMiGA is peeking inside the summary directory'

    smartPrint('', verbose)
    smartPrint(tidyMessage(msg), verbose)
    # smartPrint(checkDirectoryNotEmpty(directory,'Summary')[1],verbose)

    criteria = checkParameterCommand(args['s'], sep=',')

    directory, filename = isFileOrFolder(directory, up=1)

    if filename: ls_files = ['{}{}{}'.format(directory, os.sep, filename)]
    else: ls_files = findPlateReaderFiles(directory, '.txt')

    df = read(ls_files)
    df = subsetDf(df, criteria)
    df = group(df, args)
    df = pivot(df, args)
    df = reduceDf(df, args)
    #plot(df,args,directory)
    clusterMap(df, args, directory)
Пример #3
0
def main(args):

	verbose = args.verbose
	directory = args.input
	ovewrrite = args.over_write

	msg = 'AMiGA is parsing your file(s)'

	smartPrint('',verbose)
	smartPrint(tidyMessage(msg),verbose)
	
	directory,filename = isFileOrFolder(directory,up=1)

	if filename: ls_files = ['{}{}{}'.format(directory,os.sep,filename)]
	else: ls_files = findPlateReaderFiles(directory,'.txt')

	for lf in ls_files:

		df = read(ls_files)

		if ovewrrite:  new_name = lf
		elif lf.endswith('.txt'): new_name = '{}_normalized.txt'.format(lf[:-4])
		else: new_name = '{}.normalized.txt'.format(lf)
		
		df = normalizeParameters(args,df)
		df.to_csv(new_name,sep='\t',header=True,index=True)

	msg = 'AMiGA compelted your request'

	smartPrint('',verbose)
	smartPrint(tidyMessage(msg),verbose)
Пример #4
0
    def __init__(self, args, config=config):

        # parse terminal command for arguments
        #args = parseCommand(args,config);

        # did the user provide a path that points to a file or directory?
        parent, filename = isFileOrFolder(args.input)

        # communicate with user
        print()
        print(tidyMessage('AMiGA is peeking inside the working directory'))

        # define file paths for AMiGA-relevant folders (dict)
        directory = mapDirectories(parent)

        # define file paths for AMiGA-relevant files (dict)
        files = mapFiles(directory)

        # validate working directory structure and contents (no output)
        validateDirectories(directory, verbose=args.verbose)

        # communicate with user
        print(
            tidyMessage(
                'AMiGA is parsing command-line arguments and parameter files'))

        # interpret terminal command or text files for parameters (dict)
        params, args = interpretParameters(files, args, verbose=args.verbose)

        # communicate with user
        print(tidyMessage('AMiGA is parsing and cleaning data files'))

        # parse data files (dict)
        data = readPlateReaderFolder(filename,
                                     directory,
                                     interval=params['interval'],
                                     save=args.save_cleaned_data,
                                     verbose=args.verbose)

        # communicate with user
        print(tidyMessage('AMiGA is parsing and reading mapping files'))

        # parse mapping files and mapping data (dict)
        mappings = assembleMappings(data,
                                    directory['mapping'],
                                    files['meta'],
                                    save=args.save_mapping_tables,
                                    verbose=args.verbose)

        self.directory = directory
        self.params = params
        self.args = args
        self.data = data
        self.mappings = mappings
Пример #5
0
def main(args):

    verbose = args.verbose
    directory = args.input
    overwrite = args.over_write
    confidence = float(args.confidence) / 100.0
    z_value = (1 - (1 - confidence) / 2)
    add_noise = args.include_noise

    msg = 'AMiGA is parsing your file(s)'

    smartPrint('', verbose)
    smartPrint(tidyMessage(msg), verbose)

    directory, filename = isFileOrFolder(directory, up=1)

    # packge filename(s) into a list
    if filename: ls_files = ['{}{}{}'.format(directory, os.sep, filename)]
    else: ls_files = filename

    for lf in ls_files:

        df = pd.read_csv(lf, sep='\t', header=0, index_col=0)

        # define file name for the updated dataframe
        if overwrite: new_name = lf
        elif lf.endswith('.txt'):
            new_name = '{}_confidence.txt'.format(lf[:-4])
        else:
            new_name = '{}_confidence.txt'.format(lf)

        # compute confidecne intervals and save results
        if args.type == 'Parameters':
            df = get_parameter_confidence(df, z_value)
            df.to_csv(new_name, sep='\t', header=True, index=True)
        elif args.type == 'Curves':
            df = get_curve_confidence(df, z_value, add_noise)
            df.to_csv(new_name, sep='\t', header=True, index=False)
Пример #6
0
from libs.analyze import basicSummaryOnly, runGrowthFitting, runCombinedGrowthFitting
from libs.comm import tidyMessage
from libs.config import config
from libs.detail import assembleMappings
from libs.interface import parseCommand, interpretParameters
from libs.org import isFileOrFolder, mapDirectories, mapFiles, validateDirectories
from libs.read import readPlateReaderFolder
from libs.test import HypothesisTest
from libs.trim import trimInput

# parse terminal command for arguments
args = parseCommand(config)

# did the user provide a path that points to a file or directory?
parent, filename = isFileOrFolder(args['fpath'])

# communicate with user
print()
print(tidyMessage('AMiGA is peeking inside the working directory'))

# define file paths for AMiGA-relevant folders (dict)
directory = mapDirectories(parent)

# define file paths for AMiGA-relevant files (dict)
files = mapFiles(directory)

# validate working directory structure and contents (no output)
validateDirectories(directory, verbose=args['verbose'])

# communicate with user