ATLAS セットアップ手順
この手順書は、2024年6月14日に作成されました。
目次
➤ 事前準備 : ソフトウェアのインストール
➤ ログイン/グループロールの登録(PostgreSQL)
➤ データベース “OHDSI” の作成
➤ WebAPI 用スキーマの作成
➤ WebAPI を Tomcat にデプロイする
➤ Achilles のインストール
➤ ATLAS のインストール
➤ ATLAS の起動手順
事前準備 : ソフトウェアのインストール
ATLAS 環境を構築するためのソフトウェア群です。
以下のソフトウェアをインストールします。
参考:
環境変数の登録
参考:
システム環境変数に、以下の内容を追加登録します。
※バージョンにより、変数、値が変わることがあります。
JAVA_HOME C:\Program Files\Amazon Corretto\jdk1.8.0_412
MAVEN_HOME C:\Maven
RTOOLS42_HOME C:\rtools42
システム環境変数の “Path” に、下記の内容を追加登録します。
※バージョンにより、パス名が変わることがあります。
C:\Program Files\Amazon Corretto\jdk1.8.0_412\bin
C:\Program Files\Apache Software Foundation\Tomcat 8.5\bin
C:\Program Files\PostgreSQL\16\bin
C:\rtools42\usr\bin
設定を保存したら、Windows を再起動します。
ログイン/グループロールの登録(PostgreSQL)
pgAdmin4 を起動します。
参考:
この手順では、クエリツールの画面からロールを作成します。
データベースの postgres を選択し、クエリツールのアイコンをクリックします。
クエリの入力画面が表示されるので、以下のコードを貼り付け、実行します。(点線部分)

次の SQL を pgAdmin4 のクエリ欄へ貼り付け、実行します。
ログインロール、グループロールが作成されます。
CREATE ROLE ohdsi_admin
CREATEDB REPLICATION
VALID UNTIL 'infinity';
COMMENT ON ROLE ohdsi_admin
IS 'Administration group for OHDSI applications';
CREATE ROLE ohdsi_app
VALID UNTIL 'infinity';
COMMENT ON ROLE ohdsi_app
IS 'Application group for OHDSI applications';
xxxx は ohdsi_admin_user のパスワード(任意)に書き換えて実行してください。
CREATE ROLE ohdsi_admin_user LOGIN ENCRYPTED PASSWORD '
xxxx' VALID UNTIL 'infinity'; GRANT ohdsi_admin TO ohdsi_admin_user; COMMENT ON ROLE ohdsi_admin_user IS 'Admin user account for OHDSI applications'; ALTER ROLE ohdsi_admin_user SUPERUSER CREATEDB CREATEROLE;
zzzz は ohdsi_app_user のパスワード(任意)に書き換えて実行してください。
CREATE ROLE ohdsi_app_user LOGIN ENCRYPTED PASSWORD '
zzzz' VALID UNTIL 'infinity'; GRANT ohdsi_app TO ohdsi_app_user; COMMENT ON ROLE ohdsi_app_user IS 'Application user account for OHDSI applications'; ALTER ROLE ohdsi_app_user SUPERUSER CREATEDB CREATEROLE;
ログイン/グループロールを右クリックし、再読み込みを選択すると、情報が更新されます。

以下のログイン/グループロールが追加されました。

データベース “OHDSI” の作成
OHDSI 用のデータベースを作成します。
以下の SQL を実行します。
CREATE DATABASE "OHDSI"
WITH ENCODING='UTF8'
OWNER=ohdsi_admin
CONNECTION LIMIT=-1;
COMMENT ON DATABASE "OHDSI"
IS 'OHDSI database';
GRANT ALL ON DATABASE "OHDSI" TO GROUP ohdsi_admin;
GRANT CONNECT, TEMPORARY ON DATABASE "OHDSI" TO GROUP ohdsi_app;
再読み込み後、OHDSI のデータベースが作成されました。

WebAPI 用スキーマの作成
WebAPI 用のデータベーススキーマを作成します。
OHDSI のデータベースを作成したら、postgres のクエリ画面を閉じ、OHDSI データベースをアクティブにして、OHDSI のクエリ画面を開き直します。
クエリの変更確認画面が表示されますが、「保存しない」をクリックして画面を閉じます。

