Exemple #1
0
def check_track_clone_options(parser, options):
    options.clones = None
    if options.clonefile:
        libcommon.check_options_file(options.clonefile)
        options.clones = libcommon.read_list(options.clonefile)
    if options.track_minfreq > 1.0:
        parser.error("--track_minfreq is the proportion, not %, should be < 1")
Exemple #2
0
def check_input_options(parser, options):
    if options.indir is None:
        raise libcommon.InputError("Please specify input directory.")
    libcommon.check_options_dir(options.indir)
    if not os.path.exists(options.outdir):
        system("mkdir -p %s" % options.outdir)
    libcommon.check_options_dir(options.outdir)
    
    if not options.jobTree:
        options.jobTree = os.path.join(options.outdir, "jobTree")
    
    options.group2samples = None
    options.matched = None
    if options.metainfo:
        libcommon.check_options_file(options.metainfo)
        groups, group2samples, matched = read_group_info(options.metainfo)
        options.group2samples = group2samples
        options.matched = matched
        options.groups = groups

    my_analyses = ['diversity', 'similarity', 'clonesize', 'lendist', 
                   'geneusage', 'aausage', 'overlap', 'trackclone',
                   'prelim', 'db', 'model']
    analyses = []
    if options.analyses:
        analyses = options.analyses.split(',')
    if 'all' in analyses:
        analyses = my_analyses[:-3]
        #if not options.matched:
        #    analyses.remove('trackclone')
    else:
        for a in analyses:
            if a not in my_analyses:
                raise libcommon.InputError("Unknown analysis %s." % a)
        #if 'trackclone' in analyses and not options.matched:
        #    raise libcommon.InputError(("Matched samples are required if " +
        #                                "'trackclone' analysis is specified." +
        #                                " Please modify the metadata file."))
    options.analyses = analyses
    if options.samout:
        samouts = options.samout.split(',')
        for samout in samouts:
            if samout not in ['fasta', 'txt', 'pickle', 'all']:
                raise libcommon.InputError("Unknown sample out format %s." %
                                            samout)
        if 'all' in samouts:
            options.samout = ['fasta', 'txt', 'pickle']
        else:
            options.samout = samouts
        if 'prelim' in analyses and 'pickle' not in options.samout:
            options.samout.append('pickle')
        samoutdir = os.path.join(options.outdir, "samples")
        for format in options.samout:  # e.g: outdir/samples/productive/pickle
            dir1 = os.path.join(samoutdir, "productive", format)
            system("mkdir -p %s" % dir1)
            dir2 = os.path.join(samoutdir, "non_productive", format)
            system("mkdir -p %s" % dir2)
    drawcommon.check_plot_options(parser, options)