Skip to content

Commit

Permalink
added json structures
Browse files Browse the repository at this point in the history
  • Loading branch information
mnakano committed Apr 18, 2023
1 parent 4a89c25 commit 5c7187c
Show file tree
Hide file tree
Showing 10 changed files with 439 additions and 6 deletions.
64 changes: 64 additions & 0 deletions client/src/components/Admin/AddNewObject.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
import React, { useState, useEffect } from 'react';
import axios from 'axios';
import styled from 'styled-components';
import CustomMessages from '../Shared/CustomMessages';
import CustomSelect from '../Shared/CustomSelect';
import CustomInputText from '../Shared/CustomInputText';
import { InputTextarea } from 'primereact/inputtextarea';
import {dataTypes} from '../Shared/Enums';

const StyledAddNewObject = styled.div`
width: 800px;
`;

const AddNewObject = () => {

const [selected, setSelected] = useState(null);
const [datasetName, setDatasetName] = useState('');
const [datasetNote, setDatasetNote] = useState('');
const [dataset, setDataset] = useState('');
const [dataObj, setDataObj] = useState('');

useEffect(() => {
if(selected){

}
}, [selected])

return(
<StyledAddNewObject>
<h3>Add new data object to the compendium</h3>
<div>
<CustomSelect
selectOne
selected={selected}
options={Object.values(dataTypes).map(datatype => ({label: datatype, value: datatype}))}
onChange={(e) => {setSelected(e.value)}}
label='Select a dataset type to add: '
/>
</div>
<div>
<CustomInputText
className='textfield'
label='Dataset name:'
value={datasetName}
onChange={(e) => {setDatasetName( e.target.value)}}
/>
</div>
<h4>Add a DatasetNote document</h4>
<div>
<InputTextarea value={datasetNote} onChange={(e) => setDatasetNote(e.target.value)} rows={10} cols={100} />
</div>
<h4>Add a Dataset document</h4>
<div>
<InputTextarea value={dataset} onChange={(e) => setDataset(e.target.value)} rows={30} cols={100} />
</div>
<h4>Add a DataObject document</h4>
<div>
<InputTextarea value={dataObj} onChange={(e) => setDataObj(e.target.value)} rows={30} cols={100} />
</div>
</StyledAddNewObject>
)
}

export default AddNewObject;
12 changes: 11 additions & 1 deletion client/src/components/Admin/Admin.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import CreatePipeline from './CreatePipeline';
import RunPipeline from './RunPipeline';
import ProcessedDataObjects from './ProcessedDataObjects';
import DataSubmissionManager from './DataSubmissionManager';
import AddNewObject from './AddNewObject';

const Container = styled.div`
.title {
Expand Down Expand Up @@ -37,7 +38,7 @@ const TabNavigation = styled.div`
`;

const Admin = () => {
const [selectedMenu, setSelectedMenu] = useState('create-pipeline');
const [selectedMenu, setSelectedMenu] = useState('add-new-object');

return(
<StyledPage>
Expand Down Expand Up @@ -69,6 +70,12 @@ const Admin = () => {
>
Data Objects
</span>
<span
className={`nav-item ${selectedMenu === 'add-new-object' ? 'active' : ''}`}
onClick={(e) => {setSelectedMenu('add-new-object')}}
>
Add New Data Object
</span>
<span
className={`nav-item ${selectedMenu === 'data-submissions' ? 'active' : ''}`}
onClick={(e) => {setSelectedMenu('data-submissions')}}
Expand All @@ -91,6 +98,9 @@ const Admin = () => {
{
selectedMenu === 'data-submissions' && <DataSubmissionManager />
}
{
selectedMenu === 'add-new-object' && <AddNewObject />
}
</Container>
</StyledPage>
)
Expand Down
137 changes: 137 additions & 0 deletions client/src/components/Admin/JSONStructures/dataobject.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
export const baseDataObject = {
info: {
date: {
created: {
$date: "2023-00-00T00:00:00.000Z"
}
},
status: "complete",
private: false,
canonical: true,
numDownload: 0,
createdBy: "BHK Lab",
other: {
pipeline: {
url: "",
commit_id: ""
},
additionalRepo: [
{
repo_type: "",
git_url: "",
commit_id: ""
}
],
data_preprocessing: [
{
data_type: "",
pipeline: {
git_url: "",
commit_id: ""
}
}
],
rna_ref: ""
}
},
dataObjType: "BaseDataObject",
datasetType: "",
name: "",
dataset: {
$oid: ""
},
repositories: [
{
version: "1.0",
doi: "",
downloadLink: "",
}
],
availableDatatypes: [
{
name: "rnaseq",
genomeType: "RNA"
}
],
}

export const genomeDataObject = {
info: {
date: {
created: {
$date: "2023-00-00T00:00:00.000Z"
}
},
status: "complete",
private: false,
canonical: true,
numDownload: 0,
createdBy: "BHK Lab",
filteredSensitivity: true,
other: {
pipeline: {
url: "",
commit_id: ""
},
additionalRepo: [
{
repo_type: "",
git_url: "",
commit_id: ""
}
],
data_preprocessing: [
{
data_type: "",
pipeline: {
git_url: "",
commit_id: ""
}
}
],
rna_ref: ""
}
},
dataObjType: "GenomeDataObject",
datasetType: "",
name: "",
dataset: {
$oid: ""
},
repositories: [
{
version: "3.13",
doi: "",
downloadLink: ""
}
],
availableDatatypes: [
{
name: "rnaseq",
genomeType: "RNA"
},
{
name: "microarray",
genomeType: "RNA"
},
{
name: "cnv",
genomeType: "DNA"
},
{
name: "fusion",
genomeType: "DNA"
},
{
name: "mutation",
genomeType: "DNA"
}
],
tools: {
rna: "kallisto_0_46_1"
},
references: {
rna: "Gencode_v33"
},
genome: "GRCh38",
}
Loading

0 comments on commit 5c7187c

Please sign in to comment.