TIMEDB, an online human tumor immune micro-environment cell composition database with automatic analysis and interactive visualization.
We have systematically searched gene expression datasets of 43 cancer types from TCGA, Therapeutically Applicable Research to Generate Effective Treatments (TARGET), Gene Expression Omnibus (GEO), and Array Express portal from June 2021 - June 2022. As a result, we collected the RNA expression profiles from a total of 39,706 samples from 546 datasets of 43 cancer types. We manually curated the corresponding clinical information (treatment, survival, etc.) from different data sources to the same format, which at least three individuals have independently validated.
We conducted TIME cell-type composition estimation using ten state-of-the-art tools, including ABIS, CIBERSORT, CIBERSORTx, EPIC, quanTIseq, TIMER, ConsensusTME, ImmuneCellAI, MCPcounter, and xCell. All processed expression data, curated clinical data, and TIME cell-type composition data are freely downloadable on TIMEDB. Furthermore, TIMEDB offers an automatic TIME analysis workflow, including the above-mentioned TIME cell-type composition estimation packages, TIME cell-type composition guided patient subtyping, survival analysis, correlation analysis, differential expression analysis, etc. Users can upload their gene expression data or select datasets from TIMEDB for independent or integrated analyses with simple mouse operations.
Last but not least, TIMEDB supports the interactive visualizations of gene expression, TIME cell-type composition estimation, patient subtyping, survival, and correlation data from databases or analyses. Multiple interaction options are available, including informative tooltips, changeable plot size, edited labels, optional color picker, etc. All visualizations are downloadable in high-quality publication-ready format.
0. Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"- install rbenv
brew install rbenv
- install Ruby 2.7.1 (for the latest TIMEDB realeased version)
rbenv install 2.7.1
Note: Please check to guarantee that Ruby and Gem packages are under the control of Rbenv
user@users-iMac meta_platform % which ruby
/Users/user/.rbenv/shims/ruby
user@users-iMac meta_platform % gem env home
/Users/user/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0! wrong example here, the default ruby is the system ruby
user@dclb4027 ide-frontend % gem env home /Library/Ruby/Gems/2.6.0
- install Node 14
# using homebrew
brew install node@14
# or using nvm
# you might need to manually set the environment
brew install nvm
nvm install 14.17.0Validation
user@users-iMac meta_platform % node -v
v14.17.0
- install Yarn
npm install --global yarn
3. PostgreSQL as the backend database
- install postgresql. Pay attention to the support OS versions.
# here we use 12, but you may also try later versions if your os suppport
brew install postgresql@12
brew services start postgresql@12Note: Choose the right version of postgresql for your OS
Create an account in http://144.214.37.165/ (please contact the gitlab manager)
create suitable workspace folder and clone the project to your local environement with all prerequisites satisfied.
git clone git@144.214.37.165:wangxueying/timedb.gitNow go to the project root:
cd immune_platform-
install bundler as the dependency manager:
gem install bundler
-
Install all ruby dependencies:
bundle install
-
cd ..to your $workspace, clone and install crux.#clone wyf-dev branch for the latest functions at this moment git clone -b wyf-dev https://delta.cs.cityu.edu.hk/lhc/crux.git cd crux yarn install yarn build
-
Download oviz-editor oviz-editor-v0.1.0.tgz
-
Install all front-end dependencies using yarn:
yarn install
Note: the file structure of your workspace should be as the follows
--your workspace
--crux
--meta_platform
--oviz-editor-v0.1.0.tgz
The database configuration can be checked inconfig/database.yml, including the user name and the database name.
Create the required user name stated in the database configuration file:
createuser --interactiveThen read the output of brew info postgresql to start the database.
Run the following commands to construct the project database.
bin/rails db:create
bin/rails db:migrateRun the following command to launch your local server.
rails s
# open a new terminal tab and ran the second command
bin/webpack-dev-serverGo to localhost:3000 where you can check the local version of the platform.
TIMEDB provides administration pages for developers to upload new datasets and conduct necessary data processing procedures. Detailed data processing codes can be added, modified and improved in the administration controller.
The latest version of TIMEDB support multiple visualization module for each analysis type. Detaield procedures for the analysis configuration are as follows:
-
Configure corresponding visualizers in visualizer administration pages
Note: Configured data sources should be synchronized with visualization developers.
-
Complete construction of analysis modules in DeepOmics
-
Create and configure the new analysis in analysis administration pages
- Select corresponding visualizers (should be completed in the fist step)
- Configure the required json file, in which each file key should match with some output files fetched from DeepOmics.
-
Submit a task and check detailed information in DeepOmics.
-
make a new directory for your project in the 380 server, such as immune_platform
-
modify files under the config folder, including
- config/deploy/production.rb
- config/environments/development.rb
- config/environments/production.rb
- config/database.yml
- config/deploy.rb
Note: the default branch of the project should be synchronized with the deployed branch.
set :application, "timedb"
set :repo_url, "git@gitlab.deepomics.org:xxx"
set :branch, proc { `git rev-parse --abbrev-ref xxx`.chomp } #!!!-
copy the shared folder from recom-rails and modify the following files:
- .env
- database.yml
- puma.rb
- xxx (please recheck each file)
-
create the database whose detailed configuration information can be checked in the database.yml file (production environment)
- create user name:
sudo -u postgres createuser xxx - give created user the permission to create the database
- create database
- create user name:
-
modify apache configuration to create new virtual host
/usr/local/apache2/conf/extra/httpd-ssl.conf/usr/local/apache2/conf/httpd.conf
then restart the apachectl:
bin/apachectl restart -
Start to deploy
cap production deploy
We provides user guides for each functional component of the platform at tutorial pages. If you have any suggestion, please contact us for future improving.
Bug report
If you encounter any problems in use, you can describe it on the issue page and we will deal with it as soon as possible.
Supervisor
Dr LI, Shuaicheng Tat Chee Avenue, Kowloon, Hong Kong Email: shuaicli@cityu.edu.hk
@article{10.1093/nar/gkac1006,
author = {Wang, Xueying and Chen, Lingxi and Liu, Wei and Zhang, Yuanzheng and Liu, Dawei and Zhou, Chenxin and Shi, Shuai and Dong, Jiajie and Lai, Zhengtao and Zhao, Bingran and Zhang, Wenjingyu and Cheng, Haoyue and Li, Shuaicheng},
title = "{TIMEDB: tumor immune micro-environment cell composition database with automatic analysis and interactive visualization}",
journal = {Nucleic Acids Research},
year = {2022},
month = {11}}


