diff --git a/docker-compose.dev.vector.yml b/docker-compose.dev.vector.yml index 272e4b83f..e9238a97c 100644 --- a/docker-compose.dev.vector.yml +++ b/docker-compose.dev.vector.yml @@ -53,10 +53,10 @@ services: start_period: 10s web: container_name: web_dock - image: xchem/fragalysis-stack:latest + # image: xchem/fragalysis-stack:latest # image: alanbchristie/fragalysis-backend:1187.3 # image: boriskovarm2ms/fragalysis-stack:experiment2 - # image: kaliif/fragalysis-backend:latest + image: kaliif/fragalysis-backend:latest command: /bin/bash /code/launch-stack.sh volumes: - ../data/logs:/code/logs/ diff --git a/js/components/datasets/datasetMoleculeView/datasetMoleculeView.js b/js/components/datasets/datasetMoleculeView/datasetMoleculeView.js index 68e6ae435..50455a492 100644 --- a/js/components/datasets/datasetMoleculeView/datasetMoleculeView.js +++ b/js/components/datasets/datasetMoleculeView/datasetMoleculeView.js @@ -63,7 +63,15 @@ import { centerOnLigandByMoleculeID } from '../../../reducers/ngl/dispatchAction import { ArrowDownward, ArrowUpward, MyLocation } from '@material-ui/icons'; import { isString } from 'lodash'; import { SvgTooltip } from '../../common'; -import { addComplex, addHitProtein, addSurface, getMolImage, removeComplex, removeHitProtein, removeSurface } from '../../preview/molecule/redux/dispatchActions'; +import { + addComplex, + addHitProtein, + addSurface, + getMolImage, + removeComplex, + removeHitProtein, + removeSurface +} from '../../preview/molecule/redux/dispatchActions'; import { MOL_TYPE } from '../../preview/molecule/redux/constants'; import { deselectVectorCompound, @@ -453,6 +461,7 @@ const DatasetMoleculeView = memo( // #1249 dataset molecules currently could use side observation molecule for some renders const allMolecules = useSelector(state => state.apiReducers.all_mol_lists); const [pdbData, setPdbData] = useState(null); + const [isCustomPdb, setIsCustomPdb] = useState(false); const isPdbAvailable = !!(data && (data.pdb_info || pdbData)); useEffect(() => { @@ -462,7 +471,8 @@ const DatasetMoleculeView = memo( setPdbData(molecule); } } else { - setPdbData(data.pdb_info); + setPdbData(data); + setIsCustomPdb(true); } }, [data, allMolecules]); @@ -1236,13 +1246,7 @@ const DatasetMoleculeView = memo( wrap="nowrap" className={classes.fullHeight} > - + {filteredScoreProperties && datasetID && filteredScoreProperties[datasetID] && @@ -1270,21 +1274,15 @@ const DatasetMoleculeView = memo( null} )) || ( - - - - - )} + + - + + )} ); })} - + {Object.keys(compoundsColors).map(color => { const colorIncluded = shoppingCartColors?.includes(color); return ( @@ -1363,7 +1361,7 @@ const DatasetMoleculeView = memo( )} {moleculeTooltipOpen && !inSelectedCompoundsList && ( - + diff --git a/js/components/datasets/redux/dispatchActions.js b/js/components/datasets/redux/dispatchActions.js index fa9135242..51cfd82cb 100644 --- a/js/components/datasets/redux/dispatchActions.js +++ b/js/components/datasets/redux/dispatchActions.js @@ -299,10 +299,17 @@ export const loadDatasetCompoundsWithScores = (datasetsToLoad = null) => (dispat // -----> add 'site_observation_code' to molecules whereas '/compound-molecules' has more molecule info so far, can be removed later const compondMolecules = await api({ url: `${base_url}/api/compound-molecules/?compound_set=${dataset.id}` }); const compondMoleculesMap = {}; - compondMolecules.data.results.forEach(molecule => compondMoleculesMap[molecule.name] = molecule.site_observation_code); + compondMolecules.data.results.forEach( + molecule => + (compondMoleculesMap[molecule.name] = { + site_observation_code: molecule.site_observation_code, + pdb_info: molecule.pdb_info + }) + ); response.data.results.forEach(molecule => { if (compondMoleculesMap.hasOwnProperty(molecule.name)) { - molecule['site_observation_code'] = compondMoleculesMap[molecule.name]; + molecule['site_observation_code'] = compondMoleculesMap[molecule.name].site_observation_code; + molecule['pdb_info'] = compondMoleculesMap[molecule.name].pdb_info; } }); // <----- @@ -1331,7 +1338,14 @@ export const moveSelectedMoleculeSettings = ( let representations = getRepresentationsByType(data.objectsInView, newItem, OBJECT_TYPE.PROTEIN, datasetID); promises.push( dispatch( - addDatasetHitProtein(stage, newItem, getRandomColor(newItem), datasetIdOfMolecule, skipTracking, representations) + addDatasetHitProtein( + stage, + newItem, + getRandomColor(newItem), + datasetIdOfMolecule, + skipTracking, + representations + ) ) ); }