示例#1
0
def prettyNumber( n ):
   """ pretty number takes a float or int and returns a string
   """
   from libGeneral import prettyFloat, prettyInt
   import re
   if isinstance( n, str ):
      pat = re.compile( '^[0-9]+\.[0-9]+$' )
      if re.match( pat, n ):
         return prettyFloat( float(n), 2 )
      else:
         return prettyInt( int(n) )
   elif isinstance( n, float ):
      return prettyFloat( n, 2 )
   elif isinstance( n, int ):
      return prettyInt( n )
   else:
      sys.stderr.write('Error, libGeneral.py: prettyNumber: unexpected type for n: %s' % n.__class__ )
      sys.exit(1)
示例#2
0
def prettyNumber(n):
    """ pretty number takes a float or int and returns a string
   """
    from libGeneral import prettyFloat, prettyInt
    import re
    if isinstance(n, str):
        pat = re.compile('^[0-9]+\.[0-9]+$')
        if re.match(pat, n):
            return prettyFloat(float(n), 2)
        else:
            return prettyInt(int(n))
    elif isinstance(n, float):
        return prettyFloat(n, 2)
    elif isinstance(n, int):
        return prettyInt(n)
    else:
        sys.stderr.write(
            'Error, libGeneral.py: prettyNumber: unexpected type for n: %s' %
            n.__class__)
        sys.exit(1)
def showSubmissionSizeStatsTable(a, options):
    print "\\noindent Submitted assembly size stats table\par"
    print "\\vspace{0.25in}"
    print "\\rowcolors{1}{tableShade}{white}"
    print "\\tiny"
    print "\\begin{tabular}{ | r | c | c | c | c | c | c | c | c | c | }"
    print "\\hline"
    print "Category & n & min & 1st Qu. & Median & Mean & 3rd Qu. & Max. & Stdev & Sum\\\\"
    print "\\hline \\hline"
    print (
        "Scaffolds & %s & %s & %s "
        "& %s & %s & %s & %s & %s "
        "& % s \\\\"
        % (
            lgn.prettyInt(int(float(a.sizeStatsScaffold[0]))),
            lgn.prettyInt(int(float(a.sizeStatsScaffold[1]))),
            lgn.prettyFloat(float(a.sizeStatsScaffold[2]), 2),
            lgn.prettyInt(int(float(a.sizeStatsScaffold[3]))),
            lgn.prettyFloat(float(a.sizeStatsScaffold[4]), 2),
            lgn.prettyFloat(float(a.sizeStatsScaffold[5]), 2),
            lgn.prettyInt(int(float(a.sizeStatsScaffold[6]))),
            lgn.prettyFloat(float(a.sizeStatsScaffold[7]), 2),
            lgn.prettyInt(int(float(a.sizeStatsScaffold[8]))),
        )
    )

    print (
        "Contigs & %s & %s & %s "
        "& %s & %s & %s & %s & %s "
        "& %s \\\\"
        % (
            lgn.prettyInt(int(float(a.sizeStatsContigs[0]))),
            lgn.prettyInt(int(float(a.sizeStatsContigs[1]))),
            lgn.prettyFloat(float(a.sizeStatsContigs[2]), 2),
            lgn.prettyInt(int(float(a.sizeStatsContigs[3]))),
            lgn.prettyFloat(float(a.sizeStatsContigs[4]), 2),
            lgn.prettyFloat(float(a.sizeStatsContigs[5]), 2),
            lgn.prettyInt(int(float(a.sizeStatsContigs[6]))),
            lgn.prettyFloat(float(a.sizeStatsContigs[7]), 2),
            lgn.prettyInt(int(float(a.sizeStatsContigs[8]))),
        )
    )
    print "\\hline"
    print "\\end{tabular}\par"
    print "\\normalsize"
    print "\\vspace{0.3in}"
def showSubstitutionStatsTable(a, options):
    print "\\noindent SNP stats table\par"
    print "\\vspace{0.25in}"
    print "\\rowcolors{1}{tableShade}{white}"
    print "\\tiny"
    print "\\begin{tabular}{ | r | c | c | c | c | }"
    print "\\hline"
    print "Category & Total & Calls & Correct (bits) & Errors \\\\"
    print "\\hline \\hline"
    if len(a.subStatsLower) >= 0 and len(a.subStatsUpper) >= 0:
        lower = a.subStatsLower
        upper = a.subStatsUpper
        print (
            "Homozygous & %s -- %s & %s -- %s & %s -- %s & %s -- %s \\\\"
            % (
                lgn.prettyInt(int(lower["totalHomozygous"])),
                lgn.prettyInt(int(upper["totalHomozygous"])),
                lgn.prettyInt(int(lower["totalCallsInHomozygous"])),
                lgn.prettyInt(int(upper["totalCallsInHomozygous"])),
                lgn.prettyFloat(float(lower["totalCorrectInHomozygous"]), 1),
                lgn.prettyFloat(float(upper["totalCorrectInHomozygous"]), 1),
                lgn.prettyInt(int(lower["totalErrorsInHomozygous"])),
                lgn.prettyInt(int(upper["totalErrorsInHomozygous"])),
            )
        )
        print (
            "Heterozygous & %s -- %s & %s -- %s & %s -- %s & %s -- %s \\\\"
            % (
                lgn.prettyInt(int(lower["totalHeterozygous"])),
                lgn.prettyInt(int(upper["totalHeterozygous"])),
                lgn.prettyInt(int(lower["totalCallsInHeterozygous"])),
                lgn.prettyInt(int(upper["totalCallsInHeterozygous"])),
                lgn.prettyFloat(float(lower["totalCorrectInHeterozygous"]), 1),
                lgn.prettyFloat(float(upper["totalCorrectInHeterozygous"]), 1),
                lgn.prettyInt(int(lower["totalErrorsInHeterozygous"])),
                lgn.prettyInt(int(upper["totalErrorsInHeterozygous"])),
            )
        )
        print (
            "Indel & %s -- %s & %s -- %s & %s -- %s & %s -- %s \\\\"
            % (
                lgn.prettyInt(int(lower["totalInOneHaplotypeOnly"])),
                lgn.prettyInt(int(upper["totalInOneHaplotypeOnly"])),
                lgn.prettyInt(int(lower["totalCallsInOneHaplotypeOnly"])),
                lgn.prettyInt(int(upper["totalCallsInOneHaplotypeOnly"])),
                lgn.prettyFloat(float(lower["totalCorrectInOneHaplotypeOnly"]), 1),
                lgn.prettyFloat(float(upper["totalCorrectInOneHaplotypeOnly"]), 1),
                lgn.prettyInt(int(lower["totalErrorsInOneHaplotypeOnly"])),
                lgn.prettyInt(int(upper["totalErrorsInOneHaplotypeOnly"])),
            )
        )
    print "\\hline"
    print "\\end{tabular}\par"
    print "\\normalsize"
    print "\\vspace{0.3in}"