diff --git a/resources/biseps b/resources/biseps index 418fbdd0d56a33f9c48f1dcf5aa16e4f38f65009..876f966022371d2c9c0a6236bd109f851f48475f 160000 --- a/resources/biseps +++ b/resources/biseps @@ -1 +1 @@ -Subproject commit 418fbdd0d56a33f9c48f1dcf5aa16e4f38f65009 +Subproject commit 876f966022371d2c9c0a6236bd109f851f48475f diff --git a/src/backend/helpers/createProfile.js b/src/backend/helpers/createProfile.js index f44f512aaf59e93bcb1b0c1d302b91651c83eec3..c7ea6e4458a76e218f0dc162d67f59241427fa77 100644 --- a/src/backend/helpers/createProfile.js +++ b/src/backend/helpers/createProfile.js @@ -27,9 +27,11 @@ function createProfile(body, uniqueDir, uniqueDirRemote) { }; const slurmProfile = { jobs: parseInt(body.jobs), - cluster: - "sbatch -t {resources.time_min} --mem={resources.mem_mb} -c {resources.cpus} -o logs_slurm/{rule}_{wildcards} -e logs_slurm/{rule}_{wildcards} --mail-type=FAIL,END --mail-user=" + - body.email, + cluster: body.notification + ? "sbatch -t {resources.time_min} --mem={resources.mem_mb} -c {resources.cpus} -o logs_slurm/{rule}_{wildcards} -e logs_slurm/{rule}_{wildcards}" + + "--mail-type=FAIL,END --mail-user=" + + body.email + : "sbatch -t {resources.time_min} --mem={resources.mem_mb} -c {resources.cpus} -o logs_slurm/{rule}_{wildcards} -e logs_slurm/{rule}_{wildcards}", "default-resources": ["cpus=1", "mem_mb=10000", "time_min=5440"], configfile: body.remote ? "config/config.yaml" diff --git a/src/backend/helpers/createProfileComparison.js b/src/backend/helpers/createProfileComparison.js index 01b4584f94722329bb65cceee07b45d730bf9757..5265577f21ad62ad582a04a221b75e2c09c7f44e 100644 --- a/src/backend/helpers/createProfileComparison.js +++ b/src/backend/helpers/createProfileComparison.js @@ -29,9 +29,11 @@ function createProfile(body, uniqueDir, uniqueDirRemote) { }; const slurmProfile = { jobs: parseInt(body.jobs), - cluster: - "sbatch -t {resources.time_min} --mem={resources.mem_mb} -c {resources.cpus} -o logs_slurm/{rule}_{wildcards} -e logs_slurm/{rule}_{wildcards} --mail-type=FAIL,END --mail-user=" + - body.email, + cluster: body.notification + ? "sbatch -t {resources.time_min} --mem={resources.mem_mb} -c {resources.cpus} -o logs_slurm/{rule}_{wildcards} -e logs_slurm/{rule}_{wildcards}" + + "--mail-type=FAIL,END --mail-user=" + + body.email + : "sbatch -t {resources.time_min} --mem={resources.mem_mb} -c {resources.cpus} -o logs_slurm/{rule}_{wildcards} -e logs_slurm/{rule}_{wildcards}", "default-resources": ["cpus=1", "mem_mb=10000", "time_min=5440"], configfile: body.remote ? "config/configComparison.yaml" diff --git a/src/components/ComparisonStepper/GlobalConfig.js b/src/components/ComparisonStepper/GlobalConfig.js index af9f7d5851605959d552906ec161f54ad76ef9bc..304c4cb6302084d05c6de76ec9f9d9434c90732d 100644 --- a/src/components/ComparisonStepper/GlobalConfig.js +++ b/src/components/ComparisonStepper/GlobalConfig.js @@ -609,6 +609,20 @@ export default function GlobalConfig() { label="SLURM Cluster" ></FormControlLabel> </Grid> + <Grid item xs={12} sm={4}> + <FormControlLabel + className={classes.formControl} + control={ + <Checkbox + onChange={handleCheckBox} + color="secondary" + name="notification" + checked={compState.notification} + /> + } + label="Send Email Notification" + ></FormControlLabel> + </Grid> </Grid> ) : ( <Grid item xs={12} sm={4}> diff --git a/src/components/Login/Login.js b/src/components/Login/Login.js index 9ac0d51621668281a5ec246ee99f18aed9c55d9f..b1b7815f87d2467b47d21def7d66d221dadec0f8 100644 --- a/src/components/Login/Login.js +++ b/src/components/Login/Login.js @@ -83,7 +83,7 @@ const Login = () => { signup(userData, dispatch, history); }; const { errors } = state; - + console.log(errors); return ( <Container component="main" maxWidth="md"> <CssBaseline /> @@ -99,7 +99,7 @@ const Login = () => { onChange={onChange} value={state.name} error={errors.name === ""} - helperText={errors.name === "" ? "Empty!" : errors.name} + helperText={errors.name === "" ? "Empty!" : errors.namenotfound} className={classnames("", { invalid: errors.name || errors.namenotfound, })} @@ -118,7 +118,9 @@ const Login = () => { onChange={onChange} value={state.password} error={errors.password === ""} - helperText={errors.password === "" ? "Empty!" : errors.password} + helperText={ + errors.password === "" ? "Empty!" : errors.passwordincorrect + } className={classnames("", { invalid: errors.password || errors.passwordincorrect, })} diff --git a/src/components/Stepper/GlobalConfig.js b/src/components/Stepper/GlobalConfig.js index bb70b33362a3bb29d104cc048b31ecf0c326d0f5..295117d715cb8155027f6af05bf7deb1ef439e6f 100644 --- a/src/components/Stepper/GlobalConfig.js +++ b/src/components/Stepper/GlobalConfig.js @@ -441,6 +441,20 @@ export default function GlobalConfig() { label="SLURM Cluster" ></FormControlLabel> </Grid> + <Grid item xs={12} sm={4}> + <FormControlLabel + className={classes.formControl} + control={ + <Checkbox + onChange={handleCheckBox} + color="secondary" + name="notification" + checked={runState.notification} + /> + } + label="Send Email Notification" + ></FormControlLabel> + </Grid> </Grid> ) : ( <Grid item xs={12} sm={4}> diff --git a/src/components/Table/Table.js b/src/components/Table/Table.js index 346a06a2422dcd2d2726a67c091c0abd9ecb7a94..8d762a4b60c3fd3459bbfe61c2d477e5193e94e0 100644 --- a/src/components/Table/Table.js +++ b/src/components/Table/Table.js @@ -172,6 +172,7 @@ export default function InteractiveList() { sftp.end(); }) .catch((err) => { + setLoading((prevState) => ({ ...prevState, [idx]: false })); console.error(err.message); sftp.end(); }); diff --git a/src/hooks/useConfig.js b/src/hooks/useConfig.js index aa10df8abc7446e8b86a5081715e84c7d280c9b4..fdfc0d74782c629623112d0ebb152631bdbcb892 100644 --- a/src/hooks/useConfig.js +++ b/src/hooks/useConfig.js @@ -35,6 +35,7 @@ const useProvideConfig = () => { l: 20, n: 0, subsample: false, + notification: true, cluster: false, remote: false, cpu: "1", @@ -63,6 +64,7 @@ const useProvideConfig = () => { contexts: ["CpG"], genome: "", species: "", + notification: true, annot: "", remoteDir: "", outdir: "",