Intermediate dot indexing produced a comma-separated list with 34 values, but it must produce a single value when followed by subsequent indexing operations

조회 수: 9 (최근 30일)
% Starting from pdb file
Proteinname='1UXD';
uxd = getpdb(Proteinname);
No_of_residues = uxd.Sequence.NumOfResidues;
uxd.Model.Atom.resName
Intermediate dot '.' indexing produced a comma-separated list with 34 values, but it must produce a single value when followed by subsequent indexing operations.
isTYR = ({uxd.Model.Atom.resName} == "TYR")
uxdTYR = uxd.Model.Atom(isTYR)
In the above code, I am trying to extract the details of only the tyrosine residues from the protein '1UXD'. I am guessing the error is due to the presence of many models of the same protein in the pdb file which might have caused the output to be a comma separated list. I am in need of only the first model's tyrosine (TYR) details.. There is a possibility to handle this by turning the output into a cell array and extracting the first output which corresponds to the first model but I am uncertain of how to approach the code for this. Can anyone help :) Thankyou!

채택된 답변

Stephen23
Stephen23 2023년 3월 18일
편집: Stephen23 2023년 3월 18일
The documentation
states the the MODEL field can be a structure array. Your code does not take that into account.
"I am in need of only the first model's tyrosine (TYR) details"
If you only want the first model, then just use indexing into that array:
uxd.Model(1).Atom.resName
For more information:

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Genomics and Next Generation Sequencing에 대해 자세히 알아보기

제품

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by