Пример #1
0
 def property_update(self):
         if "guid" not in self.q:
             self.r["status"]="error"
             self.r["message"]=["'guid' field missing from query"]
             return False
         else:
             p = prop.prop(guid=self.q.get("guid"),db=self.db,creator=self.user.id)
             if p.is_valid:
                 newrec={}
                 for f in ['value','to','from','alive','complete','proptype']:
                     if f in self.q:
                         newrec[f]=self.q[f]
                 newp = p.update(newrec)
                 if newp:
                     if newp.errors:
                         self.r["status"]="error"
                         self.r["message"]=newp.errors
                         return False
                     else:
                         p = prop.prop(guid=p.rec["guid"],db=self.db)
                         self.r["response"] = {"old":p.rec,"new":newp.rec}
                         return True
                 else:
                     self.r["status"]="error"
                     self.r["message"]=["Unable to create updated property object. "+(" ".join(p.errors))+(" ".join(self.db.errors))]
                     return False
                     
             else:
                 self.r["status"]="error"
                 self.r["message"]=p.errors
                 return False
Пример #2
0
    def parse_properties(self):

        for k, vlist in self.rec.items():

            if not isinstance(vlist, list):
                vlist = [vlist]
            for v in vlist:
                proptype = self.db.schema.index["properties"].get(k, k)
                self.log.debug(
                    "PARSE_PROPERTIES: RENDERED PROP =",
                    proptype,
                    v,
                    self.rec.get("urn:lri:property_type:guid", self.creator),
                )
                p = prop.prop(
                    entity=self, proptype=proptype, creator=self.creator, value=v, db=self.db, validate_entity=False
                )
                if p.is_valid:
                    self.log.debug("VALID PROPERTY:", k, p.rec)
                    if k not in self.props:
                        self.props[k] = []
                    self.props[k].append(p)
                else:
                    self.log.debug("INVALID PROPERTY:", k, p.rec, p.errors)
                    self.errors.append("INVALID PROPERTY: " + repr(k))
                    self.errors.extend(p.errors)
                    if k not in self.invalid_properties:
                        self.invalid_properties[k] = []
                    self.invalid_properties[k].append(p)

            self.log.debug(
                "PARSED PROPERTIES IN INIT =\n", repr(dict([(k, [i.rec for i in v]) for k, v in self.props.items()]))
            )
Пример #3
0
 def forward(self, parameter_table):
     # make sure a value has been provided for each input
     for i in self.parameter_nodes:
         if i.name not in parameter_table:
             raise Exception('missing value for parameter {}'.format(
                 i.name))
     # we store output_table as we'll use it for backprop and viz
     output, self.output_table = prop(self.nodes, parameter_table)
     return output, self.output_table
Пример #4
0
 def property_create(self):
     p = prop.prop(rec=self.q,db=self.db,creator=self.user.id)
     p.create()
     if p.errors:
         self.r["status"]="error"
         self.r["message"]=p.errors
         return False
     else:
         self.r["response"] = p.rec
         return True
