Example #1
0
    def test_paths_in_buffer(self):
        """Test paths when stored in an in-memory RMF"""
        b = RMF.BufferHandle()
        rmf = RMF.create_rmf_buffer(b)
        key = self.get_filename_key(rmf)
        node, prov = self.make_test_node(rmf)

        # In-memory RMF is considered to be in the current directory
        prov.set_filename('bar/foo.pdb')

        if sys.platform == 'win32':
            # On Windows, filenames are not altered
            self.assertEqual(node.get_value(key), 'bar/foo.pdb')
            self.assertEqual(prov.get_filename(), 'bar/foo.pdb')
        else:
            # On Mac/Linux, internally, a relative path should be stored
            self.assertEqual(node.get_value(key), 'bar/foo.pdb')
            # API should return an absolute path
            self.assertEqual(prov.get_filename(),
                             os.path.join(os.getcwd(), 'bar', 'foo.pdb'))
Example #2
0
    def test_chain(self):
        """Test the Chain decorator"""
        b = RMF.BufferHandle()
        rmf = RMF.create_rmf_buffer(b)

        rmf.add_frame('zero', RMF.FRAME)
        rt = rmf.get_root_node()

        cf = RMF.ChainFactory(rmf)
        c0 = rt.add_child("c0", RMF.REPRESENTATION)
        c1 = rt.add_child("c1", RMF.REPRESENTATION)
        c = cf.get(c0)
        # Check defaults
        self.assertEqual(c.get_chain_type(), 'UnknownChainType')
        self.assertEqual(c.get_sequence(), '')
        # Check setters
        c.set_chain_type('LPolypeptide')
        c.set_sequence('CGY')
        c.set_chain_id('X')

        # Check both const and non-const getters
        self.check_rmf(cf, c0, c1)
        self.check_rmf(RMF.ChainConstFactory(rmf), c0, c1)
Example #3
0
## \example buffers.py
# Showing how to read and write from buffers

import RMF

buf = RMF.BufferHandle()

fw = RMF.create_rmf_buffer(buf)

# do stuff
del fw

fr = RMF.open_rmf_buffer_read_only(buf)
# do more stuff