Модули:
import numpy as np
import copy
# Отображение структур
import IPython.display
import ipywidgets
from IPython.display import display,display_svg,SVG,Image
# Open Drug Discovery Toolkit
import oddt
import oddt.docking
import oddt.interactions
# Органика
from rdkit import Chem
from rdkit.Chem import Draw
from rdkit.Chem.Draw import IPythonConsole
RDKit WARNING: [13:06:25] Enabling RDKit 2019.09.3 jupyter extensions
import mdtraj as md
u = md.load('1lmp.pdb')
pdb = u.topology
for i,r in enumerate(pdb.atoms):
print(i,r)
#посмотрим на атомы
0 LYS1-N 1 LYS1-CA 2 LYS1-C 3 LYS1-O 4 LYS1-CB 5 LYS1-CG 6 LYS1-CD 7 LYS1-CE 8 LYS1-NZ 9 VAL2-N 10 VAL2-CA 11 VAL2-C 12 VAL2-O 13 VAL2-CB 14 VAL2-CG1 15 VAL2-CG2 16 TYR3-N 17 TYR3-CA 18 TYR3-C 19 TYR3-O 20 TYR3-CB 21 TYR3-CG 22 TYR3-CD1 23 TYR3-CD2 24 TYR3-CE1 25 TYR3-CE2 26 TYR3-CZ 27 TYR3-OH 28 ASP4-N 29 ASP4-CA 30 ASP4-C 31 ASP4-O 32 ASP4-CB 33 ASP4-CG 34 ASP4-OD1 35 ASP4-OD2 36 ARG5-N 37 ARG5-CA 38 ARG5-C 39 ARG5-O 40 ARG5-CB 41 ARG5-CG 42 ARG5-CD 43 ARG5-NE 44 ARG5-CZ 45 ARG5-NH1 46 ARG5-NH2 47 CYS6-N 48 CYS6-CA 49 CYS6-C 50 CYS6-O 51 CYS6-CB 52 CYS6-SG 53 GLU7-N 54 GLU7-CA 55 GLU7-C 56 GLU7-O 57 GLU7-CB 58 GLU7-CG 59 GLU7-CD 60 GLU7-OE1 61 GLU7-OE2 62 LEU8-N 63 LEU8-CA 64 LEU8-C 65 LEU8-O 66 LEU8-CB 67 LEU8-CG 68 LEU8-CD1 69 LEU8-CD2 70 ALA9-N 71 ALA9-CA 72 ALA9-C 73 ALA9-O 74 ALA9-CB 75 ARG10-N 76 ARG10-CA 77 ARG10-C 78 ARG10-O 79 ARG10-CB 80 ARG10-CG 81 ARG10-CD 82 ARG10-NE 83 ARG10-CZ 84 ARG10-NH1 85 ARG10-NH2 86 ALA11-N 87 ALA11-CA 88 ALA11-C 89 ALA11-O 90 ALA11-CB 91 LEU12-N 92 LEU12-CA 93 LEU12-C 94 LEU12-O 95 LEU12-CB 96 LEU12-CG 97 LEU12-CD1 98 LEU12-CD2 99 LYS13-N 100 LYS13-CA 101 LYS13-C 102 LYS13-O 103 LYS13-CB 104 LYS13-CG 105 LYS13-CD 106 LYS13-CE 107 LYS13-NZ 108 ALA14-N 109 ALA14-CA 110 ALA14-C 111 ALA14-O 112 ALA14-CB 113 SER15-N 114 SER15-CA 115 SER15-C 116 SER15-O 117 SER15-CB 118 SER15-OG 119 GLY16-N 120 GLY16-CA 121 GLY16-C 122 GLY16-O 123 MET17-N 124 MET17-CA 125 MET17-C 126 MET17-O 127 MET17-CB 128 MET17-CG 129 MET17-SD 130 MET17-CE 131 ASP18-N 132 ASP18-CA 133 ASP18-C 134 ASP18-O 135 ASP18-CB 136 ASP18-CG 137 ASP18-OD1 138 ASP18-OD2 139 GLY19-N 140 GLY19-CA 141 GLY19-C 142 GLY19-O 143 TYR20-N 144 TYR20-CA 145 TYR20-C 146 TYR20-O 147 TYR20-CB 148 TYR20-CG 149 TYR20-CD1 150 TYR20-CD2 151 TYR20-CE1 152 TYR20-CE2 153 TYR20-CZ 154 TYR20-OH 155 ALA21-N 156 ALA21-CA 157 ALA21-C 158 ALA21-O 159 ALA21-CB 160 GLY22-N 161 GLY22-CA 162 GLY22-C 163 GLY22-O 164 ASN23-N 165 ASN23-CA 166 ASN23-C 167 ASN23-O 168 ASN23-CB 169 ASN23-CG 170 ASN23-OD1 171 ASN23-ND2 172 SER24-N 173 SER24-CA 174 SER24-C 175 SER24-O 176 SER24-CB 177 SER24-OG 178 LEU25-N 179 LEU25-CA 180 LEU25-C 181 LEU25-O 182 LEU25-CB 183 LEU25-CG 184 LEU25-CD1 185 LEU25-CD2 186 PRO26-N 187 PRO26-CA 188 PRO26-C 189 PRO26-O 190 PRO26-CB 191 PRO26-CG 192 PRO26-CD 193 ASN27-N 194 ASN27-CA 195 ASN27-C 196 ASN27-O 197 ASN27-CB 198 ASN27-CG 199 ASN27-OD1 200 ASN27-ND2 201 TRP28-N 202 TRP28-CA 203 TRP28-C 204 TRP28-O 205 TRP28-CB 206 TRP28-CG 207 TRP28-CD1 208 TRP28-CD2 209 TRP28-NE1 210 TRP28-CE2 211 TRP28-CE3 212 TRP28-CZ2 213 TRP28-CZ3 214 TRP28-CH2 215 VAL29-N 216 VAL29-CA 217 VAL29-C 218 VAL29-O 219 VAL29-CB 220 VAL29-CG1 221 VAL29-CG2 222 CYS30-N 223 CYS30-CA 224 CYS30-C 225 CYS30-O 226 CYS30-CB 227 CYS30-SG 228 LEU31-N 229 LEU31-CA 230 LEU31-C 231 LEU31-O 232 LEU31-CB 233 LEU31-CG 234 LEU31-CD1 235 LEU31-CD2 236 SER32-N 237 SER32-CA 238 SER32-C 239 SER32-O 240 SER32-CB 241 SER32-OG 242 LYS33-N 243 LYS33-CA 244 LYS33-C 245 LYS33-O 246 LYS33-CB 247 LYS33-CG 248 LYS33-CD 249 LYS33-CE 250 LYS33-NZ 251 TRP34-N 252 TRP34-CA 253 TRP34-C 254 TRP34-O 255 TRP34-CB 256 TRP34-CG 257 TRP34-CD1 258 TRP34-CD2 259 TRP34-NE1 260 TRP34-CE2 261 TRP34-CE3 262 TRP34-CZ2 263 TRP34-CZ3 264 TRP34-CH2 265 GLU35-N 266 GLU35-CA 267 GLU35-C 268 GLU35-O 269 GLU35-CB 270 GLU35-CG 271 GLU35-CD 272 GLU35-OE1 273 GLU35-OE2 274 SER36-N 275 SER36-CA 276 SER36-C 277 SER36-O 278 SER36-CB 279 SER36-OG 280 SER37-N 281 SER37-CA 282 SER37-C 283 SER37-O 284 SER37-CB 285 SER37-OG 286 TYR38-N 287 TYR38-CA 288 TYR38-C 289 TYR38-O 290 TYR38-CB 291 TYR38-CG 292 TYR38-CD1 293 TYR38-CD2 294 TYR38-CE1 295 TYR38-CE2 296 TYR38-CZ 297 TYR38-OH 298 ASN39-N 299 ASN39-CA 300 ASN39-C 301 ASN39-O 302 ASN39-CB 303 ASN39-CG 304 ASN39-OD1 305 ASN39-ND2 306 THR40-N 307 THR40-CA 308 THR40-C 309 THR40-O 310 THR40-CB 311 THR40-OG1 312 THR40-CG2 313 GLN41-N 314 GLN41-CA 315 GLN41-C 316 GLN41-O 317 GLN41-CB 318 GLN41-CG 319 GLN41-CD 320 GLN41-OE1 321 GLN41-NE2 322 ALA42-N 323 ALA42-CA 324 ALA42-C 325 ALA42-O 326 ALA42-CB 327 THR43-N 328 THR43-CA 329 THR43-C 330 THR43-O 331 THR43-CB 332 THR43-OG1 333 THR43-CG2 334 ASN44-N 335 ASN44-CA 336 ASN44-C 337 ASN44-O 338 ASN44-CB 339 ASN44-CG 340 ASN44-OD1 341 ASN44-ND2 342 ARG45-N 343 ARG45-CA 344 ARG45-C 345 ARG45-O 346 ARG45-CB 347 ARG45-CG 348 ARG45-CD 349 ARG45-NE 350 ARG45-CZ 351 ARG45-NH1 352 ARG45-NH2 353 ASN46-N 354 ASN46-CA 355 ASN46-C 356 ASN46-O 357 ASN46-CB 358 ASN46-CG 359 ASN46-OD1 360 ASN46-ND2 361 THR47-N 362 THR47-CA 363 THR47-C 364 THR47-O 365 THR47-CB 366 THR47-OG1 367 THR47-CG2 368 ASP48-N 369 ASP48-CA 370 ASP48-C 371 ASP48-O 372 ASP48-CB 373 ASP48-CG 374 ASP48-OD1 375 ASP48-OD2 376 GLY49-N 377 GLY49-CA 378 GLY49-C 379 GLY49-O 380 SER50-N 381 SER50-CA 382 SER50-C 383 SER50-O 384 SER50-CB 385 SER50-OG 386 THR51-N 387 THR51-CA 388 THR51-C 389 THR51-O 390 THR51-CB 391 THR51-OG1 392 THR51-CG2 393 ASP52-N 394 ASP52-CA 395 ASP52-C 396 ASP52-O 397 ASP52-CB 398 ASP52-CG 399 ASP52-OD1 400 ASP52-OD2 401 TYR53-N 402 TYR53-CA 403 TYR53-C 404 TYR53-O 405 TYR53-CB 406 TYR53-CG 407 TYR53-CD1 408 TYR53-CD2 409 TYR53-CE1 410 TYR53-CE2 411 TYR53-CZ 412 TYR53-OH 413 GLY54-N 414 GLY54-CA 415 GLY54-C 416 GLY54-O 417 ILE55-N 418 ILE55-CA 419 ILE55-C 420 ILE55-O 421 ILE55-CB 422 ILE55-CG1 423 ILE55-CG2 424 ILE55-CD1 425 PHE56-N 426 PHE56-CA 427 PHE56-C 428 PHE56-O 429 PHE56-CB 430 PHE56-CG 431 PHE56-CD1 432 PHE56-CD2 433 PHE56-CE1 434 PHE56-CE2 435 PHE56-CZ 436 GLN57-N 437 GLN57-CA 438 GLN57-C 439 GLN57-O 440 GLN57-CB 441 GLN57-CG 442 GLN57-CD 443 GLN57-OE1 444 GLN57-NE2 445 ILE58-N 446 ILE58-CA 447 ILE58-C 448 ILE58-O 449 ILE58-CB 450 ILE58-CG1 451 ILE58-CG2 452 ILE58-CD1 453 ASN59-N 454 ASN59-CA 455 ASN59-C 456 ASN59-O 457 ASN59-CB 458 ASN59-CG 459 ASN59-OD1 460 ASN59-ND2 461 SER60-N 462 SER60-CA 463 SER60-C 464 SER60-O 465 SER60-CB 466 SER60-OG 467 ARG61-N 468 ARG61-CA 469 ARG61-C 470 ARG61-O 471 ARG61-CB 472 ARG61-CG 473 ARG61-CD 474 ARG61-NE 475 ARG61-CZ 476 ARG61-NH1 477 ARG61-NH2 478 TYR62-N 479 TYR62-CA 480 TYR62-C 481 TYR62-O 482 TYR62-CB 483 TYR62-CG 484 TYR62-CD1 485 TYR62-CD2 486 TYR62-CE1 487 TYR62-CE2 488 TYR62-CZ 489 TYR62-OH 490 TRP63-N 491 TRP63-CA 492 TRP63-C 493 TRP63-O 494 TRP63-CB 495 TRP63-CG 496 TRP63-CD1 497 TRP63-CD2 498 TRP63-NE1 499 TRP63-CE2 500 TRP63-CE3 501 TRP63-CZ2 502 TRP63-CZ3 503 TRP63-CH2 504 CYS64-N 505 CYS64-CA 506 CYS64-C 507 CYS64-O 508 CYS64-CB 509 CYS64-SG 510 ASP65-N 511 ASP65-CA 512 ASP65-C 513 ASP65-O 514 ASP65-CB 515 ASP65-CG 516 ASP65-OD1 517 ASP65-OD2 518 ASP66-N 519 ASP66-CA 520 ASP66-C 521 ASP66-O 522 ASP66-CB 523 ASP66-CG 524 ASP66-OD1 525 ASP66-OD2 526 GLY67-N 527 GLY67-CA 528 GLY67-C 529 GLY67-O 530 ARG68-N 531 ARG68-CA 532 ARG68-C 533 ARG68-O 534 ARG68-CB 535 ARG68-CG 536 ARG68-CD 537 ARG68-NE 538 ARG68-CZ 539 ARG68-NH1 540 ARG68-NH2 541 THR69-N 542 THR69-CA 543 THR69-C 544 THR69-O 545 THR69-CB 546 THR69-OG1 547 THR69-CG2 548 PRO70-N 549 PRO70-CA 550 PRO70-C 551 PRO70-O 552 PRO70-CB 553 PRO70-CG 554 PRO70-CD 555 GLY71-N 556 GLY71-CA 557 GLY71-C 558 GLY71-O 559 ALA72-N 560 ALA72-CA 561 ALA72-C 562 ALA72-O 563 ALA72-CB 564 LYS73-N 565 LYS73-CA 566 LYS73-C 567 LYS73-O 568 LYS73-CB 569 LYS73-CG 570 LYS73-CD 571 LYS73-CE 572 LYS73-NZ 573 ASN74-N 574 ASN74-CA 575 ASN74-C 576 ASN74-O 577 ASN74-CB 578 ASN74-CG 579 ASN74-OD1 580 ASN74-ND2 581 VAL75-N 582 VAL75-CA 583 VAL75-C 584 VAL75-O 585 VAL75-CB 586 VAL75-CG1 587 VAL75-CG2 588 CYS76-N 589 CYS76-CA 590 CYS76-C 591 CYS76-O 592 CYS76-CB 593 CYS76-SG 594 GLY77-N 595 GLY77-CA 596 GLY77-C 597 GLY77-O 598 ILE78-N 599 ILE78-CA 600 ILE78-C 601 ILE78-O 602 ILE78-CB 603 ILE78-CG1 604 ILE78-CG2 605 ILE78-CD1 606 ARG79-N 607 ARG79-CA 608 ARG79-C 609 ARG79-O 610 ARG79-CB 611 ARG79-CG 612 ARG79-CD 613 ARG79-NE 614 ARG79-CZ 615 ARG79-NH1 616 ARG79-NH2 617 CYS80-N 618 CYS80-CA 619 CYS80-C 620 CYS80-O 621 CYS80-CB 622 CYS80-SG 623 SER81-N 624 SER81-CA 625 SER81-C 626 SER81-O 627 SER81-CB 628 SER81-OG 629 GLN82-N 630 GLN82-CA 631 GLN82-C 632 GLN82-O 633 GLN82-CB 634 GLN82-CG 635 GLN82-CD 636 GLN82-OE1 637 GLN82-NE2 638 LEU83-N 639 LEU83-CA 640 LEU83-C 641 LEU83-O 642 LEU83-CB 643 LEU83-CG 644 LEU83-CD1 645 LEU83-CD2 646 LEU84-N 647 LEU84-CA 648 LEU84-C 649 LEU84-O 650 LEU84-CB 651 LEU84-CG 652 LEU84-CD1 653 LEU84-CD2 654 THR85-N 655 THR85-CA 656 THR85-C 657 THR85-O 658 THR85-CB 659 THR85-OG1 660 THR85-CG2 661 ASP86-N 662 ASP86-CA 663 ASP86-C 664 ASP86-O 665 ASP86-CB 666 ASP86-CG 667 ASP86-OD1 668 ASP86-OD2 669 ASP87-N 670 ASP87-CA 671 ASP87-C 672 ASP87-O 673 ASP87-CB 674 ASP87-CG 675 ASP87-OD1 676 ASP87-OD2 677 LEU88-N 678 LEU88-CA 679 LEU88-C 680 LEU88-O 681 LEU88-CB 682 LEU88-CG 683 LEU88-CD1 684 LEU88-CD2 685 THR89-N 686 THR89-CA 687 THR89-C 688 THR89-O 689 THR89-CB 690 THR89-OG1 691 THR89-CG2 692 VAL90-N 693 VAL90-CA 694 VAL90-C 695 VAL90-O 696 VAL90-CB 697 VAL90-CG1 698 VAL90-CG2 699 ALA91-N 700 ALA91-CA 701 ALA91-C 702 ALA91-O 703 ALA91-CB 704 ILE92-N 705 ILE92-CA 706 ILE92-C 707 ILE92-O 708 ILE92-CB 709 ILE92-CG1 710 ILE92-CG2 711 ILE92-CD1 712 ARG93-N 713 ARG93-CA 714 ARG93-C 715 ARG93-O 716 ARG93-CB 717 ARG93-CG 718 ARG93-CD 719 ARG93-NE 720 ARG93-CZ 721 ARG93-NH1 722 ARG93-NH2 723 CYS94-N 724 CYS94-CA 725 CYS94-C 726 CYS94-O 727 CYS94-CB 728 CYS94-SG 729 ALA95-N 730 ALA95-CA 731 ALA95-C 732 ALA95-O 733 ALA95-CB 734 LYS96-N 735 LYS96-CA 736 LYS96-C 737 LYS96-O 738 LYS96-CB 739 LYS96-CG 740 LYS96-CD 741 LYS96-CE 742 LYS96-NZ 743 ARG97-N 744 ARG97-CA 745 ARG97-C 746 ARG97-O 747 ARG97-CB 748 ARG97-CG 749 ARG97-CD 750 ARG97-NE 751 ARG97-CZ 752 ARG97-NH1 753 ARG97-NH2 754 VAL98-N 755 VAL98-CA 756 VAL98-C 757 VAL98-O 758 VAL98-CB 759 VAL98-CG1 760 VAL98-CG2 761 VAL99-N 762 VAL99-CA 763 VAL99-C 764 VAL99-O 765 VAL99-CB 766 VAL99-CG1 767 VAL99-CG2 768 LEU100-N 769 LEU100-CA 770 LEU100-C 771 LEU100-O 772 LEU100-CB 773 LEU100-CG 774 LEU100-CD1 775 LEU100-CD2 776 ASP101-N 777 ASP101-CA 778 ASP101-C 779 ASP101-O 780 ASP101-CB 781 ASP101-CG 782 ASP101-OD1 783 ASP101-OD2 784 PRO102-N 785 PRO102-CA 786 PRO102-C 787 PRO102-O 788 PRO102-CB 789 PRO102-CG 790 PRO102-CD 791 ASN103-N 792 ASN103-CA 793 ASN103-C 794 ASN103-O 795 ASN103-CB 796 ASN103-CG 797 ASN103-OD1 798 ASN103-ND2 799 GLY104-N 800 GLY104-CA 801 GLY104-C 802 GLY104-O 803 ILE105-N 804 ILE105-CA 805 ILE105-C 806 ILE105-O 807 ILE105-CB 808 ILE105-CG1 809 ILE105-CG2 810 ILE105-CD1 811 GLY106-N 812 GLY106-CA 813 GLY106-C 814 GLY106-O 815 ALA107-N 816 ALA107-CA 817 ALA107-C 818 ALA107-O 819 ALA107-CB 820 TRP108-N 821 TRP108-CA 822 TRP108-C 823 TRP108-O 824 TRP108-CB 825 TRP108-CG 826 TRP108-CD1 827 TRP108-CD2 828 TRP108-NE1 829 TRP108-CE2 830 TRP108-CE3 831 TRP108-CZ2 832 TRP108-CZ3 833 TRP108-CH2 834 VAL109-N 835 VAL109-CA 836 VAL109-C 837 VAL109-O 838 VAL109-CB 839 VAL109-CG1 840 VAL109-CG2 841 ALA110-N 842 ALA110-CA 843 ALA110-C 844 ALA110-O 845 ALA110-CB 846 TRP111-N 847 TRP111-CA 848 TRP111-C 849 TRP111-O 850 TRP111-CB 851 TRP111-CG 852 TRP111-CD1 853 TRP111-CD2 854 TRP111-NE1 855 TRP111-CE2 856 TRP111-CE3 857 TRP111-CZ2 858 TRP111-CZ3 859 TRP111-CH2 860 ARG112-N 861 ARG112-CA 862 ARG112-C 863 ARG112-O 864 ARG112-CB 865 ARG112-CG 866 ARG112-CD 867 ARG112-NE 868 ARG112-CZ 869 ARG112-NH1 870 ARG112-NH2 871 LEU113-N 872 LEU113-CA 873 LEU113-C 874 LEU113-O 875 LEU113-CB 876 LEU113-CG 877 LEU113-CD1 878 LEU113-CD2 879 HIS114-N 880 HIS114-CA 881 HIS114-C 882 HIS114-O 883 HIS114-CB 884 HIS114-CG 885 HIS114-ND1 886 HIS114-CD2 887 HIS114-CE1 888 HIS114-NE2 889 CYS115-N 890 CYS115-CA 891 CYS115-C 892 CYS115-O 893 CYS115-CB 894 CYS115-SG 895 GLN116-N 896 GLN116-CA 897 GLN116-C 898 GLN116-O 899 GLN116-CB 900 GLN116-CG 901 GLN116-CD 902 GLN116-OE1 903 GLN116-NE2 904 ASN117-N 905 ASN117-CA 906 ASN117-C 907 ASN117-O 908 ASN117-CB 909 ASN117-CG 910 ASN117-OD1 911 ASN117-ND2 912 GLN118-N 913 GLN118-CA 914 GLN118-C 915 GLN118-O 916 GLN118-CB 917 GLN118-CG 918 GLN118-CD 919 GLN118-OE1 920 GLN118-NE2 921 ASP119-N 922 ASP119-CA 923 ASP119-C 924 ASP119-O 925 ASP119-CB 926 ASP119-CG 927 ASP119-OD1 928 ASP119-OD2 929 LEU120-N 930 LEU120-CA 931 LEU120-C 932 LEU120-O 933 LEU120-CB 934 LEU120-CG 935 LEU120-CD1 936 LEU120-CD2 937 ARG121-N 938 ARG121-CA 939 ARG121-C 940 ARG121-O 941 ARG121-CB 942 ARG121-CG 943 ARG121-CD 944 ARG121-NE 945 ARG121-CZ 946 ARG121-NH1 947 ARG121-NH2 948 SER122-N 949 SER122-CA 950 SER122-C 951 SER122-O 952 SER122-CB 953 SER122-OG 954 TYR123-N 955 TYR123-CA 956 TYR123-C 957 TYR123-O 958 TYR123-CB 959 TYR123-CG 960 TYR123-CD1 961 TYR123-CD2 962 TYR123-CE1 963 TYR123-CE2 964 TYR123-CZ 965 TYR123-OH 966 VAL124-N 967 VAL124-CA 968 VAL124-C 969 VAL124-O 970 VAL124-CB 971 VAL124-CG1 972 VAL124-CG2 973 ALA125-N 974 ALA125-CA 975 ALA125-C 976 ALA125-O 977 ALA125-CB 978 GLY126-N 979 GLY126-CA 980 GLY126-C 981 GLY126-O 982 CYS127-N 983 CYS127-CA 984 CYS127-C 985 CYS127-O 986 CYS127-CB 987 CYS127-SG 988 GLY128-N 989 GLY128-CA 990 GLY128-C 991 GLY128-O 992 VAL129-N 993 VAL129-CA 994 VAL129-C 995 VAL129-O 996 VAL129-CB 997 VAL129-CG1 998 VAL129-CG2 999 NDG1-C1 1000 NDG1-C2 1001 NDG1-C3 1002 NDG1-C4 1003 NDG1-C5 1004 NDG1-C6 1005 NDG1-C7 1006 NDG1-C8 1007 NDG1-O5 1008 NDG1-O3 1009 NDG1-O4 1010 NDG1-O6 1011 NDG1-O7 1012 NDG1-N2 1013 NDG1-O1 1014 NAG2-C1 1015 NAG2-C2 1016 NAG2-C3 1017 NAG2-C4 1018 NAG2-C5 1019 NAG2-C6 1020 NAG2-C7 1021 NAG2-C8 1022 NAG2-N2 1023 NAG2-O3 1024 NAG2-O4 1025 NAG2-O5 1026 NAG2-O6 1027 NAG2-O7 1028 NAG3-C1 1029 NAG3-C2 1030 NAG3-C3 1031 NAG3-C4 1032 NAG3-C5 1033 NAG3-C6 1034 NAG3-C7 1035 NAG3-C8 1036 NAG3-N2 1037 NAG3-O3 1038 NAG3-O4 1039 NAG3-O5 1040 NAG3-O6 1041 NAG3-O7 1042 HOH133-O 1043 HOH134-O 1044 HOH135-O 1045 HOH136-O 1046 HOH137-O 1047 HOH138-O 1048 HOH139-O 1049 HOH140-O 1050 HOH141-O 1051 HOH142-O 1052 HOH143-O 1053 HOH144-O 1054 HOH145-O 1055 HOH146-O 1056 HOH147-O 1057 HOH148-O 1058 HOH149-O 1059 HOH150-O 1060 HOH151-O 1061 HOH152-O 1062 HOH153-O 1063 HOH154-O 1064 HOH155-O 1065 HOH156-O 1066 HOH157-O 1067 HOH158-O 1068 HOH159-O 1069 HOH160-O 1070 HOH161-O 1071 HOH162-O 1072 HOH163-O 1073 HOH164-O 1074 HOH165-O 1075 HOH166-O 1076 HOH167-O 1077 HOH168-O 1078 HOH169-O 1079 HOH170-O 1080 HOH171-O 1081 HOH172-O 1082 HOH173-O 1083 HOH174-O 1084 HOH175-O 1085 HOH176-O 1086 HOH177-O 1087 HOH178-O 1088 HOH179-O 1089 HOH180-O 1090 HOH181-O 1091 HOH182-O 1092 HOH183-O 1093 HOH184-O 1094 HOH185-O 1095 HOH186-O 1096 HOH187-O 1097 HOH188-O 1098 HOH189-O 1099 HOH190-O 1100 HOH191-O 1101 HOH192-O 1102 HOH193-O 1103 HOH194-O 1104 HOH195-O 1105 HOH196-O 1106 HOH197-O 1107 HOH198-O 1108 HOH199-O 1109 HOH200-O 1110 HOH201-O 1111 HOH202-O 1112 HOH203-O 1113 HOH204-O 1114 HOH205-O 1115 HOH206-O 1116 HOH207-O 1117 HOH208-O 1118 HOH209-O 1119 HOH210-O 1120 HOH211-O 1121 HOH212-O 1122 HOH213-O 1123 HOH214-O 1124 HOH215-O 1125 HOH216-O 1126 HOH217-O 1127 HOH218-O 1128 HOH219-O 1129 HOH220-O 1130 HOH221-O 1131 HOH222-O 1132 HOH223-O 1133 HOH224-O 1134 HOH225-O 1135 HOH226-O 1136 HOH227-O 1137 HOH228-O 1138 HOH229-O 1139 HOH230-O 1140 HOH231-O 1141 HOH232-O 1142 HOH233-O 1143 HOH234-O 1144 HOH235-O 1145 HOH236-O 1146 HOH237-O 1147 HOH238-O 1148 HOH239-O 1149 HOH240-O 1150 HOH241-O 1151 HOH242-O 1152 HOH243-O 1153 HOH244-O 1154 HOH245-O 1155 HOH246-O 1156 HOH247-O 1157 HOH248-O 1158 HOH249-O
u2 = u.atom_slice(range(999))
u2.save_pdb('1lmp-clean.pdb', force_overwrite=True)
Поиск геометрического центра лиганда
lig = u.atom_slice(range(999,1027)) #список номера атомов лиганда NAG
for v in lig.xyz:
lig_center = np.mean(v, axis=0)*10
lig_center
array([44.11347 , 42.506214, 26.762283], dtype=float32)
prot = next(oddt.toolkit.readfile('pdb','1lmp-clean.pdb'))
prot.protein = True
print('is it the first mol in 1lmp is protein?', prot.protein,':) and MW of this mol is:', prot.molwt)
is it the first mol in 1lmp is protein? True :) and MW of this mol is: 14263.108999999964
#smiles for NAG, -OH, -NH3+, -H, -Ph, -COO-
smiles = ["CC(=O)NC1C(O)OC(CO)C(O)C1O", "OC(=O)NC1C(O)OC(CO)C(O)C1O",
"[NH3+]C(=O)NC1C(O)OC(CO)C(O)C1O", "C(=O)NC1C(O)OC(CO)C(O)C1O",
"C=1(C=CC=CC1)C(=O)NC1C(O)OC(CO)C(O)C1O", "C(C([O-])=O)(=O)NC1C(O)OC(CO)C(O)C1O"]
mols= []
images =[]
for s in smiles:
m = oddt.toolkit.readstring('smi', s)
if not m.Mol.HasProp('3D'):
m.make3D(forcefield='mmff94', steps=150)
#m.removeh()
#m.addh(only_polar=True)
mols.append(m)
images.append((SVG(copy.deepcopy(m).write('svg'))))
display_svg(*images)
#create docking object
dock_obj= oddt.docking.AutodockVina.autodock_vina(
protein=prot,size=(20,20,20),center=lig_center,
executable='/usr/bin/vina',autocleanup=True, num_modes=9)
print(dock_obj.tmp_dir)
print(" ".join(dock_obj.params))
/tmp/autodock_vina_mv6yjoen --center_x 44.11347 --center_y 42.506214 --center_z 26.762283 --size_x 20 --size_y 20 --size_z 20 --exhaustiveness 8 --num_modes 9 --energy_range 3
# do it
res = dock_obj.dock(mols,prot)
Результаты докинга:
print('i\tformula\taff\trmsd\tname')
for i,r in enumerate(res):
### Узнаем дескриптор "формула"
formula = Chem.rdMolDescriptors.CalcMolFormula(r.Mol)
print("%4d%10s%8s%8s%8s" %(i, formula, r.data['vina_affinity'], r.data['vina_rmsd_ub'], r.residues[0].name))
i formula aff rmsd name 0 C8H15NO6 -4.8 0.000 UNL 1 C8H15NO6 -4.8 4.582 UNL 2 C8H15NO6 -4.4 4.509 UNL 3 C8H15NO6 -4.3 2.797 UNL 4 C8H15NO6 -4.3 4.742 UNL 5 C8H15NO6 -4.2 2.213 UNL 6 C8H15NO6 -4.2 4.785 UNL 7 C8H15NO6 -4.2 4.500 UNL 8 C8H15NO6 -4.1 3.915 UNL 9 C7H13NO7 -4.9 0.000 UNL 10 C7H13NO7 -4.8 5.031 UNL 11 C7H13NO7 -4.7 2.896 UNL 12 C7H13NO7 -4.7 3.903 UNL 13 C7H13NO7 -4.2 2.804 UNL 14 C7H13NO7 -4.2 4.043 UNL 15 C7H13NO7 -4.1 5.265 UNL 16 C7H13NO7 -4.1 4.867 UNL 17 C7H13NO7 -4.1 4.203 UNL 18C7H15N2O6+ -4.7 0.000 UNL 19C7H15N2O6+ -4.6 4.215 UNL 20C7H15N2O6+ -4.5 3.787 UNL 21C7H15N2O6+ -4.3 5.173 UNL 22C7H15N2O6+ -4.3 3.779 UNL 23C7H15N2O6+ -4.2 3.322 UNL 24C7H15N2O6+ -4.1 3.855 UNL 25C7H15N2O6+ -4.1 3.911 UNL 26C7H15N2O6+ -4.1 5.282 UNL 27 C7H13NO6 -4.3 0.000 UNL 28 C7H13NO6 -4.2 2.411 UNL 29 C7H13NO6 -4.1 4.885 UNL 30 C7H13NO6 -4.1 4.952 UNL 31 C7H13NO6 -4.0 4.962 UNL 32 C7H13NO6 -3.8 3.831 UNL 33 C7H13NO6 -3.8 5.007 UNL 34 C7H13NO6 -3.8 4.130 UNL 35 C7H13NO6 -3.7 5.554 UNL 36 C13H17NO6 -6.1 0.000 UNL 37 C13H17NO6 -6.0 6.977 UNL 38 C13H17NO6 -5.9 7.218 UNL 39 C13H17NO6 -5.8 7.162 UNL 40 C13H17NO6 -5.8 2.915 UNL 41 C13H17NO6 -5.7 2.543 UNL 42 C13H17NO6 -5.7 7.724 UNL 43 C13H17NO6 -5.7 7.235 UNL 44 C13H17NO6 -5.5 12.093 UNL 45 C8H12NO8- -5.2 0.000 UNL 46 C8H12NO8- -5.1 5.626 UNL 47 C8H12NO8- -5.0 3.786 UNL 48 C8H12NO8- -4.9 4.112 UNL 49 C8H12NO8- -4.9 2.158 UNL 50 C8H12NO8- -4.7 6.003 UNL 51 C8H12NO8- -4.7 4.385 UNL 52 C8H12NO8- -4.7 6.248 UNL 53 C8H12NO8- -4.7 4.653 UNL
Анализ докинга:
analyze = [0, 9, 18, 27, 36, 45]
print("i\tformula\thbonds_num\thbonds_strict\tstack_num\tstack_par\tstack_per\thydroph_num")
for i,r in enumerate(res):
if i not in analyze:
continue
formula = Chem.rdMolDescriptors.CalcMolFormula(r.Mol)
mol1, mol2, strict = oddt.interactions.hbonds(prot,r)
hbonds_num = len(mol1)
hbonds_strict = strict.sum()
r1, r2, strict_par, strict_per = oddt.interactions.pi_stacking(prot,r)
stack_num = len(r1)
stack_par = strict_par.sum()
stack_per = strict_per.sum()
mol1, mol2 = oddt.interactions.hydrophobic_contacts(prot,r)
hydroph_num = len(mol1)
print(i,"\t",formula,"\t",hbonds_num,"\t","\t",hbonds_strict,"\t","\t",stack_num,"\t","\t",stack_par,"\t","\t",stack_per,"\t","\t",hydroph_num)
i formula hbonds_num hbonds_strict stack_num stack_par stack_per hydroph_num 0 C8H15NO6 4 3 0 0 0 1 9 C7H13NO7 4 4 0 0 0 0 18 C7H15N2O6+ 3 3 0 0 0 0 27 C7H13NO6 7 4 0 0 0 0 36 C13H17NO6 3 1 1 0 0 4 45 C8H12NO8- 3 3 0 0 0 0
Из расчетов видно, что молекула 27 образует больше всех водородных связей, молекула 36 формирует стэкинг, гидрофобнфе контакты наблюдаются между молекулой 1lmp и молекулами 0 и 36.
for i,r in enumerate(res):
if i not in analyze:
continue
r.write(filename='mol%s.pdb' % i ,format='pdb', overwrite=True)
import __main__
__main__.pymol_argv = [ 'pymol', '-x' ]
import pymol
pymol.finish_launching()
from pymol import cmd,stored
import IPython.display
import ipywidgets
from IPython.display import display,display_svg,SVG,Image
cmd.do('''
load 1lmp-clean.pdb, protein
show surface, protein
''')
cmd.load(filename='mol0.pdb')
cmd.delete(all)
cmd.distance(name='Bonds',selection1='protein',selection2='mol0',cutoff=3.6,mode=2)
3.4533188343048096
display(Image('mol0.png'))
cmd.load(filename='mol18.pdb')
cmd.delete(all)
cmd.distance(name='Bonds',selection1='protein',selection2='mol18',cutoff=3.6,mode=2)
3.3046562671661377
display(Image('mol18.png'))
cmd.load(filename='mol27.pdb')
cmd.delete(all)
cmd.distance(name='Bonds',selection1='protein',selection2='mol27',cutoff=3.6,mode=2)
3.402482271194458
display(Image('mol27.png'))
cmd.load(filename='mol36.pdb')
cmd.delete(all)
cmd.distance(name='Bonds',selection1='protein',selection2='mol36',cutoff=3.6,mode=2)
3.312006950378418
display(Image('mol36.png'))
cmd.load(filename='mol45.pdb')
cmd.delete(all)
cmd.distance(name='Bonds',selection1='protein',selection2='mol45',cutoff=3.6,mode=2)
3.357966899871826
display(Image('mol45.png'))