Load WSI segmentations to mongodb instance in a Docker network environment (i.e. QuIP).
See EXAMPLE.
Directory structure of ./data:
├── data/
│ ├── segmentation_results/
| ├── manifest.csv
│ ├── TCGA-A2-A3XZ-01Z-00-DX1.svs/ (folder)
| ├── ...lots of segmented files
|
The manifest file will on the same level as the directory that contains
Segmentation data is one folder per slide. So in the manifest.csv file, you may have, for example:
segmentdir,studyid,clinicaltrialsubjectid,imageid
TCGA-A2-A3XZ-01Z-00-DX1.svs,TCGA-A2-A3XZ-01Z,TCGA-A2-A3XZ-01Z-00-DX1,TCGA-A2-A3XZ-01Z
Running the loader as a background process is highly recommended.
# Command with arguments:
nohup docker exec quip-segloader loadfiles --src [data_folder] --collectionname [pathdb collection] --user [username] --passwd [password] > /dev/null &
# Example:
nohup docker exec quip-segloader loadfiles --src segmentation_results --collectionname TCGABRCA --user [your username] --passwd [your password] > /dev/null &
The > /dev/null &
is for keeping any error logs that may occur, but not generate any other output files (so as to not eat up all the space).
data_folder = top-level directory containing segmentation subfolder and manifest.csv
FYI, the upper level directory (in this case, ./data
) is the folder that is mapped to docker.
In this example, the folder name you would pass to the program is segmentation_results
.
docker-compose.yml
included for convenience
Edit the file and edit volumes
- set the source to your main data folder.
Currently, source is set to ./data
If your network name should change (Hint: it shouldn't) but if it does, then change networks
as well.