コード例 #1
0
ファイル: Box.py プロジェクト: MrTheodor/science
    def load_jmol_conf(self, file_name, number_of_chains=1):
        """
        Load chain configuration from JMOL file

        @string file_name: Name of jmol file
        @dict map_dict: dict with Monomer class
        @int number_of_chains: number of chains in jmol file

        """

        f = open(file_name, "r+")
        data = f.readlines()

        header = int(data[0])
        coordinate_data = map(lambda x: x.split(" "), data[2:])

        chains = []
        for chain_idx in range(number_of_chains):
            chain_seq = []
            slice_coordinate = coordinate_data[chain_idx * header:]
            self.chain_list[chain_idx].positions_list = []
            for c_idx in range(len(slice_coordinate)):
                c = slice_coordinate[c_idx]
                crr = tuple(map(lambda x: float(x)/settings.JMOL_SCALE, tuple(c[1:])))
                print "Load", crr
                self.chain_list[chain_idx].chain[c_idx]._open = crr
                self.chain_list[chain_idx].chain[c_idx].position = Lattice.convert_to_periodic_coordinate(crr)
                self.chain_list[chain_idx].positions_list.append(self.chain_list[chain_idx].chain[c_idx]._position)


            self.chain_list[chain_idx] = self.rebuild_direction(self.chain_list[chain_idx])