Skip to content
This repository was archived by the owner on Sep 11, 2023. It is now read-only.

add_sidechain_torsions produces an errorΒ #1607

@hima111997

Description

@hima111997

Here's a quick checklist in what to include:

when i use add_sidechain_torsions it produces an error:

TypeError                                 Traceback (most recent call last)
Cell In[62], line 8
      5 xtc = [i for i in os.listdir(path) if i.endswith('.trr')]
      7 feat.add_backbone_torsions(periodic=False, selstr = 'index 0 to 6090', cossin=True) # 
----> 8 feat.add_sidechain_torsions(periodic=False, selstr = 'index 0 to 6090', cossin=True, which='all') # which means to add different dihedrals of siechains (chi1, 2, etc)
      9 data = pyemma.coordinates.source(xtc[0], features=feat)
     11 #feat.active_features = [] # this removes the previous features
     12 #
     13 #feat.add_selection(feat.select_Ca())
   (...)
     16 
     17 #feat.add_all() # XYZ coords

File ~/miniconda3/envs/emma/lib/python3.11/site-packages/pyemma/coordinates/data/featurization/featurizer.py:772, in MDFeaturizer.add_sidechain_torsions(self, selstr, deg, cossin, periodic, which)
    749 """
    750 Adds all side chain torsion angles or the ones specified in :obj:`selstr` to the feature list.
    751 
   (...)
    769     one or combination of ('all', 'chi1', 'chi2', 'chi3', 'chi4', 'chi5')
    770 """
    771 from .angles import SideChainTorsions
--> 772 f = SideChainTorsions(self.topology, selstr=selstr, deg=deg, cossin=cossin, periodic=periodic, which=which)
    773 self.__add_feature(f)

File ~/miniconda3/envs/emma/lib/python3.11/site-packages/pyemma/coordinates/data/featurization/angles.py:211, in SideChainTorsions.__init__(self, top, selstr, deg, cossin, periodic, which)
    209     raise ValueError('Could not determine any side chain dihedrals for your topology!')
    210 self._prefix_label_lengths = np.array([len(indices_dict[k]) if k in which else 0 for k in self.options])
--> 211 indices = np.vstack(valid.values())
    213 super(SideChainTorsions, self).__init__(top=top, dih_indexes=indices, deg=deg, cossin=cossin, periodic=periodic)

File ~/miniconda3/envs/emma/lib/python3.11/site-packages/numpy/core/shape_base.py:216, in _vhstack_dispatcher(tup, dtype, casting)
    215 def _vhstack_dispatcher(tup, *, dtype=None, casting=None):
--> 216     return _arrays_for_stack_dispatcher(tup)

File ~/miniconda3/envs/emma/lib/python3.11/site-packages/numpy/core/shape_base.py:209, in _arrays_for_stack_dispatcher(arrays)
    207 def _arrays_for_stack_dispatcher(arrays):
    208     if not hasattr(arrays, "__getitem__"):
--> 209         raise TypeError('arrays to stack must be passed as a "sequence" type '
    210                         'such as list or tuple.')
    212     return tuple(arrays)

TypeError: arrays to stack must be passed as a "sequence" type such as list or tuple.

i use pyemma 2.5.12 and this is the code i use is:

top = 'step1_pdbreader.psf'
feat = pyemma.coordinates.featurizer(top)
trr = 'trr file'
feat.add_backbone_torsions(periodic=False, selstr = 'index 0 to 6090', cossin=True) 
feat.add_sidechain_torsions(periodic=False, selstr = 'index 0 to 6090', cossin=True, which='all') 
data = pyemma.coordinates.source(trr, features=feat)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions