JSDL 작성법

(How to write JSDL document)

KISTI. Seungwoo Rho

2013-09-30

수정날짜	수정자	내용
20130516	노승우	JSDL 메뉴얼 작성 및 autodock 응용 추가
20130527	노승우	ThreeKaonOmega 응용 추가
20130621	노승우	쪽번호 추가 및 3.2.3 datastaging 내용 일부 수정
20130930	노승우	Autodock Vina 응용 추가

목 차

1. 개요	4

2. Autodock3 응용 JSDL 예제	4

2.1. JSDL샘플 예제	4

2.2. 세부 설명	6

2.3. 사용법	10

3. ThreeKaonOmega 응용 JSDL 예제	11

3.1. JSDL샘플 예제	11

3.2. 세부 설명	13

3.3. 사용법	17

4. Autodock vina 응용 JSDL 예제	18

4.1. JSDL샘플 예제	18

4.2. 세부 설명	19

4.3. 전처리 과정	21

4.4. 사용법	21

개요

본 문서는 HTCaaS 작업제출에 필요한 JSDL 작성 메뉴얼이다.

Autodock3 응용 JSDL 예제

JSDL샘플 예제

다음은 JSDL 샘플 예제를 보여준다

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<JobDefinition xmlns="http://schemas.ggf.org/jsdl/2005/11/jsdl" xmlns:ns2="http://schemas.ggf.org/jsdl/2005/11/jsdl-posix" xmlns:ns3="http://schemas.ogf.org/jsdl/2009/03/sweep">

<JobDescription>

<Application>

<ApplicationName>autodock3</ApplicationName>

<ns2:POSIXApplication>

<ns2:Executable>autodock3.sh</ns2:Executable>

<ns2:Argument>TARGET</ns2:Argument>

<ns2:Argument>LIGAND</ns2:Argument>

</ns2:POSIXApplication>

</Application>

<DataStaging>

<FileName>LIGAND.pdbq</FileName>

<Source>

<URI>/htcaas/p258rsw/ligands/LIGAND.pdbq</URI>

</Source>

</DataStaging>

<DataStaging>

<FileName>protein</FileName>

<CreationFlag>overwrite</CreationFlag>

<Source>

<URI>/htcaas/p258rsw/proteins/TARGET.tar.gz</URI>

</Source>

</DataStaging>

<DataStaging>

<FileName>install.sh</FileName>

<Source>

<URI>/htcaas/p258rsw/autodock3/install.sh</URI>

</Source>

</DataStaging>

<DataStaging>

<FileName>autodock3_noawk.tar.bz2</FileName>

<Source>

<URI>/htcaas/p258rsw/autodock3/autodock3_noawk.tar.bz2</URI>

</Source>

</DataStaging>

<DataStaging>

<FileName>autodock3.sh</FileName>

<Source>

<URI>/htcaas/p258rsw/autodock3/autodock3.sh</URI>

</Source>

</DataStaging>

<DataStaging>

<FileName>dpf3gen.awk</FileName>

<Source>

<URI>/htcaas/p258rsw/autodock3/dpf3gen.awk</URI>

</Source>

</DataStaging>

<DataStaging>

<FileName>LIGAND.TARGET.dlg</FileName>

<Target>

<URI>/htcaas/p258rsw/output/LIGAND.TARGET.dlg</URI>

</Target>

</DataStaging>

</JobDescription>

<ns3:Sweep>

<ns3:Assignment>

<ns3:DocumentNode>

<ns3:Match>TARGET</ns3:Match>

</ns3:DocumentNode>

<ns3:Values>

<ns3:Value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">2QMJ_new</ns3:Value>

</ns3:Values>

</ns3:Assignment>

<ns3:Sweep>

<ns3:Assignment>

<ns3:DocumentNode>

<ns3:Match>LIGAND</ns3:Match>

</ns3:DocumentNode>

<ns3:Directory filenameonly="true">