Пример #5
0
    def update_property(self,oldrec=None,newrec={}):

        self.log.debug("UPDATE PROP REC",oldrec)

        if "proptype" in newrec and oldrec["proptype"] != newrec["proptype"]:
            self.errors.append("UPDATE: Changing proptype is not allowed.")
            oldrec["internal"].append("UPDATE: Changing proptype is not allowed.")
            return None

        # Create the record for our replacement property
        finalrec={"proptype":oldrec["proptype"],
                  "creator":oldrec["creator"]}
        for k in ["from","to","value","complete"]:
            if k in newrec:
                finalrec[k]=newrec[k]
            elif k in oldrec:
                finalrec[k]=oldrec[k]

        if "to" in finalrec and "from" in finalrec and "value" in finalrec:
            del finalrec["value"]  # Can't be both link and literal

        if newrec.get("alive") == False:
            # This update is a property deletion
            finalrec["alive"] = False

        # Make the new property
        self.log.debug("MAKING REPLACEMENT PROP REC",oldrec)
        newp = prop.prop(rec=finalrec,db=self)
        if newp.is_valid:

            self.log.debug("CREATE UPDATED PROP:",finalrec)
            newp.create(is_update=True)
            if newp.errors:
                self.errors.append("PROPERTY UPDATE: "+("  ".join(newp.errors)))
                return None
            self.log.debug("CREATE UPDATED PROP FINAL:",newp.link["rec"])

            # Point old property to its replacement
            oldrec["internal"]["replaced_by"] = newp.link["guid"]
            #oldrec["internal"]["alive"] = False
            oldrec["replaced_by"] = newp.link["guid"]
            #oldrec["alive"] = False  -- Don't make old property dead
            oldrec["internal"]["rec"] = json.dumps(dict([(k,v) for k,v in oldrec.items() if k not in ["internal","rec"]]))
            # Update our index
            self.log.debug(oldrec)
            self.link_index.remove(key="replaced_by",entity=oldrec["internal"])
            self.link_index.add(key="replaced_by",value=newp.rec["guid"],entity=oldrec["internal"])

            #self.link_index.remove(key="alive",value="true",entity=oldrec["internal"])
            #self.link_index.add(key="alive",value="false",entity=oldrec["internal"])
            return newp
        else:
            self.errors.append("PROPERTY UPDATE: "+("  ".join(newp.errors)))
            oldrec["internal"].errors.append("PROPERTY UPDATE: "+("  ".join(newp.errors)))
            return None
Пример #6
0
    def prop(self, proptag, create=False, proptype=None):
        """Return :class:`property <Property>` with given property tag.

        :param proptag: MAPI property tag
        :param create: create property if it doesn't exist
        """
        return _prop.prop(self,
                          self.mapiobj,
                          proptag,
                          create=create,
                          proptype=proptype)
Пример #7
0
        print(str(zscore(data)))
    elif c == 7:
        from stdscore import stdscore
        print(float(stdscore(data)))
    elif c == 8:
        from popcorcoeff import popcorcoeff
        print(float(popcorcoeff(data)))
    elif c == 9:
        from conint import conint
        print(conint(data))
    elif c == 10:
        from popvar import popvar
        print(popvar(data))
    elif c == 11:
        from pval import pval
        print(pval(data))
    elif c == 12:
        from prop import prop
        print((prop(data)))
    elif c == 13:
        from smean import smean
        print((smean(data)))
    elif c == 14:
        from sstddev import sstddev
        print((sstddev(data)))
    elif c == 15:
        from vsampprop import vsampprop
        print((vsampprop(data)))
    else:
        print("error")
Пример #8
0
    def __init__(self,
                 name,
                 pin0=18,
                 pin1=23,
                 pin2=24,
                 pin3=25,
                 simulation=True):

        #GPIO: 18 23 24 25
        #pin : 12 16 18 22

        self.logger = logging.getLogger('myQ.quadcptr')
        self.name = name
        self.simulation = simulation

        self.version = 1

        self.motor = [motor('M' + str(i), 0) for i in xrange(4)]
        self.motor[0] = motor('M0',
                              pin0,
                              kv=1000,
                              WMin=0,
                              WMax=100,
                              simulation=self.simulation)
        self.motor[1] = motor('M1',
                              pin1,
                              kv=1000,
                              WMin=0,
                              WMax=100,
                              simulation=self.simulation)
        self.motor[2] = motor('M2',
                              pin2,
                              kv=1000,
                              WMin=0,
                              WMax=100,
                              simulation=self.simulation)
        self.motor[3] = motor('M3',
                              pin3,
                              kv=1000,
                              WMin=0,
                              WMax=100,
                              simulation=self.simulation)

        self.sensor = sensor(simulation=self.simulation)

        self.pidR = pid()
        self.pidP = pid()
        self.pidY = pid()
        self.pidR_rate = pid()
        self.pidP_rate = pid()
        self.pidY_rate = pid()

        self.ip = '192.168.1.1'

        self.netscan = netscan(self.ip)

        self.webserver = webserver(self)

        self.display = display(self)

        self.rc = rc(self.display.screen)

        self.imulog = False
        self.savelog = False
        self.calibIMU = False
        self.debuglev = 0
        self.netscanning = False

        #for quadricopter phisics calculations- not used yet
        self.prop = prop(9, 4.7, 1)
        self.voltage = 12  # [V]
        self.mass = 2  # [Kg]
        self.barLenght = 0.23  # [mm]
        self.barMass = 0.15  # [kg]

        self.datalog = ''
        self.initLog()
