Ejemplo n.º 1
0
    def readNtwFile(self):
        """
        read network file
        """
        filename = os.path.join(self.filePath, self.fileName)
        with open(filename) as f:
            self.text = f.read()
            print("Reading network file : ", filename)

            # extract useful lines from the the text
            lineArr = util.cleanupFileText(self.text)

            i = 0
            while i < len(lineArr):
                line = lineArr[i]

                if len(line) < 2:
                    i = i + 1
                    continue

                if line[0] == "LIST_NEURONS:":
                    i = self.extractNeurons(i + 1, lineArr)

                elif line[0] == "CHEMSYN:":
                    i = self.extractChemSynapses(i + 1, lineArr)
                elif line[0] == "ELCTRCPL:":
                    i = self.extractElecSynapses(i + 1, lineArr)
                elif line[0] == "MODULSYN:":
                    i = self.extractModularySynapses(i + 1, lineArr)
                else:
                    i = i + 1
Ejemplo n.º 2
0
    def readModByRegulatorFile(self):
        """
        read fBR  file
        """
        filename = os.path.join(self.filePath, self.fileName)
        print("FBR FIle", filename)
        with open(filename) as f:
            self.text = f.read()

            print("Reading fBR file : ", filename)
            lineArr = util.cleanupFileText(self.text)

            i = 0
            while i < len(lineArr):
                line = lineArr[i]
                if len(line) < 2:
                    i = i + 1
                    continue
                if re.search("^fBR", line[0]) is not None:
                    self.fBRType = self.extractfBR(i + 1, lineArr)
                if re.search("^BR", line[0]) is not None:
                    self.BRType, self.BR_a = self.extractBR(i + 1, lineArr)

                i = i + 1
            pass
Ejemplo n.º 3
0
    def readSMFile(self):
        """
        read .sm file
        """
        filename = os.path.join(self.filePath, self.fileName)
        with open(filename) as f:
            self.text = f.read()

            print("Reading second messenger file : ", filename)
            lineArr = util.cleanupFileText(self.text)

            i = 0
            while i < len(lineArr):
                line = lineArr[i]

                if len(line) < 2:
                    i = i + 1
                    continue
                if re.search("^Csm", line[0]) is not None:
                    self.smType, self.iv, self.tau = self.extractSM(
                        i + 1, lineArr)
                if re.search("^xCsm", line[0]) is not None:
                    self.xCsmType = lineArr[i + 1][0]
                i = i + 1
            pass
Ejemplo n.º 4
0
    def readfATFile(self):
        """
        read SNNAP time dependent activation function of chemical synapse
        """
        fileName = os.path.join(self.filePath,self.fAtFileName)
        with open(fileName) as f:
            self.text = f.read()

            # extract useful lines from the the text
            lineArr = util.cleanupFileText(self.text)

            i=0
            while i < len(lineArr):
                line =  lineArr[i]

                if re.search("^fAt", line[0]) is not None:
                    self.fATType = lineArr[i+1][0]
                    if self.fATType in ['3', '5', '6']:
                        self.fAT_a = self.findNextFeature(i+1, lineArr, feature="a")
                        #self.fAT_b = self.findNextFeature(i+1, lineArr, feature="b")
                    if self.fATType in ['3', '4', '5']:
                        self.fAT_b = self.findNextFeature(i+1, lineArr, feature="b")
                if re.search("^At", line[0]) is not None:
                    self.extractAt(i, lineArr)

                i = i+1
Ejemplo n.º 5
0
    def readVDGFile(self):
        filename = os.path.join(self.filePath,self.fileName)
        with open(filename) as f:
            self.text = f.read()

            print("Reading .vdg file : ", filename)
            lineArr = util.cleanupFileText(self.text)

            i = 0
            while i< len(lineArr):
                line = lineArr[i]
                if re.search("^Ivd", line[0]) is not None:
                    self.extractIvd(i+1, lineArr)
                i = i+1
        return
