category data and plot selection update|
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user