Pr 9: Докинг низкомолекулярных лигандов в структуру белка

In [3]:
import numpy as np
import copy

# Отображение структур
import IPython.display
import ipywidgets
from IPython.display import display,display_svg,SVG,Image

# Органика
from rdkit.Chem import Draw
from rdkit import Chem
from rdkit.Chem.Draw import IPythonConsole

# Open Drug Discovery Toolkit
import oddt
import oddt.docking
import oddt.interactions
In [6]:
import mdtraj as md
u = md.load('../pdb/BPP2_lig.B99990001.pdb')
pdb = u.topology
for i,r in enumerate(pdb.atoms):
    print(i,r, end=("\t" if i % 8 else "\n"))
    #посмотрим на атомы
0 MET1-N
1 MET1-CA	2 MET1-CB	3 MET1-CG	4 MET1-SD	5 MET1-CE	6 MET1-C	7 MET1-O	8 PRO2-N
9 PRO2-CA	10 PRO2-CD	11 PRO2-CB	12 PRO2-CG	13 PRO2-C	14 PRO2-O	15 VAL3-N	16 VAL3-CA
17 VAL3-CB	18 VAL3-CG1	19 VAL3-CG2	20 VAL3-C	21 VAL3-O	22 ILE4-N	23 ILE4-CA	24 ILE4-CB
25 ILE4-CG1	26 ILE4-CG2	27 ILE4-CD1	28 ILE4-C	29 ILE4-O	30 ASN5-N	31 ASN5-CA	32 ASN5-CB
33 ASN5-CG	34 ASN5-OD1	35 ASN5-ND2	36 ASN5-C	37 ASN5-O	38 THR6-N	39 THR6-CA	40 THR6-CB
41 THR6-OG1	42 THR6-CG2	43 THR6-C	44 THR6-O	45 HIS7-N	46 HIS7-CA	47 HIS7-ND1	48 HIS7-CG
49 HIS7-CB	50 HIS7-NE2	51 HIS7-CD2	52 HIS7-CE1	53 HIS7-C	54 HIS7-O	55 GLN8-N	56 GLN8-CA
57 GLN8-CB	58 GLN8-CG	59 GLN8-CD	60 GLN8-OE1	61 GLN8-NE2	62 GLN8-C	63 GLN8-O	64 ASN9-N
65 ASN9-CA	66 ASN9-CB	67 ASN9-CG	68 ASN9-OD1	69 ASN9-ND2	70 ASN9-C	71 ASN9-O	72 ILE10-N
73 ILE10-CA	74 ILE10-CB	75 ILE10-CG1	76 ILE10-CG2	77 ILE10-CD1	78 ILE10-C	79 ILE10-O	80 ALA11-N
81 ALA11-CA	82 ALA11-CB	83 ALA11-C	84 ALA11-O	85 ALA12-N	86 ALA12-CA	87 ALA12-CB	88 ALA12-C
89 ALA12-O	90 PHE13-N	91 PHE13-CA	92 PHE13-CB	93 PHE13-CG	94 PHE13-CD1	95 PHE13-CD2	96 PHE13-CE1
97 PHE13-CE2	98 PHE13-CZ	99 PHE13-C	100 PHE13-O	101 LEU14-N	102 LEU14-CA	103 LEU14-CB	104 LEU14-CG
105 LEU14-CD1	106 LEU14-CD2	107 LEU14-C	108 LEU14-O	109 ASP15-N	110 ASP15-CA	111 ASP15-CB	112 ASP15-CG
113 ASP15-OD1	114 ASP15-OD2	115 ASP15-C	116 ASP15-O	117 MET16-N	118 MET16-CA	119 MET16-CB	120 MET16-CG
121 MET16-SD	122 MET16-CE	123 MET16-C	124 MET16-O	125 LEU17-N	126 LEU17-CA	127 LEU17-CB	128 LEU17-CG
129 LEU17-CD1	130 LEU17-CD2	131 LEU17-C	132 LEU17-O	133 ALA18-N	134 ALA18-CA	135 ALA18-CB	136 ALA18-C
137 ALA18-O	138 VAL19-N	139 VAL19-CA	140 VAL19-CB	141 VAL19-CG1	142 VAL19-CG2	143 VAL19-C	144 VAL19-O
145 SER20-N	146 SER20-CA	147 SER20-CB	148 SER20-OG	149 SER20-C	150 SER20-O	151 GLU21-N	152 GLU21-CA
153 GLU21-CB	154 GLU21-CG	155 GLU21-CD	156 GLU21-OE1	157 GLU21-OE2	158 GLU21-C	159 GLU21-O	160 GLY22-N
161 GLY22-CA	162 GLY22-C	163 GLY22-O	164 THR23-N	165 THR23-CA	166 THR23-CB	167 THR23-OG1	168 THR23-CG2
169 THR23-C	170 THR23-O	171 ALA24-N	172 ALA24-CA	173 ALA24-CB	174 ALA24-C	175 ALA24-O	176 ASN25-N
177 ASN25-CA	178 ASN25-CB	179 ASN25-CG	180 ASN25-OD1	181 ASN25-ND2	182 ASN25-C	183 ASN25-O	184 HIS26-N
185 HIS26-CA	186 HIS26-ND1	187 HIS26-CG	188 HIS26-CB	189 HIS26-NE2	190 HIS26-CD2	191 HIS26-CE1	192 HIS26-C
193 HIS26-O	194 PRO27-N	195 PRO27-CA	196 PRO27-CD	197 PRO27-CB	198 PRO27-CG	199 PRO27-C	200 PRO27-O
201 LEU28-N	202 LEU28-CA	203 LEU28-CB	204 LEU28-CG	205 LEU28-CD1	206 LEU28-CD2	207 LEU28-C	208 LEU28-O
209 THR29-N	210 THR29-CA	211 THR29-CB	212 THR29-OG1	213 THR29-CG2	214 THR29-C	215 THR29-O	216 LYS30-N
217 LYS30-CA	218 LYS30-CB	219 LYS30-CG	220 LYS30-CD	221 LYS30-CE	222 LYS30-NZ	223 LYS30-C	224 LYS30-O
225 ASN31-N	226 ASN31-CA	227 ASN31-CB	228 ASN31-CG	229 ASN31-OD1	230 ASN31-ND2	231 ASN31-C	232 ASN31-O
233 ARG32-N	234 ARG32-CA	235 ARG32-CB	236 ARG32-CG	237 ARG32-CD	238 ARG32-NE	239 ARG32-CZ	240 ARG32-NH1
241 ARG32-NH2	242 ARG32-C	243 ARG32-O	244 GLY33-N	245 GLY33-CA	246 GLY33-C	247 GLY33-O	248 TYR34-N
249 TYR34-CA	250 TYR34-CB	251 TYR34-CG	252 TYR34-CD1	253 TYR34-CD2	254 TYR34-CE1	255 TYR34-CE2	256 TYR34-CZ
257 TYR34-OH	258 TYR34-C	259 TYR34-O	260 ASP35-N	261 ASP35-CA	262 ASP35-CB	263 ASP35-CG	264 ASP35-OD1
265 ASP35-OD2	266 ASP35-C	267 ASP35-O	268 VAL36-N	269 VAL36-CA	270 VAL36-CB	271 VAL36-CG1	272 VAL36-CG2
273 VAL36-C	274 VAL36-O	275 ILE37-N	276 ILE37-CA	277 ILE37-CB	278 ILE37-CG1	279 ILE37-CG2	280 ILE37-CD1
281 ILE37-C	282 ILE37-O	283 VAL38-N	284 VAL38-CA	285 VAL38-CB	286 VAL38-CG1	287 VAL38-CG2	288 VAL38-C
289 VAL38-O	290 THR39-N	291 THR39-CA	292 THR39-CB	293 THR39-OG1	294 THR39-CG2	295 THR39-C	296 THR39-O
297 GLY40-N	298 GLY40-CA	299 GLY40-C	300 GLY40-O	301 LEU41-N	302 LEU41-CA	303 LEU41-CB	304 LEU41-CG
305 LEU41-CD1	306 LEU41-CD2	307 LEU41-C	308 LEU41-O	309 ASP42-N	310 ASP42-CA	311 ASP42-CB	312 ASP42-CG
313 ASP42-OD1	314 ASP42-OD2	315 ASP42-C	316 ASP42-O	317 GLY43-N	318 GLY43-CA	319 GLY43-C	320 GLY43-O
321 LYS44-N	322 LYS44-CA	323 LYS44-CB	324 LYS44-CG	325 LYS44-CD	326 LYS44-CE	327 LYS44-NZ	328 LYS44-C
329 LYS44-O	330 PRO45-N	331 PRO45-CA	332 PRO45-CD	333 PRO45-CB	334 PRO45-CG	335 PRO45-C	336 PRO45-O
337 GLU46-N	338 GLU46-CA	339 GLU46-CB	340 GLU46-CG	341 GLU46-CD	342 GLU46-OE1	343 GLU46-OE2	344 GLU46-C
345 GLU46-O	346 ILE47-N	347 ILE47-CA	348 ILE47-CB	349 ILE47-CG1	350 ILE47-CG2	351 ILE47-CD1	352 ILE47-C
353 ILE47-O	354 PHE48-N	355 PHE48-CA	356 PHE48-CB	357 PHE48-CG	358 PHE48-CD1	359 PHE48-CD2	360 PHE48-CE1
361 PHE48-CE2	362 PHE48-CZ	363 PHE48-C	364 PHE48-O	365 THR49-N	366 THR49-CA	367 THR49-CB	368 THR49-OG1
369 THR49-CG2	370 THR49-C	371 THR49-O	372 ASP50-N	373 ASP50-CA	374 ASP50-CB	375 ASP50-CG	376 ASP50-OD1
377 ASP50-OD2	378 ASP50-C	379 ASP50-O	380 TYR51-N	381 TYR51-CA	382 TYR51-CB	383 TYR51-CG	384 TYR51-CD1
385 TYR51-CD2	386 TYR51-CE1	387 TYR51-CE2	388 TYR51-CZ	389 TYR51-OH	390 TYR51-C	391 TYR51-O	392 SER52-N
393 SER52-CA	394 SER52-CB	395 SER52-OG	396 SER52-C	397 SER52-O	398 ASP53-N	399 ASP53-CA	400 ASP53-CB
401 ASP53-CG	402 ASP53-OD1	403 ASP53-OD2	404 ASP53-C	405 ASP53-O	406 HIS54-N	407 HIS54-CA	408 HIS54-ND1
409 HIS54-CG	410 HIS54-CB	411 HIS54-NE2	412 HIS54-CD2	413 HIS54-CE1	414 HIS54-C	415 HIS54-O	416 PRO55-N
417 PRO55-CA	418 PRO55-CD	419 PRO55-CB	420 PRO55-CG	421 PRO55-C	422 PRO55-O	423 PHE56-N	424 PHE56-CA
425 PHE56-CB	426 PHE56-CG	427 PHE56-CD1	428 PHE56-CD2	429 PHE56-CE1	430 PHE56-CE2	431 PHE56-CZ	432 PHE56-C
433 PHE56-O	434 ALA57-N	435 ALA57-CA	436 ALA57-CB	437 ALA57-C	438 ALA57-O	439 HIS58-N	440 HIS58-CA
441 HIS58-ND1	442 HIS58-CG	443 HIS58-CB	444 HIS58-NE2	445 HIS58-CD2	446 HIS58-CE1	447 HIS58-C	448 HIS58-O
449 GLY59-N	450 GLY59-CA	451 GLY59-C	452 GLY59-O	453 ARG60-N	454 ARG60-CA	455 ARG60-CB	456 ARG60-CG
457 ARG60-CD	458 ARG60-NE	459 ARG60-CZ	460 ARG60-NH1	461 ARG60-NH2	462 ARG60-C	463 ARG60-O	464 PRO61-N
465 PRO61-CA	466 PRO61-CD	467 PRO61-CB	468 PRO61-CG	469 PRO61-C	470 PRO61-O	471 ALA62-N	472 ALA62-CA
473 ALA62-CB	474 ALA62-C	475 ALA62-O	476 LYS63-N	477 LYS63-CA	478 LYS63-CB	479 LYS63-CG	480 LYS63-CD
481 LYS63-CE	482 LYS63-NZ	483 LYS63-C	484 LYS63-O	485 VAL64-N	486 VAL64-CA	487 VAL64-CB	488 VAL64-CG1
489 VAL64-CG2	490 VAL64-C	491 VAL64-O	492 PHE65-N	493 PHE65-CA	494 PHE65-CB	495 PHE65-CG	496 PHE65-CD1
497 PHE65-CD2	498 PHE65-CE1	499 PHE65-CE2	500 PHE65-CZ	501 PHE65-C	502 PHE65-O	503 ASN66-N	504 ASN66-CA
505 ASN66-CB	506 ASN66-CG	507 ASN66-OD1	508 ASN66-ND2	509 ASN66-C	510 ASN66-O	511 ARG67-N	512 ARG67-CA
513 ARG67-CB	514 ARG67-CG	515 ARG67-CD	516 ARG67-NE	517 ARG67-CZ	518 ARG67-NH1	519 ARG67-NH2	520 ARG67-C
521 ARG67-O	522 ARG68-N	523 ARG68-CA	524 ARG68-CB	525 ARG68-CG	526 ARG68-CD	527 ARG68-NE	528 ARG68-CZ
529 ARG68-NH1	530 ARG68-NH2	531 ARG68-C	532 ARG68-O	533 GLY69-N	534 GLY69-CA	535 GLY69-C	536 GLY69-O
537 GLU70-N	538 GLU70-CA	539 GLU70-CB	540 GLU70-CG	541 GLU70-CD	542 GLU70-OE1	543 GLU70-OE2	544 GLU70-C
545 GLU70-O	546 LYS71-N	547 LYS71-CA	548 LYS71-CB	549 LYS71-CG	550 LYS71-CD	551 LYS71-CE	552 LYS71-NZ
553 LYS71-C	554 LYS71-O	555 SER72-N	556 SER72-CA	557 SER72-CB	558 SER72-OG	559 SER72-C	560 SER72-O
561 THR73-N	562 THR73-CA	563 THR73-CB	564 THR73-OG1	565 THR73-CG2	566 THR73-C	567 THR73-O	568 ALA74-N
569 ALA74-CA	570 ALA74-CB	571 ALA74-C	572 ALA74-O	573 SER75-N	574 SER75-CA	575 SER75-CB	576 SER75-OG
577 SER75-C	578 SER75-O	579 GLY76-N	580 GLY76-CA	581 GLY76-C	582 GLY76-O	583 ARG77-N	584 ARG77-CA
585 ARG77-CB	586 ARG77-CG	587 ARG77-CD	588 ARG77-NE	589 ARG77-CZ	590 ARG77-NH1	591 ARG77-NH2	592 ARG77-C
593 ARG77-O	594 TYR78-N	595 TYR78-CA	596 TYR78-CB	597 TYR78-CG	598 TYR78-CD1	599 TYR78-CD2	600 TYR78-CE1
601 TYR78-CE2	602 TYR78-CZ	603 TYR78-OH	604 TYR78-C	605 TYR78-O	606 GLN79-N	607 GLN79-CA	608 GLN79-CB
609 GLN79-CG	610 GLN79-CD	611 GLN79-OE1	612 GLN79-NE2	613 GLN79-C	614 GLN79-O	615 GLN80-N	616 GLN80-CA
617 GLN80-CB	618 GLN80-CG	619 GLN80-CD	620 GLN80-OE1	621 GLN80-NE2	622 GLN80-C	623 GLN80-O	624 LEU81-N
625 LEU81-CA	626 LEU81-CB	627 LEU81-CG	628 LEU81-CD1	629 LEU81-CD2	630 LEU81-C	631 LEU81-O	632 TYR82-N
633 TYR82-CA	634 TYR82-CB	635 TYR82-CG	636 TYR82-CD1	637 TYR82-CD2	638 TYR82-CE1	639 TYR82-CE2	640 TYR82-CZ
641 TYR82-OH	642 TYR82-C	643 TYR82-O	644 LEU83-N	645 LEU83-CA	646 LEU83-CB	647 LEU83-CG	648 LEU83-CD1
649 LEU83-CD2	650 LEU83-C	651 LEU83-O	652 PHE84-N	653 PHE84-CA	654 PHE84-CB	655 PHE84-CG	656 PHE84-CD1
657 PHE84-CD2	658 PHE84-CE1	659 PHE84-CE2	660 PHE84-CZ	661 PHE84-C	662 PHE84-O	663 TRP85-N	664 TRP85-CA
665 TRP85-CB	666 TRP85-CG	667 TRP85-CD2	668 TRP85-CD1	669 TRP85-NE1	670 TRP85-CE2	671 TRP85-CE3	672 TRP85-CZ2
673 TRP85-CZ3	674 TRP85-CH2	675 TRP85-C	676 TRP85-O	677 PRO86-N	678 PRO86-CA	679 PRO86-CD	680 PRO86-CB
681 PRO86-CG	682 PRO86-C	683 PRO86-O	684 HIS87-N	685 HIS87-CA	686 HIS87-ND1	687 HIS87-CG	688 HIS87-CB
689 HIS87-NE2	690 HIS87-CD2	691 HIS87-CE1	692 HIS87-C	693 HIS87-O	694 TYR88-N	695 TYR88-CA	696 TYR88-CB
697 TYR88-CG	698 TYR88-CD1	699 TYR88-CD2	700 TYR88-CE1	701 TYR88-CE2	702 TYR88-CZ	703 TYR88-OH	704 TYR88-C
705 TYR88-O	706 ARG89-N	707 ARG89-CA	708 ARG89-CB	709 ARG89-CG	710 ARG89-CD	711 ARG89-NE	712 ARG89-CZ
713 ARG89-NH1	714 ARG89-NH2	715 ARG89-C	716 ARG89-O	717 LYS90-N	718 LYS90-CA	719 LYS90-CB	720 LYS90-CG
721 LYS90-CD	722 LYS90-CE	723 LYS90-NZ	724 LYS90-C	725 LYS90-O	726 GLN91-N	727 GLN91-CA	728 GLN91-CB
729 GLN91-CG	730 GLN91-CD	731 GLN91-OE1	732 GLN91-NE2	733 GLN91-C	734 GLN91-O	735 LEU92-N	736 LEU92-CA
737 LEU92-CB	738 LEU92-CG	739 LEU92-CD1	740 LEU92-CD2	741 LEU92-C	742 LEU92-O	743 ALA93-N	744 ALA93-CA
745 ALA93-CB	746 ALA93-C	747 ALA93-O	748 LEU94-N	749 LEU94-CA	750 LEU94-CB	751 LEU94-CG	752 LEU94-CD1
753 LEU94-CD2	754 LEU94-C	755 LEU94-O	756 PRO95-N	757 PRO95-CA	758 PRO95-CD	759 PRO95-CB	760 PRO95-CG
761 PRO95-C	762 PRO95-O	763 ASP96-N	764 ASP96-CA	765 ASP96-CB	766 ASP96-CG	767 ASP96-OD1	768 ASP96-OD2
769 ASP96-C	770 ASP96-O	771 PHE97-N	772 PHE97-CA	773 PHE97-CB	774 PHE97-CG	775 PHE97-CD1	776 PHE97-CD2
777 PHE97-CE1	778 PHE97-CE2	779 PHE97-CZ	780 PHE97-C	781 PHE97-O	782 SER98-N	783 SER98-CA	784 SER98-CB
785 SER98-OG	786 SER98-C	787 SER98-O	788 PRO99-N	789 PRO99-CA	790 PRO99-CD	791 PRO99-CB	792 PRO99-CG
793 PRO99-C	794 PRO99-O	795 LEU100-N	796 LEU100-CA	797 LEU100-CB	798 LEU100-CG	799 LEU100-CD1	800 LEU100-CD2
801 LEU100-C	802 LEU100-O	803 SER101-N	804 SER101-CA	805 SER101-CB	806 SER101-OG	807 SER101-C	808 SER101-O
809 GLN102-N	810 GLN102-CA	811 GLN102-CB	812 GLN102-CG	813 GLN102-CD	814 GLN102-OE1	815 GLN102-NE2	816 GLN102-C
817 GLN102-O	818 ASP103-N	819 ASP103-CA	820 ASP103-CB	821 ASP103-CG	822 ASP103-OD1	823 ASP103-OD2	824 ASP103-C
825 ASP103-O	826 ARG104-N	827 ARG104-CA	828 ARG104-CB	829 ARG104-CG	830 ARG104-CD	831 ARG104-NE	832 ARG104-CZ
833 ARG104-NH1	834 ARG104-NH2	835 ARG104-C	836 ARG104-O	837 LEU105-N	838 LEU105-CA	839 LEU105-CB	840 LEU105-CG
841 LEU105-CD1	842 LEU105-CD2	843 LEU105-C	844 LEU105-O	845 ALA106-N	846 ALA106-CA	847 ALA106-CB	848 ALA106-C
849 ALA106-O	850 ILE107-N	851 ILE107-CA	852 ILE107-CB	853 ILE107-CG1	854 ILE107-CG2	855 ILE107-CD1	856 ILE107-C
857 ILE107-O	858 GLN108-N	859 GLN108-CA	860 GLN108-CB	861 GLN108-CG	862 GLN108-CD	863 GLN108-OE1	864 GLN108-NE2
865 GLN108-C	866 GLN108-O	867 LEU109-N	868 LEU109-CA	869 LEU109-CB	870 LEU109-CG	871 LEU109-CD1	872 LEU109-CD2
873 LEU109-C	874 LEU109-O	875 ILE110-N	876 ILE110-CA	877 ILE110-CB	878 ILE110-CG1	879 ILE110-CG2	880 ILE110-CD1
881 ILE110-C	882 ILE110-O	883 ARG111-N	884 ARG111-CA	885 ARG111-CB	886 ARG111-CG	887 ARG111-CD	888 ARG111-NE
889 ARG111-CZ	890 ARG111-NH1	891 ARG111-NH2	892 ARG111-C	893 ARG111-O	894 GLU112-N	895 GLU112-CA	896 GLU112-CB
897 GLU112-CG	898 GLU112-CD	899 GLU112-OE1	900 GLU112-OE2	901 GLU112-C	902 GLU112-O	903 ARG113-N	904 ARG113-CA
905 ARG113-CB	906 ARG113-CG	907 ARG113-CD	908 ARG113-NE	909 ARG113-CZ	910 ARG113-NH1	911 ARG113-NH2	912 ARG113-C
913 ARG113-O	914 GLY114-N	915 GLY114-CA	916 GLY114-C	917 GLY114-O	918 ALA115-N	919 ALA115-CA	920 ALA115-CB
921 ALA115-C	922 ALA115-O	923 LEU116-N	924 LEU116-CA	925 LEU116-CB	926 LEU116-CG	927 LEU116-CD1	928 LEU116-CD2
929 LEU116-C	930 LEU116-O	931 ASP117-N	932 ASP117-CA	933 ASP117-CB	934 ASP117-CG	935 ASP117-OD1	936 ASP117-OD2
937 ASP117-C	938 ASP117-O	939 ASP118-N	940 ASP118-CA	941 ASP118-CB	942 ASP118-CG	943 ASP118-OD1	944 ASP118-OD2
945 ASP118-C	946 ASP118-O	947 ILE119-N	948 ILE119-CA	949 ILE119-CB	950 ILE119-CG1	951 ILE119-CG2	952 ILE119-CD1
953 ILE119-C	954 ILE119-O	955 ARG120-N	956 ARG120-CA	957 ARG120-CB	958 ARG120-CG	959 ARG120-CD	960 ARG120-NE
961 ARG120-CZ	962 ARG120-NH1	963 ARG120-NH2	964 ARG120-C	965 ARG120-O	966 ALA121-N	967 ALA121-CA	968 ALA121-CB
969 ALA121-C	970 ALA121-O	971 GLY122-N	972 GLY122-CA	973 GLY122-C	974 GLY122-O	975 ARG123-N	976 ARG123-CA
977 ARG123-CB	978 ARG123-CG	979 ARG123-CD	980 ARG123-NE	981 ARG123-CZ	982 ARG123-NH1	983 ARG123-NH2	984 ARG123-C
985 ARG123-O	986 ILE124-N	987 ILE124-CA	988 ILE124-CB	989 ILE124-CG1	990 ILE124-CG2	991 ILE124-CD1	992 ILE124-C
993 ILE124-O	994 GLU125-N	995 GLU125-CA	996 GLU125-CB	997 GLU125-CG	998 GLU125-CD	999 GLU125-OE1	1000 GLU125-OE2
1001 GLU125-C	1002 GLU125-O	1003 ARG126-N	1004 ARG126-CA	1005 ARG126-CB	1006 ARG126-CG	1007 ARG126-CD	1008 ARG126-NE
1009 ARG126-CZ	1010 ARG126-NH1	1011 ARG126-NH2	1012 ARG126-C	1013 ARG126-O	1014 ALA127-N	1015 ALA127-CA	1016 ALA127-CB
1017 ALA127-C	1018 ALA127-O	1019 ILE128-N	1020 ILE128-CA	1021 ILE128-CB	1022 ILE128-CG1	1023 ILE128-CG2	1024 ILE128-CD1
1025 ILE128-C	1026 ILE128-O	1027 SER129-N	1028 SER129-CA	1029 SER129-CB	1030 SER129-OG	1031 SER129-C	1032 SER129-O
1033 ARG130-N	1034 ARG130-CA	1035 ARG130-CB	1036 ARG130-CG	1037 ARG130-CD	1038 ARG130-NE	1039 ARG130-CZ	1040 ARG130-NH1
1041 ARG130-NH2	1042 ARG130-C	1043 ARG130-O	1044 CYS131-N	1045 CYS131-CA	1046 CYS131-CB	1047 CYS131-SG	1048 CYS131-C
1049 CYS131-O	1050 ARG132-N	1051 ARG132-CA	1052 ARG132-CB	1053 ARG132-CG	1054 ARG132-CD	1055 ARG132-NE	1056 ARG132-CZ
1057 ARG132-NH1	1058 ARG132-NH2	1059 ARG132-C	1060 ARG132-O	1061 ASN133-N	1062 ASN133-CA	1063 ASN133-CB	1064 ASN133-CG
1065 ASN133-OD1	1066 ASN133-ND2	1067 ASN133-C	1068 ASN133-O	1069 ILE134-N	1070 ILE134-CA	1071 ILE134-CB	1072 ILE134-CG1
1073 ILE134-CG2	1074 ILE134-CD1	1075 ILE134-C	1076 ILE134-O	1077 TRP135-N	1078 TRP135-CA	1079 TRP135-CB	1080 TRP135-CG
1081 TRP135-CD2	1082 TRP135-CD1	1083 TRP135-NE1	1084 TRP135-CE2	1085 TRP135-CE3	1086 TRP135-CZ2	1087 TRP135-CZ3	1088 TRP135-CH2
1089 TRP135-C	1090 TRP135-O	1091 ALA136-N	1092 ALA136-CA	1093 ALA136-CB	1094 ALA136-C	1095 ALA136-O	1096 SER137-N
1097 SER137-CA	1098 SER137-CB	1099 SER137-OG	1100 SER137-C	1101 SER137-O	1102 LEU138-N	1103 LEU138-CA	1104 LEU138-CB
1105 LEU138-CG	1106 LEU138-CD1	1107 LEU138-CD2	1108 LEU138-C	1109 LEU138-O	1110 PRO139-N	1111 PRO139-CA	1112 PRO139-CD
1113 PRO139-CB	1114 PRO139-CG	1115 PRO139-C	1116 PRO139-O	1117 GLY140-N	1118 GLY140-CA	1119 GLY140-C	1120 GLY140-O
1121 ALA141-N	1122 ALA141-CA	1123 ALA141-CB	1124 ALA141-C	1125 ALA141-O	1126 GLY142-N	1127 GLY142-CA	1128 GLY142-C
1129 GLY142-O	1130 TYR143-N	1131 TYR143-CA	1132 TYR143-CB	1133 TYR143-CG	1134 TYR143-CD1	1135 TYR143-CD2	1136 TYR143-CE1
1137 TYR143-CE2	1138 TYR143-CZ	1139 TYR143-OH	1140 TYR143-C	1141 TYR143-O	1142 GLY144-N	1143 GLY144-CA	1144 GLY144-C
1145 GLY144-O	1146 GLN145-N	1147 GLN145-CA	1148 GLN145-CB	1149 GLN145-CG	1150 GLN145-CD	1151 GLN145-OE1	1152 GLN145-NE2
1153 GLN145-C	1154 GLN145-O	1155 ARG146-N	1156 ARG146-CA	1157 ARG146-CB	1158 ARG146-CG	1159 ARG146-CD	1160 ARG146-NE
1161 ARG146-CZ	1162 ARG146-NH1	1163 ARG146-NH2	1164 ARG146-C	1165 ARG146-O	1166 GLU147-N	1167 GLU147-CA	1168 GLU147-CB
1169 GLU147-CG	1170 GLU147-CD	1171 GLU147-OE1	1172 GLU147-OE2	1173 GLU147-C	1174 GLU147-O	1175 HIS148-N	1176 HIS148-CA
1177 HIS148-ND1	1178 HIS148-CG	1179 HIS148-CB	1180 HIS148-NE2	1181 HIS148-CD2	1182 HIS148-CE1	1183 HIS148-C	1184 HIS148-O
1185 SER149-N	1186 SER149-CA	1187 SER149-CB	1188 SER149-OG	1189 SER149-C	1190 SER149-O	1191 LEU150-N	1192 LEU150-CA
1193 LEU150-CB	1194 LEU150-CG	1195 LEU150-CD1	1196 LEU150-CD2	1197 LEU150-C	1198 LEU150-O	1199 GLU151-N	1200 GLU151-CA
1201 GLU151-CB	1202 GLU151-CG	1203 GLU151-CD	1204 GLU151-OE1	1205 GLU151-OE2	1206 GLU151-C	1207 GLU151-O	1208 LYS152-N
1209 LYS152-CA	1210 LYS152-CB	1211 LYS152-CG	1212 LYS152-CD	1213 LYS152-CE	1214 LYS152-NZ	1215 LYS152-C	1216 LYS152-O
1217 LEU153-N	1218 LEU153-CA	1219 LEU153-CB	1220 LEU153-CG	1221 LEU153-CD1	1222 LEU153-CD2	1223 LEU153-C	1224 LEU153-O
1225 VAL154-N	1226 VAL154-CA	1227 VAL154-CB	1228 VAL154-CG1	1229 VAL154-CG2	1230 VAL154-C	1231 VAL154-O	1232 THR155-N
1233 THR155-CA	1234 THR155-CB	1235 THR155-OG1	1236 THR155-CG2	1237 THR155-C	1238 THR155-O	1239 VAL156-N	1240 VAL156-CA
1241 VAL156-CB	1242 VAL156-CG1	1243 VAL156-CG2	1244 VAL156-C	1245 VAL156-O	1246 TRP157-N	1247 TRP157-CA	1248 TRP157-CB
1249 TRP157-CG	1250 TRP157-CD2	1251 TRP157-CD1	1252 TRP157-NE1	1253 TRP157-CE2	1254 TRP157-CE3	1255 TRP157-CZ2	1256 TRP157-CZ3
1257 TRP157-CH2	1258 TRP157-C	1259 TRP157-O	1260 ARG158-N	1261 ARG158-CA	1262 ARG158-CB	1263 ARG158-CG	1264 ARG158-CD
1265 ARG158-NE	1266 ARG158-CZ	1267 ARG158-NH1	1268 ARG158-NH2	1269 ARG158-C	1270 ARG158-O	1271 THR159-N	1272 THR159-CA
1273 THR159-CB	1274 THR159-OG1	1275 THR159-CG2	1276 THR159-C	1277 THR159-O	1278 ALA160-N	1279 ALA160-CA	1280 ALA160-CB
1281 ALA160-C	1282 ALA160-O	1283 GLY161-N	1284 GLY161-CA	1285 GLY161-C	1286 GLY161-O	1287 GLY162-N	1288 GLY162-CA
1289 GLY162-C	1290 GLY162-O	1291 VAL163-N	1292 VAL163-CA	1293 VAL163-CB	1294 VAL163-CG1	1295 VAL163-CG2	1296 VAL163-C
1297 VAL163-O	1298 PRO164-N	1299 PRO164-CA	1300 PRO164-CD	1301 PRO164-CB	1302 PRO164-CG	1303 PRO164-C	1304 PRO164-O
1305 ALA165-N	1306 ALA165-CA	1307 ALA165-CB	1308 ALA165-C	1309 ALA165-O	1310 ALA165-OXT	1311 NAG166-C1	1312 NAG166-C2
1313 NAG166-C3	1314 NAG166-C4	1315 NAG166-C5	1316 NAG166-C6	1317 NAG166-C7	1318 NAG166-C8	1319 NAG166-N2	1320 NAG166-O3
1321 NAG166-O4	1322 NAG166-O5	1323 NAG166-O6	1324 NAG166-O7	1325 NAG167-C1	1326 NAG167-C2	1327 NAG167-C3	1328 NAG167-C4
1329 NAG167-C5	1330 NAG167-C6	1331 NAG167-C7	1332 NAG167-C8	1333 NAG167-N2	1334 NAG167-O3	1335 NAG167-O4	1336 NAG167-O5
1337 NAG167-O6	1338 NAG167-O7	1339 NDG168-C1	1340 NDG168-C2	1341 NDG168-C3	1342 NDG168-C4	1343 NDG168-C5	1344 NDG168-C6
1345 NDG168-C7	1346 NDG168-C8	1347 NDG168-O	1348 NDG168-O3	1349 NDG168-O4	1350 NDG168-O6	1351 NDG168-O7	1352 NDG168-N2
1353 NDG168-O1L	