Пример #9
0
 def test_prop(self):
     from prop import prop
     assert prop(data) == 0.002564102564102564
Пример #10
0
    def create(self):

        if self.errors:
            return False

        self.node = self.db.create_entity(creator=self.creator)

        if not self.node:
            self.errors.append("COULD NOT CREATE NODE IN DATABASE")
            return False

        # Set up our intrinsic node properties
        nodeprops = {
            "urn:lri:property_type:guid": self.node["guid"],
            "urn:lri:property_type:timestamp": self.node["timestamp"],
            "urn:lri:property_type:creator": self.node["creator"],
        }

        self.log.debug("INTERNAL PROPERTIES", list(self.db.internal_properties(self.node)))
        rec = copy.deepcopy(self.db.internal_properties(self.node))
        self.log.debug("CREATED NODE =", rec)
        for k, v in nodeprops.items():
            self.rec[k] = v
            self.props[k] = [prop.prop(entity=self, proptype=k, creator=self.creator, value=v, db=self.db)]
        self.log.debug(
            "\n\n\n\n\n\n\n\n NEW ENTITY PROPERTIES =", [(k, [i.rec for i in v]) for k, v in self.props.items()]
        )

        # The properties we successfully create
        done_props = []

        # First do our id because we'll need that for the other properties
        if "urn:lri:property_type:id" in self.props:
            plist = self.props["urn:lri:property_type:id"]
        for p in plist:
            p.rec["from"] = rec["guid"]
            if not p.create(allow_nodeprops=True):
                self.errors.extend(["ENTITY ID CREATION FAILURE"] + p.errors)
                self.errors.append("FAILED TO CREATE PROPERTY: " + json.dumps(p.rec))
            else:
                done_props.append(p)

        if self.errors:
            # We failed to create our IDs so let's bail
            for dp in done_props:
                r = dp.delete()
                if not r:
                    self.errors.extend(dp.errors)
            #  Now let's delete our node
            self.errors.append("Destroying node '%s' " % (rec.get("guid")))
            self.delete()
            return False

        # Now we can do the rest of the properties
        for pname, plist in self.props.items():
            if pname != "urn:lri:property_type:id":
                for p in plist:
                    p.rec["from"] = rec["guid"]
                    # if 'types' in pname:
                    #    self.log.debug("ZZZ CREATE TYPES PROP",pname,p.rec
                    if not p.create(allow_nodeprops=True):
                        self.errors.extend(p.errors)
                        self.errors.extend(["FAILED TO CREATE PROPERTY:", json.dumps(p.rec)])

                        for dp in done_props:
                            # We failed to create a property so fail the entire entity creation.
                            try:
                                dp.delete()
                            except Exception, e:
                                self.errors.extend(["Could not destroy link"] + traceback.format_exc().split("\n"))

                        #  Now let's delete our node
                        self.delete()
                        self.errors.append("Destroying node '%s' " % (rec.get("guid")))
                        return False
