Find a specific characters in a string

6 ビュー (過去 30 日間)
Miriam Contreras Castillo
Miriam Contreras Castillo 2022 年 11 月 25 日
編集済み: Stephen23 2022 年 11 月 26 日
Hello, I am trying to I get certain amino acids from my sequence, however, my output only gives that there are 3 of the amino acids I am looking for but I want it to tell me the amino acid name and create a new string.
I would also want my code to run other larger sequences if need be.
I am not sure if a swich case was the best approach to do this task. Can someone please help me, thank you!
aminoacids = 'MetArgGlyLeuAspTrpAspGlyAsn'
for d = 1:3:(length(aminoacids)-2)
rgroup = aminoacids(d:(d+2));
switch (rgroup)
case {'Arg', 'Asp', 'Cys', 'Glu','Lys','Tyr'}
disp(aminoacids)
end
end

採用された回答

Stephen23
Stephen23 2022 年 11 月 25 日
C = {'Arg', 'Asp', 'Cys', 'Glu','Lys','Tyr'};
T = 'MetArgGlyLeuAspTrpAspGlyAsn';
R = join(string(C),'|');
A = regexp(T,R,'match')
A = 1×3 cell array
{'Arg'} {'Asp'} {'Asp'}
  4 件のコメント
Miriam Contreras Castillo
Miriam Contreras Castillo 2022 年 11 月 26 日
編集済み: Miriam Contreras Castillo 2022 年 11 月 26 日
Thank you! But this only works for cell type data? What if it is just a string?
Stephen23
Stephen23 2022 年 11 月 26 日
編集済み: Stephen23 2022 年 11 月 26 日
"But this only works for cell type data? What if it is just a string?"
It works for string arrays too:
S = ["Arg", "Asp", "Cys", "Glu", "Lys", "Tyr"];
T = "MetArgGlyLeuAspTrpAspGlyAsn";
R = join(S,'|');
A = regexp(T,R,'match')
A = 1×3 string array
"Arg" "Asp" "Asp"

サインインしてコメントする。

その他の回答 (1 件)

Paul
Paul 2022 年 11 月 26 日
編集済み: Paul 2022 年 11 月 26 日
Hi Miriam
I'm not quite sure what you're looking for. However, transforming everything to strings might offer a path forward via standard Matlab functions and indexing. For example
aminoacids = 'MetArgGlyLeuAspTrpAspGlyAsn';
C = string({'Arg', 'Asp', 'Cys', 'Glu','Lys','Tyr'})
S = string(reshape(aminoacids,3,[]).')
Find all the acids in S that are present in C
S(ismember(S,C))
ans = 3×1 string array
"Arg" "Asp" "Asp"

カテゴリ

Help Center および File ExchangeProtein and Amino Acid Sequence Analysis についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by