Последний атом белка 1310

Последний атом лиганда 1353

In [13]:
# сохраним pdb без лиганда
u2 = u.atom_slice(range(1310 + 1))
u2.save_pdb('BPP2_nolig.pdb')
In [34]:
#Найдем геометрический центр лиганда.
ligand = u.atom_slice(range(1310 + 1, 1353 + 1))
lig_center = np.mean(ligand.xyz, axis=1) * 10  # To angstroms
lig_center = center.reshape(3,)
In [35]:
lig_center
Out[35]:
array([42.18213 , 39.113697, 19.774746], dtype=float32)
In [36]:
prot = next(oddt.toolkits.rdk.readfile('pdb', 'BPP2_nolig.pdb'))
prot.protein, prot.molwt
Out[36]:
(False, 18522.153999999977)
In [37]:
smiles = ["CC(=O)NC1C(O)OC(CO)C(O)C1O",  # NAG
          "OC(=O)NC1C(O)OC(CO)C(O)C1O",  # -OH
          "[NH3+]C(=O)NC1C(O)OC(CO)C(O)C1O",  # -NH3+
          "C(=O)NC1C(O)OC(CO)C(O)C1O",  # -H
          "C=1(C=CC=CC1)C(=O)NC1C(O)OC(CO)C(O)C1O",  # -Ph
          "C(C([O-])=O)(=O)NC1C(O)OC(CO)C(O)C1O"  # -COO-
         ]

