category data and plot selection update|

This commit is contained in:
2006-04-19 10:37:44 +00:00
parent a8937ededb
commit 1091bea0e9
3 changed files with 89 additions and 21 deletions

View File

@@ -1,6 +1,9 @@
from sets import Set as set
set.update = set.union_update
import dataset
import scipy
class AnnotationsException(Exception):
pass
@@ -63,3 +66,28 @@ class Annotations:
"""
return self.dimensions.has_key(dim)
def to_dataset(self,dim):
""" Returns a dataset representation of annotations.
"""
if self.has_dimension(dim):
num_dim1 = len(set(self.dimensions[dim])) #number of unique genes
all_genes = set(self.dimensions[dim])
all_categories = set()
for cat in self.dimensions[dim].values():
all_categories.update(cat)
num_dim1 = len(all_genes) #number of unique genes
num_dim2 = len(all_categories) #number of unique categories
gene_list=[]
cat_list=[]
matrix = scipy.zeros((num_dim1,num_dim2),'bwu')
for i,gene in enumerate(all_genes):
gene_list.append(gene)
for j,cat in enumerate(all_categories):
cat_list.append(cat)
matrix[i,j] = 1
def_list = [['genes',gene_list],['go',cat_list]]
return dataset.Dataset(matrix,def_list)