def write_coords(atoms): old_fields = defaultdict(str) coords = ['MODEL 1\n'] for atom in atoms.sortedvalues(): fields = atom.getDict() if (old_fields['chain_id'] != fields['chain_id']) and old_fields['chain_id'] and old_fields['res_name'] in AA_NAMES: coords.append(dict2ter(old_fields)) if (old_fields['model'] != fields['model']) and old_fields['model'] != '': # model can be 0 :) if old_fields['chain_id'] and old_fields['res_name'] in AA_NAMES: coords.append(dict2ter(old_fields)) coords.append('ENDMDL\n') coords.append('MODEL %4i\n' % (fields['model'] + 1)) coords.append(dict2pdb(fields)) old_fields = fields if fields['res_name'] in AA_NAMES: coords.append(dict2ter(fields)) coords.append('ENDMDL\n') coords.append('END \n') return coords
def write_coords(atoms): old_fields = defaultdict(str) coords = ["MODEL 1\n"] for atom in atoms.sortedvalues(): fields = atom.getDict() if ( (old_fields["chain_id"] != fields["chain_id"]) and old_fields["chain_id"] and old_fields["res_name"] in AA_NAMES ): coords.append(dict2ter(old_fields)) if (old_fields["model"] != fields["model"]) and old_fields["model"] != "": # model can be 0 :) if old_fields["chain_id"] and old_fields["res_name"] in AA_NAMES: coords.append(dict2ter(old_fields)) coords.append("ENDMDL\n") coords.append("MODEL %4i\n" % (fields["model"] + 1)) coords.append(dict2pdb(fields)) old_fields = fields if fields["res_name"] in AA_NAMES: coords.append(dict2ter(fields)) coords.append("ENDMDL\n") coords.append("END \n") return coords
def test_dict2ter(self): d = {'ser_num': 1, 'chain_id': 'A', 'res_name': 'MET', 'res_ic': ' ', \ 'res_id': 1,} assert dict2ter(d) == 'TER 2 MET A 1 \n'
def test_dict2ter(self): d = {"ser_num": 1, "chain_id": "A", "res_name": "MET", "res_ic": " ", "res_id": 1} assert dict2ter(d) == "TER 2 MET A 1 \n"