예제 #1
0
from rpy2.robjects import r
import rpy2.robjects as ro
import rpy2.robjects.numpy2ri
import rpy2.rpy_classic as rpy
import h5py

try:
    filename = sys.argv[1]
    projectname = sys.argv[2]
except Exception:
    print "USAGE:\npython rundecomp.py matrixfile projectname"


print "Filename: " + filename + "\nProject: " + projectname

mat = NamedMatrix.readfromfile(filename, nullvalue="-1", header=True, rownames=True, separator="\t", skip=0)

NamedMatrixHDF5.writeNamedMatrix(mat, projectname, "/freqs", overwrite=True)

sigfn = lambda x: str(",".join(map(lambda y: str(y), (x != float("inf")) * 1)))

setnames = np.apply_along_axis(sigfn, 1, mat.matrix)
unq_subs = np.unique(setnames)
colfn = lambda x: np.array(map(lambda y: y != str(0), x.split(",")))
cols = map(colfn, unq_subs)

h5 = h5py.File(projectname)
h5.create_group("subsets")
hndl = h5["/subsets"]
hndl.create_dataset("names", data=unq_subs)
hndl.create_dataset("columns", data=cols)
예제 #2
0
def readfromfile(hdf5file, url, *args, **kwargs):
    mat = nm.readfromfile(*args, **kwargs)
    nmat = writeNamedMatrix( mat, hdf5file, url, overwrite=True)
    return nmat