<ns3:Name>/htcaas/p258rsw/ligands</ns3:Name>

</ns3:Directory>

</ns3:Assignment>

</ns3:Sweep>

</ns3:Sweep>

</JobDefinition>

세부 설명

JSDL 세부 설명

위의 JSDL에서 수정이 필요한 부분은 총 9개 부분으로 각각은 다음과 같다.

(1) LIGAND.pdbq의 URI : /htcaas/p258rsw/ligands/

(2) Protein의 URI : /htcaas/p258rsw/proteins/TARGET.tar.gz

(3) Install.sh의 URI : /htcaas/p258rsw/autodock3/

(4 )Autodock3_noawk.tar.bz2의 URI : /htcaas/p258rsw/autodock3/

(5 )Autodock3.sh 의 URI : /htcaas/p258rsw/autodock3/

(6) Dpf3gen.awk의 URI : /htcaas/p258rsw/autodock3/

(7) Ligand.Target의 URI : /htcaas/p258rsw/output/

(8) Sweep의 Values의 Value : 2QMJ_new

(9) Sweep의 Direcotry Name : /htcaas/p258rsw/ligands

LIGAND.pdbq의 URI

-	Docking시 필요한 Ligand들이 들어 있는 서버 Directory Name

-	이때 Ligand들의 확장자는 pdbq이다.

-	보통 원격지 서버의 홈디렉토리인 /htcaas/사용자 아이디/ 밑에 Ligand 폴더를 복사한다.

-	URI의 LIGAND.pdbq는 수정하지 않는다.

-	FileName의 수정은 프로그램에 영향을 미치지 않는다.

-	Ex) test 사용자가 pdb.5 폴더를 이용할 경우

<DataStaging>

<FileName>LIGAND.pdbq</FileName>

<Source>

<URI>/htcaas/test/pdb.5/LIGAND.pdbq</URI>

</Source>

</DataStaging>

protein의 URI

-	Docking시 필요한 protein이 들어 있는 원격지 Directory Name

-	Protein으로 이용 가능한 압축 확장자는 zip과 tar.gz 이다

주의) 압축시 디렉토리가 들어가지 않도록 압축을 해야 함(즉, 압축 해제시 바로 파일이 나와야 함)

-	Protein 압축 파일의 이름은 내부 파일들의 이름과 일치 해야 한다.

Ex) 2QMJ_new.A.map 등등을 zip으로 압축할 경우 => 2QMJ_new.zip

Ex) 2QMJ_new.A.map 등등을 tar.gz으로 압축할 경우 => 2QMJ_new.tar.gz

-	보통 원격지 서버의 홈디렉토리인 /htcaas/사용자 아이디/ 밑에 필요한 protein파일들을 복사해 둔다.

-	URI 중간의 TARGET은 수정하지 않는다.

-	FileName의 수정은 프로그램에 영향을 미치지 않는다.

-	Ex)  test사용자가 pro폴더 내부의 2QMJ_new.zip을 이용할 경우

<DataStaging>

<FileName>TARGET.zip</FileName>

<CreationFlag>overwrite</CreationFlag>

<Source>

<URI>/htcaas/test/pro/TARGET.zip</URI>

</Source>

</DataStaging>

Install.sh의 URI

-	Docking시 필요한 install.sh이 들어 있는 원격지 Directory Name

-	보통 원격지 서버의 홈디렉토리인 /htcaas/사용자 아이디/  하부에  autodock3 실행에 필요한 파일들을 복사해 둔다.

-	FileName의 수정은 프로그램에 영향을 미치지 않는다.

-	Ex)  test사용자가 autodock3폴더 내부의 install.sh을 이용할 경우

<DataStaging>

<FileName>install.sh</FileName>

<Source>

<URI>/htcaas/test/autodock3/install.sh</URI>

</Source>

</DataStaging>

Autodock3_noawk.tar.bz2의 URI

