예제 #1
0
def readRates( infile ):
    """read rates and G+C from a tab-separated file."""
    from rpy import r as R
    import rpy

    handle, name = tempfile.mkstemp()
    os.close(handle)
    outfile = open(name, "w")

    first = True
    headers = []
    for line in infile:
        if line[0] == "#": continue
        data = line[:-1].split("\t")
        if first:
            headers = data
            first = False
            continue

        outfile.write( line )
    outfile.close()

    assert len(headers) == 3, "malformatted file of rates, please supply id, g+c, rate"

    rpy.set_default_mode(rpy.NO_CONVERSION)
    matrix = R.read_table( name, na_string = ("NA", "na"), col_names=headers ) 
    rpy.set_default_mode(rpy.BASIC_CONVERSION)
    os.remove( name )
    return matrix, headers
예제 #2
0
파일: rates2rates.py 프로젝트: lesheng/cgat
def readRates(infile):
    """read rates and G+C from a tab-separated file."""
    from rpy import r as R
    import rpy

    handle, name = tempfile.mkstemp()
    os.close(handle)
    outfile = open(name, "w")

    first = True
    headers = []
    for line in infile:
        if line[0] == "#":
            continue
        data = line[:-1].split("\t")
        if first:
            headers = data
            first = False
            continue

        outfile.write(line)
    outfile.close()

    assert len(
        headers) == 3, "malformatted file of rates, please supply id, g+c, rate"

    rpy.set_default_mode(rpy.NO_CONVERSION)
    matrix = R.read_table(name, na_string=("NA", "na"), col_names=headers)
    rpy.set_default_mode(rpy.BASIC_CONVERSION)
    os.remove(name)
    return matrix, headers
예제 #3
0
파일: interfaces.py 프로젝트: nesaro/driza
 def cargar_texto(self, fichero, **opciones):
     """Carga los datos de un fichero de texto"""
     import os
     if not os.path.exists(fichero):
         from pyrqt.excepciones import FicheroNoExisteException
         raise FicheroNoExisteException(fichero)
     from rpy import r #pylint: disable=import-error
     datos = r.read_table(fichero, sep = opciones["delimitadoratrib"], \
             header = opciones["cabeceras"], na_strings="NA", dec=".", \
             strip_white = False)
     for nombre, columna in datos.items():
         import types
         milista = []
         if type(columna[0]) == types.IntType:
             self.ana_var(nombre, "Entero")
             for registro in columna:
                 if registro == -2147483648: #Valor nulo
                     resultado = None
                 else: 
                     resultado = int(registro)
                 milista.append(resultado)
         elif type(columna[0]) == types.StringType:
             #Es un Factor
             self.ana_var(nombre, "Factor")
             milista = columna
         elif type(columna[0]) == types.FloatType:
             self.ana_var(nombre, "Real")
             milista = columna
         else: 
             raise TypeError #R Devuelve un tipo desconocido
         for i in range(self.n_reg(), len(milista)):
             self.ana_reg()
         for i in range(self.n_reg()):
             self._portero.actual().registros()[i][nombre] = milista[i]