

def A50(args):
    '\n    %prog A50 contigs_A.fasta contigs_B.fasta ...\n\n    Plots A50 graphics, see blog post (http://blog.malde.org/index.php/a50/)\n    '
    p = OptionParser(A50.__doc__)
    p.add_option('--overwrite', default=False, action='store_true', help='overwrite .rplot file if exists [default: %default]')
    p.add_option('--cutoff', default=0, type='int', dest='cutoff', help='use contigs above certain size [default: %default]')
    p.add_option('--stepsize', default=10, type='int', dest='stepsize', help='stepsize for the distribution [default: %default]')
    (opts, args) = p.parse_args(args)
    if (not args):
        sys.exit(p.print_help())
    import numpy as np
    from jcvi.utils.table import loadtable
    stepsize = opts.stepsize
    rplot = 'A50.rplot'
    if ((not op.exists(rplot)) or opts.overwrite):
        fw = open(rplot, 'w')
        header = '\t'.join(('index', 'cumsize', 'fasta'))
        statsheader = ('Fasta', 'L50', 'N50', 'Min', 'Max', 'Average', 'Sum', 'Counts')
        statsrows = []
        ((print >> fw), header)
        for fastafile in args:
            f = Fasta(args, index=False)
            ctgsizes = [length for (k, length) in f.itersizes()]
            ctgsizes = np.array(ctgsizes)
            (a50, l50, n50) = calculate_A50(ctgsizes, cutoff=opts.cutoff)
            (cmin, cmax, cmean) = (min(ctgsizes), max(ctgsizes), np.mean(ctgsizes))
            (csum, counts) = (np.sum(ctgsizes), len(ctgsizes))
            cmean = int(round(cmean))
            statsrows.append((fastafile, l50, n50, cmin, cmax, cmean, csum, counts))
            logging.debug('`{0}` ctgsizes: {1}'.format(fastafile, ctgsizes))
            tag = '{0} (L50={1})'.format(op.basename(fastafile).rsplit('.', 1)[0], l50)
            logging.debug(tag)
            for (i, s) in zip(xrange(0, len(a50), stepsize), a50[::stepsize]):
                ((print >> fw), '\t'.join((str(i), str((s / 1000000.0)), tag)))
        fw.close()
        table = loadtable(statsheader, statsrows)
        ((print >> sys.stderr), table)
    generate_plot(rplot)

dataset/ETHPy150Open tanghaibao/jcvi/graphics/assembly.py A50/VarMisuse@232/429 `fastafile`->`args`