-	Docking시 필요한 autodock3_noawk.tar.bz2가 들어 있는 원격지 Directory Name

-	보통 원격지 서버의 홈디렉토리인 /htcaas/사용자 아이디/  하부에  autodock3 실행에 필요한 파일들을 복사해 둔다.

-	FileName의 수정은 프로그램에 영향을 미치지 않는다.

-	Ex)  test사용자가 autodock3폴더 내부의 autodock3_noawk.tar.bz2을 이용할 경우

<DataStaging>

<FileName> autodock3_noawk.tar.bz2</FileName>

<Source>

<URI>/htcaas/test/autodock3/autodock3_noawk.tar.bz2</URI>

</Source>

</DataStaging>

Autodock3.sh의 URI

-	Docking시 필요한 autodock3.sh 가 들어 있는 원격지 Directory Name

-	보통 원격지 서버의 홈디렉토리인 /htcaas/사용자 아이디/  하부에  autodock3 실행에 필요한 파일들을 복사해 둔다.

-	FileName의 수정은 프로그램에 영향을 미치지 않는다.

-	Ex)  test사용자가 autodock3폴더 내부의 autodock3.sh을 이용할 경우

<DataStaging>

<FileName> autodock3.sh</FileName>

<Source>

<URI>/htcaas/test/autodock3/autodock3.sh</URI>

</Source>

</DataStaging>

Dpf3gen.awk의 URI

-	Docking시 필요한 dpf3gen.awk 가 들어 있는 원격지 Directory Name

-	보통 원격지 서버의 홈디렉토리인 /htcaas/사용자 아이디/  하부에  autodock3 실행에 필요한 파일들을 복사해 둔다.

-	FileName의 수정은 프로그램에 영향을 미치지 않는다.

-	Ga_run등의 변수를 수정할 필요가 있는 경우 이 파일을 수정한다.

-	Ex)  test사용자가 autodock3폴더 내부의 dpf3gen.awk 을 이용할 경우

<DataStaging>

<FileName> dpf3gen.awk </FileName>

<Source>

<URI>/htcaas/test/autodock3/ dpf3gen.awk </URI>

</Source>

</DataStaging>

LIGAND.TARGET.dlg의 URI

-	Docking완료 후 출력 파일들(*.dlg)을 저장할 원격지 Directory Name

-	보통 원격지 서버의 홈디렉토리인 /htcaas/사용자 아이디/  밑에  출력 파일의 저장 위치로 둔다.

-	FileName의 수정은 프로그램에 영향을 미치지 않는다.

-	URI의 LIGAND.TARGET.dlg는 수정하지 않는다.

Ex)  test사용자가 output폴더에 결과 파일들을 저장할 경우

<DataStaging>

<FileName>LIGAND.TARGET.dlg</FileName>

<Target>

<URI>/htcaas/test/output/LIGAND.TARGET.dlg</URI>

</Target>

</DataStaging>

Sweep의 Values의 Value

-	Docking시 사용할 protein의 이름

-	확장자는 입력하지 않는다.

Ex)  test사용자가 2QMJ_new.zip protein을 이용할 경우

<ns3:Values>

<ns3:Value xmlns:xsi="http://www.w3.og/2001/XMLSchema-instance" xmlns:xs="http//www.w3.org/2001/XMLSchema" xsi:type="xs:string">2QMJ_new</ns3:Value>

</ns3:Values>

Sweep의 Directory의 name

-	Docking시 사용할 ligand 폴더의 이름

Ex)  test사용자가 /htcaas/test/pdb.5/ 폴더를 이용할 경우

<ns3:Directory filenameonly="true">

<ns3:Name>/htcaas/test/pdb.5</ns3:Name>

</ns3:Directory>

사용법

-	HTCaaS GUI 및 CLI를 이용하여 작업한 JSDL를 이용하여 작업을 제출

ThreeKaonOmega 응용 JSDL 예제

