At the moment, encoding of the CB atoms in aposteriori (if -cb True) is made per residue basis, as the frames are processed. For example, the CB atom will be encoded in the (9,9,8,4) tensor of a given residue, if the number of voxels is set to 21. The "encode_cb_to_ampal_residue" function is called within create_residue_frame function each time a frame is created. Because of this, the earlier residues (N-terminal), will have less CB vector information around them. For the first frame for instance, no CB vector would be encoded in the surrounding residues, and in the second frame, it may be getting the CB vector information from the first frame but not from the subsequent residues. This means at the end, C-terminal residues have more CB vector information around them as more number of frames prior to them would have been processed.
Solution: CB vector should be encoded before the voxelisation begins, instead of within each frame processing.
At the moment, encoding of the CB atoms in aposteriori (if -cb True) is made per residue basis, as the frames are processed. For example, the CB atom will be encoded in the (9,9,8,4) tensor of a given residue, if the number of voxels is set to 21. The "encode_cb_to_ampal_residue" function is called within create_residue_frame function each time a frame is created. Because of this, the earlier residues (N-terminal), will have less CB vector information around them. For the first frame for instance, no CB vector would be encoded in the surrounding residues, and in the second frame, it may be getting the CB vector information from the first frame but not from the subsequent residues. This means at the end, C-terminal residues have more CB vector information around them as more number of frames prior to them would have been processed.
Solution: CB vector should be encoded before the voxelisation begins, instead of within each frame processing.