Beispiel #1
0
def pdb2map(op):
    # convert to density maps
    import aitom.structure.pdb.situs_pdb2vol__batch as TSPS
    import aitom.image.vol.util as TIVU
    ms = TSPS.batch_processing(op)

    # use resize_center_batch_dict() to change maps into same size
    ms = {_: ms[_][10.0][10.0]['map'] for _ in ms}
    import numpy as np
    for n in ms:
        print(n, np.shape(ms[n]))
    ms = TIVU.resize_center_batch_dict(vs=ms, cval=0.0)
    print('#resize#')
    for n in ms:
        print(n, np.shape(ms[n]))

    return ms
/shared/opt/local/img/em/et/util/situs/Situs_2.7.2/bin/pdb2vol
/opt/local/img/em/et/util/situs/Situs_2.7.2/bin/pdb2vol

spacing_s: is the voxel spacing in Anstron
resolution_s: the image resolution in Anstron
pdb_dir: the directory that contains pdb files. Could be your own directory or /shared/shared/data/pdb or /shared/data/pdb
out_file: the output file that contains converted density maps
'''
op = {
    'situs_pdb2vol_program':
    '/shared/opt/local/img/em/et/util/situs/Situs_2.7.2/bin/pdb2vol',
    'spacing_s': [10.0],
    'resolution_s': [10.0],
    'pdb_dir': '/shared/data/pdb',
    'out_file': 'situs_maps.pickle'
}

# convert to density maps, save to situs_maps.pickle
import aitom.structure.pdb.situs_pdb2vol__batch as TSPS
TSPS.batch_processing(op)
'''
The density maps in situs_maps.pickle have different sizes for different structures,
use resize_center_batch_dict() to change them into same size
'''
import aitom.io.file as TIF
ms = TIF.pickle_load('situs_maps.pickle')

ms = {_: ms[_][10.0][10.0]['map'] for _ in ms}
import aitom.image.vol.util as TIVU
ms = TIVU.resize_center_batch_dict(vs=ms, cval=0.0)