Пример #11
0
def features(seqID, sequence):
    parameters = ""

    seq = sequence.replace("X", "").replace("*", "").upper()

    X = ProtParam.ProteinAnalysis(seq)

    count = X.count_amino_acids()
    parameters = parameters + str(len(sequence)) + ","

    percent = X.get_amino_acids_percent()
    parameters=parameters+str(percent["A"])+","+str(percent["C"])+","+str(percent["D"])+","+str(percent["E"])+","+str(percent["F"])\
                   +","+str(percent["G"])+","+str(percent["H"])+","+str(percent["I"])+","+str(percent["K"])+","+str(percent["L"])+","+str(percent["M"])\
                   +","+str(percent["N"])+","+str(percent["P"])+","+str(percent["Q"])+","+str(percent["R"])+","+str(percent["S"])+","+str(percent["T"])\
                   +","+str(percent["V"])+","+str(percent["W"])+","+str(percent["Y"])+","

    parameters = parameters + str(X.molecular_weight()) + ","
    parameters = parameters + str(X.aromaticity()) + ","
    parameters = parameters + str(X.instability_index()) + ","
    parameters = parameters + str(X.isoelectric_point()) + ","
    parameters = parameters + str(X.gravy()) + ","
    parameters = parameters + str(
        X.secondary_structure_fraction()[0]) + "," + str(
            X.secondary_structure_fraction()[1]) + "," + str(
                X.secondary_structure_fraction()[2]) + ","
    parameters = parameters + str(X.molecular_weight() / len(seq)) + ","

    #-----------------------PEPSTATS-------------------------------

    inFileName = seqID.replace("|", "_").replace(":", "_") + "_" + hashlib.md5(
        time.asctime()).hexdigest()
    inFasta = open(inFileName, "w")
    inFasta.write(">" + seqID.replace("|", "_") + "\n" + seq + "\n")
    inFasta.close()

    parameters = parameters + pepstat(inFileName) + ","

    tiny = count["A"] + count["C"] + count["G"] + count["S"] + count["T"]
    tiny_per = round(((float(tiny) / len(seq)) * 100), 3)
    parameters = parameters + str(tiny_per) + ","

    small = count["A"] + count["C"] + count["D"] + count["G"] + count[
        "N"] + count["P"] + count["S"] + count["T"] + count["V"]
    small_per = round(((float(small) / len(seq)) * 100), 3)
    parameters = parameters + str(small_per) + ","

    aliphatic = count["I"] + count["L"] + count["V"]
    aliphatic_per = round(((float(aliphatic) / len(seq)) * 100), 3)
    parameters = parameters + str(aliphatic_per) + ","

    aromatic = count["F"] + count["H"] + count["W"] + count["Y"]
    aromatic_per = round(((float(aromatic) / len(seq)) * 100), 3)
    parameters = parameters + str(aromatic_per) + ","

    polar = count["D"] + count["E"] + count["H"] + count["K"] + count[
        "N"] + count["Q"] + count["R"] + count["S"] + count["T"]
    polar_per = round(((float(polar) / len(seq)) * 100), 3)
    parameters = parameters + str(polar_per) + ","

    nonPolar = count["A"] + count["C"] + count["F"] + count["G"] + count[
        "I"] + count["L"] + count["M"] + count["P"] + count["V"] + count[
            "W"] + count["Y"]
    nonPolar_per = round(((float(nonPolar) / len(seq)) * 100), 3)
    parameters = parameters + str(nonPolar_per) + ","

    charged = count["D"] + count["E"] + count["H"] + count["K"] + count["R"]
    charged_per = round(((float(charged) / len(seq)) * 100), 3)
    parameters = parameters + str(charged_per) + ","

    acidic = count["D"] + count["E"]
    acidic_per = round(((float(acidic) / len(seq)) * 100), 3)
    parameters = parameters + str(acidic_per) + ","

    basic = count["H"] + count["K"] + count["R"]
    basic_per = round(((float(basic) / len(seq)) * 100), 3)
    parameters = parameters + str(basic_per) + ","

    #------------------------GARNIER--------------------------------

    parameters = parameters + garnier(inFileName) + ","

    #--------------------------NetCGlyc--------------------------------

    parameters = parameters + netcglyc(inFileName) + ","

    #--------------------------NetChop--------------------------------

    parameters = parameters + netchop(inFileName) + ","

    #--------------------------NetNGlyc--------------------------------

    parameters = parameters + netnglyc(inFileName) + ","

    #--------------------------NetPhos--------------------------------

    parameters = parameters + netphos(inFileName) + ","

    #--------------------------TMHMM----------------------------------

    parameters = parameters + tmhmm(inFileName) + ","

    #--------------------------ProP----------------------------------

    parameters = parameters + prop(inFileName) + ","

    #--------------------------SignalP----------------------------------

    parameters = parameters + signalp(inFileName)

    os.remove(inFileName)

    return parameters