JSDL샘플 예제

다음은 HTCaaS CLI에서 사용할 수 있는 JSDL 샘플 예제를 보여준다

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<JobDefinition xmlns="http://schemas.ggf.org/jsdl/2005/11/jsdl" xmlns:ns2="http://schemas.ggf.org/jsdl/2005/11/jsdl-posix" xmlns:ns3="http://schemas.ogf.org/jsdl/2009/03/sweep">

<JobDescription>

<Application>

<ApplicationName>general</ApplicationName>

<ns2:POSIXApplication>

<ns2:Executable>run.sh</ns2:Executable>

<ns2:Argument>1</ns2:Argument>

<ns2:Argument>6</ns2:Argument>

<ns2:Argument>6</ns2:Argument>

<ns2:Argument>VAR1</ns2:Argument>

<ns2:Argument>VAR2</ns2:Argument>

<ns2:Argument>VAR3</ns2:Argument>

<ns2:Argument>VAR4</ns2:Argument>

<ns2:Argument>VAR5</ns2:Argument>

<ns2:Argument>VAR6</ns2:Argument>

</ns2:POSIXApplication>

</Application>

<DataStaging>

<FileName>execution script</FileName>

<Source>

<URI>/usr/local/htcaas_app/ThreeKaonOmega/run.sh</URI>

</Source>

</DataStaging>

<DataStaging>

<FileName>execution script</FileName>

<Source>

<URI>/usr/local/htcaas_app/ThreeKaonOmega/ThreeKaonOmega.zip</URI>

</Source>

</DataStaging>

<DataStaging>

<FileName>output.zip</FileName>

<Target>

<URI>/htcaas/p258rsw/output_doloop5_G6_A2/output_VAR1_VAR2_VAR3_VAR4_VAR5_VAR6.zip</URI>

</Target>

</DataStaging>

</JobDescription>

<ns3:Sweep>

<ns3:Assignment>

<ns3:DocumentNode>

<ns3:Match>VAR1</ns3:Match>

</ns3:DocumentNode>

<ns3:LoopInteger start="1" end="1500" step="50" />

</ns3:Assignment>

<ns3:Sweep>

<ns3:Assignment>

<ns3:DocumentNode>

<ns3:Match>VAR2</ns3:Match>

</ns3:DocumentNode>

<ns3:LoopInteger start="-1" end="1" step="2" />

</ns3:Assignment>

<ns3:Sweep>

<ns3:Assignment>

<ns3:DocumentNode>

<ns3:Match>VAR3</ns3:Match>

</ns3:DocumentNode>

<ns3:LoopInteger start="-1" end="1" step="2" />

</ns3:Assignment>

<ns3:Sweep>

<ns3:Assignment>

<ns3:DocumentNode>

<ns3:Match>VAR4</ns3:Match>

</ns3:DocumentNode>

<ns3:LoopInteger start="-3" end="3" step="2" />

</ns3:Assignment>

<ns3:Sweep>

<ns3:Assignment>

<ns3:DocumentNode>

<ns3:Match>VAR5</ns3:Match>

</ns3:DocumentNode>

<ns3:LoopInteger start="1" end="6" step="1" />

</ns3:Assignment>

<ns3:Sweep>

<ns3:Assignment>

<ns3:DocumentNode>

<ns3:Match>VAR6</ns3:Match>

</ns3:DocumentNode>

<ns3:LoopInteger start="1" end="6" step="1" />

</ns3:Assignment>

</ns3:Sweep>

</ns3:Sweep>

</ns3:Sweep>

</ns3:Sweep>

</ns3:Sweep>

</ns3:Sweep>

</JobDefinition>

세부 설명

JSDL 세부 설명

위의 JSDL에서 수정이 필요한 부분은 총 9개 부분으로 각각은 다음과 같다.

(1) POSIXApplication의 Argument 1 : <ns2:Argument>6</ns2:Argument>

