After all, I did not study in vain! How cool algorithms and school formulas help create innovative medicines

image



Introduction



My name is Alexander Sadovnikov , I am a graduate of the ITMO and JetBrains corporate master's programs in Software Development and also a senior bioinformatics software developer in the Computational Biology Department of BIOCAD .



— . : .



, , , , . - . , , . , . , , . , , , , .



, , , , .





, . , , . , , . , , . , !



image



. ( L1, L2, L3 H1, H2, H3). : — -! . .



image

. , — . .



, . , , . , , , — , . , . , .



, . , , — , . , , . . , , . , .





, , . , , . , , , , Piper, .



. , . , . , , .



image



, , : , . , , . .





. , . 1992 - (, , , ).



. . , . , .



, :



complexes = []

#        
for rotation in rotations: 
    #        
    for shift in shifts: 
        #      
        #      
        moved_mol2 = rotate_and_shift(mol2, rotation, shift) 

        #    ,    
        #    
        new_complex = (mol1, moved_mol2) 

        complexes.append(new_complex)

#       
complexes.sort(lambda candidate_complex: score_complex(candidate_complex)) 


. , , , . — . RS , R — , S — . RS 105. .



1992 , , . .



, , , . :



cellijk={1, p, 0, .



1 , , . p, 0 1, , , . 0 . .



image



. , . , , . , 1. , , , . , , .



, . , , , , .



: O(N3), N — , O(RSN3). . , . , . . : O(RN6). , , N, 102.



- . ( ), O(N3logN) . , FFT. O(RN3logN), , .



- :



complexes = []

#      
grid_for_mol1 = build_grid(mol1) 

#      
fft_mol1 = fft_3d(grid_for_mol1) 

#        
for rotation in rotations: 
    #       
    rotated_mol2 = rotate(mol2, rotation) 

    #       
    grid_for_mol2 = build_grid(rotated_mol2) 

    #      
    fft_mol2 = fft_3d(rotated_mol2) 

    #    .   
    #       
    # . ,  ,     
    #        
    correlations = ifft_3d(fft_mol1 * fft_mol2) 

    #    ,    
    #    
    rotation_complexes = map(lambda shift_: (mol1, shift(rotated_mol2, shift_))) 

    #         
    #     
    complexes += list(zip(rotation_complexes, correlations)) 

#       
complexes.sort(lambda (candidate_complex, score): score) 


, . , , , .





, , , . , , .



. , , , , .



, Piper, . — , , . :



ESP=INjMSPij,



N M — , SPiji j SP.



, . , , . ( ), , .



. , Piper : DARS (Decoys as Reference State) aADARS (asymmetric Antibody DARS). aADARS , DARS — .



, . aADARS, . , . — WAASP (Widely Applicable Antibody Statistical Potential). WAASP HEDGE, , :



image

HEDGE,



, , , , DARS aADARS.



, ( , ). 7 , !





, . , , , . -10000 , , . 10000 , .



. , : , , . , . , , . , .



. . . RMSD (Root-Mean-Square Deviation). RMSD .



, , , , . , : , , — . , . , . , .



250 , . — , . , 10000 250, . .





image



. , !



, . , , . . , , . , , , (, , !). , .



, , , , , . , , : — -, , ! , - , , .



, , : . , .



-, - , . -, , , , , .



, . . , , , .



, . , . , -, , , , .



. !



: , , , , — ! . , (, , ), : , .



. , — . , . , .



, , : . . , : , , , . , .



image

,



, . , . : - , ( ). , , . , .



. , , , . 30 , .



, !





, .



, . . , . : - !



, , , ( , ) . , , — . , , ( !) .



, , . , , . . . , , — .




All Articles