diff --git a/NF-Tools-Schemas/animal-model/SubmitAnimalModelUiSchema.json b/NF-Tools-Schemas/animal-model/SubmitAnimalModelUiSchema.json new file mode 100644 index 00000000..d5182d15 --- /dev/null +++ b/NF-Tools-Schemas/animal-model/SubmitAnimalModelUiSchema.json @@ -0,0 +1,31 @@ +{ + "description": { + "ui:widget": "textarea", + "ui:placeholder": "Provide a brief description (~20 words)", + "ui:options": { + "rows": 3 + } + }, + "basicInfo": { + "species": { + "ui:widget": "radio", + "ui:inline": "true" + } + }, + "animalModelDisease": { + "ui:widget": "radio", + "ui:inline": "true" + }, + "animalModelManifestation": { + "ui:widget": "radio" + }, + "alleleType": { + "ui:widget": "radio" + }, + "mutationTypes": { + "ui:widget": "select" + }, + "itemAcquisition": { + "ui:widget": "radio" + } +} \ No newline at end of file diff --git a/NF-Tools-Schemas/animal-model/submitAnimalModel.json b/NF-Tools-Schemas/animal-model/submitAnimalModel.json new file mode 100644 index 00000000..112132e5 --- /dev/null +++ b/NF-Tools-Schemas/animal-model/submitAnimalModel.json @@ -0,0 +1,331 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Submit Animal Model", + "type": "object", + "properties": { + "userInfo": { + "type": "object", + "title": "Your Information", + "properties": { + "firstandlastName": { + "type": "string", + "title": "First and Last Name" + }, + "email": { + "type": "string", + "title": "Contact Email", + "format": "email" + }, + "institution": { + "type": "string", + "title": "Institution/Affiliation", + "default": "" + }, + "isDeveloper": { + "type": "string", + "title": "Are you the developer?", + "enum": [ + "Yes", + "No" + ], + "default": "Yes" + } + } + }, + "basicInfo": { + "type": "object", + "title": "", + "properties": { + "animalModelName": { + "type": "string", + "title": "Name of Animal Model" + }, + "synonyms": { + "type": "string", + "title": "Synonyms" + }, + "description": { + "type": "string", + "title": "Description (~20 words)" + }, + "species": { + "type": "string", + "title": "Species", + "enum": [ + "Mouse", + "Rat", + "Pig", + "Zebrafish", + "Fruit Fly", + "Other" + ] + } + } + }, + "backgroundStrain": { + "type": "string", + "title": "Background Strain", + "examples": [ + "C57BL/6" + ] + }, + "backgroundSubstrain": { + "type": "string", + "title": "Background Substrain", + "examples": [ + "C57BL/6J" + ] + }, + "strainNomenclature": { + "type": "string", + "title": "Strain Nomenclature" + }, + "animalModelDisease": { + "type": "string", + "title": "Disease", + "enum": [ + "Neurofibromatosis type 1", + "Neurofibromatosis type 2", + "No known disease", + "Schwannomatosis" + ] + }, + "animalModelManifestation": { + "type": "string", + "title": "Manifestation", + "enum": [ + "No Symptoms", + "Acute Myeloid Leukemia", + "Astrocytoma", + "Cognition", + "Growth", + "Heart Malformation", + "High Grade Glioma", + "Malignant Peripheral Nerve Sheath Tumor", + "Metabolic Function", + "Neural Crest Hyperplasia", + "Optic Nerve Glioma", + "Plexiform Neurofibroma", + "Spinal Development", + "Other" + ] + }, + "alleleType": { + "type": "string", + "title": "Allele Type", + "enum": [ + "Conditional ready", + "Constitutively active", + "Dominant negative", + "Humanized sequence", + "Hypomorph", + "Inducible", + "Inserted expressed sequence", + "Knockdown", + "Modified isoform(s)", + "No functional change", + "Null/knockout", + "RMCE-Ready", + "Recombinase", + "Reporter", + "Transactivator", + "Transposase", + "Transposon concatemer", + "Other" + ] + }, + "affectedGeneSymbol": { + "type": "string", + "title": "Affected Gene Symbol" + }, + "mutationTypes": { + "type": "object", + "title": "Mutation Types", + "properties": { + "Disruption caused by insertion of vector": { + "type": "boolean" + }, + "Duplication": { + "type": "boolean" + }, + "Insertion": { + "type": "boolean" + }, + "Insertion of gene trap vector": { + "type": "boolean" + }, + "Intergenic deletion": { + "type": "boolean" + }, + "Intragenic deletion": { + "type": "boolean" + }, + "Inversion": { + "type": "boolean" + }, + "Loss of heterozygosity (unspecified mechanism)": { + "type": "boolean" + }, + "Nucleotide repeat expansion": { + "type": "boolean" + }, + "Nucleotide substitutions": { + "type": "boolean" + }, + "Single point mutation": { + "type": "boolean" + }, + "Translocation": { + "type": "boolean" + }, + "Transposon insertion": { + "type": "boolean" + }, + "Viral insertion": { + "type": "boolean" + }, + "Other": { + "type": "boolean" + } + } + }, + "proteinVariation": { + "type": "string", + "title": "Protein Variation" + }, + "sequenceVariation": { + "type": "string", + "title": "Sequence Variation" + }, + "publicationDOI": { + "type": "string", + "title": "Publication Link (DOI)" + }, + "itemAcquisition": { + "type": "string", + "title": "How to acquire", + "enum": [ + "Contact Developer", + "Purchase from Vendor", + "Other" + ], + "default": "Contact Developer" + } + }, + "allOf": [ + { + "if": { + "properties": { + "userInfo": { + "properties": { + "isDeveloper": { + "const": "No" + } + } + } + } + }, + "then": { + "properties": { + "userInfo": { + "properties": { + "developerName": { + "type": "string", + "title": "Developer Name" + }, + "developerAffiliation": { + "type": "string", + "title": "Developer Affiliation" + } + } + } + }, + "required": [ + "userInfo.developerName", + "userInfo.developerAffiliation" + ] + } + }, + { + "if": { + "properties": { + "basicInfo": { + "properties": { + "species": { + "const": "Other" + } + } + } + } + }, + "then": { + "properties": { + "basicInfo": { + "properties": { + "otherSpecies": { + "type": "string", + "title": "Other species name" + } + } + } + } + } + }, + { + "if": { + "properties": { + "itemAcquisition": { + "const": "Purchase from Vendor" + } + } + }, + "then": { + "properties": { + "vendor": { + "type": "string", + "title": "Vendor Name" + }, + "catalogNumber": { + "type": "string", + "title": "Catalog Number" + }, + "catalogURL": { + "type": "string", + "title": "Link to vendor page" + } + } + } + }, + { + "if": { + "properties": { + "itemAcquisition": { + "const": "Other" + } + } + }, + "then": { + "properties": { + "additionalDetails": { + "type": "string", + "title": "Please provide additional details." + } + }, + "required": [ + "additionalDetails" + ] + } + } + ], + "required": [ + "userInfo.first_name", + "userInfo.last_name", + "userInfo.email", + "userInfo.isDeveloper", + "animalModelName", + "description", + "backgroundStrain", + "animalModelDisease", + "animalModelManifestation" + ] + } \ No newline at end of file diff --git a/NF-Tools-Schemas/genetic-reagent/submitGeneticReagent.json b/NF-Tools-Schemas/genetic-reagent/submitGeneticReagent.json new file mode 100644 index 00000000..b2b2acb3 --- /dev/null +++ b/NF-Tools-Schemas/genetic-reagent/submitGeneticReagent.json @@ -0,0 +1,379 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Submit Genetic Reagent", + "type": "object", + "properties": { + "userInfo": { + "type": "object", + "title": "Your Information", + "properties": { + "firstandlastName": { + "type": "string", + "title": "First and Last Name" + }, + "email": { + "type": "string", + "title": "Contact Email", + "format": "email" + }, + "institution": { + "type": "string", + "title": "Institution/Affiliation", + "default": "" + }, + "isDeveloper": { + "type": "string", + "title": "Are you the developer?", + "enum": [ + "Yes", + "No" + ], + "default": "Yes" + } + } + }, + "insertName": { + "type": "string", + "title": "Insert Name" + }, + "insertEntrezId": { + "type": "string", + "title": "Insert Entrez ID" + }, + "gRNAshRNASequence": { + "type": "string", + "title": "gRNA shRNA Sequence of Gene Insert" + }, + "insertSize": { + "type": "string", + "title": "Insert Size (bp)" + }, + "insertSpecies": { + "type": "string", + "title": "Insert Species", + "enum": [ + "Human", + "Mouse", + "Rat" + ] + }, + "nTerminalTag": { + "type": "string", + "title": "N Terminal Tag" + }, + "cTerminalTag": { + "type": "string", + "title": "C Terminal Tag" + }, + "cloningMethod": { + "type": "string", + "title": "Cloning Method", + "enum": [ + "Restriction Enzyme", + "TOPO Cloning", + "Gateway Cloning", + "Ligation Independent Cloning", + "Gibson Cloning", + "Unknown", + "Other" + ] + }, + "5primeCloningSite": { + "type": "string", + "title": "5 Prime Cloning Site (if Restriction Enzyme Selected)" + }, + "5primeSiteDestroyed": { + "type": "string", + "title": "5 Prime Site Destroyed", + "enum": [ + "Yes", + "No", + "Unknown" + ] + }, + "3primeCloningSite": { + "type": "string", + "title": "3 Prime Cloning Site (if Restriction Enzyme Selected)" + }, + "3primeSiteDestroyed": { + "type": "string", + "title": "3 Prime Site Destroyed", + "enum": [ + "Yes", + "No", + "Unknown" + ] + }, + "promoter": { + "type": "string", + "title": "Promoter" + }, + "5primer": { + "type": "string", + "description": "Primer to sequence the 5' end (N-terminal) of the insert", + "title": "5 Primer" + }, + "3primer": { + "type": "string", + "description": "Primer to sequence the 3' end (C-terminal) of the insert", + "title": "3 Primer" + }, + "vectorBackbone": { + "type": "string", + "title": "Vector Backbone" + }, + "vectorType": { + "type": "string", + "title": "Vector Type", + "enum": [ + "MammalianExpression", + "BacterialExpression", + "GatewayEntryClone", + "Lentiviral", + "Adenoviral", + "AAV", + "RNAi", + "Luciferase", + "Cre/Lox", + "YeastExpression", + "WormExpression", + "InsectExpression", + "PlantExpression", + "MouseTargeting", + "CRISPR", + "TALEN", + "SyntheticBiology", + "TransferVector", + "Unspecified", + "Other" + ] + }, + "backboneSize": { + "type": "string", + "title": "Backbone Size" + }, + "totalSize": { + "type": "string", + "title": "Total Size" + }, + "bacterialResistance": { + "type": "object", + "title": "Bacterial Resistance", + "properties": { + "Ampicillin": { + "type": "boolean" + }, + "Bleocin(Zeocin)": { + "type": "boolean" + }, + "Chloramphenicol": { + "type": "boolean" + }, + "Gentamycin": { + "type": "boolean" + }, + "Hygromycin": { + "type": "boolean" + }, + "Kanamycin": { + "type": "boolean" + }, + "Nourseothricin(clonNat)": { + "type": "boolean" + }, + "Spectinomycin": { + "type": "boolean" + }, + "Streptomycin": { + "type": "boolean" + }, + "Tetracycline": { + "type": "boolean" + }, + "Other": { + "type": "boolean" + } + } + }, + "selectableMarker": { + "type": "object", + "title": "Additional Selection Markers", + "properties": { + "Neomycin": { + "type": "boolean" + }, + "Puromycin": { + "type": "boolean" + }, + "Hygromycin": { + "type": "boolean" + }, + "Zeocin": { + "type": "boolean" + }, + "Blasticidin": { + "type": "boolean" + }, + "Gentamicin": { + "type": "boolean" + }, + "TRP1": { + "type": "boolean" + }, + "LEU1": { + "type": "boolean" + }, + "URA3": { + "type": "boolean" + }, + "HIS3": { + "type": "boolean" + }, + "Basta": { + "type": "boolean" + }, + "Other": { + "type": "boolean" + } + } + }, + "copyNumber": { + "type": "string", + "title": "Copy Number", + "enum": [ + "High Copy", + "Low Copy", + "Unknown" + ] + }, + "growthTemp": { + "type": "string", + "title": "Growth Temp", + "enum": [ + "37 degrees Celsius", + "30 degrees Celsius", + "Room Temperature" + ] + }, + "growthStrain": { + "type": "string", + "title": "Growth Strain", + "enum": [ + "DH5alpha", + "DH10B", + "NEBStable", + "CcdbSurvival", + "Pir1", + "Other" + ] + }, + "hazardous": { + "type": "string", + "title": "Hazardous", + "enum": [ + "Yes", + "No", + "Unknown" + ] + }, + "itemAcquisition": { + "type": "string", + "title": "How to acquire", + "enum": [ + "Contact Developer", + "Purchase from Vendor", + "Other" + ], + "default": "Contact Developer" + } + }, + "allOf": [ + { + "if": { + "properties": { + "userInfo": { + "properties": { + "isDeveloper": { + "const": "No" + } + } + } + } + }, + "then": { + "properties": { + "userInfo": { + "properties": { + "developerName": { + "type": "string", + "title": "Developer Name" + }, + "developerAffiliation": { + "type": "string", + "title": "Developer Affiliation" + } + } + } + }, + "required": [ + "userInfo.developerName", + "userInfo.developerAffiliation" + ] + } + }, + { + "if": { + "properties": { + "itemAcquisition": { + "const": "Purchase from Vendor" + } + } + }, + "then": { + "properties": { + "vendor": { + "type": "string", + "title": "Vendor Name" + }, + "catalogNumber": { + "type": "string", + "title": "Catalog Number" + }, + "catalogURL": { + "type": "string", + "title": "Link to vendor page" + } + } + } + }, + { + "if": { + "properties": { + "itemAcquisition": { + "const": "Other" + } + } + }, + "then": { + "properties": { + "additionalDetails": { + "type": "string", + "title": "Please provide additional details." + } + }, + "required": [ + "additionalDetails" + ] + } + } + ], + "required": [ + "userInfo.firstandlastName", + "userInfo.email", + "userInfo.isDeveloper", + "geneticReagentId", + "insertName", + "insertSize", + "insertSpecies" + ] +} diff --git a/NF-Tools-Schemas/genetic-reagent/submitGeneticReagentUiSchema.json b/NF-Tools-Schemas/genetic-reagent/submitGeneticReagentUiSchema.json new file mode 100644 index 00000000..caa110f0 --- /dev/null +++ b/NF-Tools-Schemas/genetic-reagent/submitGeneticReagentUiSchema.json @@ -0,0 +1,18 @@ +{ + "insertSpecies": { + "ui:widget": "radio", + "ui:inline": "true" + }, + "cloningMethod": { + "ui:widget": "radio", + "ui:inline": "true" + }, + "5primeSiteDestroyed": { + "ui:widget": "radio", + "ui:inline": "true" + }, + "3primeSiteDestroyed": { + "ui:widget": "radio", + "ui:inline": "true" + } +} \ No newline at end of file diff --git a/NF-Tools-Schemas/SubmitObservationSchema.json b/NF-Tools-Schemas/observations/SubmitObservationSchema.json similarity index 83% rename from NF-Tools-Schemas/SubmitObservationSchema.json rename to NF-Tools-Schemas/observations/SubmitObservationSchema.json index 30f41f3c..68ff9fa8 100644 --- a/NF-Tools-Schemas/SubmitObservationSchema.json +++ b/NF-Tools-Schemas/observations/SubmitObservationSchema.json @@ -2,8 +2,9 @@ "title": "Submission Form for NF Tools", "type": "object", "properties": { - "name": { + "userInfo": { "type": "object", + "title": "Your Information", "required": ["first_name", "last_name", "email"], "properties": { "first_name": { @@ -21,28 +22,29 @@ }, "institution": { "type": "string", - "title": "Institution", + "title": "Institution (Optional)", "default": "" } } }, - "submitObservation": { + "observationsSection": { "type": "object", + "title": "Submit Your Observations", "properties": { "observations": { "type": "array", - "title": "Add Observations", + "title": "Add Your Observations", "items": { "type": "object", "required": ["resourceName", "observationType", "details"], "properties": { "resourceName": { "type": "string", - "title": "Name of Resource" + "title": "Name of the Resource" }, "observationType": { "type": "string", - "title": "Observation Type", + "title": "Type of Observation", "enum": [ "Body Length", "Body Weight", @@ -72,11 +74,11 @@ }, "referencePublication": { "type": "string", - "title": "Publication Reference" + "title": "Publication Reference (if available)" }, "fileUpload": { "type": "string", - "title": "Associated File" + "title": "Upload Related File (Optional)" } } } diff --git a/NF-Tools-Schemas/SubmitObservationUiSchema.json b/NF-Tools-Schemas/observations/SubmitObservationUiSchema.json similarity index 54% rename from NF-Tools-Schemas/SubmitObservationUiSchema.json rename to NF-Tools-Schemas/observations/SubmitObservationUiSchema.json index f48d5a1a..851f81d7 100644 --- a/NF-Tools-Schemas/SubmitObservationUiSchema.json +++ b/NF-Tools-Schemas/observations/SubmitObservationUiSchema.json @@ -1,6 +1,24 @@ { - "submitObservation": { + "userInfo": { + "first_name": { + "ui:placeholder": "Enter your first name" + }, + "last_name": { + "ui:placeholder": "Enter your last name" + }, + "email": { + "ui:placeholder": "Enter your email address" + }, + "institution": { + "ui:placeholder": "Enter your institution (optional)" + } + }, + "observationsSection": { "observations": { + "ui:options": { + "addButtonText": "Add Another Observation", + "itemTitle": "Observation" + }, "items": { "resourceName": { "ui:placeholder": "Enter the name of the resource" @@ -17,15 +35,12 @@ } }, "referencePublication": { - "ui:placeholder": "Enter publication DOI" + "ui:placeholder": "Enter publication DOI (if available)" }, "fileUpload": { "ui:widget": "file" } - }, - "ui:options": { - "addButtonText": "Add Observation" } } } -} +} \ No newline at end of file