(2) POSIXApplication의 Argument 2 : <ns2:Argument>6</ns2:Argument>

(3) DataStaging output.zip의 URI : <URI>/htcaas/p258rsw/output_doloop5_G6_A2/...</URI>

(4) Parameter Sweep의 VAR1 : <ns3:LoopInteger start="1" end="1500" step="50" />

(5) Parameter Sweep의 VAR2 : <ns3:LoopInteger start="-1" end="1" step="2" />

(6) Parameter Sweep의 VAR3 : <ns3:LoopInteger start="-1" end="1" step="2" />

(7) Parameter Sweep의 VAR4 : <ns3:LoopInteger start="-3" end="3" step="2" />

(8) Parameter Sweep의 VAR5 : <ns3:LoopInteger start="1" end="6" step="1" />

(9) Parameter Sweep의 VAR6 : <ns3:LoopInteger start="1" end="6" step="1" />

POSIXApplication의 Argument 1

-	Gaussian Point 1을 나타내는 인수 값

-	현재 표시할 수 있는 값으로는 4,6,8,12,19,32 이다.

-	Ex) test 사용자가 Gaussian Point 1의 값으로 8을 이용하는 경우

<ns2:POSIXApplication>

<ns2:Executable>run.sh</ns2:Executable>

<ns2:Argument>1</ns2:Argument>

<ns2:Argument>8</ns2:Argument>

<ns2:Argument>6</ns2:Argument>

<ns2:Argument>VAR1</ns2:Argument>

<ns2:Argument>VAR2</ns2:Argument>

<ns2:Argument>VAR3</ns2:Argument>

<ns2:Argument>VAR4</ns2:Argument>

<ns2:Argument>VAR5</ns2:Argument>

<ns2:Argument>VAR6</ns2:Argument>

</ns2:POSIXApplication>

POSIXApplication의 Argument 2

-	Gaussian Point 2을 나타내는 인수 값

-	현재 표시할 수 있는 값으로는 4,6,8,12,19,32 이다.

-	Ex) test 사용자가 Gaussian Point 2의 값으로 8을 이용하는 경우

<ns2:POSIXApplication>

<ns2:Executable>run.sh</ns2:Executable>

<ns2:Argument>1</ns2:Argument>

<ns2:Argument>8</ns2:Argument>

<ns2:Argument>8</ns2:Argument>

<ns2:Argument>VAR1</ns2:Argument>

<ns2:Argument>VAR2</ns2:Argument>

<ns2:Argument>VAR3</ns2:Argument>

<ns2:Argument>VAR4</ns2:Argument>

<ns2:Argument>VAR5</ns2:Argument>

<ns2:Argument>VAR6</ns2:Argument>

</ns2:POSIXApplication>

DataStaging의 output.zip의 URI

-	각 서브작업들의 출력 결과 파일들이 모이는 경로

-	사용자가 원하는 경로로 수정

-	출력파일이름의 형태는 수정하지 않음

-	Ex)  test사용자가 /htcaas/test/output폴더에 출력파일을 모을 경우

<DataStaging>

<FileName>output.zip</FileName>

<Target>

<URI>/htcaas/test/output/output_VAR1_VAR2_VAR3_VAR4_VAR5_VAR6.zip</URI>

</Target>

</DataStaging>

Parameter Sweep의 VAR1

-	첫번째 Parameter Sweep을 나타내는 변수

-	LoopInteger 값으로 원하는 초기값, 끝값, 스텝값을 입력한다.

-	실제 응용에서 EcmInt Loop를 나타낸다.

-	Ex)  test사용자가 초기값 1, 끝값 1000, 스텝값 50을 이용할 경우

<ns3:Assignment>

<ns3:DocumentNode>

<ns3:Match>VAR1</ns3:Match>

</ns3:DocumentNode>

<ns3:LoopInteger start="1" end="1000" step="50" />

</ns3:Assignment>

