Skip to content
Snippets Groups Projects
Unverified Commit 164d58af authored by xgui3783's avatar xgui3783 Committed by GitHub
Browse files

Merge pull request #371 from HumanBrainProject/bugfix/commonsensefilter

bugfix: commonsense filter
parents 34638f60 b4f098e1
No related branches found
No related tags found
No related merge requests found
...@@ -3,7 +3,7 @@ const request = require('request') ...@@ -3,7 +3,7 @@ const request = require('request')
const URL = require('url') const URL = require('url')
const path = require('path') const path = require('path')
const archiver = require('archiver') const archiver = require('archiver')
const { commonSenseDsFilter } = require('./supplements/commonSense') const { getCommonSenseDsFilter } = require('./supplements/commonSense')
const { getPreviewFile, hasPreview } = require('./supplements/previewFile') const { getPreviewFile, hasPreview } = require('./supplements/previewFile')
const { init: kgQueryUtilInit, getUserKGRequestParam } = require('./util') const { init: kgQueryUtilInit, getUserKGRequestParam } = require('./util')
...@@ -183,7 +183,7 @@ const filterByPRName = ({ parcellationName = null, dataset = {parcellationAtlas: ...@@ -183,7 +183,7 @@ const filterByPRName = ({ parcellationName = null, dataset = {parcellationAtlas:
: (dataset.parcellationAtlas || []).some(({ name }) => name === parcellationName) : (dataset.parcellationAtlas || []).some(({ name }) => name === parcellationName)
const filter = (datasets = [], { templateName, parcellationName }) => datasets const filter = (datasets = [], { templateName, parcellationName }) => datasets
.filter(ds => commonSenseDsFilter({ ds, templateName, parcellationName })) .filter(getCommonSenseDsFilter({ templateName, parcellationName }))
.filter(ds => { .filter(ds => {
if (/infant/.test(ds.name)) if (/infant/.test(ds.name))
return false return false
......
...@@ -34,7 +34,7 @@ const mouseParcellationSet = new Set([ ...@@ -34,7 +34,7 @@ const mouseParcellationSet = new Set([
'Allen Mouse Common Coordinate Framework v3 2015' 'Allen Mouse Common Coordinate Framework v3 2015'
]) ])
const dsIsHuman = ({ds}) => ds && ds.species.some(species => /homo\ sapiens/i.test(species)) const dsIsHuman = ({ ds }) => ds && ds.species.some(species => /homo\ sapiens/i.test(species))
const dsIsRat = ({ ds }) => ds && ds.species.some(species => /rattus\ norvegicus/i.test(species)) const dsIsRat = ({ ds }) => ds && ds.species.some(species => /rattus\ norvegicus/i.test(species))
const dsIsMouse = ({ ds }) => ds && ds.species.some(species => /mus\ musculus/i.test(species)) const dsIsMouse = ({ ds }) => ds && ds.species.some(species => /mus\ musculus/i.test(species))
...@@ -50,7 +50,23 @@ const queryIsHuman = ({ templateName, parcellationName }) => ...@@ -50,7 +50,23 @@ const queryIsHuman = ({ templateName, parcellationName }) =>
(templateName && humanTemplateSet.has(templateName)) (templateName && humanTemplateSet.has(templateName))
|| (parcellationName && humanParcellationSet.has(parcellationName)) || (parcellationName && humanParcellationSet.has(parcellationName))
exports.commonSenseDsFilter = ({ ds , templateName, parcellationName}) => exports.getCommonSenseDsFilter = ({ templateName, parcellationName }) => {
(queryIsHuman({ templateName, parcellationName }) && !dsIsRat({ ds }) && !dsIsMouse({ ds })) const trueFilter = queryIsHuman({ templateName, parcellationName })
|| (queryIsMouse({ templateName, parcellationName }) && !dsIsRat({ ds }) && !dsIsHuman({ ds })) ? dsIsHuman
|| (queryIsRat({ templateName, parcellationName }) && !dsIsMouse({ ds }) && !dsIsHuman({ ds })) : queryIsMouse({ templateName, parcellationName })
? dsIsMouse
: queryIsRat({ templateName, parcellationName })
? dsIsRat
: null
const falseFilters = queryIsHuman({ templateName, parcellationName })
? [dsIsMouse, dsIsRat]
: queryIsMouse({ templateName, parcellationName })
? [dsIsHuman, dsIsRat]
: queryIsRat({ templateName, parcellationName })
? [dsIsMouse, dsIsHuman]
: []
return ds => trueFilter
? trueFilter({ ds }) || (falseFilters.every(filterFn => !filterFn({ ds })))
: false
}
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment