Exemple #1
0
    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)
Exemple #2
0
    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)
Exemple #4
0
    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)
Exemple #5
0
    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")
Exemple #6
0
    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)
Exemple #7
0
    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)
Exemple #8
0
    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")