Parameter Sweep의 VAR2

-	두번째 Parameter Sweep을 나타내는 변수

-	LoopInteger 값으로 원하는 초기값, 끝값, 스텝값을 입력한다.

-	실제 응용에서 Photon Loop를 나타낸다.

-	Ex)  test사용자가 초기값 -1, 끝값 1, 스텝값 2을 이용할 경우

<ns3:Assignment>

<ns3:DocumentNode>

<ns3:Match>VAR2</ns3:Match>

</ns3:DocumentNode>

<ns3:LoopInteger start="-1" end="1" step="2" />

</ns3:Assignment>

Parameter Sweep의 VAR3

-	세번째 Parameter Sweep을 나타내는 변수

-	LoopInteger 값으로 원하는 초기값, 끝값, 스텝값을 입력한다.

-	실제 응용에서 Spin1 Loop를 나타낸다.

-	Ex)  test사용자가 초기값 -1, 끝값 1, 스텝값 2을 이용할 경우

<ns3:Assignment>

<ns3:DocumentNode>

<ns3:Match>VAR3</ns3:Match>

</ns3:DocumentNode>

<ns3:LoopInteger start="-1" end="1" step="2" />

</ns3:Assignment>

Parameter Sweep의 VAR4

-	네번째 Parameter Sweep을 나타내는 변수

-	LoopInteger 값으로 원하는 초기값, 끝값, 스텝값을 입력한다.

-	실제 응용에서 Spin2 Loop를 나타낸다.

-	Ex)  test사용자가 초기값 -3, 끝값 3, 스텝값 2을 이용할 경우

<ns3:Assignment>

<ns3:DocumentNode>

<ns3:Match>VAR4</ns3:Match>

</ns3:DocumentNode>

<ns3:LoopInteger start="-3" end="3" step="2" />

</ns3:Assignment>

Parameter Sweep의 VAR5

-	다섯번째 Parameter Sweep을 나타내는 변수

-	LoopInteger 값으로 원하는 초기값, 끝값, 스텝값을 입력한다.

-	실제 응용에서 absP4Int Loop를 나타낸다.

-	주의사항 : 끝값은 Gaussian Point 1의 값과 같도록 수정한다.

-	Ex)  test사용자가 초기값 1, 끝값 8, 스텝값 1을 이용할 경우

(Gaussian Point 1의 값이 8인 경우)

<ns3:Assignment>

<ns3:DocumentNode>

<ns3:Match>VAR5</ns3:Match>

</ns3:DocumentNode>

<ns3:LoopInteger start="1" end="8" step="1" />

</ns3:Assignment>

Parameter Sweep의 VAR6

-	여섯번째 Parameter Sweep을 나타내는 변수

-	LoopInteger 값으로 원하는 초기값, 끝값, 스텝값을 입력한다.

-	실제 응용에서 phi4Int Loop를 나타낸다.

-	주의사항 : 끝값은 Gaussian Point 2의 값과 같도록 수정한다.

-	Ex)  test사용자가 초기값 1, 끝값 8, 스텝값 1을 이용할 경우

(Gaussian Point 2의 값이 8인 경우)

<ns3:Assignment>

<ns3:DocumentNode>

<ns3:Match>VAR6</ns3:Match>

</ns3:DocumentNode>

<ns3:LoopInteger start="1" end="8" step="1" />

</ns3:Assignment>

사용법

-	HTCaaS CLI를 이용하여 작업한 JSDL를 이용하여 작업을 제출

PostProcessing

-	작업이 모두 완료하고, 위에서 명시한 output경로에 모든 작업 결과물이 모인 후 다음과 같이 후처리 과정을 거쳐야 한다.

- 사용 명령어 : postrun.sh

- 입력 인자 : EcmInt LoopInteger에 입력한 값 3개(ex) 1,1500,50

