def decode(self): """ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DECODE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Decode the record's bytes. [0-3]: SYSTEM TIME [4-7]: DISPLAY TIME [8-497]: CONTENT (XML) [498-499]: CRC """ # Initialize decoding super(XMLRecord, self).decode() # XML value self.value = lib.translate(self.bytes[8:-2])
def read(self): """ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ READ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ """ # Execute command self.command.execute() # Assign response self.id = lib.translate(self.command.response["Payload"]) # Give user info Logger.info("Transmitter ID: " + str(self.id)) # Store it self.store()
# 10 = nsp10_CysHis; formerly known as growth-factor-like protein (GFL) # 11 = only 13 aa # 12 is mostly and 13-16 in orf1b # 12 = https://en.wikipedia.org/wiki/RNA-dependent_RNA_polymerase # 13 = Helicase (Hel). # 14 = Guanine-N7 methyltransferase (ExoN) or maybe 3'-to-5' exonuclease # 15 = Uridylate-specific endoribonuclease (NendoU), endoRNAse # 16 = 2'-O-methyltransferase (2'-O-MT) # https://en.wikipedia.org/wiki/MRNA_(nucleoside-2%27-O-)-methyltransferase # in front "the untranslated leader sequence that ends with the Transcription Regulation Sequence" #Read Mutated sequence from SANTA-SIM corona[' UNTRANSLATED_REGION '] = cc[0:265] corona['orf1a'] = translate(cc[266-1:13483], True) # cc[266-1+4398*3:13468] = 'TTT_TTA_AAC' aka 'X_XXY_YYZ' # https://en.wikipedia.org/wiki/Ribosomal_frameshift # Programmed −1 Ribosomal Frameshifting # TODO: add this to the translate function with automatic detection corona['orf1b'] = translate(cc[13468-1:21555], False).strip("*") # chop off the stop, note this doesn't have a start # exploit vector, this attaches to ACE2. also called "surface glycoprotein" # https://www.ncbi.nlm.nih.gov/Structure/pdb/6VYB -- open state # https://www.ncbi.nlm.nih.gov/Structure/pdb/6VXX -- closed state # 1273 amino acids # S1 = 14-685 # S2 = 686-1273 # S2' = 816-1273 # https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2750777/
# 3 = Papain-like proteinase # see diff https://www.ncbi.nlm.nih.gov/projects/msaviewer/?rid=7FXGTZFN016&coloring=cons # 4 = nsp4B_TM; contains transmembrane domain 2 (TM2); produced by both pp1a and pp1ab # 5 = Proteinase 3CL-PRO # 6 = ??? # 7 = ??? # 8 = ??? # 9 = ssRNA-binding protein; produced by both pp1a and pp1ab # 10 = nsp10_CysHis; formerly known as growth-factor-like protein (GFL) # 11 is mostly and 12-15 in orf1b # 11 = https://en.wikipedia.org/wiki/RNA-dependent_RNA_polymerase # 12 = Helicase (Hel). # 13 = Guanine-N7 methyltransferase (ExoN) or maybe 3'-to-5' exonuclease # 14 = Uridylate-specific endoribonuclease (NendoU), endoRNAse # 15 = 2'-O-methyltransferase (2'-O-MT), https://en.wikipedia.org/wiki/MRNA_(nucleoside-2%27-O-)-methyltransferase corona['orf1a'] = translate(cc[266-1:13483], True) corona['orf1b'] = translate(cc[13468-1:21555], False) # exploit vector, this attaches to ACE2. also called "surface glycoprotein" # https://www.ncbi.nlm.nih.gov/Structure/pdb/6VYB -- open state # https://www.ncbi.nlm.nih.gov/Structure/pdb/6VXX -- closed state # sort of 3 proteins, S1 S2 S2' corona['spike_glycoprotein'] = translate(cc[21563-1:25384], True) # Forms homotetrameric potassium sensitive ion channels (viroporin) and may modulate virus release. corona['orf3a'] = translate(cc[25393-1:26220], True) # these two things stick out corona['envelope_protein'] = translate(cc[26245-1:26472], True) corona['membrane_glycoprotein'] = translate(cc[26523-1:27191], True)
def __init__(self, regions): untranslated_region_f = regions["untranslated_region_f"] orf1a_i = regions["orf1a_i"] orf1a_f = regions["orf1a_f"] orf1b_i = regions["orf1b_i"] orf1b_f = regions["orf1b_f"] spike_gp_i = regions["spike_gp_i"] spike_gp_f = regions["spike_gp_f"] orf3a_i = regions["orf3a_i"] orf3a_f = regions["orf3a_f"] envelope_p_i = regions["envelope_p_i"] envelope_p_f = regions["envelope_p_f"] membrane_gp_i = regions["membrane_gp_i"] membrane_gp_f = regions["membrane_gp_f"] orf6_i = regions["orf6_i"] orf6_f = regions["orf6_f"] orf7a_i = regions["orf7a_i"] orf7a_f = regions["orf7a_f"] orf7b_i = regions["orf7b_i"] orf7b_f = regions["orf7b_f"] orf8_i = regions["orf8_i"] orf8_f = regions["orf8_f"] n_p_i = regions["n_p_i"] n_p_f = regions["n_p_f"] orf10_i = regions["orf10_i"] orf10_f = regions["orf10_f"] new_region_i = regions["new_region_i"] new_region_f = regions["new_region_f"] print("Initializing Custom viral DNA\n") # in front "the untranslated leader sequence that ends with the Transcription Regulation Sequence" self.untranslated_region = cc[0 : untranslated_region_f] print("Translatng orf1a ... \n") self.orf1a = translate(cc[orf1a_i - 1 : orf1a_f], True) # cc[266-1+4398*3:13468] = 'TTT_TTA_AAC' aka 'X_XXY_YYZ' # https://en.wikipedia.org/wiki/Ribosomal_frameshift # Programmed −1 Ribosomal Frameshifting # TODO: add this to the translate function with automatic detection print("Translatng orf1b ... \n") self.orf1b = translate(cc[orf1b_i - 1 : orf1b_f], False).strip("*") # chop off the stop, note this doesn't have a start # exploit vector, this attaches to ACE2. also called "surface glycoprotein" # https://www.ncbi.nlm.nih.gov/Structure/pdb/6VYB -- open state # https://www.ncbi.nlm.nih.gov/Structure/pdb/6VXX -- closed state # 1273 amino acids # S1 = 14-685 # S2 = 686-1273 # S2' = 816-1273 # https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2750777/ print("Translatng spike glycoprotein ... \n") self.spike_glycoprotein = translate(cc[spike_gp_i - 1 :spike_gp_f], True) print("Translatng orf3 ... \n") # Forms homotetrameric potassium sensitive ion channels (viroporin) and may modulate virus release. self.orf3a = translate(cc[orf3a_i-1:orf3a_f], True) print("Translatng envelope protein ... \n") # These two characteristics stick out, used in assembly aka they package the virus self.envelope_protein = translate(cc[envelope_p_i - 1 : envelope_p_f], True) # also known as small membrane print("Translatng membrane glycoprotein ... \n") print("membrane_gp_i : " + str(membrane_gp_i)) print("membrane_gp_f : " + str(membrane_gp_f)) self.membrane_glycoprotein = translate(cc[membrane_gp_i - 1 : membrane_gp_f], True) print("Translatng orf6 ... \n") self.orf6 = translate(cc[orf6_i - 1 : orf6_f], True) print("Translatng orf7a ... \n") self.orf7a = translate(cc[orf7a_i - 1 : orf7a_f], True) print("Translatng orf7b ... \n") self.orf7b = translate(cc[orf7b_i - 1 : orf7b_f], True) # is this one real? print("Translatng orf8 ... \n") self.orf8 = translate(cc[orf8_i - 1 : orf8_f], True) # https://en.wikipedia.org/wiki/Capsid # Packages the positive strand viral genome RNA into a helical ribonucleocapsid # Includes the "internal" protein (from Coronavirus Pathogenesis) # https://www.sciencedirect.com/topics/veterinary-science-and-veterinary-medicine/human-coronavirus-oc43 print("Translatng nucleocapsid phosphoprotein ... \n") self.nucleocapsid_phosphoprotein = translate(cc[n_p_i - 1 : n_p_f], True) print("Translatng orf10 ... \n") # might be called the internal protein (Coronavirus Pathogenesis) self.orf10 = translate(cc[orf10_i - 1 : orf10_f], True)