Ejemplo n.º 6
0
    def readNeuronFile(self):
        """
        read .neu file
        """
        filename = os.path.join(self.filePath, self.fileName)
        with open(filename) as f:
            self.text = f.read()

            print("Reading neuron file : ", filename)
            lineArr = util.cleanupFileText(self.text)

            i = 0
            while i < len(lineArr):
                line = lineArr[i]
                if len(line) < 2:
                    i = i + 1
                    continue
                if re.search("THRESHOLD", line[0]) is not None:
                    self.treshold = self.extractNeuronsFeature(i + 1, line[0])

                elif re.search("SPIKDUR", line[0]) is not None:
                    self.spikeDur = self.extractNeuronsFeature(i + 1, line[0])

                elif re.search("VMINIT", line[0]) is not None:
                    self.vmInit = self.extractNeuronsFeature(i + 1, line[0])

                elif re.search("CM", line[0]) is not None:
                    self.cm = self.extractNeuronsFeature(i + 1, line[0])

                elif re.search("^MEM_AREA", line[0]) is not None:
                    self.memAreaType = lineArr[i + 1][0]

                elif line[0] == "CONDUCTANCES:":
                    i = self.extractConductance(i + 1, lineArr)
                elif line[0] == "LIST_ION:":
                    i = self.extractIonPools(i + 1, lineArr)
                elif line[0] == "LIST_SM:":
                    i = self.extractSMPools(i + 1, lineArr)
                elif line[0] == "CURRENT_TO_ION:":
                    i = self.extractCurr2Ions(i + 1, lineArr)
                elif line[0] == "COND_BY_ION:":
                    i = self.extractConductanceByIon(i + 1, lineArr)
                elif line[0] == "COND_BY_SM:":
                    i = self.extractConductanceBySM(i + 1, lineArr)
                i = i + 1
Ejemplo n.º 7
0
    def readTrtFile(self):
        filename = os.path.join(self.filePath, self.fileName)
        with open(filename) as f:
            self.text = f.read()

            print "Reading treatment file : ", filename
            lineArr = util.cleanupFileText(self.text)

            i = 0
            while i < len(lineArr):
                line = lineArr[i]
                if len(line) < 2:
                    i = i + 1
                    continue
                if re.search("CURNT_INJ", line[0]) is not None:
                    self.extractCurntInj(i, lineArr)

                i = i + 1
Ejemplo n.º 8
0
    def read_BFile(self):
        filename = os.path.join(self.filePath,self.B)
        with open(filename) as f:
            self.text = f.read()

            print("Reading .B file : ", filename)
            lineArr = util.cleanupFileText(self.text)

            i = 0
            while i< len(lineArr):
                line = lineArr[i]
                if re.search("^B", line[0]) is not None:
                    self.BType, self.B_IV = self.extractActivation_timeConst(i+1, lineArr)
                if re.search("^ssB", line[0]) is not None:
                    self.ssBType, self.ssB_h, self.ssB_s, self.ssB_p, self.ssB_Bn = self.extractSteadyState(i+1, lineArr, 0)
                if self.BType == "2" and re.search("^tB", line[0]) is not None:
                    self.tBType, self.tB_tx, self.tB_tn, self.tB_h1, self.tB_h2, self.tB_s1, self.tB_s2, self.tB_p1, self.tB_p2  = self.extractTimeConstant(i+1, lineArr)
                i = i+1
        return
Ejemplo n.º 9
0
    def readXtFile(self):
        """
        read .Xt file
        """
        fileName = os.path.join(self.filePath,self.XtFileName)
        with open(fileName) as f:
            self.text = f.read()

            # extract useful lines from the the text
            lineArr = util.cleanupFileText(self.text)

            i=0
            while i < len(lineArr):
                line =  lineArr[i]
                if re.search("^Xt", line[0]) is not None:
                    self.XtType = lineArr[i+1][0]
                    if self.XtType == "3":
                        self.extractPSM(i+1, lineArr)
                i = i+1
Ejemplo n.º 10
0
    def read_AFile(self):
        filename = os.path.join(self.filePath,self.A)     
        with open(filename) as f:
            self.text = f.read()

            print "Reading .A file : ", filename
            lineArr = util.cleanupFileText(self.text)

            i = 0
            while i< len(lineArr):
                line = lineArr[i]
                if re.search("^A", line[0]) is not None:
                    self.AType, self.A_IV = self.extractActivation_timeConst(i+1, lineArr)
                if re.search("^ssA", line[0]) is not None:
                    self.ssAType, self.ssA_h, self.ssA_s, self.ssA_p, self.ssA_An = self.extractSteadyState(i+1, lineArr, 1)
                if re.search("^tA", line[0]) is not None:
                    self.tAType, self.tA_tx, self.tA_tn, self.tA_h1, self.tA_h2, self.tA_s1, self.tA_s2, self.tA_p1, self.tA_p2  = self.extractTimeConstant(i+1, lineArr)

                i = i+1
        return
Ejemplo n.º 11
0
    def read_hFile(self):
        filename = os.path.join(self.filePath,self.h)
        with open(filename) as f:
            self.text = f.read()

            print("Reading .h file : ", filename)
            lineArr = util.cleanupFileText(self.text)

            i = 0
            while i< len(lineArr):
                line = lineArr[i]
                if re.search("^h", line[0]) is not None:
                    self.hType, self.h_IV, self.h_L = self.extractActivation_rateConst(i+1, lineArr)
                if re.search("^ah", line[0]) is not None:
                    self.ahType, self.ah_A, self.ah_B, self.ah_C, self.ah_D = self.extractRateParameter(i+1, lineArr)
                if re.search("^bh", line[0]) is not None:
                    self.bhType, self.bh_A, self.bh_B, self.bh_C, self.bh_D = self.extractRateParameter(i+1, lineArr)

                i = i+1
        return
