Add Letters in a sequence
    조회 수: 4 (최근 30일)
  
       이전 댓글 표시
    
I want to add Letters in a sequence
a b c d e f g h i j k l m n o p q r s t u v w x y z
a b c - - - ghi - - - - n o p q - - - - - - x y -
I got it to work with one gap but the sequence can have more than one gap.
I know the location n = [4 5 6 10 11 12 13 18 19 20 21 22 23 26] and the letters gap = [d e f j k l m r s t u v w z]
I do not know how to make it run for more in gap. 
clc;clear;
% sequence we want to add because the sequence have gaps
% We have the amino acids however the position is unknow
% So the Letters are not include 
% This a problem when there is over 300 amino acids
sequence = 'ABCGHIJ';
n = [4,5,6];
gap = 'DEF';
% loop
store = [];
% We want the gaps to be filled
for K = 1
    % removing the letters where the gap needs 
    % to go
    store = [sequence(n(K)):sequence(end)] 
    num = [n(end)+1:n(end)+1+numel(gap)]
    for L = 1:numel(n) 
        % filling the gap
        sequence(n(L)) = gap(L)
    end
    for M = 1:numel(num)
        % Replacing the reoved letters
        sequence(num(M)) = store(M)
    end
end
sequence
댓글 수: 0
채택된 답변
  David Hill
      
      
 2022년 11월 15일
        
      편집: David Hill
      
      
 2022년 11월 15일
  
      l='abcdefghijklmnopqrstuvwxyz';
gap='defjklmrstuvwz'-96;
l(gap)='-'
댓글 수: 2
  David Hill
      
      
 2022년 11월 15일
				l = 'abcghinopqxy';
gap = 'defjklmrstuvwz';
n = [4 5 6 10 11 12 13 18 19 20 21 22 23 26];
L=length(l)+length(gap);
r=zeros(1,L);
r(n)=gap;
r(~ismember(1:L,n))=l;
r=char(r)
추가 답변 (0개)
참고 항목
카테고리
				Help Center 및 File Exchange에서 Electrophysiology에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