以下の SQL を実行します。
CREATE SCHEMA webapi
AUTHORIZATION ohdsi_admin;
COMMENT ON SCHEMA webapi
IS 'Schema containing tables to support WebAPI functionality';
GRANT USAGE ON SCHEMA webapi TO PUBLIC;
GRANT ALL ON SCHEMA webapi TO GROUP ohdsi_admin;
GRANT USAGE ON SCHEMA webapi TO GROUP ohdsi_app;
ALTER DEFAULT PRIVILEGES IN SCHEMA webapi
GRANT INSERT, SELECT, UPDATE, DELETE, REFERENCES, TRIGGER ON TABLES
TO ohdsi_app;
ALTER DEFAULT PRIVILEGES IN SCHEMA webapi
GRANT SELECT, USAGE ON SEQUENCES
TO ohdsi_app;
ALTER DEFAULT PRIVILEGES IN SCHEMA webapi
GRANT EXECUTE ON FUNCTIONS
TO ohdsi_app;
ALTER DEFAULT PRIVILEGES IN SCHEMA webapi
GRANT USAGE ON TYPES
TO ohdsi_app;
再読み込み後、webapi のスキーマが作成されました。

WebAPI のインストール
C:\Git\OHDSI
フォルダを作成し、WebAPI プロジェクトのクローンを作成します。
コマンドプロンプトを開き、C:\Git\OHDSI
から以下のコマンドを実行します。
C:\Git\OHDSI> git clone https://github.com/OHDSI/WebAPI.git
以下のように表示されれば、クローンの作成は完了です。

Maven プロファイルを構成する
C:\Git\OHDSI\WebAPI
の配下に WebAPIConfig
フォルダを作成します。WebAPI
フォルダにある sample_settings.xml
を WebAPIConfig
フォルダにコピーし、ファイル名をsettings.xml
に変更します。
C:\Git\OHDSI\WebAPI\WebAPIConfig\settings.xml
の内容を下記のように変更します。
※パスワード(zzzz, xxxx)は、pgAdmin4 で設定したパスワードに書き換えること
変更箇所
<datasource.username>ohdsi_app_user</datasource.username> <datasource.password>
zzzz</datasource.password> <flyway.datasource.username>ohdsi_admin_user</flyway.datasource.username> <flyway.datasource.password>
xxxx</flyway.datasource.password> <security.origin>localhost</security.origin>
Maven を使用した WebAPI.war ファイルのビルド
WebAPI プロジェクト フォルダ ( C:\Git\OHDSI\WebAPI
) から次の Maven コマンドを実行して、WebAPI のデプロイと実行に使用される .war ファイルを作成します。
※プロキシ環境では、maven の settings.xml
に maven 用のプロキシ設定が必要
C:\Git\OHDSI\WebAPI> mvn clean package -DskipUnitTests -DskipITtests -s WebAPIConfig/settings.xml -P webapi-postgresql

“BIULD SUCCESS” が表示されれば成功です。

これにより、ターゲット WebAPI サブフォルダー (C:\Git\OHDSI\WebAPI\target\
) に WebAPI.war
が作成されます。
Java アプリケーションを実行するためのコンテナが提供され、HTTP 経由の通信を可能にするサービスが提供されます。
WebAPI を Tomcat にデプロイする
WebAPI をデプロイする前に、マネージャー インターフェイスにログインできるように Tomcat を設定する必要があります。
これを行うには、conf
フォルダ (C:\Program Files\Apache Software Foundation\Tomcat 8.5\conf
) に移動し、ファイル tomcat-users.xml
を編集します。
次の XML を <tomcat-users> ブロックに追加します。
<role rolename="manager-gui"/>
<user username="tomcat" password="s3cret" roles="manager-gui"/>

次に、WebAPI を確実にデプロイできるように、50MB を超えるアップロードを許可するように Tomcat マネージャー アプリケーションを構成する必要があります。
C:\Program Files\Apache Software Foundation\Tomcat 8.5\webapps\manager\WEB-INF\web.xml
ファイルを編集して、以下のセクションを修正します。
<multipart-config>
<!-- 50MB max -->
<max-file-size>52428800</max-file-size>
<max-request-size>52428800</max-request-size>
<file-size-threshold>0</file-size-threshold>
</multipart-config>
以下のように修正します。
<multipart-config>
<!-- 150MB max -->
<max-file-size>154857600</max-file-size>
<max-request-size>154857600</max-request-size>
<file-size-threshold>0</file-size-threshold>
</multipart-config>
war ファイルのデプロイ
コマンド プロンプトを開き、以下のコマンドを実行します。
catalina.bat run
参考:
Tomcat Application Manager を使用して WebAPI をデプロイします。
Web ブラウザを開いて http://localhost:8080/manager に移動すると、資格情報の入力を求められます。
上記の手順で設定したように、tomcat
のユーザー名と s3cret
のパスワードを入力します。

