datumObj ~ { "subject" : SubjectObj, "assay" : AssayObj, "change" : ChangeString, "treatement_type" : TreatmentTypeString, "treatment" : TreatmentObj, "environment" : EnvironmentObj, "times" : TimesObj, // may be missing "source" : SourceObj, "extras" : Array[ExtraObj] "meta": { "file": , "line": Nat, "fulltext": } } State datums have no treatement or treatment type entries SubjectObj ~ { "entity" : ProteinString | GeneString, ("protein" : ProteinObj || "gene" : GeneString) "handle" : HandleString, "origin" : OriginString, // default is "e" "ip" : IPString } GeneString -- declared in GENEOPS HandleString -- declared in HANDLEOPS OriginString = {"null", "x", "e", "r", "p", "k"} ProteinObj ~ { "protein" : ProteinString, "origin" : OriginString, "mutations" : array[mutationObj] // may be missing if no mutations "modifications" : array[modificationObj] // "" } ProteinString -- declared in PROTEINOPS ChangeString[irt,itpo,itao,by] = {"increased", "decreased", "unchanged", "detectable-but unchanged"} ChangeString[null] = {"detectable","undetectable"} mutationObj ~ { "mutation_type": MutationTypeString, "text": MutationArgString, "mutation_string" : String //opetional } MutationTypeStrings and corresponding MutationArgStrings "domain" ~ SeqInterval -- what is kept "range" ~ XnnnY -- point mutation string X,Y are aminoacid letters, nnn a seq pos "del_domain" ~ SeqInterval -- what is deleted "sym" ~ MutationConstant -- declared in ops/mutationops.maude SeqInterval ~ (start-end) start,end in Nat -- sequence positions modificationObj ~ { "sym": ModificationSym -- declared in ops/modificationops.maude "sites": SequencePositionString } TreatmentTypeString = {"irt", "itpo", "itao", "by", ... } TreatmentObj : { "entities" : Array[EntityString], "treatements" : Array[TreatmentString | ProteinObj], } TreatmentString = ChemicalString | OProteinString | AntibodyString | PeptideString | StressString | SProteinString EntityString = ChemicalString | ProteinString | AntibodyString | PeptideString | StressString allowed strings declared in ops files TimesObj ~ { "times" : Array[TLArrl], "unit" : {"min","hr"} } TLArr ~ [Nat,Nat] // [time,level] SourceObj : { "pmid" : PMIDString, "figures" : FigureString, } EnvironmentObj : { "cells" : CellString, // declared in cellops "cell_mutations" : Array[CellMutationObj], "medium" : MediumString, "strings" : String }, CellMutationObj ~ NullMut | ProteinObj NullMut ~ (concat ProteinString "~null") ExtraObj ~ { "entities" : Array[EntityString], "type" : ExtraTypeString, "adjective" : ExtraAdjectiveString, "mode" : ExtraModeString, "treatment" : TreatmentObj, } ExtraTypeString = {"unaffected by", "does not req", "enhanced by", "inhibited by", "reqs"}, ExtraModeString = {"pretreatement", "preconditioning", "addition", "substitution" } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% AssayObj = SimpleAssayObj | ModificationAssayObj | BindingAssayObj | ActivationAssayObj | LocationAssayObj| FractionAssayObj | ChipAssayObj| PhenotypeAssayObj DetectionString --- declared in detectionops.maude should have a file giving assay specific detection methods SimpleAssayObj ~ { "assay" : SimpleAssayString, "detect" : DetectionString } SimpleAssayString = Gal4-reporter, mRNA, promo-reporter, internalization, nuc-export-reporter, nuc-import, nuc-export, surface-exp, prot-exp, prot-stability, secretion, reporter GXPAssayString, REReporterAssayString, SimpleModAssayString GXPAssayString -- GTP-association, GTP-hydrolysis, GDP-dissociation REReporterAssayString --- *-reporter SimpleModAssayString ~ upshift, oligomerization, polymerization -------------------------------- ModificationAssayObj { "assay" : ModificationAssayString, "detect" : DetectionString, "sites" : [SitesString] , } ModificationAssayString = { phos, acetyl, methyl, ubiq, sumo, nedd, cleavage } SitesString -- / separated SiteString SiteString -- declared in SITEOPS plus (AA num) constructions and "sitenr" only relevant for phos ~ "phostype" : {"S", "T", "Y", "ST", "dual", "sitenr" } -------------------------------- BindingAssayObj ~ { "assay" : BindingAssayString, "detect" : DetectionString, "hooks" : Array[HookObj], } BindingAssayString = {"boundby", "colocwith", "copptby", "snaggedby"} HookObj ~ {"entity" : HookEntityString, "handle" : HandleString, "origin" : OriginString "protein" : ProteinObj } HookEntityString = ProteinString | PeptideString | ChemicalString | CompositeString | OligoString . -------------------------------- ActivationAssayObj ~ { "assay" : ActivationAssayString, "detect" : DetectionString, "substrates" : Array[SubstrateString], } | { "assay" : "oligo-binding", "detect" : DetectionString, "oligo" : OligoString, } OligoString -- declared in ASSAYOPS ActivationAssayString = {"IVKA", "IVLKA", "IVGefA", "IVPPaseAct", "IVHatAct", "IVProteaseAct"} SubstrateString ~ ProteinString | PeptideString | ChemicalString | CompositeString | MiscSubstrateString MiscSubstrateString ~ declared in ASSAYOPS -------------------------------- LocationAssayObj { "assay" : "locatedin", "detect" : DetectionString, "position" : LocationString } -------------------------------- FractionAssayObj { "assay" : "infraction", "detect" : DetectionString, "fraction" : FractionString, } -------------------------------- ChipAssayObj { "assay" : "boundto", "detect" : "ChIP", "gene" : GeneString } PhenotypeAssayObj { "assay" : PhenotypeString, "detect" : DetectionString, } PhenotypeString ~ Apoptosis Proliferation G1Arrest receptor-binding