mols= []
images =[]

for s in smiles:
    m = oddt.toolkits.rdk.readstring('smi', s)
    m.make3D(forcefield='mmff94', steps=150)

    mols.append(m)
    print(Chem.rdMolDescriptors.CalcMolFormula(m.Mol))
    images.append((SVG(copy.deepcopy(m).write('svg'))))
    
display(*images)
C8H15NO6
C7H13NO7
C7H15N2O6+
C7H13NO6
C13H17NO6
C8H12NO8-
O N H HO O OH OH OH
HO O N H HO O OH OH OH
H3N+ O N H HO O OH OH OH
O N H HO O OH OH OH
O N H OH O HO OH OH
O- O O N H HO O OH OH OH
In [38]:
#create docking object
dock_obj= oddt.docking.AutodockVina.autodock_vina(protein=prot,
                                                  size=(20, 20, 20),
                                                  center=lig_center,
                                                  executable='./vina',
                                                  autocleanup=True,
                                                  num_modes=9,
                                                  prefix_dir='.')

print(dock_obj.tmp_dir)
print(" ".join(dock_obj.params))
.\autodock_vina_ctpjj1tc
--center_x 42.18213 --center_y 39.113697 --center_z 19.774746 --size_x 20 --size_y 20 --size_z 20 --exhaustiveness 8 --num_modes 9 --energy_range 3
In [39]:
# do it! *do it* do it. do-it-do-it-do-it-do-it!
res = dock_obj.dock(mols, prot)

