Add Letters in a sequence
    4 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    A C
 el 15 de Nov. de 2022
  
    
    
    
    
    Comentada: David Hill
      
      
 el 15 de Nov. de 2022
            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 comentarios
Respuesta aceptada
  David Hill
      
      
 el 15 de Nov. de 2022
        
      Editada: David Hill
      
      
 el 15 de Nov. de 2022
  
      l='abcdefghijklmnopqrstuvwxyz';
gap='defjklmrstuvwz'-96;
l(gap)='-'
2 comentarios
  David Hill
      
      
 el 15 de Nov. de 2022
				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)
Más respuestas (0)
Ver también
Categorías
				Más información sobre Electrophysiology en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

