Hi, I need to renumber residues after building a model using a list that maps residue indexes (0,1,2...) to residue numbers (1390,1391,1392...). The residue numbers list is not continuous, for example: [..., 1400, 1401, 1450, 1451,...] thus I cannot use rename_segments() method, which takes only the number of first residue. I tried with: class MyModel(automodel): num_map = None def fix_numbering(self): for old_resi, new_resi in zip(self.residues, self.num_map): old_resi.num = str(new_resi) def user_after_single_model(self): self.fix_numbering() where num_map is assigned to [..., 1400, 1401, 1450, 1451,...]: m = MyModel(...) m.num_map = [..., 1400, 1401, 1450, 1451,...] and it would be fine, but I get the residue numbers in wrong columns of the PDB: ATOM 1 N SER A 1390 37.882 25.941 -19.658 1.00 8.49 N ATOM 2 CA SER A 1390 36.454 26.059 -20.028 1.00 8.49 C ATOM 3 CB SER A 1390 35.958 24.759 -20.682 1.00 8.49 C ATOM 4 OG SER A 1390 36.013 23.692 -19.747 1.00 8.49 O ATOM 5 C SER A 1390 35.622 26.326 -18.821 1.00 8.49 C ATOM 6 O SER A 1390 36.138 26.652 -17.753 1.00 8.49 O instead of: ATOM 1 N SER C1390 37.882 25.941 -19.658 1.00 8.49 N ATOM 2 CA SER C1390 36.454 26.059 -20.028 1.00 8.49 C ATOM 3 CB SER C1390 35.958 24.759 -20.682 1.00 8.49 C ATOM 4 OG SER C1390 36.013 23.692 -19.747 1.00 8.49 O ATOM 5 C SER C1390 35.622 26.326 -18.821 1.00 8.49 C ATOM 6 O SER C1390 36.138 26.652 -17.753 1.00 8.49 O If, for test, I use rename_segments() with renumber_residues=[1390], the position if the residue numbers is fine. The problem happens only if the my residue numbers have four digits. I use modeller version 14. Thanks in advance for your help, Jan Kosinski |