ex) test 사용자가 /htcaas/test/output/ 경로에 작업 결과를 모으고, 후처리 과정을 하는 경우(EcmInt 값을 1,1500, 50으로 입력한 경우)

1) SSH tool을 사용하여 서버 스토리지에 접속한다.

2) /htcaas/test/output/ 경로로 이동한다.

3) postrun.sh 1 1500 50 을 입력한다.

4) 후처리 과정이 끝나면 FINAL_TOTAL 디렉토리가 생김, 필요할 경우 로컬로 복사

Autodock vina 응용 JSDL 예제

JSDL샘플 예제

다음은 JSDL 샘플 예제를 보여준다

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<JobDefinition xmlns="http://schemas.ggf.org/jsdl/2005/11/jsdl" xmlns:ns2="http://schemas.ggf.org/jsdl/2005/11/jsdl-posix" xmlns:ns3="http://schemas.ogf.org/jsdl/2009/03/sweep">

<JobDescription>

<Application>

<ApplicationName>autodock_vina</ApplicationName>

<ns2:POSIXApplication>

<ns2:Executable>autodock_vina.sh</ns2:Executable>

<ns2:Argument>TARGET</ns2:Argument>

<ns2:Argument>LIGAND</ns2:Argument>

</ns2:POSIXApplication>

</Application>

<DataStaging>

<FileName>TARGET.tar.gz</FileName>

<CreationFlag>overwrite</CreationFlag>

<Source>

<URI>/htcaas/p258rsw/koh/pockets_tar/TARGET.tar.gz</URI>

</Source>

</DataStaging>

<DataStaging>

<FileName>LIGAND.pdbqt</FileName>

<Source>

<URI>/htcaas/p258rsw/koh/ligand/LIGAND.pdbqt</URI>

</Source>

</DataStaging>

<DataStaging>

<FileName>autodock_vina.sh</FileName>

<Source>

<URI>/usr/local/htcaas_app/autodock_vina/autodock_vina.sh</URI>

</Source>

</DataStaging>

<DataStaging>

<FileName>vina</FileName>

<Source>

<URI>/usr/local/htcaas_app/autodock_vina/vina</URI>

</Source>

</DataStaging>

<DataStaging>

<FileName>TARGET.tar</FileName>

<Target>

<URI>/htcaas/p258rsw/output_vina_tar/TARGET.tar</URI>

</Target>

</DataStaging>

</JobDescription>

<ns3:Sweep>

<ns3:Assignment>

<ns3:DocumentNode>

<ns3:Match>LIGAND</ns3:Match>

</ns3:DocumentNode>

<ns3:Directory filenameonly="true">

<ns3:Name>/htcaas/p258rsw/koh/ligand</ns3:Name>

</ns3:Directory>

</ns3:Assignment>

<ns3:Sweep>

<ns3:Assignment>

<ns3:DocumentNode>

<ns3:Match>TARGET</ns3:Match>

</ns3:DocumentNode>

<ns3:Directory filenameonly="true">

<ns3:Name>/htcaas/p258rsw/koh/pockets_tar</ns3:Name>

</ns3:Directory>

</ns3:Assignment>

</ns3:Sweep>

</ns3:Sweep>

</JobDefinition>

세부 설명

JSDL 세부 설명

위의 JSDL에서 수정이 필요한 부분은 총 5개 부분으로 각각은 다음과 같다.

(1) TARGET.tar.gz의 URI : /htcaas/p258rsw/koh/pockets_tar/TARGET.tar.gz

(2) LIGAND.pdbqt: /htcaas/p258rsw/koh/ligand/LIGAND.pdbqt

(3) TARGET.tar 의 URI : /htcaas/p258rsw/output_vina_tar/TARGET.tar

(4) Sweep의 LIGAND의 Dirrectory Name : /htcaas/p258rsw/koh/ligand

(5) Sweep의 TARGET의 Direcotry Name : /htcaas/p258rsw/koh/pockets_tar

TARGET.tar.gz의 URI