Ejemplo n.º 12
0
    def read_mFile(self):
        filename = os.path.join(self.filePath,self.m)     
        with open(filename) as f:
            self.text = f.read()

            print "Reading .m file : ", filename
            lineArr = util.cleanupFileText(self.text)

            i = 0
            while i< len(lineArr):
                line = lineArr[i]
                if re.search("^m", line[0]) is not None:
                    self.mType, self.m_IV, self.m_L = self.extractActivation_rateConst(i+1, lineArr)
                if re.search("^am", line[0]) is not None:
                    self.amType, self.am_A, self.am_B, self.am_C, self.am_D = self.extractRateParameter(i+1, lineArr)
                if re.search("^bm", line[0]) is not None:
                    self.bmType, self.bm_A, self.bm_B, self.bm_C, self.bm_D = self.extractRateParameter(i+1, lineArr)

                i = i+1
        return
Ejemplo n.º 13
0
    def readCSFile(self):
        """
        read SNNAP chemical synapse (.cs) file
        """
        fileName = os.path.join(self.filePath,self.fileName)
        with open(fileName) as f:
            self.text = f.read()
            print("Reading chemical synapse file : ", fileName)

            # extract useful lines from the the text
            lineArr = util.cleanupFileText(self.text)

            i=0
            while i < len(lineArr):
                line =  lineArr[i]
                if len(line) < 2:
                    i = i+1
                    continue
                if re.search("Ics", line[0]) is not None:
                    self.extractCS(i+1, lineArr)

                i = i+1
Ejemplo n.º 14
0
    def readSimFile(self, filePath, fileName):
        """
        read simulation file
        """
        fileName = os.path.join(filePath,fileName)
        with open(fileName) as f:
            self.text = f.read()

            print("Reading simulaiton file : ", fileName)
            # extract useful lines from the the text
            lineArr = util.cleanupFileText(self.text)

            i = 0
            while i < len(lineArr):
                l = lineArr[i]

                # get 1st word fo the line
                word1 = l[0][:-1]
                if word1 in self.parameters.keys():
                    i = self.extractParam(i, lineArr, word1)
                else:
                    i = i+1
Ejemplo n.º 15
0
    def readESFile(self):
        """
        read electrical coupling file
        """
        filename = os.path.join(self.filePath, self.fileName)
        with open(filename) as f:
            self.text = f.read()
            print("Reading electrical coupling file : ", filename)
            # extract useful lines from the the text
            lineArr = util.cleanupFileText(self.text)

            i = 0
            while i < len(lineArr):
                line = lineArr[i]

                if len(lineArr[i]) > 1:
                    if not re.search("G1", lineArr[i][1]) is None:
                        self.g1 = lineArr[i][0]
                    if not re.search("G2", lineArr[i][1]) is None:
                        self.g2 = lineArr[i][0]
                i = i + 1
        return
Ejemplo n.º 16
0
    def readNeuronFile(self):
        """
        read .neu file
        """
        filename = os.path.join(self.filePath,self.fileName)
        with open(filename) as f:
            self.text = f.read()

            print "Reading neuron file : ", filename
            lineArr = util.cleanupFileText(self.text)

            i = 0
            while i< len(lineArr):
                line = lineArr[i]
                if len(line) < 2:
                    i = i+1
                    continue
                if re.search("THRESHOLD", line[0]) is not None:
                    self.treshold = self.extractNeuronsFeature(i+1, line[0])

                elif re.search("SPIKDUR", line[0]) is not None:
                    self.spikeDur = self.extractNeuronsFeature(i+1, line[0])

                elif re.search("VMINIT", line[0]) is not None:
                    self.vmInit = self.extractNeuronsFeature(i+1, line[0])

                elif re.search("CM", line[0]) is not None:
                    self.cm = self.extractNeuronsFeature(i+1, line[0])
                    
                elif re.search("^MEM_AREA", line[0]) is not None:
                    self.memAreaType = lineArr[i+1][0]

                elif re.search("Name of conductance", line[1]) is not None:
                    self.extractConductance(i, lineArr)

                i = i+1
Ejemplo n.º 17
0
    def readIonFile(self):
        """
        read .ion file
        """
        filename = os.path.join(self.filePath, self.fileName)
        with open(filename) as f:
            self.text = f.read()

            print("Reading ion file : ", filename)
            lineArr = util.cleanupFileText(self.text)

            i = 0
            while i < len(lineArr):
                line = lineArr[i]

                if len(line) < 2:
                    i = i + 1
                    continue
                if re.search("Cion", line[0]) is not None:
                    self.cionType, self.k1, self.k2 = self.extractIon(
                        i + 1, lineArr)

                i = i + 1
            pass