def write(filename, snpdata): """Writes a :class:`SnpData` to SnpNpz format. :param filename: the name of the file to create :type filename: string :param snpdata: The in-memory data that should be written to disk. :type snpdata: :class:`SnpData` >>> from pysnptools.snpreader import SnpNpz, Bed >>> import pysnptools.util as pstutil >>> snpdata = Bed('../examples/toydata.bed',count_A1=False)[:,:10].read() # Read first 10 snps from Bed format >>> pstutil.create_directory_if_necessary("tempdir/toydata10.snp.npz") >>> SnpNpz.write("tempdir/toydata10.snp.npz",snpdata) # Write data in SnpNpz format """ PstNpz.write(filename, snpdata)
def write(filename, snpdata): """Writes a :class:`SnpData` to SnpNpz format. :param filename: the name of the file to create :type filename: string :param snpdata: The in-memory data that should be written to disk. :type snpdata: :class:`SnpData` >>> from pysnptools.snpreader import SnpNpz, Bed >>> import pysnptools.util as pstutil >>> snpdata = Bed('../examples/toydata.bed')[:,:10].read() # Read first 10 snps from Bed format >>> pstutil.create_directory_if_necessary("tempdir/toydata10.snp.npz") >>> SnpNpz.write("tempdir/toydata10.snp.npz",snpdata) # Write data in SnpNpz format """ PstNpz.write(filename,snpdata)
def write(filename, kerneldata): """Writes a :class:`KernelData` to KernelNpz format. :param filename: the name of the file to create :type filename: string :param kerneldata: The in-memory data that should be written to disk. :type kerneldata: :class:`KernelData` >>> from pysnptools.snpreader import Bed >>> from pysnptools.standardizer import Unit >>> import pysnptools.util as pstutil >>> kerneldata = Bed('../examples/toydata.bed',count_A1=False).read_kernel(Unit()) # Create a kernel from the data in the Bed file >>> pstutil.create_directory_if_necessary("tempdir/toydata.kernel.npz") >>> KernelNpz.write("tempdir/toydata.kernel.npz",kerneldata) # Write data in KernelNpz format """ PstNpz.write(filename,kerneldata)
def write(filename, kerneldata): """Writes a :class:`KernelData` to KernelNpz format. :param filename: the name of the file to create :type filename: string :param kerneldata: The in-memory data that should be written to disk. :type kerneldata: :class:`KernelData` >>> from pysnptools.snpreader import Bed >>> from pysnptools.standardizer import Unit >>> import pysnptools.util as pstutil >>> kerneldata = Bed('pysnptools/examples/toydata.bed',count_A1=False).read_kernel(Unit()) # Create a kernel from the data in the Bed file >>> pstutil.create_directory_if_necessary("tempdir/toydata.kernel.npz") >>> KernelNpz.write("tempdir/toydata.kernel.npz",kerneldata) # Write data in KernelNpz format """ PstNpz.write(filename, kerneldata)
def test_big_npz(self): logging.info("in test_big_npz") n = 1000 pstdata = PstData(row=range(n-1),col=range(n+1),val=np.zeros([n-1,n+1])) output = "tempdir/pstreader/big.npz" create_directory_if_necessary(output) PstNpz.write(output,pstdata) pstnpz = PstNpz(output) pstdata1 = pstnpz[::2,::4].read() pstdata2 = pstnpz.read(order='A') assert pstdata2.val.flags['C_CONTIGUOUS'] pstdata = PstData(row=range(n-1),col=range(n+1),val=np.zeros([n-1,n+1],order='F')) PstNpz.write(output,pstdata) pstnpz = PstNpz(output) pstdata2 = pstnpz.read(order='A') pstdata2.val.flags['F_CONTIGUOUS'] print("done")
def test_respect_read_inputs(self): from pysnptools.pstreader import _MergeRows, _MergeCols previous_wd = os.getcwd() os.chdir(os.path.dirname(os.path.realpath(__file__))) for pstreader in [ PstNpz('../examples/toydata10.snp.npz'), _MergeRows([ PstHdf5('../examples/toydata.snpmajor.snp.hdf5') [:5, :].read(), PstHdf5('../examples/toydata.snpmajor.snp.hdf5')[ 5:, :].read() ]), _MergeCols([ PstHdf5( '../examples/toydata.snpmajor.snp.hdf5')[:, :5].read(), PstHdf5('../examples/toydata.snpmajor.snp.hdf5') [:, 5:].read() ]), PstHdf5('../examples/toydata.snpmajor.snp.hdf5')[::2, ::2], PstHdf5('../examples/toydata.snpmajor.dist.hdf5').read(), PstHdf5('../examples/toydata.kernel.hdf5'), PstMemMap('../examples/tiny.pst.memmap') ]: logging.info(str(pstreader)) for order in ['F', 'C', 'A']: for dtype in [np.float32, np.float64]: for force_python_only in [True, False]: for view_ok in [True, False]: val = pstreader.read( order=order, dtype=dtype, force_python_only=force_python_only, view_ok=view_ok).val has_right_order = order == "A" or ( order == "C" and val.flags["C_CONTIGUOUS"] ) or (order == "F" and val.flags["F_CONTIGUOUS"]) if hasattr(pstreader, 'val') and not view_ok: assert pstreader.val is not val if (hasattr(pstreader, 'val') and view_ok and pstreader.val is not val and (order == 'A' or (order == 'F' and pstreader.val.flags['F_CONTIGUOUS']) or (order == 'C' and pstreader.val.flags['C_CONTIGUOUS'])) and (dtype is None or pstreader.val.dtype == dtype)): logging.info( "{0} could have read a view, but didn't". format(pstreader)) assert val.dtype == dtype and has_right_order os.chdir(previous_wd)
def write(filename, kerneldata): """Writes a :class:`KernelData` to KernelNpz format and returns the :class:`.KernelNpz`. :param filename: the name of the file to create :type filename: string :param kerneldata: The in-memory data that should be written to disk. :type kerneldata: :class:`KernelData` :rtype: :class:`.KernelNpz` >>> from pysnptools.snpreader import Bed >>> from pysnptools.standardizer import Unit >>> import pysnptools.util as pstutil >>> from pysnptools.util import example_file # Download and return local file name >>> bed_file = example_file('pysnptools/examples/toydata.5chrom.*','*.bed') >>> kerneldata = Bed(bed_file,count_A1=False).read_kernel(Unit()) # Create a kernel from the data in the Bed file >>> pstutil.create_directory_if_necessary("tempdir/toydata.kernel.npz") >>> KernelNpz.write("tempdir/toydata.kernel.npz",kerneldata) # Write data in KernelNpz format KernelNpz('tempdir/toydata.kernel.npz') """ PstNpz.write(filename, kerneldata) return KernelNpz(filename)
def cmktest_big_npz(self): logging.info("in test_big_npz") n = 1000 pstdata = PstData(row=range(n-1),col=range(n+1),val=np.zeros([n-1,n+1])) output = "tempdir/pstreader/big.npz" create_directory_if_necessary(output) PstNpz.write(output,pstdata) pstnpz = PstNpz(output) pstdata1 = pstnpz[::2,::4].read() pstdata2 = pstnpz.read(order='A') assert pstdata2.val.flags['C_CONTIGUOUS'] pstdata = PstData(row=range(n-1),col=range(n+1),val=np.zeros([n-1,n+1],order='F')) PstNpz.write(output,pstdata) pstnpz = PstNpz(output) pstdata2 = pstnpz.read(order='A') pstdata2.val.flags['F_CONTIGUOUS'] print("done")