def upload_muscles(): """ Upload muscles and the neurons that connect to them """ try: ev = P.Evidence(title="C. elegans sqlite database") conn = sqlite3.connect(SQLITE_DB_LOC) cur = conn.cursor() w = P.Worm() cur.execute(""" SELECT DISTINCT a.Entity, b.Entity FROM tblrelationship innervatedBy, tblentity b, tblentity a, tblrelationship type_b WHERE innervatedBy.EnID1=a.id and innervatedBy.Relation = '1516' and innervatedBy.EnID2=b.id and type_b.EnID1 = b.id and type_b.Relation='1515' and type_b.EnID2='1519' """) # 1519 is the for r in cur.fetchall(): neuron_name = str(r[0]) muscle_name = str(r[1]) m = P.Muscle(muscle_name) n = P.Neuron(neuron_name) w.muscle(m) m.innervatedBy(n) ev.asserts(w) ev.save() #second step, get the relationships between them and add them to the graph print("uploaded muscles") except Exception: traceback.print_exc() finally: conn.close()
def get(self, request, format=None): Muscles = [] try: for muscle in P.Muscle().load(): Muscles.append(Muscle(name=str(muscle.name()))) finally: print "done" serializer = MuscleSerializer(Muscles, many=True) return Response(serializer.data)
def get(self, request, format=None): Cells = [] try: for neuron in P.Neuron().load(): Cells.append(Cell(name=str(neuron.name()))) for muscle in P.Muscle().load(): Cells.append(Cell(name=str(muscle.name()))) finally: print "done" serializer = CellSerializer(Cells, many=True) return Response(serializer.data)
def get(self,request, format=None): neurons=[] muscles=[] for neuron in P.Neuron().load(): neurons.append(str(neuron.name())) for muscle in P.Muscle().load(): muscles.append(str(muscle.name())) cellname = self.request.query_params.get('cellname', None) if cellname==None: Channels=[] else: if cellname in neurons: net = P.Worm().get_neuron_network() neuron = net.aneuron(cellname) serializer = NeuronDetailSerializer(NeuronDetail(neuron)) elif cellname in muscles: muscle = P.Muscle(cellname) serializer = MuscleDetailSerializer(MuscleDetail(muscle)) print serializer.data return Response(serializer.data)
def marshall(name): ret = [] res = None res2 = None if name in neurons: res = P.Neuron(name) elif name in muscles: res = P.Muscle(name) elif name in to_expand_muscles: name_l = name + 'L' name_r = name + 'R' res = P.Muscle(name_l) res2 = P.Muscle(name_r) elif name in other_cells: res = P.Cell(name) if res is not None: ret.append(res) if res2 is not None: ret.append(res2) return ret
def scoring_muscles(self): print 'calculating muscle completion scores' score = 0 for m in P.Muscle().load(): score = 0 if len(m.neurons()) > 0: score += 1 if len(m.receptors()) > 0: score += 1 for ch in m.channel(): score += IonChannel.objects.get(name=str(ch.name())).completion score = int((float(score) / (2 + 5 * len(m.channel()))) * float(5)) muscle = Muscle(name=m.name(), completion=score) muscle.save() print 'done'
def get(self,request, format=None): print "in cell channel get data set view" serializer_class = ChannelSerializer cellname = self.request.query_params.get('cellname', None) if cellname==None: Channels=[] else: neurons=[] muscles=[] for n in P.Neuron().load(): neurons.append(n.name()) for m in P.Muscle().load(): muscles.append(m.name()) if cellname in neurons: Channels=[] for ch in P.Neuron(name=str(cellname)).channel(): Channels.append(Channel(name=ch.name())) if cellname in muscles: Channels=[] for ch in P.Muscle(name=str(cellname)).channel(): Channels.append(Channel(name=ch.name())) serializer = ChannelSerializer(Channels, many=True) print serializer.data return Response(serializer.data)
def Muscles(request): P.connect() try: MUSCLE_DICT = {} for muscle in P.Muscle().load(): MUSCLE_DICT[str(muscle)] = { 'name': str(muscle), 'completeness': '#2B7558' } finally: P.disconnect() return render_to_response('pyopenworm/muscles.html', {'muscles': MUSCLE_DICT})
def Muscle(request, muscle_id): P.connect() try: muscle_dict = {} for muscle in P.Muscle(muscle_id).load(): ''' 'neurons': list(muscle.neurons.get()), 'receptors': list(muscle.receptors.get()), ''' muscle_dict[str(muscle)] = { 'name': str(muscle), 'completeness': '#2B7558' } finally: P.disconnect() return render_to_response('pyopenworm/muscle.html', {'muscle': muscle_dict[muscle_id]})
def upload_muscles(): """ Upload muscles and the neurons that connect to them """ try: with open(CELL_NAMES_SOURCE) as csvfile: csvreader = csv.reader(csvfile) ev = P.Evidence(title="C. elegans Cell List - WormBase.csv") w = WORM for num, line in enumerate(csvreader): if num < 4: # skip rows with no data continue if line[7] or line[8] or line[ 9] == '1': # muscle's marked in these columns muscle_name = normalize(line[0]).upper() m = P.Muscle(name=muscle_name) w.muscle(m) ev.asserts(w) #second step, get the relationships between them and add them to the graph print("uploaded muscles") except Exception: traceback.print_exc()
def test_muscle(self): self.assertTrue( isinstance(PyOpenWorm.Muscle('MDL08'), PyOpenWorm.Muscle))
def __init__(self): self.Allcells = [] for neuron in P.Neuron().load(): self.Allcells.append(str(neuron.name())) for muscle in P.Muscle().load(): self.Allcells.append(str(muscle.name()))
def expand_muscle(name): return P.Muscle(name + 'L'), P.Muscle(name + 'R')