И смотрим на результат:

In [40]:
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))
   0  C8H15NO6    -4.2   0.000     UNL
   1  C8H15NO6    -4.2   4.813     UNL
   2  C8H15NO6    -4.2  16.231     UNL
   3  C8H15NO6    -4.0   3.155     UNL
   4  C8H15NO6    -4.0  18.901     UNL
   5  C8H15NO6    -3.9   2.621     UNL
   6  C8H15NO6    -3.9  17.133     UNL
   7  C8H15NO6    -3.7   3.662     UNL
   8  C8H15NO6    -3.7  19.894     UNL
   9  C7H13NO7    -5.3   0.000     UNL
  10  C7H13NO7    -5.3   5.414     UNL
  11  C7H13NO7    -5.2   4.979     UNL
  12  C7H13NO7    -4.9   4.548     UNL
  13  C7H13NO7    -4.7   3.018     UNL
  14  C7H13NO7    -4.6   2.678     UNL
  15  C7H13NO7    -4.5   2.861     UNL
  16  C7H13NO7    -4.4   2.911     UNL
  17  C7H13NO7    -4.3   3.654     UNL
  18C7H15N2O6+    -5.1   0.000     UNL
  19C7H15N2O6+    -4.6   5.265     UNL
  20C7H15N2O6+    -4.6   3.319     UNL
  21C7H15N2O6+    -4.5   5.374     UNL
  22C7H15N2O6+    -4.4   2.914     UNL
  23C7H15N2O6+    -4.1  16.828     UNL
  24C7H15N2O6+    -4.0  15.046     UNL
  25C7H15N2O6+    -4.0   3.385     UNL
  26C7H15N2O6+    -3.7   5.140     UNL
  27  C7H13NO6    -4.4   0.000     UNL
  28  C7H13NO6    -4.1   4.155     UNL
  29  C7H13NO6    -4.1   3.798     UNL
  30  C7H13NO6    -4.0  15.490     UNL
  31  C7H13NO6    -3.9   1.265     UNL
  32  C7H13NO6    -3.8  15.676     UNL
  33  C7H13NO6    -3.5   3.506     UNL
  34  C7H13NO6    -3.5  15.293     UNL
  35  C7H13NO6    -3.5  14.704     UNL
  36 C13H17NO6    -6.1   0.000     UNL
  37 C13H17NO6    -5.7   3.081     UNL
  38 C13H17NO6    -5.5   2.838     UNL
  39 C13H17NO6    -5.4  16.088     UNL
  40 C13H17NO6    -5.3   6.201     UNL
  41 C13H17NO6    -5.2  17.462     UNL
  42 C13H17NO6    -5.2   4.230     UNL
  43 C13H17NO6    -5.1   7.040     UNL
  44 C13H17NO6    -4.9   6.711     UNL
  45 C8H12NO8-    -4.7   0.000     UNL
  46 C8H12NO8-    -4.7   5.869     UNL
  47 C8H12NO8-    -4.6   5.501     UNL
  48 C8H12NO8-    -4.5  15.267     UNL
  49 C8H12NO8-    -4.5  15.300     UNL
  50 C8H12NO8-    -4.4   3.623     UNL
  51 C8H12NO8-    -4.4  15.652     UNL
  52 C8H12NO8-    -4.3  15.781     UNL
  53 C8H12NO8-    -4.2   5.956     UNL