マネージャー画面が表示されます。

マネージャー画面の下部に、WAR ファイルの配備欄の領域が表示されます。
「ファイルの選択」ボタンをクリックし、WebAPI.war
ファイル (C:\Git\OHDSI\WebAPI\target\WebAPI.war
) を選択します。配備
ボタンをクリックして、WebAPI をデプロイします。
正常にデプロイされると、status(実行中の列) が true となり、webapi スキーマにテーブルが作成されます。


重要:catalina.bat run
で起動したコマンドプロンプトの画面は、必ず C:\Program Files\Apache Software Foundation\Tomcat 8.5\bin\shutdown.bat
を実行して終了させてください
参考:
Achilles のインストール
Java のヒープメモリの最大サイズがデフォルトで 512MB と小さいため、メモリ不足のエラーを起こす可能性があり、最大サイズを増やす必要があります。
以下の手順で全ての R プログラムに対して Java のヒープメモリの最大サイズを 4GB に設定できます。
- usethis パッケージのインストールと読み込み:
R コンソールで以下のコマンドを実行し、usethis
パッケージをインストールしてから読み込みます。install.packages("usethis") library(usethis)
参考:
パッケージがダウンロードできない場合
- .Renviron ファイルの編集:
usethis
パッケージのedit_r_environ()
関数を使用して、.Renviron
ファイルをテキストエディタで開きます。
この関数を実行すると、自動的にテキストエディタが開きます。edit_r_environ()
- Java のヒープメモリサイズの設定:
テキストエディタが開いたら、以下の行を
.Renviron
ファイルに追加します。_JAVA_OPTIONS='-Xmx4g'
これにより、Java のヒープメモリの最大サイズが 4GB に設定されます。
- ファイルの保存と R の再起動:
変更を加えた後、ファイルを保存してテキストエディタを閉じます。その後、R を再起動します。
これらの手順を完了すると、R プログラムで使用される Java のヒープメモリの最大サイズが 4GB に増加され、メモリ不足によるエラーを防ぐことができます。
ATLAS のインストール
ATLAS コードベースをダウンロードし、環境に合わせて設定する方法について説明します。
コード展開
以下の URL から ATLAS の最新リリースをダウンロードします。
https://github.com/OHDSI/Atlas/releases/latest

C:\Git\OHDSI
フォルダ配下に Atlas
フォルダを作成し、解凍した zip ファイルの内容を保存します。
Atlas
フォルダのルートから、以下のコマンドを実行します。
C:\Git\OHDSI\Atlas> npm run build
以下の画面が表示されれば、終了です。

次に、ATLAS リポジトリから node_modules
フォルダを含むすべてのファイルを web サーバにコピーします。(これはすべての JavaScript 依存関係を解決するために必要です)
C:\Git\OHDSI\Atlas
→ C:\Program Files\Apache Software Foundation\Tomcat 8.5\webapps
へコピー

ATLAS の構成
ATLAS のデフォルト設定は C:\Program Files\Apache Software Foundation\Tomcat 8.5\webapps\Atlas\js\config\app.js
ファイルにあります。
デフォルト設定を上書きするには、js
フォルダに config-local.js
ファイルを作成します。
注意:config-local.js
ファイルは ATLAS リポジトリに含まれていません。
環境固有の設定ができるよう、このファイルを作成します。
define([], function () {
var configLocal = {};
configLocal.api = {
name: 'Atlas Server',
url: 'http://localhost:8080/WebAPI/'
};
return configLocal;
});
\js\config-local.js
は、\js\config\app.js
にある ".api " プロパティをオーバーライドし、環境のためのカスタム設定を可能にします。
この設定を行うことにより、Google Chrome から ATLAS にナビゲートできるようになります。
ATLAS の起動手順
コマンドプロンプトからcatalina.bat run
を実行します。

Server startup in xxxxx ms の表示が確認出来たら、以下の URL から ATLAS の画面を開きます。
http://localhost:8080/Atlas/#/home

※この時点では、データソースがまだ構築されていないため、failed となります
ATLAS の終了手順
ATLAS を終了する際には、下記のファイルを必ず実行してください。C:\Program Files\Apache Software Foundation\Tomcat 8.5\bin\shutdown.bat
コマンドプロンプト画面が自動で閉じられます。