finding same gene combination
    4 次查看(过去 30 天)
  
       显示 更早的评论
    
I have two datasets in 
final = 
      'Genes'   'T0&T2'  'T1&T3'  'T2&T4'  'T3&T5'  'T4&t6'    
      'YAR029W'    'd'       []       'd'       []      'd'
      'YBL095W'    'd'       []       []       'd'      'd'
      'YBL111C'    'u'       'u'     'u'       'u'      []
      'YBL113C'    'u'       'u'     'u'       'u'      'u'
      'YBR096W'    'u'       'u'     'u'       'u'      []
      'YBR138C'    'd'       []       []       'd'     'd'
Dataset1 = 
      'Genes'      'T0&T2'    'T1&T3'    'T2&T4'    'T3&T5'    'T4&T6'
      'YAR029W'    'dd'       'uu'       'dd'       'uu'       'du'   
      'YAR062W'    'du'       'uu'       'ud'       'uu'       'du'   
      'YAR068W'    'du'       'uu'       'uu'       'uu'       'uu'   
      'YBL095W'    'du'       'ud'       'ud'       'du'       'du'   
      'YBL111C'    'uu'       'uu'       'ud'       'ud'       'du'   
      'YBL113C'    'uu'       'uu'       'uu'       'ud'       'ud'   
      'YBR028C'    'du'       'uu'       'uu'       'ud'       'ud'   
I want to compare two datasets and display the result corresponding to dataset1,for example 
In variable final 'YAR029W' has values in intervals 'T0&T2','T2&T4','T4&t6',so i want to display as
'Genes'     'T0&T2'    'T2&T4'    'T4&t6'    
'YAR029W'    'd'        'd'        'd'
'YAR062W'    'du'       'ud'      'du'   
'YAR068W'    'du'        'uu'     'uu'   
'YBL095W'    'du'       'ud'      'du'        
'YBL111C'    'uu'        'ud'     'du'   
'YBL113C'    'uu'        'uu'     'ud'   
'YBR028C'    'du'        'uu'     'ud'  
for next gene 
'Genes'     'T0&T2'        'T3&T5'    'T4&t6'
'YBL095W'    'd'          'd'        'd' 
'YBL111C'    'uu'         'ud'       'du'   
'YBL113C'    'uu'         'ud'       'ud'   
'YBR028C'    'du'         'ud'       'ud' 
i want to display for all genes in 'final' please help
0 个评论
回答(1 个)
  per isakson
      
      
 2012-8-18
        
      编辑:per isakson
      
      
 2012-8-20
  
      I failed to come up with an algorithm based on dataset objects. I find the documentation hard to interpret. Here is an algorithm based on cell arrays. The result is in a structure, S, with one gene per field. I guess this dataset is not optimal for this problem.
function S = cssm()
  % I have two datasets in 
  final = {
        'Genes'   'T0&T2'  'T1&T3'  'T2&T4'  'T3&T5'  'T4&t6'    
        'YAR029W'    'd'       []       'd'       []      'd'
        'YBL095W'    'd'       []       []       'd'      'd'
        'YBL111C'    'u'       'u'     'u'       'u'      []
        'YBL113C'    'u'       'u'     'u'       'u'      'u'
        'YBR096W'    'u'       'u'     'u'       'u'      []
        'YBR138C'    'd'       []       []       'd'     'd'};
    Dataset1 = {
          'Genes'      'T0&T2'    'T1&T3'    'T2&T4'    'T3&T5'    'T4&T6'
          'YAR029W'    'dd'       'uu'       'dd'       'uu'       'du'   
          'YAR062W'    'du'       'uu'       'ud'       'uu'       'du'   
          'YAR068W'    'du'       'uu'       'uu'       'uu'       'uu'   
          'YBL095W'    'du'       'ud'       'ud'       'du'       'du'   
          'YBL111C'    'uu'       'uu'       'ud'       'ud'       'du'   
          'YBL113C'    'uu'       'uu'       'uu'       'ud'       'ud'   
          'YBR028C'    'du'       'uu'       'uu'       'ud'       'ud'   };
    for ff = 2 : size( final, 1 )
        is_data =  not( cellfun( @isempty, final( ff, 1:end ) ) );
        S.( final{ff,1} ) = Dataset1( :, is_data );
        S.( final{ff,1} )(ff,:) = final( ff, is_data );
    end
end
==============
S = cssm()
S = 
    YAR029W: {8x4 cell}
    YBL095W: {8x4 cell}
    YBL111C: {8x5 cell}
    YBL113C: {8x6 cell}
    YBR096W: {8x5 cell}
    YBR138C: {8x4 cell}
>> S.YAR029W
ans = 
    'Genes'      'T0&T2'    'T2&T4'    'T4&T6'
    'YAR029W'    'd'        'd'        'd'    
    'YAR062W'    'du'       'ud'       'du'   
    'YAR068W'    'du'       'uu'       'uu'   
    'YBL095W'    'du'       'ud'       'du'   
    'YBL111C'    'uu'       'ud'       'du'   
    'YBL113C'    'uu'       'uu'       'ud'   
    'YBR028C'    'du'       'uu'       'ud'
6 个评论
  per isakson
      
      
 2012-8-23
				
      编辑:per isakson
      
      
 2012-8-23
  
			You did not answer this one:
Why shouldn't 'YAR062W' be included?
I insist, you should try harder on the requirement specification. It's your problem not mine.
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 Operating on Diagonal Matrices 的更多信息
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