In [41]:
import pandas as pd
In [42]:
results_df = pd.DataFrame([[Chem.rdMolDescriptors.CalcMolFormula(r.Mol), r.data['vina_affinity'],  r.data['vina_rmsd_ub'], r.residues[0].name] for r in res],
                          columns=['brutto', 'affinity', 'ub', 'name'])
results_df.sort_values(by=['affinity'], ascending=False)
Out[42]:
brutto affinity ub name
36 C13H17NO6 -6.1 0.000 UNL
37 C13H17NO6 -5.7 3.081 UNL
38 C13H17NO6 -5.5 2.838 UNL
39 C13H17NO6 -5.4 16.088 UNL
40 C13H17NO6 -5.3 6.201 UNL
9 C7H13NO7 -5.3 0.000 UNL
10 C7H13NO7 -5.3 5.414 UNL
42 C13H17NO6 -5.2 4.230 UNL
41 C13H17NO6 -5.2 17.462 UNL
11 C7H13NO7 -5.2 4.979 UNL
43 C13H17NO6 -5.1 7.040 UNL
18 C7H15N2O6+ -5.1 0.000 UNL
12 C7H13NO7 -4.9 4.548 UNL
44 C13H17NO6 -4.9 6.711 UNL
13 C7H13NO7 -4.7 3.018 UNL
46 C8H12NO8- -4.7 5.869 UNL
45 C8H12NO8- -4.7 0.000 UNL
14 C7H13NO7 -4.6 2.678 UNL
47 C8H12NO8- -4.6 5.501 UNL
19 C7H15N2O6+ -4.6 5.265 UNL
20 C7H15N2O6+ -4.6 3.319 UNL
15 C7H13NO7 -4.5 2.861 UNL
48 C8H12NO8- -4.5 15.267 UNL
21 C7H15N2O6+ -4.5 5.374 UNL
49 C8H12NO8- -4.5 15.300 UNL
27 C7H13NO6 -4.4 0.000 UNL
22 C7H15N2O6+ -4.4 2.914 UNL
50 C8H12NO8- -4.4 3.623 UNL
51 C8H12NO8- -4.4 15.652 UNL
16 C7H13NO7 -4.4 2.911 UNL
17 C7H13NO7 -4.3 3.654 UNL
52 C8H12NO8- -4.3 15.781 UNL
0 C8H15NO6 -4.2 0.000 UNL
53 C8H12NO8- -4.2 5.956 UNL
2 C8H15NO6 -4.2 16.231 UNL
1 C8H15NO6 -4.2 4.813 UNL
23 C7H15N2O6+ -4.1 16.828 UNL
29 C7H13NO6 -4.1 3.798 UNL
28 C7H13NO6 -4.1 4.155 UNL
24 C7H15N2O6+ -4.0 15.046 UNL
3 C8H15NO6 -4.0 3.155 UNL
4 C8H15NO6 -4.0 18.901 UNL
25 C7H15N2O6+ -4.0 3.385 UNL
30 C7H13NO6 -4.0 15.490 UNL
6 C8H15NO6 -3.9 17.133 UNL
5 C8H15NO6 -3.9 2.621 UNL
31 C7H13NO6 -3.9 1.265 UNL
32 C7H13NO6 -3.8 15.676 UNL
26 C7H15N2O6+ -3.7 5.140 UNL
8 C8H15NO6 -3.7 19.894 UNL
7 C8H15NO6 -3.7 3.662 UNL
34 C7H13NO6 -3.5 15.293 UNL
35 C7H13NO6 -3.5 14.704 UNL
33 C7H13NO6 -3.5 3.506 UNL
In [43]:
indices = [36, 37, 38, 9, 0]
for i,r in [(i, res[i]) for i in indices]:
    r.write(filename='r%s.pdb' % i, format='pdb')
In [62]:
import __main__
__main__.pymol_argv = [ 'pymol', '-x' ]

import pymol
pymol.finish_launching()
from pymol import cmd
In [156]:
cmd.reinitialize()
In [157]:
cmd.bg_color('white')
cmd.set('ray_trace_mode', 1)
In [158]:
cmd.load('BPP2_nolig.pdb', 'protein')
In [159]:
cmd.h_add('protein')
In [160]:
cmd.show('surface', 'protein')
In [161]:
for i in indices:
    cmd.load(f'r{i}.pdb', f'r_{i}')
    cmd.zoom(f'r_{i}')    
In [163]:
cmd.center('r_36')
In [166]:
cmd.do('png r36.png')
In [167]:
Image('r36.png')
Out[167]:
In [168]:
cmd.center('r_37')
In [169]:
cmd.do('png r37.png')
In [170]:
Image('r37.png')
Out[170]:
In [172]:
cmd.center('r_38')
In [177]:
cmd.do('png r38.png')
In [182]:
Image('r38.png')
Out[182]:
In [179]:
cmd.center('r_9')
In [180]:
cmd.do('png r9.png')
In [181]:
Image('r9.png')
Out[181]: