Beispiel #1
0
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)
Beispiel #5
0
                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]})
Beispiel #10
0
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()
Beispiel #11
0
 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()))
Beispiel #13
0
 def expand_muscle(name):
     return P.Muscle(name + 'L'), P.Muscle(name + 'R')