ATLAS セットアップ手順

Windows 11 をベースにした手順書です。
この手順書は、2024年6月14日に作成されました。

目次


➤ 事前準備 : ソフトウェアのインストール
➤ ログイン/グループロールの登録(PostgreSQL)
➤ データベース “OHDSI” の作成
➤ WebAPI 用スキーマの作成
➤ WebAPI を Tomcat にデプロイする
➤ Achilles のインストール
➤ ATLAS のインストール
➤ ATLAS の起動手順

事前準備 : ソフトウェアのインストール


ATLAS 環境を構築するためのソフトウェア群です。
以下のソフトウェアをインストールします。

参考:

環境変数の登録


参考:

システム環境変数に、以下の内容を追加登録します。
※バージョンにより、変数、値が変わることがあります。

📋
CATALINA_HOME  C:\Program Files\Apache Software Foundation\Tomcat 8.5
JAVA_HOME  C:\Program Files\Amazon Corretto\jdk1.8.0_412
MAVEN_HOME  C:\Maven
RTOOLS42_HOME  C:\rtools42

システム環境変数の “Path” に、下記の内容を追加登録します。
※バージョンにより、パス名が変わることがあります。

📋
C:\Maven\bin
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.xmlWebAPIConfig フォルダにコピーし、ファイル名を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 に設定できます。

  1. usethis パッケージのインストールと読み込み:
    R コンソールで以下のコマンドを実行し、usethis パッケージをインストールしてから読み込みます。
    install.packages("usethis")
    library(usethis)

    参考:

  1. .Renviron ファイルの編集:

    usethis パッケージの edit_r_environ() 関数を使用して、.Renviron ファイルをテキストエディタで開きます。
    この関数を実行すると、自動的にテキストエディタが開きます。

    edit_r_environ()
  1. Java のヒープメモリサイズの設定:

    テキストエディタが開いたら、以下の行を.Renviron ファイルに追加します。

    _JAVA_OPTIONS='-Xmx4g'

    これにより、Java のヒープメモリの最大サイズが 4GB に設定されます。

  1. ファイルの保存と R の再起動:

    変更を加えた後、ファイルを保存してテキストエディタを閉じます。その後、R を再起動します。
    これらの手順を完了すると、R プログラムで使用される Java のヒープメモリの最大サイズが 4GB に増加され、メモリ不足によるエラーを防ぐことができます。

  1. R コンソールで以下のコマンドを実行し、Achilles をダウンロード、インストールします。
    install.packages("remotes")
    remotes::install_github("OHDSI/Achilles")

    DONE (Achilles) と表示されれば完了です。

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\AtlasC:\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

コマンドプロンプト画面が自動で閉じられます。