-	Docking시 필요한 protein 압축파일들이 들어 있는 원격지 Directory Name

-	이때 압축파일들의 가능 확장자는 tar.bz2, tar.gz, zip 이다.

주의) protein 각 폴더 압축시 HTCaaS 서버에서 제공하는 archive.sh 쉘 스크립트를 사용함(전처리 과정 참고)

-	보통 원격지 서버의 홈디렉토리인 /htcaas/사용자 아이디/ 밑에 protein 폴더를 복사한다.

-	FileName의 수정은 프로그램에 영향을 미치지 않는다.

-	Ex) test 사용자가 protein_tar 폴더를 이용할 경우

<DataStaging>

<FileName>TARGET.tar.gz</FileName>

<Source>

<URI>/htcaas/test/protein_tar/TARGET.tar.gz</URI>

</Source>

</DataStaging>

LIGAND.pdbqt의 URI

-	Docking시 필요한 Ligand 파일이 들어 있는 원격지 Directory Name

-	보통 원격지 서버의 홈디렉토리인 /htcaas/사용자 아이디/ 밑에 필요한 ligand 파일들을 복사해 둔다.

-	FileName의 수정은 프로그램에 영향을 미치지 않는다.

-	Ex)  test사용자가 ligand_100 폴더를 이용할 경우

<DataStaging>

<FileName>LIGAND.pdbqt</FileName>

<Source>

<URI>/htcaas/test/ligand_100/LIGAND.pdbqt</URI>

</Source>

</DataStaging>

TARGET.tar의 URI

-	Docking 완료 후  들어 있는 원격지 Directory Name

-	원격지 서버의 홈디렉토리인 /htcaas/사용자 아이디/ 하부를 출력 파일의 저장 위치로 둔다.

-	FileName의 수정은 프로그램에 영향을 미치지 않는다.

-	Ex)  test사용자가 output폴더에 결과 파일들을 저장할 경우

<DataStaging>

<FileName>TARGET.tar</FileName>

<Target>

<URI>/htcaas/test/output/TARGET.tar</URI>

</Target>

</DataStaging>

Sweep의 LIGAND의 Directory Name

-	Docking시 사용할 ligand 폴더의 이름

-	위에서 명시한 LIGAND source URI의 파일명을 제외한 디렉토리 명과 같아야 한다.

Ex)  test사용자가 /htcaas/test/ligand_100/ 폴더를 이용할 경우

<ns3:Directory filenameonly="true">

<ns3:Name>/htcaas/test/ligand_10</ns3:Name>

</ns3:Directory>

Sweep의 TARGET의 Directory Name

-	Docking시 사용할 protein 폴더의 이름

-	위에서 명시한 TARGET source URI의 파일명을 제외한 디렉토리 명과 같아야 한다.

Ex)  test사용자가 /htcaas/test/protein_tar/ 폴더를 이용할 경우

<ns3:Directory filenameonly="true">

<ns3:Name>/htcaas/test/protein_tar</ns3:Name>

</ns3:Directory>

전처리 과정

-	작업 제출 전 사용할 Protein 디렉토리들을 압축 파일로 만든다.

- 서버에서 제공하는 archive.sh 파일을 사용한다.

- 입력 변수는 2개로 protein이 들어있는 source 디렉토리 명과 압축 파일들이 생생되어질 target 디렉토리 명이다.

Ex) test사용자가 /htcaas/test/pocket/ 폴더에 들어 있는 protein 폴더들을 각각 압축하여 /htcaas/test/pocket_tar/에 생성할 경우

[test@portal_htcaas test]$ pwd

/htcaas/test/

[test@portal_htcaas test]$ archive.sh pocket pocket_tar

.......

Finish

[test@portal_htcaas test]$ ls pocket_tar

사용법

-	HTCaaS GUI 및 CLI를 이용하여 작업한 JSDL를 이용하여 작업을 제출