<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.docking.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Khtang</id>
	<title>DISI - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.docking.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Khtang"/>
	<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Special:Contributions/Khtang"/>
	<updated>2026-05-25T21:24:11Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.1</generator>
	<entry>
		<id>http://wiki.docking.org/index.php?title=User_talk:Zack&amp;diff=17168</id>
		<title>User talk:Zack</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=User_talk:Zack&amp;diff=17168"/>
		<updated>2026-04-29T00:06:47Z</updated>

		<summary type="html">&lt;p&gt;Khtang: Welcome!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Welcome to &#039;&#039;DISI&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
We hope you will contribute much and well.&lt;br /&gt;
You will probably want to read the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents help pages].&lt;br /&gt;
Again, welcome and have fun! [[User:Khtang|Khtang]] ([[User talk:Khtang|talk]]) 00:06, 29 April 2026 (UTC)&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=User:Zack&amp;diff=17167</id>
		<title>User:Zack</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=User:Zack&amp;diff=17167"/>
		<updated>2026-04-29T00:06:47Z</updated>

		<summary type="html">&lt;p&gt;Khtang: Creating user page for new user.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I am a grad student in BKS lab circa 2024 until TBD. If you are from the future, hello.&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Install_Schrodinger_Suite_in_local_computer&amp;diff=17117</id>
		<title>Install Schrodinger Suite in local computer</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Install_Schrodinger_Suite_in_local_computer&amp;diff=17117"/>
		<updated>2026-03-13T03:11:58Z</updated>

		<summary type="html">&lt;p&gt;Khtang: /* Command line */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Download Schrodinger Suite file ==&lt;br /&gt;
You need to register an account for access. Our lab uses the Advanced Suite, please contact Schrodinger if you don&#039;t have access to this suite.&lt;br /&gt;
 https://www.schrodinger.com/downloads/releases&lt;br /&gt;
You can also download them from BKS Cluster in &lt;br /&gt;
 /nfs/soft/schrodinger/downloads&lt;br /&gt;
&lt;br /&gt;
== Install ==&lt;br /&gt;
 tar -xvf Advance....tar.gz&lt;br /&gt;
 cd Advance....&lt;br /&gt;
 ./INSTALL&lt;br /&gt;
&lt;br /&gt;
== Connect to bkslab&#039;s license server (MAKE SURE YOUR UCSF VPN IS ON if you are off campus)==&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;big&amp;gt;Announcement: Schrodinger started implementing Schrodinger License Manager in place of the FlexNET license system for version 2024-2 and newer. You need to update the software to 2024-2 or newer.&amp;lt;/big&amp;gt;&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Suite version 2024-2 or newer ===&lt;br /&gt;
==== GUI Instruction for Mac/Windows ====&lt;br /&gt;
There should be a license popup when you start Maestro, if there isn&#039;t run this command below&lt;br /&gt;
 export SCHRODINGER=/opt/schrodinger/suites&amp;lt;version&amp;gt;&lt;br /&gt;
 $SCHRODINGER/run licensing_gui.py&lt;br /&gt;
&lt;br /&gt;
Enter the information as following in the prompt&lt;br /&gt;
&lt;br /&gt;
 Hostname: bet2.compbio.ucsf.edu&lt;br /&gt;
 Port: 53001&lt;br /&gt;
&lt;br /&gt;
==== Command line ====&lt;br /&gt;
 /opt/schrodinger/suites&amp;lt;version&amp;gt;/licadmin install -s bet2.compbio.ucsf.edu:53001&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you disabled the SCHRODINGER_LICENSE_MANAGER previously, you can enable it again&lt;br /&gt;
 export SCHRODINGER=/opt/schrodinger/suites&amp;lt;version&amp;gt;&lt;br /&gt;
 $SCHRODINGER/utilities/feature_flags -e SCHRODINGER_LICENSE_MANAGER&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]][[Category:Sysadmin]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Install_Schrodinger_Suite_in_local_computer&amp;diff=17116</id>
		<title>Install Schrodinger Suite in local computer</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Install_Schrodinger_Suite_in_local_computer&amp;diff=17116"/>
		<updated>2026-03-13T03:11:39Z</updated>

		<summary type="html">&lt;p&gt;Khtang: /* Connect to bkslab&amp;#039;s license server (MAKE SURE YOUR UCSF VPN IS ON if you are off campus) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Download Schrodinger Suite file ==&lt;br /&gt;
You need to register an account for access. Our lab uses the Advanced Suite, please contact Schrodinger if you don&#039;t have access to this suite.&lt;br /&gt;
 https://www.schrodinger.com/downloads/releases&lt;br /&gt;
You can also download them from BKS Cluster in &lt;br /&gt;
 /nfs/soft/schrodinger/downloads&lt;br /&gt;
&lt;br /&gt;
== Install ==&lt;br /&gt;
 tar -xvf Advance....tar.gz&lt;br /&gt;
 cd Advance....&lt;br /&gt;
 ./INSTALL&lt;br /&gt;
&lt;br /&gt;
== Connect to bkslab&#039;s license server (MAKE SURE YOUR UCSF VPN IS ON if you are off campus)==&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;big&amp;gt;Announcement: Schrodinger started implementing Schrodinger License Manager in place of the FlexNET license system for version 2024-2 and newer. You need to update the software to 2024-2 or newer.&amp;lt;/big&amp;gt;&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Suite version 2024-2 or newer ===&lt;br /&gt;
==== GUI Instruction for Mac/Windows ====&lt;br /&gt;
There should be a license popup when you start Maestro, if there isn&#039;t run this command below&lt;br /&gt;
 export SCHRODINGER=/opt/schrodinger/suites&amp;lt;version&amp;gt;&lt;br /&gt;
 $SCHRODINGER/run licensing_gui.py&lt;br /&gt;
&lt;br /&gt;
Enter the information as following in the prompt&lt;br /&gt;
&lt;br /&gt;
 Hostname: bet2.compbio.ucsf.edu&lt;br /&gt;
 Port: 53001&lt;br /&gt;
&lt;br /&gt;
==== Command line ====&lt;br /&gt;
/opt/schrodinger/suites&amp;lt;version&amp;gt;/licadmin install -s bet2.compbio.ucsf.edu:53001&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you disabled the SCHRODINGER_LICENSE_MANAGER previously, you can enable it again&lt;br /&gt;
 export SCHRODINGER=/opt/schrodinger/suites&amp;lt;version&amp;gt;&lt;br /&gt;
 $SCHRODINGER/utilities/feature_flags -e SCHRODINGER_LICENSE_MANAGER&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]][[Category:Sysadmin]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Create_new_user&amp;diff=17043</id>
		<title>Create new user</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Create_new_user&amp;diff=17043"/>
		<updated>2026-01-29T00:27:36Z</updated>

		<summary type="html">&lt;p&gt;Khtang: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Identify a UID===&lt;br /&gt;
&#039;&#039;&#039;Check if a uid that is not taken by any other users&#039;&#039;&#039;. Start from 150**&lt;br /&gt;
 On CentOS 6&lt;br /&gt;
 $ getent passwd | grep 150**&lt;br /&gt;
 On CentOS 7&lt;br /&gt;
 $ id 150**&lt;br /&gt;
&lt;br /&gt;
===Create users and superuser on the LDAP GUI:===&lt;br /&gt;
Make sure you turn on Switchy Omega&lt;br /&gt;
 https://ds.ucsf.bkslab.org/ldapadmin/cmd.php&lt;br /&gt;
&lt;br /&gt;
If you are seeing this error message&lt;br /&gt;
 You cannot visit ds.ucsf.bkslab.org right now because the website uses HSTS. Network errors and attacks are usually temporary, so this page will probably work later.&lt;br /&gt;
You will need to delete &#039;bkslab.org&#039; domain from your &#039;Domain security policies&#039; in Chrome&lt;br /&gt;
 chrome://net-internals/#hsts&lt;br /&gt;
&lt;br /&gt;
====To create a visitor: ====&lt;br /&gt;
 Click OU=Visitors&lt;br /&gt;
 Click Create new entry here&lt;br /&gt;
 Select Generic: User Account&lt;br /&gt;
 Fill in appropriate sections&lt;br /&gt;
 -home dir should be /nfs/home/&amp;lt;username&amp;gt;&lt;br /&gt;
 -password should be encrypted with sha512&lt;br /&gt;
 -group should be visitors&lt;br /&gt;
 Keep the uid LDAP suggested and edit in the one you picked later.&lt;br /&gt;
&lt;br /&gt;
==== Create User&#039;s Home Directory ====&lt;br /&gt;
Log in as root on mem&lt;br /&gt;
 $ sh /nfs/home/[create-visitor.sh/create-member.sh] &amp;lt;user_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Generate ssh for login ===&lt;br /&gt;
====Create ssh key ====&lt;br /&gt;
In the user&#039;s home directory&#039;s personal computer:&lt;br /&gt;
 $ ssh keygen&lt;br /&gt;
&lt;br /&gt;
==== Add user&#039;s public key to Portal ====&lt;br /&gt;
 $ ssh s_khtang@portal.ucsf.bkslab.org&lt;br /&gt;
 $ sudo -i&lt;br /&gt;
 $ cd /opt/keys/user&lt;br /&gt;
 $ vim &amp;lt;username&amp;gt;&lt;br /&gt;
 Copy the .rsa_key.pub content into the file&lt;br /&gt;
&lt;br /&gt;
==== Add user into Portal ====&lt;br /&gt;
On LDAP Admin&lt;br /&gt;
 Choose &#039;&#039;&#039; dc=bkslab,dc=org (17)&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;Group&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;Portal&#039;&#039;&#039;&lt;br /&gt;
 Enter &amp;lt;username&amp;gt; in Add Value&lt;br /&gt;
&lt;br /&gt;
==== Add user into SLURM ====&lt;br /&gt;
 sudo sacctmgr create user name=&amp;lt;username&amp;gt; account=bks&lt;br /&gt;
&lt;br /&gt;
=== Add s_ user in alpha ===&lt;br /&gt;
Since Alpha was created before ldap admin system, new user must be created individually on this machine. &lt;br /&gt;
&lt;br /&gt;
Add the s_ user in &lt;br /&gt;
 vim /etc/passwd &lt;br /&gt;
 vim /etc/group &lt;br /&gt;
&lt;br /&gt;
Change password&lt;br /&gt;
 passwd s_&amp;lt;user&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Ben]] [[Category:Sysadmin]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Install_Schrodinger_Suite_in_local_computer&amp;diff=16966</id>
		<title>Install Schrodinger Suite in local computer</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Install_Schrodinger_Suite_in_local_computer&amp;diff=16966"/>
		<updated>2025-10-09T20:14:23Z</updated>

		<summary type="html">&lt;p&gt;Khtang: /* Download Schrodinger Suite file */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Download Schrodinger Suite file ==&lt;br /&gt;
You need to register an account for access. Our lab uses the Advanced Suite, please contact Schrodinger if you don&#039;t have access to this suite.&lt;br /&gt;
 https://www.schrodinger.com/downloads/releases&lt;br /&gt;
You can also download them from BKS Cluster in &lt;br /&gt;
 /nfs/soft/schrodinger/downloads&lt;br /&gt;
&lt;br /&gt;
== Install ==&lt;br /&gt;
 tar -xvf Advance....tar.gz&lt;br /&gt;
 cd Advance....&lt;br /&gt;
 ./INSTALL&lt;br /&gt;
&lt;br /&gt;
== Connect to bkslab&#039;s license server (MAKE SURE YOUR UCSF VPN IS ON if you are off campus)==&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;big&amp;gt;Announcement: Schrodinger started implementing Schrodinger License Manager in place of the FlexNET license system for version 2024-2 and newer. You need to update the software to 2024-2 or newer.&amp;lt;/big&amp;gt;&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Suite version 2024-2 or newer ===&lt;br /&gt;
==== Instruction for Mac/Windows ====&lt;br /&gt;
There should be a license popup when you start Maestro, if there isn&#039;t run this command below&lt;br /&gt;
 export SCHRODINGER=/opt/schrodinger/suites&amp;lt;version&amp;gt;&lt;br /&gt;
 $SCHRODINGER/run licensing_gui.py&lt;br /&gt;
&lt;br /&gt;
Enter the information as following in the prompt&lt;br /&gt;
&lt;br /&gt;
 Hostname: bet2.compbio.ucsf.edu&lt;br /&gt;
 Port: 53001&lt;br /&gt;
&lt;br /&gt;
If you disabled the SCHRODINGER_LICENSE_MANAGER previously, you can enable it again&lt;br /&gt;
 export SCHRODINGER=/opt/schrodinger/suites&amp;lt;version&amp;gt;&lt;br /&gt;
 $SCHRODINGER/utilities/feature_flags -e SCHRODINGER_LICENSE_MANAGER&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]][[Category:Sysadmin]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Connect_VSCode_to_cluster&amp;diff=16945</id>
		<title>Connect VSCode to cluster</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Connect_VSCode_to_cluster&amp;diff=16945"/>
		<updated>2025-10-07T00:09:34Z</updated>

		<summary type="html">&lt;p&gt;Khtang: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Link ==&lt;br /&gt;
https://code.visualstudio.com/docs/remote/ssh&lt;br /&gt;
== Instruction ==&lt;br /&gt;
=== 1. Install extension ===&lt;br /&gt;
Go to &#039;Extension&#039; tab in VSCode, look up &#039;Remote-SSH&#039; and install&lt;br /&gt;
=== 2. Setup tunnel ===&lt;br /&gt;
To connect with VS code, forward the 22 port on the machine that you’d like to use using the following command&lt;br /&gt;
 ssh -CL localhost:2222:epyc:22 &amp;lt;username&amp;gt;@portal3.ucsf.bkslab.org&lt;br /&gt;
=== 3. Setup configuration in Remote - SSH ===&lt;br /&gt;
- Click on the &#039;Connect to...&#039; under Start in the &#039;Welcome&#039; page&lt;br /&gt;
&lt;br /&gt;
- Choose &#039;Connect to Host...&#039; &amp;gt; &#039;+ Add New SSH host&#039;&lt;br /&gt;
&lt;br /&gt;
- Type into the prompt this &lt;br /&gt;
 ssh -p 2222 &amp;lt;username&amp;gt;@localhost&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Connect_VSCode_to_cluster&amp;diff=16944</id>
		<title>Connect VSCode to cluster</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Connect_VSCode_to_cluster&amp;diff=16944"/>
		<updated>2025-10-07T00:09:19Z</updated>

		<summary type="html">&lt;p&gt;Khtang: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Link ==&lt;br /&gt;
https://code.visualstudio.com/docs/remote/ssh&lt;br /&gt;
== Instruction ==&lt;br /&gt;
=== 1. Install extension ===&lt;br /&gt;
Go to &#039;Extension&#039; tab in VSCode, look up &#039;Remote-SSH&#039; and install&lt;br /&gt;
=== 2. Setup tunnel ===&lt;br /&gt;
To connect with VS code, forward the 22 port on the machine that you’d like to use using the following command&lt;br /&gt;
ssh -CL localhost:2222:epyc:22 &amp;lt;username&amp;gt;@portal3.ucsf.bkslab.org&lt;br /&gt;
=== 3. Setup configuration in Remote - SSH ===&lt;br /&gt;
- Click on the &#039;Connect to...&#039; under Start in the &#039;Welcome&#039; page&lt;br /&gt;
&lt;br /&gt;
- Choose &#039;Connect to Host...&#039; &amp;gt; &#039;+ Add New SSH host&#039;&lt;br /&gt;
&lt;br /&gt;
- Type into the prompt this &#039;ssh -p 2222 &amp;lt;username&amp;gt;@localhost&#039;&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Connect_VSCode_to_cluster&amp;diff=16943</id>
		<title>Connect VSCode to cluster</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Connect_VSCode_to_cluster&amp;diff=16943"/>
		<updated>2025-10-07T00:09:09Z</updated>

		<summary type="html">&lt;p&gt;Khtang: Created page with &amp;quot;== Link == https://code.visualstudio.com/docs/remote/ssh == Instruction == === 1. Install extension === Go to &amp;#039;Extension&amp;#039; tab in VSCode, look up &amp;#039;Remote-SSH&amp;#039; and install === 2. Setup tunnel === To connect with VS code, forward the 22 port on the machine that you’d like to use using the following command ssh -CL localhost:2222:epyc:22 &amp;lt;username&amp;gt;@portal3.ucsf.bkslab.org === 3. Setup configuration in Remote - SSH === - Click on the &amp;#039;Connect to...&amp;#039; under Start in the &amp;#039;Welc...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Link ==&lt;br /&gt;
https://code.visualstudio.com/docs/remote/ssh&lt;br /&gt;
== Instruction ==&lt;br /&gt;
=== 1. Install extension ===&lt;br /&gt;
Go to &#039;Extension&#039; tab in VSCode, look up &#039;Remote-SSH&#039; and install&lt;br /&gt;
=== 2. Setup tunnel ===&lt;br /&gt;
To connect with VS code, forward the 22 port on the machine that you’d like to use using the following command&lt;br /&gt;
ssh -CL localhost:2222:epyc:22 &amp;lt;username&amp;gt;@portal3.ucsf.bkslab.org&lt;br /&gt;
=== 3. Setup configuration in Remote - SSH ===&lt;br /&gt;
- Click on the &#039;Connect to...&#039; under Start in the &#039;Welcome&#039; page&lt;br /&gt;
- Choose &#039;Connect to Host...&#039; &amp;gt; &#039;+ Add New SSH host&#039;&lt;br /&gt;
- Type into the prompt this &#039;ssh -p 2222 &amp;lt;username&amp;gt;@localhost&#039;&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Looking_up_CAS&amp;diff=16886</id>
		<title>Looking up CAS</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Looking_up_CAS&amp;diff=16886"/>
		<updated>2025-09-12T23:47:55Z</updated>

		<summary type="html">&lt;p&gt;Khtang: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CAS registry number is the unique identification number assigned by Chemical Abstract Service for every chemical substance identified in open scientific literature. Looking them up could be a tedious task.&lt;br /&gt;
&lt;br /&gt;
There are several CAS lookup APIs services:&lt;br /&gt;
 PUBMED : https://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/name/[CAS]/property/CanonicalSMILES/JSON&lt;br /&gt;
 CAS.org : https://commonchemistry.cas.org/api/detail?cas_rn=[CAS]&lt;br /&gt;
&lt;br /&gt;
The script for fetching CAS using those API is in the folder &#039;&#039;&#039;/nfs/home/khtang/code/SMILES_lookup&#039;&#039;&#039;&lt;br /&gt;
 source /nfs/soft/anaconda3/bin/activate ~khtang/.conda/envs/my-rdkit-env/&lt;br /&gt;
 python /nfs/home/khtang/code/SMILES_lookup/lookup_CAS.py [input.xlsx] [output.xlsx]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Looking_up_CAS&amp;diff=16879</id>
		<title>Looking up CAS</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Looking_up_CAS&amp;diff=16879"/>
		<updated>2025-09-11T18:40:48Z</updated>

		<summary type="html">&lt;p&gt;Khtang: Created page with &amp;quot;CAS registry number is the unique identification number assigned by Chemical Abstract Service for every chemical substance identified in open scientific literature. Looking them up could be a tedious task.  There are several CAS lookup APIs services:  PUBMED : https://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/name/[CAS]/property/CanonicalSMILES/JSON  CAS.org : https://commonchemistry.cas.org/api/detail?cas_rn=[CAS]&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CAS registry number is the unique identification number assigned by Chemical Abstract Service for every chemical substance identified in open scientific literature. Looking them up could be a tedious task.&lt;br /&gt;
&lt;br /&gt;
There are several CAS lookup APIs services:&lt;br /&gt;
 PUBMED : https://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/name/[CAS]/property/CanonicalSMILES/JSON&lt;br /&gt;
 CAS.org : https://commonchemistry.cas.org/api/detail?cas_rn=[CAS]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=User_talk:Pseemann&amp;diff=16853</id>
		<title>User talk:Pseemann</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=User_talk:Pseemann&amp;diff=16853"/>
		<updated>2025-08-28T18:25:55Z</updated>

		<summary type="html">&lt;p&gt;Khtang: Welcome!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Welcome to &#039;&#039;DISI&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
We hope you will contribute much and well.&lt;br /&gt;
You will probably want to read the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents help pages].&lt;br /&gt;
Again, welcome and have fun! [[User:Khtang|Khtang]] ([[User talk:Khtang|talk]]) 18:25, 28 August 2025 (UTC)&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=User:Pseemann&amp;diff=16852</id>
		<title>User:Pseemann</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=User:Pseemann&amp;diff=16852"/>
		<updated>2025-08-28T18:25:55Z</updated>

		<summary type="html">&lt;p&gt;Khtang: Creating user page for new user.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I am a postdoctoral researcher from Germany and completed my PhD at FAU Erlangen-Nueremberg in Prof. Peter Gmeiner&#039;s laboratory. I am currently a member of the Shoichet Lab and my work focuses on symmetric docking approaches.&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Manage_Lab_Websites&amp;diff=16837</id>
		<title>Manage Lab Websites</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Manage_Lab_Websites&amp;diff=16837"/>
		<updated>2025-08-19T00:44:28Z</updated>

		<summary type="html">&lt;p&gt;Khtang: /* List of Websites */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We are trying to migrate all services to gitlab. &lt;br /&gt;
This page is perpetually out-of-date. Look at gitlab first. If not there, look below. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of Websites ==&lt;br /&gt;
Last updated on 08/18/2025&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Website&lt;br /&gt;
!Machine:Port&lt;br /&gt;
!Run on&lt;br /&gt;
!Hosted in (httpd/conf.d)&lt;br /&gt;
!Working&lt;br /&gt;
|-&lt;br /&gt;
|Amis: https://amis.docking.org/&lt;br /&gt;
|n-9-38:5066&lt;br /&gt;
|docker&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Arthor: https://arthor.docking.org/&lt;br /&gt;
|nun, samekh, n-9-22; Port 8000&lt;br /&gt;
|Screen&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|BKSLab: https://www.bkslab.org/&lt;br /&gt;
|n-5-13:5002&lt;br /&gt;
|docker&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Blaster: https://blaster.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43, can not be moved to files2)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Cartblanche22: https://cartblanche22.docking.org/&lt;br /&gt;
|n-9-22:5068&lt;br /&gt;
|docker&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Covalent: http://covalent.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43, can not be moved to files2)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|DSF: https://dsf.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|No (wrong website)&lt;br /&gt;
|-&lt;br /&gt;
|Duc: https://duc.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|Dud: https://dud.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43, can not be moved to files2)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Dude18: http://dude18.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|Dude: http://dude.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43, can not be moved to files2)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Dudez: http://dudez.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Files2 (169.230.75.3)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Excipients: http://excipients.docking.org/&lt;br /&gt;
|gimel:8093&lt;br /&gt;
|Supervisord&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Gitlab: https://gitlab.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Files2 (169.230.75.3)&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|HG: https://hg.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Files2 (169.230.75.3)&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|IrwinLab: http://irwinlab.compbio.ucsf.edu/&lt;br /&gt;
|n-5-13:5004&lt;br /&gt;
|docker&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Metabolite: http://metabolite.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Tau (169.230.26.43, can not be moved to files2)&lt;br /&gt;
|showing wrong website&lt;br /&gt;
|-&lt;br /&gt;
|Deepchemworkshop: http://deepchemworkshop.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Prices: http://prices.docking.org/&lt;br /&gt;
|gimel:5022&lt;br /&gt;
|&lt;br /&gt;
|Tau (169.230.26.43)&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|Psicquic: http://psicquic.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Tau (169.230.26.43)&lt;br /&gt;
|Yes (broken???)&lt;br /&gt;
|-&lt;br /&gt;
|Reactor: http://reactor.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Transporters: http://transporters.ucsf.bkslab.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Sea16: http://sea16.docking.org/&lt;br /&gt;
|gimel:8086&lt;br /&gt;
|&lt;br /&gt;
|Files2 (169.230.75.3)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|SEC: http://sec.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Smallworld Public: http://sw.docking.org/&lt;br /&gt;
|abacus:5020&lt;br /&gt;
|screen&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Smallworld Private: http://swp.docking.org/&lt;br /&gt;
|abacus:8080&lt;br /&gt;
|screen&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Smallworld Super Private: http://swc.docking.org/&lt;br /&gt;
|abacus:5099&lt;br /&gt;
|screen&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Stats: http://stats.docking.org/ &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43, can not be moved to files2)&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|Symp: http://symp.docking.org/ &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|TLDR http://tldr.docking.org/&lt;br /&gt;
|epyc-A40:5011 &lt;br /&gt;
|systemd&lt;br /&gt;
|Files2 (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Tool-Selector: http://tool-selector.ucsf.bkslab.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Transportal: http://transportal.docking.org/&lt;br /&gt;
|n-9-23 : port 8123&lt;br /&gt;
|screen&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Upload: http://upload.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Tau (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Zinc12: http://zinc12.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Tau (169.230.26.43, can not be moved to files2)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|Zinc15: http://zinc15.docking.org/&lt;br /&gt;
|epyc2:5064&lt;br /&gt;
|docker&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Zinc20: http://zinc20.docking.org/&lt;br /&gt;
|epyc2:5065&lt;br /&gt;
|docker&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Chemistry Commons: https://commons.docking.org/&lt;br /&gt;
|epyc2:5010&lt;br /&gt;
|docker&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Restart Instructions after UPS==&lt;br /&gt;
=== For websites running on Docker ===&lt;br /&gt;
Login to machine using sudoer account. &lt;br /&gt;
 $ sudo docker ps //to list all apps, including non-running&lt;br /&gt;
 $ sudo docker start &amp;lt;name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To restart a container&lt;br /&gt;
 $ sudo docker restart &amp;lt;name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== For websites running on Screen ===&lt;br /&gt;
&lt;br /&gt;
==== SEA ====&lt;br /&gt;
SEA is running on a screen on gimel&lt;br /&gt;
&lt;br /&gt;
Become www on gimel&lt;br /&gt;
 $ cd /nfs/soft/www/apps/seadev/&lt;br /&gt;
 On bash shell&lt;br /&gt;
 $ source tools/anaconda2/bin/activate sea16&lt;br /&gt;
 $ cd work/seaware/seaware-academic&lt;br /&gt;
 $ make SEAserver-stop-devel&lt;br /&gt;
 $ make all&lt;br /&gt;
 $ make SEAserver-start-devel&lt;br /&gt;
 Ctrl A+D to detach screen&lt;br /&gt;
&lt;br /&gt;
=== For websites running on Supervisord ===&lt;br /&gt;
==== Restart applications ====&lt;br /&gt;
* Become root on server the website runs on gimel&lt;br /&gt;
 $ supervisorctl status //to list all of current running apps&lt;br /&gt;
 $ supervisorctl restart &amp;lt;name&amp;gt;&lt;br /&gt;
   i.e &lt;br /&gt;
 $ supervisorctl restart bks-lab&lt;br /&gt;
&lt;br /&gt;
==== Start Supervisord ====&lt;br /&gt;
 $ supervisord&lt;br /&gt;
&lt;br /&gt;
=== For websites running on Systemd ===&lt;br /&gt;
==== Restart applications ====&lt;br /&gt;
 $ sudo systemctl restart &amp;lt;name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;TLDR&amp;lt;/b&amp;gt; is running on epyc-A40 and managed by systemd&lt;br /&gt;
 $ sudo systemctl restart tldr&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Sysadmin]]&lt;br /&gt;
[[Category:Curator]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Manage_Lab_Websites&amp;diff=16836</id>
		<title>Manage Lab Websites</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Manage_Lab_Websites&amp;diff=16836"/>
		<updated>2025-08-19T00:43:46Z</updated>

		<summary type="html">&lt;p&gt;Khtang: /* Transportal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We are trying to migrate all services to gitlab. &lt;br /&gt;
This page is perpetually out-of-date. Look at gitlab first. If not there, look below. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of Websites ==&lt;br /&gt;
Last updated on 11/10/2024&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Website&lt;br /&gt;
!Machine:Port&lt;br /&gt;
!Run on&lt;br /&gt;
!Hosted in (httpd/conf.d)&lt;br /&gt;
!Working&lt;br /&gt;
|-&lt;br /&gt;
|Amis: https://amis.docking.org/&lt;br /&gt;
|n-9-38:5066&lt;br /&gt;
|docker&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Arthor: https://arthor.docking.org/&lt;br /&gt;
|nun, samekh, n-9-22; Port 8000&lt;br /&gt;
|Screen&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|BKSLab: http://www.bkslab.org/&lt;br /&gt;
|n-5-13:5002&lt;br /&gt;
|docker&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Blaster: https://blaster.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43, can not be moved to files2)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Cartblanche22: https://cartblanche22.docking.org/&lt;br /&gt;
|n-9-22:5068&lt;br /&gt;
|docker&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Covalent: http://covalent.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43, can not be moved to files2)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|DSF: https://dsf.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|No (wrong website)&lt;br /&gt;
|-&lt;br /&gt;
|Duc: https://duc.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|Dud: https://dud.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43, can not be moved to files2)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Dude18: http://dude18.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|Dude: http://dude.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43, can not be moved to files2)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Dudez: http://dudez.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Files2 (169.230.75.3)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Excipients: http://excipients.docking.org/&lt;br /&gt;
|gimel:8093&lt;br /&gt;
|Supervisord&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Gitlab: https://gitlab.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Files2 (169.230.75.3)&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|HG: https://hg.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Files2 (169.230.75.3)&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|IrwinLab: http://irwinlab.compbio.ucsf.edu/&lt;br /&gt;
|n-5-13:5004&lt;br /&gt;
|docker&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Metabolite: http://metabolite.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Tau (169.230.26.43, can not be moved to files2)&lt;br /&gt;
|showing wrong website&lt;br /&gt;
|-&lt;br /&gt;
|Deepchemworkshop: http://deepchemworkshop.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Prices: http://prices.docking.org/&lt;br /&gt;
|gimel:5022&lt;br /&gt;
|&lt;br /&gt;
|Tau (169.230.26.43)&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|Psicquic: http://psicquic.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Tau (169.230.26.43)&lt;br /&gt;
|Yes (broken???)&lt;br /&gt;
|-&lt;br /&gt;
|Reactor: http://reactor.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Transporters: http://transporters.ucsf.bkslab.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Sea16: http://sea16.docking.org/&lt;br /&gt;
|gimel:8086&lt;br /&gt;
|&lt;br /&gt;
|Files2 (169.230.75.3)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|SEC: http://sec.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Smallworld Public: http://sw.docking.org/&lt;br /&gt;
|abacus:5020&lt;br /&gt;
|screen&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Smallworld Private: http://swp.docking.org/&lt;br /&gt;
|abacus:8080&lt;br /&gt;
|screen&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Smallworld Super Private: http://swc.docking.org/&lt;br /&gt;
|abacus:5099&lt;br /&gt;
|screen&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Stats: http://stats.docking.org/ &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43, can not be moved to files2)&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|Symp: http://symp.docking.org/ &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|TLDR http://tldr.docking.org/&lt;br /&gt;
|epyc-A40:5011 &lt;br /&gt;
|systemd&lt;br /&gt;
|Files2 (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Tool-Selector: http://tool-selector.ucsf.bkslab.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Transportal: http://transportal.docking.org/&lt;br /&gt;
|n-9-23 : port 8123&lt;br /&gt;
|screen&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Upload: http://upload.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Tau (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Zinc12: http://zinc12.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Tau (169.230.26.43, can not be moved to files2)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|Zinc15: http://zinc15.docking.org/&lt;br /&gt;
|epyc2:5064&lt;br /&gt;
|docker&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Zinc20: http://zinc20.docking.org/&lt;br /&gt;
|epyc2:5065&lt;br /&gt;
|docker&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Chemistry Commons: https://commons.docking.org/&lt;br /&gt;
|epyc2:5010&lt;br /&gt;
|docker&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Restart Instructions after UPS==&lt;br /&gt;
=== For websites running on Docker ===&lt;br /&gt;
Login to machine using sudoer account. &lt;br /&gt;
 $ sudo docker ps //to list all apps, including non-running&lt;br /&gt;
 $ sudo docker start &amp;lt;name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To restart a container&lt;br /&gt;
 $ sudo docker restart &amp;lt;name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== For websites running on Screen ===&lt;br /&gt;
&lt;br /&gt;
==== SEA ====&lt;br /&gt;
SEA is running on a screen on gimel&lt;br /&gt;
&lt;br /&gt;
Become www on gimel&lt;br /&gt;
 $ cd /nfs/soft/www/apps/seadev/&lt;br /&gt;
 On bash shell&lt;br /&gt;
 $ source tools/anaconda2/bin/activate sea16&lt;br /&gt;
 $ cd work/seaware/seaware-academic&lt;br /&gt;
 $ make SEAserver-stop-devel&lt;br /&gt;
 $ make all&lt;br /&gt;
 $ make SEAserver-start-devel&lt;br /&gt;
 Ctrl A+D to detach screen&lt;br /&gt;
&lt;br /&gt;
=== For websites running on Supervisord ===&lt;br /&gt;
==== Restart applications ====&lt;br /&gt;
* Become root on server the website runs on gimel&lt;br /&gt;
 $ supervisorctl status //to list all of current running apps&lt;br /&gt;
 $ supervisorctl restart &amp;lt;name&amp;gt;&lt;br /&gt;
   i.e &lt;br /&gt;
 $ supervisorctl restart bks-lab&lt;br /&gt;
&lt;br /&gt;
==== Start Supervisord ====&lt;br /&gt;
 $ supervisord&lt;br /&gt;
&lt;br /&gt;
=== For websites running on Systemd ===&lt;br /&gt;
==== Restart applications ====&lt;br /&gt;
 $ sudo systemctl restart &amp;lt;name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;TLDR&amp;lt;/b&amp;gt; is running on epyc-A40 and managed by systemd&lt;br /&gt;
 $ sudo systemctl restart tldr&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Sysadmin]]&lt;br /&gt;
[[Category:Curator]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Create_new_user&amp;diff=16835</id>
		<title>Create new user</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Create_new_user&amp;diff=16835"/>
		<updated>2025-08-18T22:49:11Z</updated>

		<summary type="html">&lt;p&gt;Khtang: /* Create users and superuser on the LDAP GUI: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Identify a UID===&lt;br /&gt;
&#039;&#039;&#039;Check if a uid that is not taken by any other users&#039;&#039;&#039;. Start from 150**&lt;br /&gt;
 On CentOS 6&lt;br /&gt;
 $ getent passwd | grep 150**&lt;br /&gt;
 On CentOS 7&lt;br /&gt;
 $ id 150**&lt;br /&gt;
&lt;br /&gt;
===Create users and superuser on the LDAP GUI:===&lt;br /&gt;
Make sure you turn on Switchy Omega&lt;br /&gt;
 https://ds.ucsf.bkslab.org/ldapadmin/cmd.php&lt;br /&gt;
&lt;br /&gt;
If you are seeing this error message&lt;br /&gt;
 You cannot visit ds.ucsf.bkslab.org right now because the website uses HSTS. Network errors and attacks are usually temporary, so this page will probably work later.&lt;br /&gt;
You will need to delete &#039;bkslab.org&#039; domain from your &#039;Domain security policies&#039; in Chrome&lt;br /&gt;
 chrome://net-internals/#hsts&lt;br /&gt;
&lt;br /&gt;
====To create a visitor: ====&lt;br /&gt;
 Click OU=Visitors&lt;br /&gt;
 Click Create new entry here&lt;br /&gt;
 Select Generic: User Account&lt;br /&gt;
 Fill in appropriate sections&lt;br /&gt;
 -home dir should be /nfs/home/&amp;lt;username&amp;gt;&lt;br /&gt;
 -password should be encrypted with sha512&lt;br /&gt;
 -group should be visitors&lt;br /&gt;
 Keep the uid LDAP suggested and edit in the one you picked later.&lt;br /&gt;
&lt;br /&gt;
==== Create User&#039;s Home Directory ====&lt;br /&gt;
Log in as root on mem&lt;br /&gt;
 $ sh /nfs/home/[create-visitor.sh/create-member.sh] &amp;lt;user_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Generate ssh for login ===&lt;br /&gt;
====Create ssh key ====&lt;br /&gt;
In the user&#039;s home directory&#039;s personal computer:&lt;br /&gt;
 $ ssh keygen&lt;br /&gt;
&lt;br /&gt;
==== Add user&#039;s public key to Portal ====&lt;br /&gt;
 $ ssh s_khtang@portal.ucsf.bkslab.org&lt;br /&gt;
 $ sudo -i&lt;br /&gt;
 $ cd /opt/keys/user&lt;br /&gt;
 $ vim &amp;lt;username&amp;gt;&lt;br /&gt;
 Copy the .rsa_key.pub content into the file&lt;br /&gt;
&lt;br /&gt;
==== Add user into Portal ====&lt;br /&gt;
On LDAP Admin&lt;br /&gt;
 Choose &#039;&#039;&#039; dc=bkslab,dc=org (17)&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;Group&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;Portal&#039;&#039;&#039;&lt;br /&gt;
 Enter &amp;lt;username&amp;gt; in Add Value&lt;br /&gt;
&lt;br /&gt;
=== Add s_ user in alpha ===&lt;br /&gt;
Since Alpha was created before ldap admin system, new user must be created individually on this machine. &lt;br /&gt;
&lt;br /&gt;
Add the s_ user in &lt;br /&gt;
 vim /etc/passwd &lt;br /&gt;
 vim /etc/group &lt;br /&gt;
&lt;br /&gt;
Change password&lt;br /&gt;
 passwd s_&amp;lt;user&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Ben]] [[Category:Sysadmin]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=How_to_dock_in_DOCK3.8&amp;diff=16792</id>
		<title>How to dock in DOCK3.8</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=How_to_dock_in_DOCK3.8&amp;diff=16792"/>
		<updated>2025-08-08T19:37:08Z</updated>

		<summary type="html">&lt;p&gt;Khtang: /* Example: Running a lot of docking jobs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= IMPORTANT - UPDATED DOCUMENTATION =&lt;br /&gt;
&lt;br /&gt;
https://wiki.docking.org/index.php/SUBDOCK_DOCK3.8&lt;br /&gt;
&lt;br /&gt;
= OLD DOCUMENTATION =&lt;br /&gt;
&lt;br /&gt;
How to dock in DOCK 3.8.0&lt;br /&gt;
&lt;br /&gt;
Related page: Docking Analysis with DOCK 3.8&lt;br /&gt;
&lt;br /&gt;
http://wiki.docking.org/index.php/Docking_Analysis_in_DOCK3.8&lt;br /&gt;
&lt;br /&gt;
[[How to install DOCK 3.8]]&lt;br /&gt;
&lt;br /&gt;
== Checkpointing &amp;amp; Restartability in DOCK3.8 ==&lt;br /&gt;
&lt;br /&gt;
DOCK 3.8 can be interrupted safely and restarted, which allows more flexibility when submitting docking jobs.&lt;br /&gt;
&lt;br /&gt;
For example, you could set QSUB_ARGS=&amp;quot;-l s_rt=00:05:00 -l h_rt=00:07:00&amp;quot; (or SBATCH_ARGS=&amp;quot;--time=00:07:00&amp;quot;)&lt;br /&gt;
so that each docking job will only run for 5 minutes before being interrupted. The new subdock.bash script allows submitting the same set of jobs multiple times until they are all complete. A more pragmatic choice might be &amp;quot;-l s_rt=00:28:00 -l h_rt=00:30:00&amp;quot; to get the benefit of faster scheduling on wynton in the short.q. &lt;br /&gt;
Another advantage is that the job can be interrupted at any time on AWS and it will checkpoint and be restartable.&lt;br /&gt;
&lt;br /&gt;
== Submitting Jobs/Running the Script ==&lt;br /&gt;
&lt;br /&gt;
New subdock scripts are here:&lt;br /&gt;
&lt;br /&gt;
$DOCKBASE/docking/submit/sge/subdock.bash&lt;br /&gt;
$DOCKBASE/docking/submit/slurm/subdock.bash&lt;br /&gt;
&lt;br /&gt;
subdock.bash requires a number of environmental variables to be passed as arguments.&lt;br /&gt;
&lt;br /&gt;
=== Required Arguments ===&lt;br /&gt;
&lt;br /&gt;
==== INPUT_SOURCE ====&lt;br /&gt;
&lt;br /&gt;
INPUT_SOURCE should be either:&lt;br /&gt;
&lt;br /&gt;
a) A directory containing one or more db2.tgz files OR&lt;br /&gt;
&lt;br /&gt;
b) A text file containing a list of paths to db2.tgz files&lt;br /&gt;
&lt;br /&gt;
A db2.tgz file should be a tarred + gzipped archive (tar -czf archive.tgz) that contains one or more db2 or db2.gz files.&lt;br /&gt;
&lt;br /&gt;
A job will be launched for each db2.tgz file in INPUT_SOURCE.&lt;br /&gt;
&lt;br /&gt;
==== EXPORT_DEST ====&lt;br /&gt;
&lt;br /&gt;
A directory on the NFS where you would like your docking output to end up. If the directory does not exist, the script will try to create it.&lt;br /&gt;
&lt;br /&gt;
==== DOCKEXEC ====&lt;br /&gt;
&lt;br /&gt;
An NFS path to a DOCK binary executable (NOT a wrapper script).&lt;br /&gt;
&lt;br /&gt;
==== DOCKFILES ====&lt;br /&gt;
&lt;br /&gt;
An NFS path to the dockfiles (INDOCK, spheres, receptor files, grids, etc.) being used for this docking run. Note that INDOCK is expected to be part of these files.&lt;br /&gt;
&lt;br /&gt;
=== Optional Arguments ===&lt;br /&gt;
&lt;br /&gt;
==== SHRTCACHE ====&lt;br /&gt;
&lt;br /&gt;
The directory DOCK will perform it&#039;s work in. Files saved to this directory will be deleted once the docking job has concluded. By default this is /scratch. If /scratch is not available, change this to something else.&lt;br /&gt;
&lt;br /&gt;
==== LONGCACHE ====&lt;br /&gt;
&lt;br /&gt;
The directory DOCK will store files that are shared between multiple docking jobs. Files saved to this directory (dockexec and dockfiles) will persist on compute nodes until they are deleted by hand or an automated culling process. By default this directory is /scratch.&lt;br /&gt;
&lt;br /&gt;
==== SBATCH_ARGS ====&lt;br /&gt;
&lt;br /&gt;
Additional arguments to provide to slurm&#039;s sbatch, if using the slurm version of subdock.bash.&lt;br /&gt;
&lt;br /&gt;
==== QSUB_ARGS ====&lt;br /&gt;
&lt;br /&gt;
Additional arguments to provide to sge&#039;s qsub, if using the sge version of subdock.bash&lt;br /&gt;
&lt;br /&gt;
==== SHRTCACHE_USE_ENV ====&lt;br /&gt;
&lt;br /&gt;
At script runtime, have SHRTCACHE be set to the value of another environment variable, whose name is the value of SHRTCACHE_USE_ENV. This is useful for example if the scheduler sets up a directory for your job to perform work in, e.g Wynton&#039;s TMPDIR.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
BKS Example&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
export INPUT_SOURCE=/path/to/example.in&lt;br /&gt;
export EXPORT_DEST=/path/to/output&lt;br /&gt;
export DOCKEXEC=$DOCKBASE/docking/DOCK/bin/dock64&lt;br /&gt;
export DOCKFILES=/path/to/dockfiles.example&lt;br /&gt;
export SHRTCACHE=/scratch&lt;br /&gt;
export LONGCACHE=/scratch&lt;br /&gt;
export SBATCH_ARGS=&amp;quot;--time=02:00:00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
bash $DOCKBASE/docking/submit/slurm/subdock.bash&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wynton Example&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
export INPUT_SOURCE=/path/to/example.in&lt;br /&gt;
export EXPORT_DEST=/path/to/output&lt;br /&gt;
export DOCKEXEC=$DOCKBASE/docking/DOCK/bin/dock64&lt;br /&gt;
export DOCKFILES=/path/to/dockfiles.example&lt;br /&gt;
export SHRTCACHE_USE_ENV=TMPDIR&lt;br /&gt;
export LONGCACHE=/scratch&lt;br /&gt;
export QSUB_ARGS=&amp;quot;-l s_rt=00:28:00 -l h_rt=00:30:00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
bash $DOCKBASE/docking/submit/sge/subdock.bash&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Note on using SHRTCACHE and LONGCACHE ==&lt;br /&gt;
&lt;br /&gt;
You should avoid using global networked directories for SHRTCACHE, these would be directories prefixed with /nfs/ on BKS and directories starting with /wynton/ on wynton. SHRTCACHE is used for writing out logs &amp;amp; job output in real time- a high latency network disk is inappropriate for this task. If running many jobs in parallel, there is a good chance that the network disk will be overloaded from all the jobs trying to send write requests simultaneously. I feel the difference between RAM, network directories and local directories is misunderstood, so I&#039;ll explain it with an analogy:&lt;br /&gt;
&lt;br /&gt;
Imagine you just finished washing your clothes and you need to put them away.&lt;br /&gt;
&lt;br /&gt;
Writing data to RAM (or /dev/shm) is like dropping them in a basket next to the washing machine.&lt;br /&gt;
&lt;br /&gt;
Writing data to your local disk is like walking to your closet to put them away.&lt;br /&gt;
&lt;br /&gt;
Writing data to a network disk is like walking to your neighbor&#039;s house and putting them away in his closet.&lt;br /&gt;
&lt;br /&gt;
Now, networked disks don&#039;t perform much worse than local disks (your neighbor is just next door, after all), but what if everyone in the neighborhood put their stuff away in your neighbor&#039;s closet? For one there would be a line of people out his front door, meaning it would take you way longer to put away your clothes. Your neighbor also would probably not be happy with this arrangement, just like the wynton admins will not be happy if you set SHRTCACHE/LONGCACHE to a /wynton directory.&lt;br /&gt;
&lt;br /&gt;
== Developer Example: Building your own db2.tgz files &amp;amp; Submitting jobs ==&lt;br /&gt;
&lt;br /&gt;
What you need:&lt;br /&gt;
# One or more db2(.gz) files&lt;br /&gt;
# An nfs directory(s) to store:&lt;br /&gt;
## docking input/output&lt;br /&gt;
## dockfiles&lt;br /&gt;
## dock executable&lt;br /&gt;
# subdock &amp;amp; rundock scripts&lt;br /&gt;
&lt;br /&gt;
Create a list of all the db2 files you want to run docking against. The example below is merely a suggestion, make the list in any way you please so long as each entry is a *full* path (relative to your working directory) to a db2 (or db2.gz) file.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
find $MY_DB2_SOURCE -type f -name &amp;quot;*.db2*&amp;quot; &amp;gt; my_db2_list&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Split this list into reasonably sized chunks, our standard is 5000 but you can make them as large or small as you like. Do be careful about making the chunks larger- 5000 db2s is already quite heavy.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt; split -a 3 --lines=5000 my_db2_list db2_chunk.&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt; ls&lt;br /&gt;
db2_chunk_aaa&lt;br /&gt;
db2_chunk_aab&lt;br /&gt;
db2_chunk_aac&lt;br /&gt;
...&lt;br /&gt;
my_db2_list&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a db2.tgz archive from each of these lists.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
for db2_chunk in db2_chunk.*; do&lt;br /&gt;
    tar -czf $db2_chunk.db2.tgz --files-from $db2_chunk&lt;br /&gt;
done&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you already have premade db2.tgz files, for example from the zinc22 3D archive, start the tutorial here.&lt;br /&gt;
&lt;br /&gt;
Create a list of every db2.tgz archive. Each job will evaluate one db2.tgz archive. Again, this example is a suggestion applicable only if you&#039;ve been following the tutorial up to this point.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
find . -type f -name &amp;quot;db2_chunk.*.db2.tgz&amp;quot; &amp;gt; job_input_list&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now all you need to do is specify your docking parameters and launch the jobs. Set INPUT_SOURCE to be the job_input_list created in the previous step.&lt;br /&gt;
&lt;br /&gt;
SGE&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
export DOCKEXEC=&amp;lt;dock executable path&amp;gt;&lt;br /&gt;
export DOCKFILES=&amp;lt;dockfiles path&amp;gt;&lt;br /&gt;
export EXPORT_DEST=&amp;lt;output directory path&amp;gt;&lt;br /&gt;
# optional arguments for the job controller. Note that these arguments are examples and not the only configuration recommended&lt;br /&gt;
export QSUB_ARGS=&amp;quot;-l s_rt=00:28:00 -l h_rt=00:30:00 -l mem_free=2G&amp;quot;&lt;br /&gt;
&lt;br /&gt;
export INPUT_SOURCE=job_input_list&lt;br /&gt;
&lt;br /&gt;
bash &amp;lt;scripts directory&amp;gt;/sge/subdock.bash&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SLURM&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
export DOCKEXEC=&amp;lt;dock executable path&amp;gt;&lt;br /&gt;
export DOCKFILES=&amp;lt;dockfiles path&amp;gt;&lt;br /&gt;
export EXPORT_DEST=&amp;lt;output directory path&amp;gt;&lt;br /&gt;
export SBATCH_ARGS=&amp;quot;--time=00:30:00 --mem-per-cpu=2G&amp;quot;&lt;br /&gt;
&lt;br /&gt;
export INPUT_SOURCE=job_input_list&lt;br /&gt;
&lt;br /&gt;
bash &amp;lt;scripts directory&amp;gt;/slurm/subdock.bash&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Large Docking Jobs ===&lt;br /&gt;
&lt;br /&gt;
If your list of db2.tgz files is very large you may want to further split it. Each db2.tgz file in the job_input_list represents a job submitted to the queue, and often there is a limit on how many jobs can be queued at once.&lt;br /&gt;
&lt;br /&gt;
In order to avoid this problem, we will need an automatic solution to split up our job_input_list and submit batches of jobs only when there is space left in the queue.&lt;br /&gt;
&lt;br /&gt;
For example, imagine we want to submit in batches of 10,000 and limit total jobs to 50,000 (with a package size of 5000 this is 250M molecules in the queue maximum, submitting 50M at a time). The example I have shows how you would do this in slurm. &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
### submit_all_slurm.bash&lt;br /&gt;
&lt;br /&gt;
BINDIR=$(dirname $0)&lt;br /&gt;
&lt;br /&gt;
BATCH_SIZE=10000&lt;br /&gt;
MAX_QUEUED=50000&lt;br /&gt;
&lt;br /&gt;
# the script is more portable if we provide the various parameters as arguments instead of hard-coding&lt;br /&gt;
INPUT_LIST=$1&lt;br /&gt;
BASE_EXPORT_DEST=$2 # this is the directory where further subdirectories will be created that contain docking job results&lt;br /&gt;
export DOCKEXEC=$3&lt;br /&gt;
export DOCKFILES=$4&lt;br /&gt;
&lt;br /&gt;
# we can use our EXPORT_DEST as staging grounds for our input&lt;br /&gt;
mkdir -p $BASE_EXPORT_DEST/input&lt;br /&gt;
&lt;br /&gt;
split --lines=$BATCH_SIZE -a 3 -n $INPUT_LIST $BASE_EXPORT_DEST/input/job_input.&lt;br /&gt;
&lt;br /&gt;
export SBATCH_ARGS=&amp;quot;--time=00:30:00 --mem-per-cpu=2G -J dock&amp;quot;&lt;br /&gt;
&lt;br /&gt;
for job_input in $BASE_EXPORT_DEST/input/job_input.*; do&lt;br /&gt;
&lt;br /&gt;
    export INPUT_SOURCE=$job_input&lt;br /&gt;
    input_num=$(printf $job_input | cut -d&#039;.&#039; -f2) # get the suffix of the split filename&lt;br /&gt;
&lt;br /&gt;
    export EXPORT_DEST=$BASE_EXPORT_DEST/$input_num&lt;br /&gt;
&lt;br /&gt;
    # loop forever&lt;br /&gt;
    while [ -z ]; do&lt;br /&gt;
&lt;br /&gt;
        # counts how many jobs in total are pending or running on this user&lt;br /&gt;
        njobs=$(squeue -u $(whoami) -h -t pending,running -r | wc -l)&lt;br /&gt;
        # if you want to instead set a limit on how many *dock* jobs are pending or running you would just run the command through a filter&lt;br /&gt;
        # njobs=$(squeue -u $(whoami) -h -t pending,running -r | grep &amp;quot;dock&amp;quot; | wc -l)&lt;br /&gt;
&lt;br /&gt;
        if [ $njobs -lt $((MAX_QUEUED-BATCH_SIZE)) ]; then&lt;br /&gt;
            break&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
        sleep 10&lt;br /&gt;
    done&lt;br /&gt;
&lt;br /&gt;
    # the slurm subdock and rundock scripts need to live next to this script in a directory named &amp;quot;slurm&amp;quot;&lt;br /&gt;
    bash $BINDIR/slurm/subdock.bash&lt;br /&gt;
done&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This script will run until all jobs are submitted, so for very large jobs you may want to keep the process alive in a screen.&lt;br /&gt;
&lt;br /&gt;
== Tip: Using Wynton&#039;s $TMPDIR ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Doing this with SHRTCACHE_USE_ENV&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Before you run subdock, simply export the SHRTCACHE_USE_ENV option.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
export SHRTCACHE_USE_ENV=TMPDIR&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will cause the script to use the $TMPDIR variable for SHRTCACHE.&lt;br /&gt;
&lt;br /&gt;
== Example: Running a lot of docking jobs ==&lt;br /&gt;
&lt;br /&gt;
* see [[ZINC22:Current status]] for more info about where ZINC can be found.&lt;br /&gt;
&lt;br /&gt;
* 1. set up sdi files&lt;br /&gt;
 mkdir sdi&lt;br /&gt;
 export sdi=sdi&lt;br /&gt;
 ls /wynton/group/bks/zinc-22/H19/H19P0??/*.db2.tgz &amp;gt; $sdi/h19p0.in&lt;br /&gt;
 ls /wynton/group/bks/zinc-22/H19/H19P1??/*.db2.tgz &amp;gt; $sdi/h19p1.in&lt;br /&gt;
 ls /wynton/group/bks/zinc-22/H19/H19P2??/*.db2.tgz &amp;gt; $sdi/h19p2.in&lt;br /&gt;
 ls /wynton/group/bks/zinc-22/H19/H19P3??/*.db2.tgz &amp;gt; $sdi/h19p3.in&lt;br /&gt;
 and so on&lt;br /&gt;
&lt;br /&gt;
* 2. set up INDOCK and dockfiles. rename dockfiles to dockfiles.$indockhash. On some nodes, the shasum command is called by sha1sum. Ultimately, renaming the dockfiles to a unique dockfiles is key. &lt;br /&gt;
&lt;br /&gt;
Note: As of 3/19/2021, this is no longer necessary&lt;br /&gt;
&lt;br /&gt;
 bash&lt;br /&gt;
 indockhash=$(cat INDOCK | shasum | awk &#039;{print substr($1, 1, 12)}&#039;)&lt;br /&gt;
&lt;br /&gt;
* 3. super script:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
export DOCKBASE=/wynton/group/bks/work/jji/DOCK&lt;br /&gt;
export DOCKFILES=$WORKDIR/dockfiles.21751f1bb16b&lt;br /&gt;
export DOCKEXEC=$DOCKBASE/docking/DOCK/bin/dock64&lt;br /&gt;
#export SHRTCACHE=/scratch # default&lt;br /&gt;
export SHRTCACHE=/scratch&lt;br /&gt;
export LONGCACHE=/scratch&lt;br /&gt;
export QSUB_ARGS=&amp;quot;-l s_rt=00:28:00 -l h_rt=00:30:00 -l mem_free=2G&amp;quot;&lt;br /&gt;
&lt;br /&gt;
for i in  sdi/*.in  ; do&lt;br /&gt;
        export k=$(basename $i .in)&lt;br /&gt;
	echo k $k&lt;br /&gt;
	export INPUT_SOURCE=$PWD/$i&lt;br /&gt;
	export EXPORT_DEST=$PWD/output/$k&lt;br /&gt;
	$DOCKBASE/docking/submit/sge/subdock.bash&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# 3a. to run for first time&lt;br /&gt;
 sh super&lt;br /&gt;
&lt;br /&gt;
# 4. how to restart (to make sure complete, iterate until complete)&lt;br /&gt;
&lt;br /&gt;
 sh super&lt;br /&gt;
&lt;br /&gt;
# 5. check which output is valid (and broken or incomplete output)&lt;br /&gt;
&lt;br /&gt;
# 6. extract all blazing fast&lt;br /&gt;
&lt;br /&gt;
# 7. extract mol2&lt;br /&gt;
&lt;br /&gt;
more soon, under active development, Jan 28.&lt;br /&gt;
&lt;br /&gt;
== Appendix: Docking mono-cations of ZINC22 with DOCK3.8 on Wynton ==&lt;br /&gt;
Added by Ying 3/10/2021&lt;br /&gt;
&lt;br /&gt;
To use: copy and paste the code section into terminal. &#039;&#039;&#039;Note to change the path where labelled with &#039;&#039;CHANGE this&#039;&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;set up the folder to run docking. &#039;&#039;&#039;&lt;br /&gt;
Path to my example: /wynton/home/shoichetlab/yingyang/work/5HT-5a/10_AL-dock/zinc22_3d_build_3-10-2021&lt;br /&gt;
  mkdir zinc22_3d_build_3-10-2021&lt;br /&gt;
  cd zinc22_3d_build_3-10-2021&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;copy INDOCK into dockfiles folder, and transfer to the created folder&#039;&#039;&#039;&lt;br /&gt;
  cp INDOCK dockfiles&lt;br /&gt;
  scp -r INDOCK dockfiles dt2.wynton.ucsf.edu:/path_to_created_folder&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;get sdi of monocations of already built ZINC22 (&amp;lt;= H26 heavy atom count)&#039;&#039;&#039;&lt;br /&gt;
Modify to your own need...&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
mkdir sdi&lt;br /&gt;
&lt;br /&gt;
foreach i (`seq 4 1 26`)&lt;br /&gt;
  set hac = `printf &amp;quot;H%02d&amp;quot; $i `&lt;br /&gt;
  echo $i $hac&lt;br /&gt;
  &lt;br /&gt;
  touch sdi/${hac}.sdi&lt;br /&gt;
  # CHANGE this: to your need&lt;br /&gt;
  foreach tgz (`ls /wynton/group/bks/zinc-22*/${hac}/${hac}[PM]???/*-O*.db2.tgz`)&lt;br /&gt;
    ls $tgz&lt;br /&gt;
    echo $tgz &amp;gt;&amp;gt; sdi/${hac}.sdi&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;rename the dockfiles directory&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Note: As of 3/19/2021 this step is no longer necessary&lt;br /&gt;
&lt;br /&gt;
  indockhash=$(cat INDOCK | sha1sum | awk &#039;{print substr($1, 1, 12)}&#039;)&lt;br /&gt;
  mv dockfiles dockfiles.${indockhash}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;write and run the super_run.sh&#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;EOF &amp;gt; super_run.sh&lt;br /&gt;
export DOCKBASE=/wynton/group/bks/soft/DOCK-3.8.0.1&lt;br /&gt;
export DOCKEXEC=\$DOCKBASE/docking/DOCK/bin/dock64&lt;br /&gt;
&lt;br /&gt;
# CHANGE here: path to the previously renamed dockfiles.\${indockhash}&lt;br /&gt;
### Note: as of 3/19/2021 renaming your dockfiles is no longer necessary&lt;br /&gt;
export DOCKFILES=/wynton/group/bks/work/yingyang/5HT-5a/10_AL-dock/zinc22_3d_build_3-10-2021/dockfiles.${indockhash}&lt;br /&gt;
export SHRTCACHE=/scratch&lt;br /&gt;
export LONGCACHE=/scratch&lt;br /&gt;
export QSUB_ARGS=&amp;quot;-l s_rt=00:28:00 -l h_rt=00:30:00 -l mem_free=2G&amp;quot;&lt;br /&gt;
&lt;br /&gt;
for i in  sdi/*.sdi  ; do&lt;br /&gt;
    export k=\$(basename \$i .sdi)&lt;br /&gt;
    echo k \$k&lt;br /&gt;
    export INPUT_SOURCE=$PWD/\$i&lt;br /&gt;
    export EXPORT_DEST=$PWD/output/\$k&lt;br /&gt;
    \$DOCKBASE/docking/submit/sge/subdock.bash&lt;br /&gt;
done&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
bash super_run.sh&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;keep submitting the super_run script until all db2s have been docked. &#039;&#039;&#039;&lt;br /&gt;
After all docking jobs finish, check the output. If no weird error, we can use a while loop to restart.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
while true&lt;br /&gt;
do&lt;br /&gt;
  export jobN=$(qstat | grep -c &#039;rundock&#039;)&lt;br /&gt;
  if [[ $jobN -gt 0 ]] &lt;br /&gt;
  then&lt;br /&gt;
    sleep 60&lt;br /&gt;
  else &lt;br /&gt;
    bash super_run.sh&lt;br /&gt;
  fi&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
When no new job is going to be submitted, use Ctrl+c to exit the while loop.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;extract scores from output. &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt; EOF &amp;gt; qsub_extract.csh&lt;br /&gt;
#\$ -S /bin/csh&lt;br /&gt;
#\$ -cwd&lt;br /&gt;
#\$ -pe smp 1&lt;br /&gt;
#\$ -l mem_free=100G&lt;br /&gt;
#\$ -l scratch=100G&lt;br /&gt;
#\$ -l h_rt=50:00:00&lt;br /&gt;
#\$ -j yes&lt;br /&gt;
#\$ -o extract_all.out&lt;br /&gt;
&lt;br /&gt;
hostname&lt;br /&gt;
date&lt;br /&gt;
&lt;br /&gt;
setenv DOCKBASE /wynton/group/bks/soft/DOCK-3.8.0.1&lt;br /&gt;
&lt;br /&gt;
setenv dir_in $PWD&lt;br /&gt;
&lt;br /&gt;
if ! (-d \$TMPDIR ) then&lt;br /&gt;
    if (-d /scratch ) then&lt;br /&gt;
        setenv TMPDIR /scratch/\$USER&lt;br /&gt;
    else&lt;br /&gt;
        setenv TMPDIR /tmp/\$USER&lt;br /&gt;
    endif&lt;br /&gt;
    mkdir -p \$TMPDIR&lt;br /&gt;
endif&lt;br /&gt;
pushd \$TMPDIR&lt;br /&gt;
&lt;br /&gt;
ls -d \${dir_in}/output/*/*/ &amp;gt; dirlist&lt;br /&gt;
&lt;br /&gt;
python \$DOCKBASE/analysis/extract_all_blazing_fast.py \&lt;br /&gt;
dirlist extract_all.txt -30&lt;br /&gt;
&lt;br /&gt;
mv extract_all.* \$dir_in&lt;br /&gt;
&lt;br /&gt;
popd&lt;br /&gt;
&lt;br /&gt;
echo &#039;---job info---&#039;&lt;br /&gt;
qstat -j \$JOB_ID&lt;br /&gt;
echo &#039;---complete---&#039;&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
qsub qsub_extract.csh&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another way is to run the command from the login node (Not recommended since sorting utilizes large memory)&lt;br /&gt;
 ls -d output/*/*/ &amp;gt; dirlist&lt;br /&gt;
 python $DOCKBASE/analysis/extract_all_blazing_fast.py dirlist extract_all.txt -20&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;get poses in parallel&#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
set score_file = $PWD/extract_all.sort.uniq.txt&lt;br /&gt;
set score_name = ${score_file:t:r}&lt;br /&gt;
set fileprefix = &#039;tmp_&#039;&lt;br /&gt;
set number_per_file = 5000&lt;br /&gt;
&lt;br /&gt;
set workdir  = $PWD/${score_name}_poses&lt;br /&gt;
mkdir -p $workdir &lt;br /&gt;
cd $workdir&lt;br /&gt;
&lt;br /&gt;
split --lines=$number_per_file --suffix-length=4 \&lt;br /&gt;
-d $score_file ${fileprefix}&lt;br /&gt;
&lt;br /&gt;
set num  = ` ls ${fileprefix}* | wc -l `&lt;br /&gt;
echo &amp;quot;Number of score files to process:&amp;quot; $num&lt;br /&gt;
&lt;br /&gt;
cat &amp;lt;&amp;lt; EOF &amp;gt; qsub_poses.csh&lt;br /&gt;
#\$ -S /bin/csh&lt;br /&gt;
#\$ -cwd&lt;br /&gt;
#\$ -j yes&lt;br /&gt;
#\$ -pe smp 1&lt;br /&gt;
#\$ -l mem_free=5G&lt;br /&gt;
#\$ -l scratch=20G&lt;br /&gt;
#\$ -l h_rt=25:00:00&lt;br /&gt;
#\$ -t 1-$num&lt;br /&gt;
&lt;br /&gt;
hostname&lt;br /&gt;
date&lt;br /&gt;
&lt;br /&gt;
setenv DOCKBASE /wynton/group/bks/soft/DOCK-3.8.0.1&lt;br /&gt;
&lt;br /&gt;
set list = \` ls \$PWD/${fileprefix}* \` &lt;br /&gt;
set MOL = &amp;quot;\${list[\$SGE_TASK_ID]}&amp;quot;&lt;br /&gt;
set name = \${MOL:t:r}&lt;br /&gt;
&lt;br /&gt;
python2 $DOCKBASE/analysis/getposes_blazing_faster.py \&lt;br /&gt;
&amp;quot;&amp;quot; \${MOL} $number_per_file poses_\${name}.mol2 test.mol2.gz&lt;br /&gt;
&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
qsub qsub_poses.csh&lt;br /&gt;
cd ../&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Post-processing...&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:DOCK 3.8]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=How_to_dock_in_DOCK3.8&amp;diff=16791</id>
		<title>How to dock in DOCK3.8</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=How_to_dock_in_DOCK3.8&amp;diff=16791"/>
		<updated>2025-08-08T19:36:25Z</updated>

		<summary type="html">&lt;p&gt;Khtang: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= IMPORTANT - UPDATED DOCUMENTATION =&lt;br /&gt;
&lt;br /&gt;
https://wiki.docking.org/index.php/SUBDOCK_DOCK3.8&lt;br /&gt;
&lt;br /&gt;
= OLD DOCUMENTATION =&lt;br /&gt;
&lt;br /&gt;
How to dock in DOCK 3.8.0&lt;br /&gt;
&lt;br /&gt;
Related page: Docking Analysis with DOCK 3.8&lt;br /&gt;
&lt;br /&gt;
http://wiki.docking.org/index.php/Docking_Analysis_in_DOCK3.8&lt;br /&gt;
&lt;br /&gt;
[[How to install DOCK 3.8]]&lt;br /&gt;
&lt;br /&gt;
== Checkpointing &amp;amp; Restartability in DOCK3.8 ==&lt;br /&gt;
&lt;br /&gt;
DOCK 3.8 can be interrupted safely and restarted, which allows more flexibility when submitting docking jobs.&lt;br /&gt;
&lt;br /&gt;
For example, you could set QSUB_ARGS=&amp;quot;-l s_rt=00:05:00 -l h_rt=00:07:00&amp;quot; (or SBATCH_ARGS=&amp;quot;--time=00:07:00&amp;quot;)&lt;br /&gt;
so that each docking job will only run for 5 minutes before being interrupted. The new subdock.bash script allows submitting the same set of jobs multiple times until they are all complete. A more pragmatic choice might be &amp;quot;-l s_rt=00:28:00 -l h_rt=00:30:00&amp;quot; to get the benefit of faster scheduling on wynton in the short.q. &lt;br /&gt;
Another advantage is that the job can be interrupted at any time on AWS and it will checkpoint and be restartable.&lt;br /&gt;
&lt;br /&gt;
== Submitting Jobs/Running the Script ==&lt;br /&gt;
&lt;br /&gt;
New subdock scripts are here:&lt;br /&gt;
&lt;br /&gt;
$DOCKBASE/docking/submit/sge/subdock.bash&lt;br /&gt;
$DOCKBASE/docking/submit/slurm/subdock.bash&lt;br /&gt;
&lt;br /&gt;
subdock.bash requires a number of environmental variables to be passed as arguments.&lt;br /&gt;
&lt;br /&gt;
=== Required Arguments ===&lt;br /&gt;
&lt;br /&gt;
==== INPUT_SOURCE ====&lt;br /&gt;
&lt;br /&gt;
INPUT_SOURCE should be either:&lt;br /&gt;
&lt;br /&gt;
a) A directory containing one or more db2.tgz files OR&lt;br /&gt;
&lt;br /&gt;
b) A text file containing a list of paths to db2.tgz files&lt;br /&gt;
&lt;br /&gt;
A db2.tgz file should be a tarred + gzipped archive (tar -czf archive.tgz) that contains one or more db2 or db2.gz files.&lt;br /&gt;
&lt;br /&gt;
A job will be launched for each db2.tgz file in INPUT_SOURCE.&lt;br /&gt;
&lt;br /&gt;
==== EXPORT_DEST ====&lt;br /&gt;
&lt;br /&gt;
A directory on the NFS where you would like your docking output to end up. If the directory does not exist, the script will try to create it.&lt;br /&gt;
&lt;br /&gt;
==== DOCKEXEC ====&lt;br /&gt;
&lt;br /&gt;
An NFS path to a DOCK binary executable (NOT a wrapper script).&lt;br /&gt;
&lt;br /&gt;
==== DOCKFILES ====&lt;br /&gt;
&lt;br /&gt;
An NFS path to the dockfiles (INDOCK, spheres, receptor files, grids, etc.) being used for this docking run. Note that INDOCK is expected to be part of these files.&lt;br /&gt;
&lt;br /&gt;
=== Optional Arguments ===&lt;br /&gt;
&lt;br /&gt;
==== SHRTCACHE ====&lt;br /&gt;
&lt;br /&gt;
The directory DOCK will perform it&#039;s work in. Files saved to this directory will be deleted once the docking job has concluded. By default this is /scratch. If /scratch is not available, change this to something else.&lt;br /&gt;
&lt;br /&gt;
==== LONGCACHE ====&lt;br /&gt;
&lt;br /&gt;
The directory DOCK will store files that are shared between multiple docking jobs. Files saved to this directory (dockexec and dockfiles) will persist on compute nodes until they are deleted by hand or an automated culling process. By default this directory is /scratch.&lt;br /&gt;
&lt;br /&gt;
==== SBATCH_ARGS ====&lt;br /&gt;
&lt;br /&gt;
Additional arguments to provide to slurm&#039;s sbatch, if using the slurm version of subdock.bash.&lt;br /&gt;
&lt;br /&gt;
==== QSUB_ARGS ====&lt;br /&gt;
&lt;br /&gt;
Additional arguments to provide to sge&#039;s qsub, if using the sge version of subdock.bash&lt;br /&gt;
&lt;br /&gt;
==== SHRTCACHE_USE_ENV ====&lt;br /&gt;
&lt;br /&gt;
At script runtime, have SHRTCACHE be set to the value of another environment variable, whose name is the value of SHRTCACHE_USE_ENV. This is useful for example if the scheduler sets up a directory for your job to perform work in, e.g Wynton&#039;s TMPDIR.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
BKS Example&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
export INPUT_SOURCE=/path/to/example.in&lt;br /&gt;
export EXPORT_DEST=/path/to/output&lt;br /&gt;
export DOCKEXEC=$DOCKBASE/docking/DOCK/bin/dock64&lt;br /&gt;
export DOCKFILES=/path/to/dockfiles.example&lt;br /&gt;
export SHRTCACHE=/scratch&lt;br /&gt;
export LONGCACHE=/scratch&lt;br /&gt;
export SBATCH_ARGS=&amp;quot;--time=02:00:00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
bash $DOCKBASE/docking/submit/slurm/subdock.bash&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wynton Example&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
export INPUT_SOURCE=/path/to/example.in&lt;br /&gt;
export EXPORT_DEST=/path/to/output&lt;br /&gt;
export DOCKEXEC=$DOCKBASE/docking/DOCK/bin/dock64&lt;br /&gt;
export DOCKFILES=/path/to/dockfiles.example&lt;br /&gt;
export SHRTCACHE_USE_ENV=TMPDIR&lt;br /&gt;
export LONGCACHE=/scratch&lt;br /&gt;
export QSUB_ARGS=&amp;quot;-l s_rt=00:28:00 -l h_rt=00:30:00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
bash $DOCKBASE/docking/submit/sge/subdock.bash&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Note on using SHRTCACHE and LONGCACHE ==&lt;br /&gt;
&lt;br /&gt;
You should avoid using global networked directories for SHRTCACHE, these would be directories prefixed with /nfs/ on BKS and directories starting with /wynton/ on wynton. SHRTCACHE is used for writing out logs &amp;amp; job output in real time- a high latency network disk is inappropriate for this task. If running many jobs in parallel, there is a good chance that the network disk will be overloaded from all the jobs trying to send write requests simultaneously. I feel the difference between RAM, network directories and local directories is misunderstood, so I&#039;ll explain it with an analogy:&lt;br /&gt;
&lt;br /&gt;
Imagine you just finished washing your clothes and you need to put them away.&lt;br /&gt;
&lt;br /&gt;
Writing data to RAM (or /dev/shm) is like dropping them in a basket next to the washing machine.&lt;br /&gt;
&lt;br /&gt;
Writing data to your local disk is like walking to your closet to put them away.&lt;br /&gt;
&lt;br /&gt;
Writing data to a network disk is like walking to your neighbor&#039;s house and putting them away in his closet.&lt;br /&gt;
&lt;br /&gt;
Now, networked disks don&#039;t perform much worse than local disks (your neighbor is just next door, after all), but what if everyone in the neighborhood put their stuff away in your neighbor&#039;s closet? For one there would be a line of people out his front door, meaning it would take you way longer to put away your clothes. Your neighbor also would probably not be happy with this arrangement, just like the wynton admins will not be happy if you set SHRTCACHE/LONGCACHE to a /wynton directory.&lt;br /&gt;
&lt;br /&gt;
== Developer Example: Building your own db2.tgz files &amp;amp; Submitting jobs ==&lt;br /&gt;
&lt;br /&gt;
What you need:&lt;br /&gt;
# One or more db2(.gz) files&lt;br /&gt;
# An nfs directory(s) to store:&lt;br /&gt;
## docking input/output&lt;br /&gt;
## dockfiles&lt;br /&gt;
## dock executable&lt;br /&gt;
# subdock &amp;amp; rundock scripts&lt;br /&gt;
&lt;br /&gt;
Create a list of all the db2 files you want to run docking against. The example below is merely a suggestion, make the list in any way you please so long as each entry is a *full* path (relative to your working directory) to a db2 (or db2.gz) file.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
find $MY_DB2_SOURCE -type f -name &amp;quot;*.db2*&amp;quot; &amp;gt; my_db2_list&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Split this list into reasonably sized chunks, our standard is 5000 but you can make them as large or small as you like. Do be careful about making the chunks larger- 5000 db2s is already quite heavy.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt; split -a 3 --lines=5000 my_db2_list db2_chunk.&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt; ls&lt;br /&gt;
db2_chunk_aaa&lt;br /&gt;
db2_chunk_aab&lt;br /&gt;
db2_chunk_aac&lt;br /&gt;
...&lt;br /&gt;
my_db2_list&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a db2.tgz archive from each of these lists.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
for db2_chunk in db2_chunk.*; do&lt;br /&gt;
    tar -czf $db2_chunk.db2.tgz --files-from $db2_chunk&lt;br /&gt;
done&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you already have premade db2.tgz files, for example from the zinc22 3D archive, start the tutorial here.&lt;br /&gt;
&lt;br /&gt;
Create a list of every db2.tgz archive. Each job will evaluate one db2.tgz archive. Again, this example is a suggestion applicable only if you&#039;ve been following the tutorial up to this point.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
find . -type f -name &amp;quot;db2_chunk.*.db2.tgz&amp;quot; &amp;gt; job_input_list&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now all you need to do is specify your docking parameters and launch the jobs. Set INPUT_SOURCE to be the job_input_list created in the previous step.&lt;br /&gt;
&lt;br /&gt;
SGE&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
export DOCKEXEC=&amp;lt;dock executable path&amp;gt;&lt;br /&gt;
export DOCKFILES=&amp;lt;dockfiles path&amp;gt;&lt;br /&gt;
export EXPORT_DEST=&amp;lt;output directory path&amp;gt;&lt;br /&gt;
# optional arguments for the job controller. Note that these arguments are examples and not the only configuration recommended&lt;br /&gt;
export QSUB_ARGS=&amp;quot;-l s_rt=00:28:00 -l h_rt=00:30:00 -l mem_free=2G&amp;quot;&lt;br /&gt;
&lt;br /&gt;
export INPUT_SOURCE=job_input_list&lt;br /&gt;
&lt;br /&gt;
bash &amp;lt;scripts directory&amp;gt;/sge/subdock.bash&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SLURM&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
export DOCKEXEC=&amp;lt;dock executable path&amp;gt;&lt;br /&gt;
export DOCKFILES=&amp;lt;dockfiles path&amp;gt;&lt;br /&gt;
export EXPORT_DEST=&amp;lt;output directory path&amp;gt;&lt;br /&gt;
export SBATCH_ARGS=&amp;quot;--time=00:30:00 --mem-per-cpu=2G&amp;quot;&lt;br /&gt;
&lt;br /&gt;
export INPUT_SOURCE=job_input_list&lt;br /&gt;
&lt;br /&gt;
bash &amp;lt;scripts directory&amp;gt;/slurm/subdock.bash&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Large Docking Jobs ===&lt;br /&gt;
&lt;br /&gt;
If your list of db2.tgz files is very large you may want to further split it. Each db2.tgz file in the job_input_list represents a job submitted to the queue, and often there is a limit on how many jobs can be queued at once.&lt;br /&gt;
&lt;br /&gt;
In order to avoid this problem, we will need an automatic solution to split up our job_input_list and submit batches of jobs only when there is space left in the queue.&lt;br /&gt;
&lt;br /&gt;
For example, imagine we want to submit in batches of 10,000 and limit total jobs to 50,000 (with a package size of 5000 this is 250M molecules in the queue maximum, submitting 50M at a time). The example I have shows how you would do this in slurm. &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
### submit_all_slurm.bash&lt;br /&gt;
&lt;br /&gt;
BINDIR=$(dirname $0)&lt;br /&gt;
&lt;br /&gt;
BATCH_SIZE=10000&lt;br /&gt;
MAX_QUEUED=50000&lt;br /&gt;
&lt;br /&gt;
# the script is more portable if we provide the various parameters as arguments instead of hard-coding&lt;br /&gt;
INPUT_LIST=$1&lt;br /&gt;
BASE_EXPORT_DEST=$2 # this is the directory where further subdirectories will be created that contain docking job results&lt;br /&gt;
export DOCKEXEC=$3&lt;br /&gt;
export DOCKFILES=$4&lt;br /&gt;
&lt;br /&gt;
# we can use our EXPORT_DEST as staging grounds for our input&lt;br /&gt;
mkdir -p $BASE_EXPORT_DEST/input&lt;br /&gt;
&lt;br /&gt;
split --lines=$BATCH_SIZE -a 3 -n $INPUT_LIST $BASE_EXPORT_DEST/input/job_input.&lt;br /&gt;
&lt;br /&gt;
export SBATCH_ARGS=&amp;quot;--time=00:30:00 --mem-per-cpu=2G -J dock&amp;quot;&lt;br /&gt;
&lt;br /&gt;
for job_input in $BASE_EXPORT_DEST/input/job_input.*; do&lt;br /&gt;
&lt;br /&gt;
    export INPUT_SOURCE=$job_input&lt;br /&gt;
    input_num=$(printf $job_input | cut -d&#039;.&#039; -f2) # get the suffix of the split filename&lt;br /&gt;
&lt;br /&gt;
    export EXPORT_DEST=$BASE_EXPORT_DEST/$input_num&lt;br /&gt;
&lt;br /&gt;
    # loop forever&lt;br /&gt;
    while [ -z ]; do&lt;br /&gt;
&lt;br /&gt;
        # counts how many jobs in total are pending or running on this user&lt;br /&gt;
        njobs=$(squeue -u $(whoami) -h -t pending,running -r | wc -l)&lt;br /&gt;
        # if you want to instead set a limit on how many *dock* jobs are pending or running you would just run the command through a filter&lt;br /&gt;
        # njobs=$(squeue -u $(whoami) -h -t pending,running -r | grep &amp;quot;dock&amp;quot; | wc -l)&lt;br /&gt;
&lt;br /&gt;
        if [ $njobs -lt $((MAX_QUEUED-BATCH_SIZE)) ]; then&lt;br /&gt;
            break&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
        sleep 10&lt;br /&gt;
    done&lt;br /&gt;
&lt;br /&gt;
    # the slurm subdock and rundock scripts need to live next to this script in a directory named &amp;quot;slurm&amp;quot;&lt;br /&gt;
    bash $BINDIR/slurm/subdock.bash&lt;br /&gt;
done&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This script will run until all jobs are submitted, so for very large jobs you may want to keep the process alive in a screen.&lt;br /&gt;
&lt;br /&gt;
== Tip: Using Wynton&#039;s $TMPDIR ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Doing this with SHRTCACHE_USE_ENV&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Before you run subdock, simply export the SHRTCACHE_USE_ENV option.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
export SHRTCACHE_USE_ENV=TMPDIR&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will cause the script to use the $TMPDIR variable for SHRTCACHE.&lt;br /&gt;
&lt;br /&gt;
== Example: Running a lot of docking jobs ==&lt;br /&gt;
&lt;br /&gt;
* see [[ZINC22:Current status]] for more info about where ZINC can be found.&lt;br /&gt;
&lt;br /&gt;
* 1. set up sdi files&lt;br /&gt;
 mkdir sdi&lt;br /&gt;
 export sdi=sdi&lt;br /&gt;
 ls /wynton/group/bks/zinc-22/H19/H19P0??/*.db2.tgz &amp;gt; $sdi/h19p0.in&lt;br /&gt;
 ls /wynton/group/bks/zinc-22/H19/H19P1??/*.db2.tgz &amp;gt; $sdi/h19p1.in&lt;br /&gt;
 ls /wynton/group/bks/zinc-22/H19/H19P2??/*.db2.tgz &amp;gt; $sdi/h19p2.in&lt;br /&gt;
 ls /wynton/group/bks/zinc-22/H19/H19P3??/*.db2.tgz &amp;gt; $sdi/h19p3.in&lt;br /&gt;
 and so on&lt;br /&gt;
&lt;br /&gt;
* 2. set up INDOCK and dockfiles. rename dockfiles to dockfiles.$indockhash. On some nodes, the shasum command is called by sha1sum. Ultimately, renaming the dockfiles to a unique dockfiles is key. &lt;br /&gt;
&lt;br /&gt;
Note: As of 3/19/2021, this is no longer necessary&lt;br /&gt;
&lt;br /&gt;
 bash&lt;br /&gt;
 indockhash=$(cat INDOCK | shasum | awk &#039;{print substr($1, 1, 12)}&#039;)&lt;br /&gt;
&lt;br /&gt;
* 3. super script:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
export DOCKBASE=/wynton/group/bks/work/jji/DOCK&lt;br /&gt;
export DOCKFILES=$WORKDIR/dockfiles.21751f1bb16b&lt;br /&gt;
export DOCKEXEC=$DOCKBASE/docking/DOCK/bin/dock64&lt;br /&gt;
#export SHRTCACHE=/dev/shm # default&lt;br /&gt;
export SHRTCACHE=/scratch&lt;br /&gt;
export LONGCACHE=/scratch&lt;br /&gt;
export QSUB_ARGS=&amp;quot;-l s_rt=00:28:00 -l h_rt=00:30:00 -l mem_free=2G&amp;quot;&lt;br /&gt;
&lt;br /&gt;
for i in  sdi/*.in  ; do&lt;br /&gt;
        export k=$(basename $i .in)&lt;br /&gt;
	echo k $k&lt;br /&gt;
	export INPUT_SOURCE=$PWD/$i&lt;br /&gt;
	export EXPORT_DEST=$PWD/output/$k&lt;br /&gt;
	$DOCKBASE/docking/submit/sge/subdock.bash&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# 3a. to run for first time&lt;br /&gt;
 sh super&lt;br /&gt;
&lt;br /&gt;
# 4. how to restart (to make sure complete, iterate until complete)&lt;br /&gt;
&lt;br /&gt;
 sh super&lt;br /&gt;
&lt;br /&gt;
# 5. check which output is valid (and broken or incomplete output)&lt;br /&gt;
&lt;br /&gt;
# 6. extract all blazing fast&lt;br /&gt;
&lt;br /&gt;
# 7. extract mol2&lt;br /&gt;
&lt;br /&gt;
more soon, under active development, Jan 28.&lt;br /&gt;
&lt;br /&gt;
== Appendix: Docking mono-cations of ZINC22 with DOCK3.8 on Wynton ==&lt;br /&gt;
Added by Ying 3/10/2021&lt;br /&gt;
&lt;br /&gt;
To use: copy and paste the code section into terminal. &#039;&#039;&#039;Note to change the path where labelled with &#039;&#039;CHANGE this&#039;&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;set up the folder to run docking. &#039;&#039;&#039;&lt;br /&gt;
Path to my example: /wynton/home/shoichetlab/yingyang/work/5HT-5a/10_AL-dock/zinc22_3d_build_3-10-2021&lt;br /&gt;
  mkdir zinc22_3d_build_3-10-2021&lt;br /&gt;
  cd zinc22_3d_build_3-10-2021&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;copy INDOCK into dockfiles folder, and transfer to the created folder&#039;&#039;&#039;&lt;br /&gt;
  cp INDOCK dockfiles&lt;br /&gt;
  scp -r INDOCK dockfiles dt2.wynton.ucsf.edu:/path_to_created_folder&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;get sdi of monocations of already built ZINC22 (&amp;lt;= H26 heavy atom count)&#039;&#039;&#039;&lt;br /&gt;
Modify to your own need...&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
mkdir sdi&lt;br /&gt;
&lt;br /&gt;
foreach i (`seq 4 1 26`)&lt;br /&gt;
  set hac = `printf &amp;quot;H%02d&amp;quot; $i `&lt;br /&gt;
  echo $i $hac&lt;br /&gt;
  &lt;br /&gt;
  touch sdi/${hac}.sdi&lt;br /&gt;
  # CHANGE this: to your need&lt;br /&gt;
  foreach tgz (`ls /wynton/group/bks/zinc-22*/${hac}/${hac}[PM]???/*-O*.db2.tgz`)&lt;br /&gt;
    ls $tgz&lt;br /&gt;
    echo $tgz &amp;gt;&amp;gt; sdi/${hac}.sdi&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;rename the dockfiles directory&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Note: As of 3/19/2021 this step is no longer necessary&lt;br /&gt;
&lt;br /&gt;
  indockhash=$(cat INDOCK | sha1sum | awk &#039;{print substr($1, 1, 12)}&#039;)&lt;br /&gt;
  mv dockfiles dockfiles.${indockhash}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;write and run the super_run.sh&#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;EOF &amp;gt; super_run.sh&lt;br /&gt;
export DOCKBASE=/wynton/group/bks/soft/DOCK-3.8.0.1&lt;br /&gt;
export DOCKEXEC=\$DOCKBASE/docking/DOCK/bin/dock64&lt;br /&gt;
&lt;br /&gt;
# CHANGE here: path to the previously renamed dockfiles.\${indockhash}&lt;br /&gt;
### Note: as of 3/19/2021 renaming your dockfiles is no longer necessary&lt;br /&gt;
export DOCKFILES=/wynton/group/bks/work/yingyang/5HT-5a/10_AL-dock/zinc22_3d_build_3-10-2021/dockfiles.${indockhash}&lt;br /&gt;
export SHRTCACHE=/scratch&lt;br /&gt;
export LONGCACHE=/scratch&lt;br /&gt;
export QSUB_ARGS=&amp;quot;-l s_rt=00:28:00 -l h_rt=00:30:00 -l mem_free=2G&amp;quot;&lt;br /&gt;
&lt;br /&gt;
for i in  sdi/*.sdi  ; do&lt;br /&gt;
    export k=\$(basename \$i .sdi)&lt;br /&gt;
    echo k \$k&lt;br /&gt;
    export INPUT_SOURCE=$PWD/\$i&lt;br /&gt;
    export EXPORT_DEST=$PWD/output/\$k&lt;br /&gt;
    \$DOCKBASE/docking/submit/sge/subdock.bash&lt;br /&gt;
done&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
bash super_run.sh&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;keep submitting the super_run script until all db2s have been docked. &#039;&#039;&#039;&lt;br /&gt;
After all docking jobs finish, check the output. If no weird error, we can use a while loop to restart.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
while true&lt;br /&gt;
do&lt;br /&gt;
  export jobN=$(qstat | grep -c &#039;rundock&#039;)&lt;br /&gt;
  if [[ $jobN -gt 0 ]] &lt;br /&gt;
  then&lt;br /&gt;
    sleep 60&lt;br /&gt;
  else &lt;br /&gt;
    bash super_run.sh&lt;br /&gt;
  fi&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
When no new job is going to be submitted, use Ctrl+c to exit the while loop.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;extract scores from output. &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt; EOF &amp;gt; qsub_extract.csh&lt;br /&gt;
#\$ -S /bin/csh&lt;br /&gt;
#\$ -cwd&lt;br /&gt;
#\$ -pe smp 1&lt;br /&gt;
#\$ -l mem_free=100G&lt;br /&gt;
#\$ -l scratch=100G&lt;br /&gt;
#\$ -l h_rt=50:00:00&lt;br /&gt;
#\$ -j yes&lt;br /&gt;
#\$ -o extract_all.out&lt;br /&gt;
&lt;br /&gt;
hostname&lt;br /&gt;
date&lt;br /&gt;
&lt;br /&gt;
setenv DOCKBASE /wynton/group/bks/soft/DOCK-3.8.0.1&lt;br /&gt;
&lt;br /&gt;
setenv dir_in $PWD&lt;br /&gt;
&lt;br /&gt;
if ! (-d \$TMPDIR ) then&lt;br /&gt;
    if (-d /scratch ) then&lt;br /&gt;
        setenv TMPDIR /scratch/\$USER&lt;br /&gt;
    else&lt;br /&gt;
        setenv TMPDIR /tmp/\$USER&lt;br /&gt;
    endif&lt;br /&gt;
    mkdir -p \$TMPDIR&lt;br /&gt;
endif&lt;br /&gt;
pushd \$TMPDIR&lt;br /&gt;
&lt;br /&gt;
ls -d \${dir_in}/output/*/*/ &amp;gt; dirlist&lt;br /&gt;
&lt;br /&gt;
python \$DOCKBASE/analysis/extract_all_blazing_fast.py \&lt;br /&gt;
dirlist extract_all.txt -30&lt;br /&gt;
&lt;br /&gt;
mv extract_all.* \$dir_in&lt;br /&gt;
&lt;br /&gt;
popd&lt;br /&gt;
&lt;br /&gt;
echo &#039;---job info---&#039;&lt;br /&gt;
qstat -j \$JOB_ID&lt;br /&gt;
echo &#039;---complete---&#039;&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
qsub qsub_extract.csh&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another way is to run the command from the login node (Not recommended since sorting utilizes large memory)&lt;br /&gt;
 ls -d output/*/*/ &amp;gt; dirlist&lt;br /&gt;
 python $DOCKBASE/analysis/extract_all_blazing_fast.py dirlist extract_all.txt -20&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;get poses in parallel&#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
set score_file = $PWD/extract_all.sort.uniq.txt&lt;br /&gt;
set score_name = ${score_file:t:r}&lt;br /&gt;
set fileprefix = &#039;tmp_&#039;&lt;br /&gt;
set number_per_file = 5000&lt;br /&gt;
&lt;br /&gt;
set workdir  = $PWD/${score_name}_poses&lt;br /&gt;
mkdir -p $workdir &lt;br /&gt;
cd $workdir&lt;br /&gt;
&lt;br /&gt;
split --lines=$number_per_file --suffix-length=4 \&lt;br /&gt;
-d $score_file ${fileprefix}&lt;br /&gt;
&lt;br /&gt;
set num  = ` ls ${fileprefix}* | wc -l `&lt;br /&gt;
echo &amp;quot;Number of score files to process:&amp;quot; $num&lt;br /&gt;
&lt;br /&gt;
cat &amp;lt;&amp;lt; EOF &amp;gt; qsub_poses.csh&lt;br /&gt;
#\$ -S /bin/csh&lt;br /&gt;
#\$ -cwd&lt;br /&gt;
#\$ -j yes&lt;br /&gt;
#\$ -pe smp 1&lt;br /&gt;
#\$ -l mem_free=5G&lt;br /&gt;
#\$ -l scratch=20G&lt;br /&gt;
#\$ -l h_rt=25:00:00&lt;br /&gt;
#\$ -t 1-$num&lt;br /&gt;
&lt;br /&gt;
hostname&lt;br /&gt;
date&lt;br /&gt;
&lt;br /&gt;
setenv DOCKBASE /wynton/group/bks/soft/DOCK-3.8.0.1&lt;br /&gt;
&lt;br /&gt;
set list = \` ls \$PWD/${fileprefix}* \` &lt;br /&gt;
set MOL = &amp;quot;\${list[\$SGE_TASK_ID]}&amp;quot;&lt;br /&gt;
set name = \${MOL:t:r}&lt;br /&gt;
&lt;br /&gt;
python2 $DOCKBASE/analysis/getposes_blazing_faster.py \&lt;br /&gt;
&amp;quot;&amp;quot; \${MOL} $number_per_file poses_\${name}.mol2 test.mol2.gz&lt;br /&gt;
&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
qsub qsub_poses.csh&lt;br /&gt;
cd ../&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Post-processing...&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:DOCK 3.8]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=User_talk:Kholland&amp;diff=16754</id>
		<title>User talk:Kholland</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=User_talk:Kholland&amp;diff=16754"/>
		<updated>2025-07-24T22:40:03Z</updated>

		<summary type="html">&lt;p&gt;Khtang: Welcome!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Welcome to &#039;&#039;DISI&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
We hope you will contribute much and well.&lt;br /&gt;
You will probably want to read the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents help pages].&lt;br /&gt;
Again, welcome and have fun! [[User:Khtang|Khtang]] ([[User talk:Khtang|talk]]) 22:40, 24 July 2025 (UTC)&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=User:Kholland&amp;diff=16753</id>
		<title>User:Kholland</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=User:Kholland&amp;diff=16753"/>
		<updated>2025-07-24T22:40:03Z</updated>

		<summary type="html">&lt;p&gt;Khtang: Creating user page for new user.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Graduate student in the Shoichet lab (joined 2024)&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Install_Schrodinger_Suite_in_local_computer&amp;diff=16707</id>
		<title>Install Schrodinger Suite in local computer</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Install_Schrodinger_Suite_in_local_computer&amp;diff=16707"/>
		<updated>2025-05-21T23:06:03Z</updated>

		<summary type="html">&lt;p&gt;Khtang: /* Connect to bkslab&amp;#039;s license server (MAKE SURE YOUR UCSF VPN IS ON if you are off campus) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Download Schrodinger Suite file ==&lt;br /&gt;
You need to register an account for access. Our lab uses the Advanced Suite, please contact Schrodinger if you don&#039;t have access to this suite.&lt;br /&gt;
 https://www.schrodinger.com/downloads/releases&lt;br /&gt;
&lt;br /&gt;
== Install ==&lt;br /&gt;
 tar -xvf Advance....tar.gz&lt;br /&gt;
 cd Advance....&lt;br /&gt;
 ./INSTALL&lt;br /&gt;
&lt;br /&gt;
== Connect to bkslab&#039;s license server (MAKE SURE YOUR UCSF VPN IS ON if you are off campus)==&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;big&amp;gt;Announcement: Schrodinger started implementing Schrodinger License Manager in place of the FlexNET license system for version 2024-2 and newer. You need to update the software to 2024-2 or newer.&amp;lt;/big&amp;gt;&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Suite version 2024-2 or newer ===&lt;br /&gt;
==== Instruction for Mac/Windows ====&lt;br /&gt;
There should be a license popup when you start Maestro, if there isn&#039;t run this command below&lt;br /&gt;
 export SCHRODINGER=/opt/schrodinger/suites&amp;lt;version&amp;gt;&lt;br /&gt;
 $SCHRODINGER/run licensing_gui.py&lt;br /&gt;
&lt;br /&gt;
Enter the information as following in the prompt&lt;br /&gt;
&lt;br /&gt;
 Hostname: bet2.compbio.ucsf.edu&lt;br /&gt;
 Port: 53001&lt;br /&gt;
&lt;br /&gt;
If you disabled the SCHRODINGER_LICENSE_MANAGER previously, you can enable it again&lt;br /&gt;
 export SCHRODINGER=/opt/schrodinger/suites&amp;lt;version&amp;gt;&lt;br /&gt;
 $SCHRODINGER/utilities/feature_flags -e SCHRODINGER_LICENSE_MANAGER&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]][[Category:Sysadmin]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=LoadingZINC21&amp;diff=16703</id>
		<title>LoadingZINC21</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=LoadingZINC21&amp;diff=16703"/>
		<updated>2025-05-07T21:34:16Z</updated>

		<summary type="html">&lt;p&gt;Khtang: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ZINC20 loading procedure&lt;br /&gt;
&lt;br /&gt;
=== Load 2d ===&lt;br /&gt;
&#039;&#039;&#039; Scripts mentioned below are saved in /nfs/home/khtang/exa/ZINC21_load2d/zinc21_load_scripts &#039;&#039;&#039;&lt;br /&gt;
 export SCRIPT=&#039;/nfs/home/khtang/exa/ZINC21_load2d/zinc21_load_scripts&#039;&lt;br /&gt;
 source $SCRIPT/loadenv_zinc21.sh&lt;br /&gt;
1a. Extract smiles from sdf&lt;br /&gt;
 csh $SCRIPT/1a_smiles_extraction.csh &amp;lt;sdf&amp;gt; &amp;lt;id_field_name&amp;gt;&lt;br /&gt;
(Optional) 1b. Price filter&lt;br /&gt;
 csh $SCRIPT/1b_filter.csh &amp;lt;csv&amp;gt; &amp;lt;smallest pack size price field name&amp;gt; &amp;lt;shortname&amp;gt; #shortname shouldn&#039;t be contain any price suffix ie chbr, chbr-v&lt;br /&gt;
2. Submit job &lt;br /&gt;
 mkdir &amp;lt;short_name&amp;gt;&lt;br /&gt;
 mv &amp;lt;smiles file&amp;gt; &amp;lt;short_name&amp;gt;/&amp;lt;short_name&amp;gt;.ism&lt;br /&gt;
 cd &amp;lt;short_name&amp;gt;&lt;br /&gt;
 sh /nfs/exa/work/khtang/ZINC21_load2d/zinc21_load_scripts/batch_zinc21 &amp;lt;short_name&amp;gt;.ism&lt;br /&gt;
&lt;br /&gt;
3. Process outputs&lt;br /&gt;
 csh $SCRIPT/3_process_outputs.csh&lt;br /&gt;
4. Depletion&lt;br /&gt;
 source $SCRIPT/loadenv_zinc21.sh&lt;br /&gt;
 csh $SCRIPT/4_depletion.csh &amp;lt;full/increment&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Load 2d (OLD) ===&lt;br /&gt;
&lt;br /&gt;
1. Extract smiles from sdf done on csh&lt;br /&gt;
 source /nfs/exa/work/khtang/ZINC21_load2d/loadenv_zinc21.sh&lt;br /&gt;
 source ~jji/cshrc.save&lt;br /&gt;
 pc2unix &amp;lt;sdf&amp;gt;&lt;br /&gt;
 source ~teague/virtualenvs/zinc/env.csh&lt;br /&gt;
 zincload-sdf --id-field &amp;lt;id_field&amp;gt; --name &amp;lt;catalog_name&amp;gt; &amp;lt;sdf&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Submit job &lt;br /&gt;
 source /nfs/exa/work/khtang/ZINC21_load2d/loadenv_zinc21.sh&lt;br /&gt;
 mkdir &amp;lt;short_name&amp;gt;&lt;br /&gt;
 mv &amp;lt;smiles file&amp;gt; &amp;lt;short_name&amp;gt;/&amp;lt;short_name&amp;gt;.ism&lt;br /&gt;
 cd &amp;lt;short_name&amp;gt;&lt;br /&gt;
 sh /nfs/exa/work/khtang/ZINC21_load2d &amp;lt;short_name&amp;gt;.ism&lt;br /&gt;
&lt;br /&gt;
3. Depletion&lt;br /&gt;
 find outputs -name &#039;51-*-ids.tsv&#039; | xargs sort -n -u &amp;gt; list&lt;br /&gt;
 find outputs -name &#039;*.filtered&#039; | xargs cat &amp;gt; filtered&lt;br /&gt;
 find outputs -name &#039;14-neutralize.log&#039; |xargs cat | grep -v processed &amp;gt; errors&lt;br /&gt;
 sort -n  list &amp;gt; list2&lt;br /&gt;
 wc -l list filtered errors list2 //check if most of molecules are successfully loaded on ZINC&lt;br /&gt;
&lt;br /&gt;
 #source ZINC21 envs **must run on bash shell**&lt;br /&gt;
 source /nfs/exa/work/khtang/ZINC21_load2d/loadenv_zinc21.sh&lt;br /&gt;
 zinc-manage -e admin admin catalogs deplete -C 10000 &amp;lt;short_name&amp;gt; list2&lt;br /&gt;
 csh /nfs/ex9/work/khtang/move.csh&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=How_to_create_a_vpn/ssh_tunnel&amp;diff=16699</id>
		<title>How to create a vpn/ssh tunnel</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=How_to_create_a_vpn/ssh_tunnel&amp;diff=16699"/>
		<updated>2025-05-05T21:03:26Z</updated>

		<summary type="html">&lt;p&gt;Khtang: /* Making a portal and tunnel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Generating an SSH key =&lt;br /&gt;
First, copy this command into your terminal to start generating a new ssh key.&lt;br /&gt;
&lt;br /&gt;
 ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
It will then request you to specify a location. &lt;br /&gt;
&lt;br /&gt;
 Enter file in which to save the key (/Users/user/.ssh/id_rsa): &amp;lt;input optional pathway here&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you do not insert a path, it will instead default to the location specified (default ie: /Users/user/.ssh/id_rsa). If you already have a key made, then it will ask you whenever you want to overwrite it or not. If you are using that key for something else, then make the new one at a different path location.&lt;br /&gt;
Lastly, it will ask you for a passphrase, which is optional.&lt;br /&gt;
&lt;br /&gt;
 Enter passphrase (empty for no passphrase): &amp;lt;input optional passphrase here&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your public ssh key can be found in the location where you specified earlier inside a hidden folder (default ie: /Users/user/.ssh/bkslab_key.pub)&lt;br /&gt;
Send it to the person who creates your account, so they can add it into portal.&lt;br /&gt;
&lt;br /&gt;
= Direct Connection =&lt;br /&gt;
=== Remote Connection ===&lt;br /&gt;
&#039;&#039;&#039;portal3 is just the lobby, there is nothing there. Inside portal3, you have to open doors to gimel OR epyc OR gimel2&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt; ssh &amp;lt;username&amp;gt;@portal3.compbio.ucsf.edu &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
THEN&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt; ssh &amp;lt;username&amp;gt;@&amp;lt;epyc OR gimel OR gimel2&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Local Connection ===&lt;br /&gt;
&amp;lt;source&amp;gt; ssh &amp;lt;username&amp;gt;@gimel.compbio.ucsf.edu &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Making a portal and tunnel =&lt;br /&gt;
&lt;br /&gt;
=== Linux/MacOS ===&lt;br /&gt;
  &lt;br /&gt;
First, open two terminals.  In the first terminal, type the following:&lt;br /&gt;
&lt;br /&gt;
 ssh &amp;lt;options/flags&amp;gt; localhost:2222:epyc2:22 -D1080 portal3.ucsf.bkslab.org -l &amp;lt;username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
 ssh -vCL localhost:2222:epyc2:22 -D1080 portal3.ucsf.bkslab.org -l jjg&lt;br /&gt;
&lt;br /&gt;
This terminal will act as your &#039;portal&#039;. You can&#039;t do much with the portal until you make a tunnel.&lt;br /&gt;
&lt;br /&gt;
In the second terminal, type:&lt;br /&gt;
&lt;br /&gt;
 ssh -oHostKeyAlgorithms=+ssh-rsa -p 2222 &amp;lt;username&amp;gt;@localhost&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
 ssh -oHostKeyAlgorithms=+ssh-rsa -p 2222 jj@localhost&lt;br /&gt;
&lt;br /&gt;
This should create a tunnel. To see if you logged in, try running the command &#039;hostname&#039;. If it&#039;s successful, then you are in!&lt;br /&gt;
&lt;br /&gt;
___&lt;br /&gt;
&lt;br /&gt;
Here&#039;s another example, say &#039;&#039;you want to scp files directly from your laptop to your home directory on gimel.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
First open two terminals.  In one terminal type the following:&lt;br /&gt;
&lt;br /&gt;
 ssh &amp;lt;options/flags&amp;gt; localhost:2222:epyc2:22 -D1080 portal3.ucsf.bkslab.org -l &amp;lt;username&amp;gt;&lt;br /&gt;
 ssh -vCL localhost:2222:epyc2:22 -D1080 portal3.ucsf.bkslab.org -l jjg&lt;br /&gt;
&lt;br /&gt;
In the other terminal type:&lt;br /&gt;
 &lt;br /&gt;
 scp -P 2222 file_you_want_to_copy &amp;lt;username&amp;gt;@localhost:~&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting for Mac ===&lt;br /&gt;
If you see this error:&lt;br /&gt;
 Unable to negotiate with 169.230.26.166 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss&lt;br /&gt;
&lt;br /&gt;
Solutions:&lt;br /&gt;
&lt;br /&gt;
Option 1: &lt;br /&gt;
 Add &#039;-oHostKeyAlgorithms=+ssh-rsa&#039; flag in your ssh/scp command&lt;br /&gt;
&lt;br /&gt;
Option 2: &lt;br /&gt;
 vim ~/.ssh/config&lt;br /&gt;
 Edit config file with the correct values&lt;br /&gt;
 Host &amp;lt;hostname&amp;gt;&lt;br /&gt;
  HostName &amp;lt;hostname&amp;gt;&lt;br /&gt;
  Port &amp;lt;your_port&amp;gt;&lt;br /&gt;
  User &amp;lt;username&amp;gt;&lt;br /&gt;
  ServerAliveInterval 100&lt;br /&gt;
  HostKeyAlgorithms +ssh-rsa&lt;br /&gt;
  PubkeyAcceptedKeyTypes +ssh-rsa&lt;br /&gt;
&lt;br /&gt;
=== Windows OS ===&lt;br /&gt;
&lt;br /&gt;
Open putty.exe and select the session that you want to use as a ssh tunnel (ie portal.uoft.bkslab.org).&lt;br /&gt;
&lt;br /&gt;
Then click on Connection -&amp;gt; SSH -&amp;gt; tunnels&lt;br /&gt;
&lt;br /&gt;
In Source Port enter 1080 (or any port above 1024).&lt;br /&gt;
&lt;br /&gt;
Then click the Dynamic button and then click Add.  &lt;br /&gt;
&lt;br /&gt;
It should look like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:proxy1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then go back to Session and click Save.&lt;br /&gt;
&lt;br /&gt;
Then download the &amp;quot;standard&amp;quot; version of FoxyProxy here:  http://getfoxyproxy.org/downloads.html&lt;br /&gt;
&lt;br /&gt;
Once you’ve downloaded it there should be a little fox picture next to the url bar (upper right hand corner of web browser).  Click on that little picture and select Options from the dropdown list.&lt;br /&gt;
&lt;br /&gt;
You should see this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:foxy1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on Add New Proxy&lt;br /&gt;
&lt;br /&gt;
Then click on the General tab.&lt;br /&gt;
&lt;br /&gt;
Enter a proxy name and then select the Proxy Details tab.&lt;br /&gt;
&lt;br /&gt;
Enter “localhost” in “Host or IP Address” and 1080 for “Port” (or whatever port number you entered in putty).&lt;br /&gt;
&lt;br /&gt;
Click the “SOCKS proxy?” Button and make sure the “SOCKS v5” button is also clicked.&lt;br /&gt;
&lt;br /&gt;
Your screen should look like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:foxy2.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then click Save.&lt;br /&gt;
&lt;br /&gt;
Then click on the fox again on the upper right hand corner and click on “Us proxy whatever_you_named_it Proxy for all URLs”&lt;br /&gt;
&lt;br /&gt;
Then click on putty and open your session.  A terminal will pop up and ask for your passphrase.  Enter your passphrase (for your ssh key).  That’s it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To test if your tunnel is good, go to: http://whatismyipaddress.com/&lt;br /&gt;
&lt;br /&gt;
This will tell you what ip address you have.  If it says the IP address of the remote host you&#039;re connecting to in putty, you are good to go! :)   &lt;br /&gt;
&lt;br /&gt;
This session will remain open as long as your ssh putty session is open.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;To scp files in Windows&#039;&#039;&#039; through this ssh tunnel, download WinSCP here: http://winscp.net/download/winscp551setup.exe&lt;br /&gt;
&lt;br /&gt;
Once it finishes downloading, run it and go through all the prompts.  You can (if you want) to import all your existing sessions from putty, but it’s really not necessary.  &lt;br /&gt;
&lt;br /&gt;
Once it’s done, open it.  &lt;br /&gt;
&lt;br /&gt;
Click on “New Site”.&lt;br /&gt;
&lt;br /&gt;
Then, in the File protocol drop down menu, select SCP.&lt;br /&gt;
&lt;br /&gt;
In Host name, put the host name or IP address of the machine you want to transfer files to.&lt;br /&gt;
&lt;br /&gt;
Keep the port number as 22.  It should look something like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:scp1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then click on Advanced -&amp;gt; Connection -&amp;gt; Proxy&lt;br /&gt;
&lt;br /&gt;
Click on the “Proxy type” drop down menu and select SOCKS5.&lt;br /&gt;
&lt;br /&gt;
For “Proxy host name” write localhost.  Make the port number 1080 (or whatever port you chose to use in putty).&lt;br /&gt;
&lt;br /&gt;
it should look like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:scp2.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click OK, then Save.&lt;br /&gt;
&lt;br /&gt;
It will prompt you to enter a name, call it whatever makes sense to you.&lt;br /&gt;
&lt;br /&gt;
Assuming that your putty session is still open, click Login.&lt;br /&gt;
&lt;br /&gt;
It should prompt you to enter your username and password in the bottom.  &lt;br /&gt;
&lt;br /&gt;
You should then see a screen that looks like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:scp3.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To transfer files from one to the other, select the file that you want to transfer and then click “Upload” to transfer files to the server and then specify which folder you want to save it to.  If you are downloading files from the server to your computer, click the file you want to download and then click “Download” and specify where you want to download it to.&lt;br /&gt;
&lt;br /&gt;
To exit, click on session -&amp;gt; disconnect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When you are done&#039;&#039;&#039; with your vpn session, exit from the ssh putty session (type exit on the terminal screen).&lt;br /&gt;
&lt;br /&gt;
Then, on your browser, click on the little fox in the upper right hand corner and select “Disable FoxyProxy”.&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Internal]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=How_to_create_a_vpn/ssh_tunnel&amp;diff=16698</id>
		<title>How to create a vpn/ssh tunnel</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=How_to_create_a_vpn/ssh_tunnel&amp;diff=16698"/>
		<updated>2025-05-05T21:02:40Z</updated>

		<summary type="html">&lt;p&gt;Khtang: /* Making a portal and tunnel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Generating an SSH key =&lt;br /&gt;
First, copy this command into your terminal to start generating a new ssh key.&lt;br /&gt;
&lt;br /&gt;
 ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
It will then request you to specify a location. &lt;br /&gt;
&lt;br /&gt;
 Enter file in which to save the key (/Users/user/.ssh/id_rsa): &amp;lt;input optional pathway here&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you do not insert a path, it will instead default to the location specified (default ie: /Users/user/.ssh/id_rsa). If you already have a key made, then it will ask you whenever you want to overwrite it or not. If you are using that key for something else, then make the new one at a different path location.&lt;br /&gt;
Lastly, it will ask you for a passphrase, which is optional.&lt;br /&gt;
&lt;br /&gt;
 Enter passphrase (empty for no passphrase): &amp;lt;input optional passphrase here&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your public ssh key can be found in the location where you specified earlier inside a hidden folder (default ie: /Users/user/.ssh/bkslab_key.pub)&lt;br /&gt;
Send it to the person who creates your account, so they can add it into portal.&lt;br /&gt;
&lt;br /&gt;
= Direct Connection =&lt;br /&gt;
=== Remote Connection ===&lt;br /&gt;
&#039;&#039;&#039;portal3 is just the lobby, there is nothing there. Inside portal3, you have to open doors to gimel OR epyc OR gimel2&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt; ssh &amp;lt;username&amp;gt;@portal3.compbio.ucsf.edu &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
THEN&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt; ssh &amp;lt;username&amp;gt;@&amp;lt;epyc OR gimel OR gimel2&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Local Connection ===&lt;br /&gt;
&amp;lt;source&amp;gt; ssh &amp;lt;username&amp;gt;@gimel.compbio.ucsf.edu &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Making a portal and tunnel =&lt;br /&gt;
&lt;br /&gt;
=== Linux/MacOS ===&lt;br /&gt;
  &lt;br /&gt;
First, open two terminals.  In the first terminal, type the following:&lt;br /&gt;
&lt;br /&gt;
 ssh &amp;lt;options/flags&amp;gt; localhost:2222:gimel:22 -D1080 portal3.ucsf.bkslab.org -l &amp;lt;username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
 ssh -vCL localhost:2222:gimel:22 -D1080 portal3.ucsf.bkslab.org -l jjg&lt;br /&gt;
&lt;br /&gt;
This terminal will act as your &#039;portal&#039;. You can&#039;t do much with the portal until you make a tunnel.&lt;br /&gt;
&lt;br /&gt;
In the second terminal, type:&lt;br /&gt;
&lt;br /&gt;
 ssh -oHostKeyAlgorithms=+ssh-rsa -p 2222 &amp;lt;username&amp;gt;@localhost&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
 ssh -oHostKeyAlgorithms=+ssh-rsa -p 2222 jj@localhost&lt;br /&gt;
&lt;br /&gt;
This should create a tunnel. To see if you logged in, try running the command &#039;hostname&#039;. If it&#039;s successful, then you are in!&lt;br /&gt;
&lt;br /&gt;
___&lt;br /&gt;
&lt;br /&gt;
Here&#039;s another example, say &#039;&#039;you want to scp files directly from your laptop to your home directory on gimel.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
First open two terminals.  In one terminal type the following:&lt;br /&gt;
&lt;br /&gt;
 ssh &amp;lt;options/flags&amp;gt; localhost:2222:epyc2:22 -D1080 portal3.ucsf.bkslab.org -l &amp;lt;username&amp;gt;&lt;br /&gt;
 ssh -vCL localhost:2222:epyc2:22 -D1080 portal3.ucsf.bkslab.org -l jjg&lt;br /&gt;
&lt;br /&gt;
In the other terminal type:&lt;br /&gt;
 &lt;br /&gt;
 scp -P 2222 file_you_want_to_copy &amp;lt;username&amp;gt;@localhost:~&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting for Mac ===&lt;br /&gt;
If you see this error:&lt;br /&gt;
 Unable to negotiate with 169.230.26.166 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss&lt;br /&gt;
&lt;br /&gt;
Solutions:&lt;br /&gt;
&lt;br /&gt;
Option 1: &lt;br /&gt;
 Add &#039;-oHostKeyAlgorithms=+ssh-rsa&#039; flag in your ssh/scp command&lt;br /&gt;
&lt;br /&gt;
Option 2: &lt;br /&gt;
 vim ~/.ssh/config&lt;br /&gt;
 Edit config file with the correct values&lt;br /&gt;
 Host &amp;lt;hostname&amp;gt;&lt;br /&gt;
  HostName &amp;lt;hostname&amp;gt;&lt;br /&gt;
  Port &amp;lt;your_port&amp;gt;&lt;br /&gt;
  User &amp;lt;username&amp;gt;&lt;br /&gt;
  ServerAliveInterval 100&lt;br /&gt;
  HostKeyAlgorithms +ssh-rsa&lt;br /&gt;
  PubkeyAcceptedKeyTypes +ssh-rsa&lt;br /&gt;
&lt;br /&gt;
=== Windows OS ===&lt;br /&gt;
&lt;br /&gt;
Open putty.exe and select the session that you want to use as a ssh tunnel (ie portal.uoft.bkslab.org).&lt;br /&gt;
&lt;br /&gt;
Then click on Connection -&amp;gt; SSH -&amp;gt; tunnels&lt;br /&gt;
&lt;br /&gt;
In Source Port enter 1080 (or any port above 1024).&lt;br /&gt;
&lt;br /&gt;
Then click the Dynamic button and then click Add.  &lt;br /&gt;
&lt;br /&gt;
It should look like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:proxy1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then go back to Session and click Save.&lt;br /&gt;
&lt;br /&gt;
Then download the &amp;quot;standard&amp;quot; version of FoxyProxy here:  http://getfoxyproxy.org/downloads.html&lt;br /&gt;
&lt;br /&gt;
Once you’ve downloaded it there should be a little fox picture next to the url bar (upper right hand corner of web browser).  Click on that little picture and select Options from the dropdown list.&lt;br /&gt;
&lt;br /&gt;
You should see this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:foxy1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on Add New Proxy&lt;br /&gt;
&lt;br /&gt;
Then click on the General tab.&lt;br /&gt;
&lt;br /&gt;
Enter a proxy name and then select the Proxy Details tab.&lt;br /&gt;
&lt;br /&gt;
Enter “localhost” in “Host or IP Address” and 1080 for “Port” (or whatever port number you entered in putty).&lt;br /&gt;
&lt;br /&gt;
Click the “SOCKS proxy?” Button and make sure the “SOCKS v5” button is also clicked.&lt;br /&gt;
&lt;br /&gt;
Your screen should look like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:foxy2.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then click Save.&lt;br /&gt;
&lt;br /&gt;
Then click on the fox again on the upper right hand corner and click on “Us proxy whatever_you_named_it Proxy for all URLs”&lt;br /&gt;
&lt;br /&gt;
Then click on putty and open your session.  A terminal will pop up and ask for your passphrase.  Enter your passphrase (for your ssh key).  That’s it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To test if your tunnel is good, go to: http://whatismyipaddress.com/&lt;br /&gt;
&lt;br /&gt;
This will tell you what ip address you have.  If it says the IP address of the remote host you&#039;re connecting to in putty, you are good to go! :)   &lt;br /&gt;
&lt;br /&gt;
This session will remain open as long as your ssh putty session is open.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;To scp files in Windows&#039;&#039;&#039; through this ssh tunnel, download WinSCP here: http://winscp.net/download/winscp551setup.exe&lt;br /&gt;
&lt;br /&gt;
Once it finishes downloading, run it and go through all the prompts.  You can (if you want) to import all your existing sessions from putty, but it’s really not necessary.  &lt;br /&gt;
&lt;br /&gt;
Once it’s done, open it.  &lt;br /&gt;
&lt;br /&gt;
Click on “New Site”.&lt;br /&gt;
&lt;br /&gt;
Then, in the File protocol drop down menu, select SCP.&lt;br /&gt;
&lt;br /&gt;
In Host name, put the host name or IP address of the machine you want to transfer files to.&lt;br /&gt;
&lt;br /&gt;
Keep the port number as 22.  It should look something like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:scp1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then click on Advanced -&amp;gt; Connection -&amp;gt; Proxy&lt;br /&gt;
&lt;br /&gt;
Click on the “Proxy type” drop down menu and select SOCKS5.&lt;br /&gt;
&lt;br /&gt;
For “Proxy host name” write localhost.  Make the port number 1080 (or whatever port you chose to use in putty).&lt;br /&gt;
&lt;br /&gt;
it should look like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:scp2.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click OK, then Save.&lt;br /&gt;
&lt;br /&gt;
It will prompt you to enter a name, call it whatever makes sense to you.&lt;br /&gt;
&lt;br /&gt;
Assuming that your putty session is still open, click Login.&lt;br /&gt;
&lt;br /&gt;
It should prompt you to enter your username and password in the bottom.  &lt;br /&gt;
&lt;br /&gt;
You should then see a screen that looks like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:scp3.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To transfer files from one to the other, select the file that you want to transfer and then click “Upload” to transfer files to the server and then specify which folder you want to save it to.  If you are downloading files from the server to your computer, click the file you want to download and then click “Download” and specify where you want to download it to.&lt;br /&gt;
&lt;br /&gt;
To exit, click on session -&amp;gt; disconnect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When you are done&#039;&#039;&#039; with your vpn session, exit from the ssh putty session (type exit on the terminal screen).&lt;br /&gt;
&lt;br /&gt;
Then, on your browser, click on the little fox in the upper right hand corner and select “Disable FoxyProxy”.&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Internal]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Install_Schrodinger_Suite_in_local_computer&amp;diff=16670</id>
		<title>Install Schrodinger Suite in local computer</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Install_Schrodinger_Suite_in_local_computer&amp;diff=16670"/>
		<updated>2025-04-16T23:52:46Z</updated>

		<summary type="html">&lt;p&gt;Khtang: /* Connect to bkslab&amp;#039;s license server (MAKE SURE YOUR UCSF VPN IS ON if you are off campus) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Download Schrodinger Suite file ==&lt;br /&gt;
You need to register an account for access. Our lab uses the Advanced Suite, please contact Schrodinger if you don&#039;t have access to this suite.&lt;br /&gt;
 https://www.schrodinger.com/downloads/releases&lt;br /&gt;
&lt;br /&gt;
== Install ==&lt;br /&gt;
 tar -xvf Advance....tar.gz&lt;br /&gt;
 cd Advance....&lt;br /&gt;
 ./INSTALL&lt;br /&gt;
&lt;br /&gt;
== Connect to bkslab&#039;s license server (MAKE SURE YOUR UCSF VPN IS ON if you are off campus)==&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;big&amp;gt;Announcement: Schrodinger started implementing Schrodinger License Manager in place of the FlexNET license system for version 2024-2 and newer. You need to update the software to 2024-2 or newer.&amp;lt;/big&amp;gt;&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Suite version 2024-2 or newer ===&lt;br /&gt;
==== Instruction for Mac/Windows ====&lt;br /&gt;
There should be a license popup when you start Maestro, if there isn&#039;t run this command below&lt;br /&gt;
 $SCHRODINGER/run licensing_gui.py&lt;br /&gt;
&lt;br /&gt;
Enter the information as following in the prompt&lt;br /&gt;
&lt;br /&gt;
 Hostname: bet2.compbio.ucsf.edu&lt;br /&gt;
 Port: 53001&lt;br /&gt;
&lt;br /&gt;
If you disabled the SCHRODINGER_LICENSE_MANAGER previously, you can enable it again&lt;br /&gt;
 $SCHRODINGER/utilities/feature_flags -e SCHRODINGER_LICENSE_MANAGER&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]][[Category:Sysadmin]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=How_to_create_a_vpn/ssh_tunnel&amp;diff=16664</id>
		<title>How to create a vpn/ssh tunnel</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=How_to_create_a_vpn/ssh_tunnel&amp;diff=16664"/>
		<updated>2025-04-07T17:21:47Z</updated>

		<summary type="html">&lt;p&gt;Khtang: /* Troubleshooting for Mac */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Generating an SSH key =&lt;br /&gt;
First, copy this command into your terminal to start generating a new ssh key.&lt;br /&gt;
&lt;br /&gt;
 ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
It will then request you to specify a location. &lt;br /&gt;
&lt;br /&gt;
 Enter file in which to save the key (/Users/user/.ssh/id_rsa): &amp;lt;input optional pathway here&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you do not insert a path, it will instead default to the location specified (default ie: /Users/user/.ssh/id_rsa). If you already have a key made, then it will ask you whenever you want to overwrite it or not. If you are using that key for something else, then make the new one at a different path location.&lt;br /&gt;
Lastly, it will ask you for a passphrase, which is optional.&lt;br /&gt;
&lt;br /&gt;
 Enter passphrase (empty for no passphrase): &amp;lt;input optional passphrase here&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your public ssh key can be found in the location where you specified earlier inside a hidden folder (default ie: /Users/user/.ssh/bkslab_key.pub)&lt;br /&gt;
Send it to the person who creates your account, so they can add it into portal.&lt;br /&gt;
&lt;br /&gt;
= Direct Connection =&lt;br /&gt;
=== Remote Connection ===&lt;br /&gt;
&#039;&#039;&#039;portal3 is just the lobby, there is nothing there. Inside portal3, you have to open doors to gimel OR epyc OR gimel2&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt; ssh &amp;lt;username&amp;gt;@portal3.compbio.ucsf.edu &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
THEN&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt; ssh &amp;lt;username&amp;gt;@&amp;lt;epyc OR gimel OR gimel2&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Local Connection ===&lt;br /&gt;
&amp;lt;source&amp;gt; ssh &amp;lt;username&amp;gt;@gimel.compbio.ucsf.edu &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Making a portal and tunnel =&lt;br /&gt;
&lt;br /&gt;
=== Linux/MacOS ===&lt;br /&gt;
  &lt;br /&gt;
First, open two terminals.  In the first terminal, type the following:&lt;br /&gt;
&lt;br /&gt;
 ssh &amp;lt;options/flags&amp;gt; localhost:2222:gimel:22 -D1080 portal3.ucsf.bkslab.org -l &amp;lt;username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
 ssh -vCL localhost:2222:gimel:22 -D1080 portal3.ucsf.bkslab.org -l jjg&lt;br /&gt;
&lt;br /&gt;
This terminal will act as your &#039;portal&#039;. You can&#039;t do much with the portal until you make a tunnel.&lt;br /&gt;
&lt;br /&gt;
In the second terminal, type:&lt;br /&gt;
&lt;br /&gt;
 ssh -oHostKeyAlgorithms=+ssh-rsa -p 2222 &amp;lt;username&amp;gt;@localhost&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
 ssh -oHostKeyAlgorithms=+ssh-rsa -p 2222 jj@localhost&lt;br /&gt;
&lt;br /&gt;
This should create a tunnel. To see if you logged in, try running the command &#039;hostname&#039;. If it&#039;s successful, then you are in!&lt;br /&gt;
&lt;br /&gt;
___&lt;br /&gt;
&lt;br /&gt;
Here&#039;s another example, say &#039;&#039;you want to scp files directly from your laptop to your home directory on gimel.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
First open two terminals.  In one terminal type the following:&lt;br /&gt;
&lt;br /&gt;
 ssh &amp;lt;options/flags&amp;gt; localhost:2222:gimel:22 -D1080 portal3.ucsf.bkslab.org -l &amp;lt;username&amp;gt;&lt;br /&gt;
 ssh -vCL localhost:2222:gimel:22 -D1080 portal3.ucsf.bkslab.org -l jjg&lt;br /&gt;
&lt;br /&gt;
In the other terminal type:&lt;br /&gt;
 &lt;br /&gt;
 scp -P 2222 file_you_want_to_copy &amp;lt;username&amp;gt;@localhost:~&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting for Mac ===&lt;br /&gt;
If you see this error:&lt;br /&gt;
 Unable to negotiate with 169.230.26.166 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss&lt;br /&gt;
&lt;br /&gt;
Solutions:&lt;br /&gt;
&lt;br /&gt;
Option 1: &lt;br /&gt;
 Add &#039;-oHostKeyAlgorithms=+ssh-rsa&#039; flag in your ssh/scp command&lt;br /&gt;
&lt;br /&gt;
Option 2: &lt;br /&gt;
 vim ~/.ssh/config&lt;br /&gt;
 Edit config file with the correct values&lt;br /&gt;
 Host &amp;lt;hostname&amp;gt;&lt;br /&gt;
  HostName &amp;lt;hostname&amp;gt;&lt;br /&gt;
  Port &amp;lt;your_port&amp;gt;&lt;br /&gt;
  User &amp;lt;username&amp;gt;&lt;br /&gt;
  ServerAliveInterval 100&lt;br /&gt;
  HostKeyAlgorithms +ssh-rsa&lt;br /&gt;
  PubkeyAcceptedKeyTypes +ssh-rsa&lt;br /&gt;
&lt;br /&gt;
=== Windows OS ===&lt;br /&gt;
&lt;br /&gt;
Open putty.exe and select the session that you want to use as a ssh tunnel (ie portal.uoft.bkslab.org).&lt;br /&gt;
&lt;br /&gt;
Then click on Connection -&amp;gt; SSH -&amp;gt; tunnels&lt;br /&gt;
&lt;br /&gt;
In Source Port enter 1080 (or any port above 1024).&lt;br /&gt;
&lt;br /&gt;
Then click the Dynamic button and then click Add.  &lt;br /&gt;
&lt;br /&gt;
It should look like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:proxy1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then go back to Session and click Save.&lt;br /&gt;
&lt;br /&gt;
Then download the &amp;quot;standard&amp;quot; version of FoxyProxy here:  http://getfoxyproxy.org/downloads.html&lt;br /&gt;
&lt;br /&gt;
Once you’ve downloaded it there should be a little fox picture next to the url bar (upper right hand corner of web browser).  Click on that little picture and select Options from the dropdown list.&lt;br /&gt;
&lt;br /&gt;
You should see this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:foxy1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on Add New Proxy&lt;br /&gt;
&lt;br /&gt;
Then click on the General tab.&lt;br /&gt;
&lt;br /&gt;
Enter a proxy name and then select the Proxy Details tab.&lt;br /&gt;
&lt;br /&gt;
Enter “localhost” in “Host or IP Address” and 1080 for “Port” (or whatever port number you entered in putty).&lt;br /&gt;
&lt;br /&gt;
Click the “SOCKS proxy?” Button and make sure the “SOCKS v5” button is also clicked.&lt;br /&gt;
&lt;br /&gt;
Your screen should look like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:foxy2.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then click Save.&lt;br /&gt;
&lt;br /&gt;
Then click on the fox again on the upper right hand corner and click on “Us proxy whatever_you_named_it Proxy for all URLs”&lt;br /&gt;
&lt;br /&gt;
Then click on putty and open your session.  A terminal will pop up and ask for your passphrase.  Enter your passphrase (for your ssh key).  That’s it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To test if your tunnel is good, go to: http://whatismyipaddress.com/&lt;br /&gt;
&lt;br /&gt;
This will tell you what ip address you have.  If it says the IP address of the remote host you&#039;re connecting to in putty, you are good to go! :)   &lt;br /&gt;
&lt;br /&gt;
This session will remain open as long as your ssh putty session is open.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;To scp files in Windows&#039;&#039;&#039; through this ssh tunnel, download WinSCP here: http://winscp.net/download/winscp551setup.exe&lt;br /&gt;
&lt;br /&gt;
Once it finishes downloading, run it and go through all the prompts.  You can (if you want) to import all your existing sessions from putty, but it’s really not necessary.  &lt;br /&gt;
&lt;br /&gt;
Once it’s done, open it.  &lt;br /&gt;
&lt;br /&gt;
Click on “New Site”.&lt;br /&gt;
&lt;br /&gt;
Then, in the File protocol drop down menu, select SCP.&lt;br /&gt;
&lt;br /&gt;
In Host name, put the host name or IP address of the machine you want to transfer files to.&lt;br /&gt;
&lt;br /&gt;
Keep the port number as 22.  It should look something like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:scp1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then click on Advanced -&amp;gt; Connection -&amp;gt; Proxy&lt;br /&gt;
&lt;br /&gt;
Click on the “Proxy type” drop down menu and select SOCKS5.&lt;br /&gt;
&lt;br /&gt;
For “Proxy host name” write localhost.  Make the port number 1080 (or whatever port you chose to use in putty).&lt;br /&gt;
&lt;br /&gt;
it should look like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:scp2.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click OK, then Save.&lt;br /&gt;
&lt;br /&gt;
It will prompt you to enter a name, call it whatever makes sense to you.&lt;br /&gt;
&lt;br /&gt;
Assuming that your putty session is still open, click Login.&lt;br /&gt;
&lt;br /&gt;
It should prompt you to enter your username and password in the bottom.  &lt;br /&gt;
&lt;br /&gt;
You should then see a screen that looks like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:scp3.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To transfer files from one to the other, select the file that you want to transfer and then click “Upload” to transfer files to the server and then specify which folder you want to save it to.  If you are downloading files from the server to your computer, click the file you want to download and then click “Download” and specify where you want to download it to.&lt;br /&gt;
&lt;br /&gt;
To exit, click on session -&amp;gt; disconnect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When you are done&#039;&#039;&#039; with your vpn session, exit from the ssh putty session (type exit on the terminal screen).&lt;br /&gt;
&lt;br /&gt;
Then, on your browser, click on the little fox in the upper right hand corner and select “Disable FoxyProxy”.&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Internal]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=TLDR&amp;diff=16560</id>
		<title>TLDR</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=TLDR&amp;diff=16560"/>
		<updated>2025-02-13T20:15:27Z</updated>

		<summary type="html">&lt;p&gt;Khtang: /* Supported field types */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
TLDR (TLDR is a Ligand Discovery Resource, tldr.docking.org) is a web-based interface to molecular docking, cheminformatics and related tools. The system currently consists of a dozen or so apps.  We plan to support dozens, perhaps a hundred.&lt;br /&gt;
&lt;br /&gt;
{{TOCright}}&lt;br /&gt;
&lt;br /&gt;
== Advantages ==&lt;br /&gt;
* you don&#039;t need to install&lt;br /&gt;
&lt;br /&gt;
== Disadvantages == &lt;br /&gt;
* limited control&lt;br /&gt;
* limited by access to our servers&lt;br /&gt;
* competition with other users&lt;br /&gt;
&lt;br /&gt;
Here we list the apps you can currently use, with usage notes. &lt;br /&gt;
&lt;br /&gt;
This is also called &amp;quot;Add TLDR Module&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Current available modules ==&lt;br /&gt;
* [[TLDR:arthorbatch|Arthorbatch]]&lt;br /&gt;
* [[TLDR:bioisostere|Bioisostere]]&lt;br /&gt;
* [[TLDR:bootstrap1|Bootstrap1]]&lt;br /&gt;
* [[TLDR:bootstrap2|Bootstrap2]]&lt;br /&gt;
* [[TLDR:dudez|DUDE-Z]]&lt;br /&gt;
* [[TLDR:extrema|Extrema]]&lt;br /&gt;
* [[TLDR:build3d38|Build3d38]]&lt;br /&gt;
* [[TLDR:strain|Strain]]&lt;br /&gt;
* [[TLDR:swbatch|Swbatch]]&lt;br /&gt;
&lt;br /&gt;
== In Development ==&lt;br /&gt;
=== Blaster === &lt;br /&gt;
The purpose of the blaster app is to prepare a receptor for docking, including some basic analysis.&lt;br /&gt;
&lt;br /&gt;
This app requires:&lt;br /&gt;
* A structure for your receptor protein provided as a pdb file&lt;br /&gt;
* A binding site provided in one of the following ways: &lt;br /&gt;
  1) Supply ligand in binding site&lt;br /&gt;
  2) Provide binding site residues&lt;br /&gt;
  3) Use a program to identify all potential binding sites.  Choose which of the binding sites to test or test them all.&lt;br /&gt;
&lt;br /&gt;
The app returns:&lt;br /&gt;
* dockfiles, which may be used for large library docking&lt;br /&gt;
* workfiles, which may be used for grid and sphere optimization.&lt;br /&gt;
&lt;br /&gt;
The output of this app can be used by:&lt;br /&gt;
* asdf&lt;br /&gt;
* sef&lt;br /&gt;
* sdfafd&lt;br /&gt;
&lt;br /&gt;
Status: works. (equivalent of blastermaster.py)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Covalent ===&lt;br /&gt;
Purpose: &lt;br /&gt;
&lt;br /&gt;
This app requires:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
This app returns:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
The output of this app can be used by:&lt;br /&gt;
* adsfasdf&lt;br /&gt;
&lt;br /&gt;
Status: Works with special cases only. Nearly ready to use.  If interested, ask jji for assistance. &lt;br /&gt;
&lt;br /&gt;
=== Cluster === &lt;br /&gt;
Purpose: &lt;br /&gt;
&lt;br /&gt;
This app requires:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
This app returns:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
The output of this app can be used by:&lt;br /&gt;
* adsfasdf&lt;br /&gt;
&lt;br /&gt;
Status:  Works. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Libanalysis === &lt;br /&gt;
Purpose: &lt;br /&gt;
&lt;br /&gt;
This app requires:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
This app returns:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
The output of this app can be used by:&lt;br /&gt;
* adsfasdf&lt;br /&gt;
&lt;br /&gt;
Status:  Not working yet&lt;br /&gt;
&lt;br /&gt;
=== Reaction ===&lt;br /&gt;
&lt;br /&gt;
Purpose: &lt;br /&gt;
&lt;br /&gt;
This app requires:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
This app returns:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
The output of this app can be used by:&lt;br /&gt;
* adsfasdf&lt;br /&gt;
&lt;br /&gt;
Status:  Works at a basic level, with minor caveats.&lt;br /&gt;
* need to handle mwt and logP cutoff parametrically.&lt;br /&gt;
* needs work to handle millions of molecules&lt;br /&gt;
* needs work to connect to reagents, reactions and schemes&lt;br /&gt;
&lt;br /&gt;
=== Report2d ===&lt;br /&gt;
Purpose: &lt;br /&gt;
&lt;br /&gt;
This app requires:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
This app returns:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
The output of this app can be used by:&lt;br /&gt;
* adsfasdf&lt;br /&gt;
&lt;br /&gt;
Status:  Not working yet&lt;br /&gt;
&lt;br /&gt;
=== Shape ===&lt;br /&gt;
Purpose: &lt;br /&gt;
&lt;br /&gt;
Search for similar shape molecules for ligands&lt;br /&gt;
&lt;br /&gt;
This app requires:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
This app returns:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
The output of this app can be used by:&lt;br /&gt;
* adsfasdf&lt;br /&gt;
&lt;br /&gt;
Status:  Not working yet&lt;br /&gt;
&lt;br /&gt;
=== ZINCbatch ===&lt;br /&gt;
Purpose: &lt;br /&gt;
&lt;br /&gt;
This app requires:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
This app returns:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
The output of this app can be used by:&lt;br /&gt;
* adsfasdf&lt;br /&gt;
&lt;br /&gt;
Status: Not working yet&lt;br /&gt;
&lt;br /&gt;
= Technical info = &lt;br /&gt;
&lt;br /&gt;
== Ben&#039;s info section ==&lt;br /&gt;
&lt;br /&gt;
python environment is @ /nfs/soft/www/home/apps/tools18/envs/tldr-prod/bin/python3.9&lt;br /&gt;
&lt;br /&gt;
tldr distribution packages are @ /nfs/soft/www/home/apps/tools18/dist&lt;br /&gt;
&lt;br /&gt;
=== How to open source code &amp;amp; make a change ===&lt;br /&gt;
&lt;br /&gt;
1. unpack most recent distribution in dist folder to your preferred directory&lt;br /&gt;
&lt;br /&gt;
2. make changes to source code. this is left as an exercise for the reader&lt;br /&gt;
&lt;br /&gt;
3. once done, re-pack source code into tarball. if you want to change the version name, change the name of the source code&#039;s root directory &amp;amp; dist package- for organizational purposes&lt;br /&gt;
&lt;br /&gt;
4. copy the package back to the tldr dist directory- not strictly necessary, but again, for organizational purposes&lt;br /&gt;
&lt;br /&gt;
5. with the tldr python environment, pip install the package you just created&lt;br /&gt;
&lt;br /&gt;
	* /nfs/soft/www/home/apps/tools18/envs/tldr-prod/bin/python3.9 -m pip install /nfs/soft/www/home/apps/tools18/dist/$YOUR_PACKAGE&lt;br /&gt;
&lt;br /&gt;
	* this will uninstall the previous version- I haven&#039;t tried doing this while the server is live, but it should probably(?) be fine&lt;br /&gt;
&lt;br /&gt;
6. restart the tldr webserver on gimel2&lt;br /&gt;
&lt;br /&gt;
	* supervisorctl restart tldr&lt;br /&gt;
&lt;br /&gt;
=== Making changes to modules &amp;amp; scripts ===&lt;br /&gt;
&lt;br /&gt;
modules are located @ /nfs/ex7/tldr-modules&lt;br /&gt;
&lt;br /&gt;
input files &amp;amp; parameters are defined by parameters.json within the module directory&lt;br /&gt;
&lt;br /&gt;
modules are fairly straightforward bash scripts that operate in a designated working directory created by tldr when a job is submitted&lt;br /&gt;
&lt;br /&gt;
job files are stored in /nfs/ex7/blaster/jobs/[0-9]&lt;br /&gt;
&lt;br /&gt;
the specific 0-9 directory the job directory is located in is based on the last digit of the tldr-provided job_id- these directories are striped across multiple disks&lt;br /&gt;
&lt;br /&gt;
within the job&#039;s working directory &amp;quot;results&amp;quot; is a special directory that will be shown to the user containing results&lt;br /&gt;
&lt;br /&gt;
=== TLDR database ===&lt;br /&gt;
&lt;br /&gt;
psql -h mem2 -p 5432 -d blaster -U blasteruser&lt;br /&gt;
&lt;br /&gt;
can add new modules by adding to the job_types table&lt;br /&gt;
set module private/public by modifying job_type_status_fk in this table&lt;br /&gt;
&lt;br /&gt;
== starting the server in single-threaded mode == &lt;br /&gt;
 source /mnt/nfs/work/chinzo/Projects/BlasterX_supritha/venv/bin/activate&lt;br /&gt;
 python code/DOCKBlaster/autoapp.py&lt;br /&gt;
&lt;br /&gt;
== How to add new module ==&lt;br /&gt;
See [[Add Tools18 module]]&lt;br /&gt;
== Supported field types == &lt;br /&gt;
 For now, the model accepts &amp;quot;text_box&amp;quot;, &amp;quot;check_box&amp;quot;, &amp;quot;drop_down&amp;quot; , &amp;quot;radio_button&amp;quot;,  and so on&lt;br /&gt;
&lt;br /&gt;
If &amp;quot;type&amp;quot; is &amp;quot;text_box&amp;quot;, it can contain a text or number with a min and a max range. If there is a min and a max range, then they have to be mentioned as &amp;quot;value_type&amp;quot;: &amp;quot;number&amp;quot;, &amp;quot;value_range&amp;quot;: {&amp;quot;min_value&amp;quot;: 0.1,&amp;quot;max_value&amp;quot;: 0.99} as in parameters.json for cluster.&lt;br /&gt;
If &amp;quot;type&amp;quot; is &amp;quot;text_box&amp;quot; and &amp;quot;value_type&amp;quot; is &amp;quot;text&amp;quot;, then it is a normal text box with no range or validations.&lt;br /&gt;
6. Every input mentioned under the key &amp;quot;inputs&amp;quot; has a field called &amp;quot;file_name&amp;quot;, which the name by which the input file uploaded/filled by the user gets stored in the file system at /nfs/ex7/blaster/jobs/JobID%10/Jobname_jobID folder. &lt;br /&gt;
&lt;br /&gt;
7. Every job type has a &amp;quot;job_output&amp;quot; field, which currently stores an empty results.txt file which can be modified to do another action later. For now, the inputs uploaded, and the output file name specified by the user gets stored in the file system under the path that I mentioned in point 6.&lt;br /&gt;
&lt;br /&gt;
[[Category: TLDR]]&lt;br /&gt;
[[Category: Khanh]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Covalent_Library_Preparation_2024&amp;diff=16557</id>
		<title>Covalent Library Preparation 2024</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Covalent_Library_Preparation_2024&amp;diff=16557"/>
		<updated>2025-02-11T19:58:14Z</updated>

		<summary type="html">&lt;p&gt;Khtang: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Modify warhead to covalent adduct with SiH3 added.&lt;br /&gt;
&lt;br /&gt;
= Prepare “SMILES ID” file. =&lt;br /&gt;
&lt;br /&gt;
 ssh n-1-17 (or another development node)&lt;br /&gt;
&lt;br /&gt;
Source environment with RDkit&lt;br /&gt;
 source /mnt/nfs/ex9/work/ttummino/miniconda/etc/profile.d/conda.sh&lt;br /&gt;
&lt;br /&gt;
 conda activate base3.7&lt;br /&gt;
&lt;br /&gt;
 python ~ak87/PROGRAM/convert_smiles_to_covalent.py ald bbv-cov-ald.smi bbv-cov-ald-test.smi&lt;br /&gt;
&lt;br /&gt;
This script enumerates all stereoisomers and converts SMILES to the covalent ones. Currently, only conversions for aldehydes and nitriles is supported. Usage: &lt;br /&gt;
&lt;br /&gt;
* First arg:    ald or nitr for aldehyde or nitrile&lt;br /&gt;
&lt;br /&gt;
* Second arg:    input smi file&lt;br /&gt;
&lt;br /&gt;
* Third arg:    output file name&lt;br /&gt;
&lt;br /&gt;
==  3D Covalent Building for Wynton ==&lt;br /&gt;
&lt;br /&gt;
Set to csh&lt;br /&gt;
 csh&lt;br /&gt;
Source Environments&lt;br /&gt;
 setenv DOCKBASE /wynton/group/bks/CovalentBuilding/DOCK-3.7-trunk&lt;br /&gt;
 source /wynton/group/bks/CovalentBuilding/.csh_corina&lt;br /&gt;
 source /wynton/group/bks/CovalentBuilding/DOCK-3.7-trunk/env.csh&lt;br /&gt;
&lt;br /&gt;
Run Script with input.smi as your prepared SMILES file&lt;br /&gt;
 csh /wynton/group/bks/CovalentBuilding/0001_wrapper_queue_build_smiles_ligand_mod_corina_covalent.csh input.smi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=  Submitting 3D Covalent Building Jobs on BKS Cluster  =&lt;br /&gt;
== SGE ==&lt;br /&gt;
SSH Gimel&lt;br /&gt;
 ssh gimel (with s_ account)&lt;br /&gt;
Set to csh&lt;br /&gt;
 csh&lt;br /&gt;
Source Environments&lt;br /&gt;
 setenv DOCKBASE /nfs/soft/dock/versions/dock37/DOCK-3.7-trunk&lt;br /&gt;
 source ~elisfink/.csh_corina&lt;br /&gt;
 source /nfs/soft/dock/versions/dock37/DOCK-3.7-trunk/env.csh&lt;br /&gt;
it is in the /nfs/soft/dock/versions/dock37/DOCK-3.7-trunk/env.csh&lt;br /&gt;
Run Script with input.smi as your prepared SMILES file&lt;br /&gt;
 csh /nfs/exk/copipeline/0001_wrapper_queue_build_smiles_ligand_mod_corina_covalent.csh input.smi&lt;br /&gt;
&lt;br /&gt;
== SLURM ==&lt;br /&gt;
 ssh gimel2&lt;br /&gt;
 source /nfs/home/khtang/code/Covalent_3dbuilding_dock37/covalent_3dbuild.sh&lt;br /&gt;
 sh /nfs/home/khtang/code/Covalent_3dbuilding_dock37/wrapper_covalent_slurm.sh input.smi&lt;br /&gt;
&lt;br /&gt;
= Run job locally on CentOS 7 (for small set of molecules) =&lt;br /&gt;
 // build covalent db2 file from smiles&lt;br /&gt;
 source /nfs/home/khtang/code/Covalent_3dbuilding_dock37/covalent_3dbuild.sh&lt;br /&gt;
 export SOURCE_FILE=input.smi&lt;br /&gt;
 bash $DOCKBASE/ligand/generate/build_database_ligand.sh --no-db --no-solv --no-mol2 --single --covalent -H 7.4&lt;br /&gt;
&lt;br /&gt;
 // build db2 from mol2&lt;br /&gt;
 bash $DOCKBASE/build_ligand.sh &amp;lt;mol2_file&amp;gt; --name=&amp;quot;Name&amp;quot; --smiles=&amp;quot;SMILES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
[[Category:Covalent]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=CHARMM&amp;diff=16530</id>
		<title>CHARMM</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=CHARMM&amp;diff=16530"/>
		<updated>2025-01-24T20:27:24Z</updated>

		<summary type="html">&lt;p&gt;Khtang: /* Compile CHARMM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CHARMM is a molecular simulation software from Harvard.&lt;br /&gt;
&lt;br /&gt;
= Install CHARMM =&lt;br /&gt;
== Requirements ==&lt;br /&gt;
 gcc --version &lt;br /&gt;
* Upgrade to at least GCC 7 ( if need) https://linuxhostsupport.com/blog/how-to-install-gcc-on-centos-7/&lt;br /&gt;
&lt;br /&gt;
* Upgrade Cmake (version 3+)&lt;br /&gt;
Please make sure that you are using the same C and Fortran compiler version for these dependencies below otherwise CHARMM won’t compile&lt;br /&gt;
 wget https://cmake.org/files/v3.20/cmake-3.20.5.tar.gz&lt;br /&gt;
 tar xvzf cmake-3.20.5.tar.gz &lt;br /&gt;
 cd cmake-3.20.5/&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 /usr/local/bin/cmake --version&lt;br /&gt;
&lt;br /&gt;
Install OpenMPI https://mfix.netl.doe.gov/forum/t/openmpi-installation-in-centos7/543&lt;br /&gt;
Install OpenMM (It can be installed via conda, but it didn’t work for me. So I compiled from source code)&lt;br /&gt;
Create conda environment and source&lt;br /&gt;
http://docs.openmm.org/latest/userguide/library/02_compiling.html&lt;br /&gt;
Install prerequisites &lt;br /&gt;
conda install -c conda-forge cmake make cython swig fftw doxygen numpy&lt;br /&gt;
Download the zip package here https://github.com/openmm/openmm/releases&lt;br /&gt;
 cd /nfs/soft/openmm/&lt;br /&gt;
 wget https://github.com/openmm/openmm/archive/refs/tags/7.7.0.zip&lt;br /&gt;
 unzip 7.7.0.zip; mv openmm-7.7.0 install_7.7.0&lt;br /&gt;
 cd install_7.7.0&lt;br /&gt;
 mkdir build; cd build&lt;br /&gt;
 cmake -D CMAKE_INSTALL_PREFIX=/nfs/soft/openmm/openmm-7.7.0.3/ -D OPENCL_LIBRARY=/nfs/soft/cuda-10.0/lib64/libOpenCL.so ..&lt;br /&gt;
 make -j 10&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
= Compile CHARMM =&lt;br /&gt;
&lt;br /&gt;
 cd /nfs/soft/CHARMM/charmm&lt;br /&gt;
Download the package, ask Yujin&lt;br /&gt;
 tar xf c47b1.tar&lt;br /&gt;
 cd charmm&lt;br /&gt;
 mkdir build; cd build&lt;br /&gt;
Source the conda environment above&lt;br /&gt;
conda install -c conda-forge fftw&lt;br /&gt;
 export FFTW_HOME=&amp;quot;/nfs/soft/anaconda3/pkgs/fftw-3.3.10-nompi_ha7695d1_103&amp;quot;; export CUDA_BIN_PATH=&amp;quot;/nfs/soft/cuda-10.0/bin&amp;quot;; &lt;br /&gt;
export OPENMM_HOME=&amp;quot;/nfs/soft/openmm/openmm-7.7.0.3/&amp;quot;;&lt;br /&gt;
 ../configure  -D MPI_Fortran_COMPILER=/nfs/soft/openmpi/openmpi-4.1.1.3/bin/mpifort  -D MPI_C_COMPILER=/nfs/soft/openmpi/openmpi-4.1.1.3/bin/mpicc   --with-gcc -u --with-fftdock --with-blade --without-mkl --with-openmm -p ../install_blade2&lt;br /&gt;
&lt;br /&gt;
 make -j 10&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
[[Category:Sysadmin]] [[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=CHARMM&amp;diff=16529</id>
		<title>CHARMM</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=CHARMM&amp;diff=16529"/>
		<updated>2025-01-24T20:27:04Z</updated>

		<summary type="html">&lt;p&gt;Khtang: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CHARMM is a molecular simulation software from Harvard.&lt;br /&gt;
&lt;br /&gt;
= Install CHARMM =&lt;br /&gt;
== Requirements ==&lt;br /&gt;
 gcc --version &lt;br /&gt;
* Upgrade to at least GCC 7 ( if need) https://linuxhostsupport.com/blog/how-to-install-gcc-on-centos-7/&lt;br /&gt;
&lt;br /&gt;
* Upgrade Cmake (version 3+)&lt;br /&gt;
Please make sure that you are using the same C and Fortran compiler version for these dependencies below otherwise CHARMM won’t compile&lt;br /&gt;
 wget https://cmake.org/files/v3.20/cmake-3.20.5.tar.gz&lt;br /&gt;
 tar xvzf cmake-3.20.5.tar.gz &lt;br /&gt;
 cd cmake-3.20.5/&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 /usr/local/bin/cmake --version&lt;br /&gt;
&lt;br /&gt;
Install OpenMPI https://mfix.netl.doe.gov/forum/t/openmpi-installation-in-centos7/543&lt;br /&gt;
Install OpenMM (It can be installed via conda, but it didn’t work for me. So I compiled from source code)&lt;br /&gt;
Create conda environment and source&lt;br /&gt;
http://docs.openmm.org/latest/userguide/library/02_compiling.html&lt;br /&gt;
Install prerequisites &lt;br /&gt;
conda install -c conda-forge cmake make cython swig fftw doxygen numpy&lt;br /&gt;
Download the zip package here https://github.com/openmm/openmm/releases&lt;br /&gt;
 cd /nfs/soft/openmm/&lt;br /&gt;
 wget https://github.com/openmm/openmm/archive/refs/tags/7.7.0.zip&lt;br /&gt;
 unzip 7.7.0.zip; mv openmm-7.7.0 install_7.7.0&lt;br /&gt;
 cd install_7.7.0&lt;br /&gt;
 mkdir build; cd build&lt;br /&gt;
 cmake -D CMAKE_INSTALL_PREFIX=/nfs/soft/openmm/openmm-7.7.0.3/ -D OPENCL_LIBRARY=/nfs/soft/cuda-10.0/lib64/libOpenCL.so ..&lt;br /&gt;
 make -j 10&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
= Compile CHARMM =&lt;br /&gt;
&lt;br /&gt;
 cd /nfs/soft/CHARMM/charmm&lt;br /&gt;
Download the package, ask Yujin&lt;br /&gt;
 tar xf c47b1.tar&lt;br /&gt;
 cd charmm&lt;br /&gt;
 mkdir build; cd build&lt;br /&gt;
Source the conda environment above&lt;br /&gt;
conda install -c conda-forge fftw&lt;br /&gt;
 export FFTW_HOME=&amp;quot;/nfs/soft/anaconda3/pkgs/fftw-3.3.10-nompi_ha7695d1_103&amp;quot;; export CUDA_BIN_PATH=&amp;quot;/nfs/soft/cuda-10.0/bin&amp;quot;; &lt;br /&gt;
export OPENMM_HOME=&amp;quot;/nfs/soft/openmm/openmm-7.7.0.3/&amp;quot;;&lt;br /&gt;
 ../configure  -D MPI_Fortran_COMPILER=/nfs/soft/openmpi/openmpi-4.1.1.3/bin/mpifort  -D MPI_C_COMPILER=/nfs/soft/openmpi/openmpi-4.1.1.3/bin/mpicc   --with-gcc -u --with-fftdock --with-blade --without-mkl -p ../install_blade2&lt;br /&gt;
&lt;br /&gt;
 make -j 10&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
[[Category:Sysadmin]] [[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=CHARMM&amp;diff=16528</id>
		<title>CHARMM</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=CHARMM&amp;diff=16528"/>
		<updated>2025-01-24T20:26:42Z</updated>

		<summary type="html">&lt;p&gt;Khtang: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CHARMM is a molecular simulation software from Harvard.&lt;br /&gt;
&lt;br /&gt;
= Install CHARMM =&lt;br /&gt;
== Requirements ==&lt;br /&gt;
 gcc --version &lt;br /&gt;
* Upgrade to at least GCC 7 ( if need) https://linuxhostsupport.com/blog/how-to-install-gcc-on-centos-7/&lt;br /&gt;
&lt;br /&gt;
* Upgrade Cmake (version 3+)&lt;br /&gt;
Please make sure that you are using the same C and Fortran compiler version for these dependencies below otherwise CHARMM won’t compile&lt;br /&gt;
 wget https://cmake.org/files/v3.20/cmake-3.20.5.tar.gz&lt;br /&gt;
 tar xvzf cmake-3.20.5.tar.gz &lt;br /&gt;
 cd cmake-3.20.5/&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 /usr/local/bin/cmake --version&lt;br /&gt;
&lt;br /&gt;
Install OpenMPI https://mfix.netl.doe.gov/forum/t/openmpi-installation-in-centos7/543&lt;br /&gt;
Install OpenMM (It can be installed via conda, but it didn’t work for me. So I compiled from source code)&lt;br /&gt;
Create conda environment and source&lt;br /&gt;
http://docs.openmm.org/latest/userguide/library/02_compiling.html&lt;br /&gt;
Install prerequisites &lt;br /&gt;
conda install -c conda-forge cmake make cython swig fftw doxygen numpy&lt;br /&gt;
Download the zip package here https://github.com/openmm/openmm/releases&lt;br /&gt;
 cd /nfs/soft/openmm/&lt;br /&gt;
 wget https://github.com/openmm/openmm/archive/refs/tags/7.7.0.zip&lt;br /&gt;
 unzip 7.7.0.zip; mv openmm-7.7.0 install_7.7.0&lt;br /&gt;
 cd install_7.7.0&lt;br /&gt;
 mkdir build; cd build&lt;br /&gt;
 cmake -D CMAKE_INSTALL_PREFIX=/nfs/soft/openmm/openmm-7.7.0.3/ -D OPENCL_LIBRARY=/nfs/soft/cuda-10.0/lib64/libOpenCL.so ..&lt;br /&gt;
 make -j 10&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
Install CHARMM&lt;br /&gt;
&lt;br /&gt;
 cd /nfs/soft/CHARMM/charmm&lt;br /&gt;
Download the package, ask Yujin&lt;br /&gt;
 tar xf c47b1.tar&lt;br /&gt;
 cd charmm&lt;br /&gt;
 mkdir build; cd build&lt;br /&gt;
Source the conda environment above&lt;br /&gt;
conda install -c conda-forge fftw&lt;br /&gt;
 export FFTW_HOME=&amp;quot;/nfs/soft/anaconda3/pkgs/fftw-3.3.10-nompi_ha7695d1_103&amp;quot;; export CUDA_BIN_PATH=&amp;quot;/nfs/soft/cuda-10.0/bin&amp;quot;; &lt;br /&gt;
export OPENMM_HOME=&amp;quot;/nfs/soft/openmm/openmm-7.7.0.3/&amp;quot;;&lt;br /&gt;
 ../configure  -D MPI_Fortran_COMPILER=/nfs/soft/openmpi/openmpi-4.1.1.3/bin/mpifort  -D MPI_C_COMPILER=/nfs/soft/openmpi/openmpi-4.1.1.3/bin/mpicc   --with-gcc -u --with-fftdock --with-blade --without-mkl -p ../install_blade2&lt;br /&gt;
&lt;br /&gt;
 make -j 10&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
[[Category:Sysadmin]] [[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=CHARMM&amp;diff=16527</id>
		<title>CHARMM</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=CHARMM&amp;diff=16527"/>
		<updated>2025-01-24T20:25:55Z</updated>

		<summary type="html">&lt;p&gt;Khtang: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CHARMM is a molecular simulation software from Harvard.&lt;br /&gt;
&lt;br /&gt;
= Install CHARMM =&lt;br /&gt;
== Requirements ==&lt;br /&gt;
 gcc --version &lt;br /&gt;
* Upgrade to at least GCC 7 ( if need) https://linuxhostsupport.com/blog/how-to-install-gcc-on-centos-7/&lt;br /&gt;
&lt;br /&gt;
* Upgrade Cmake (version 3+)&lt;br /&gt;
Please make sure that you are using the same C and Fortran compiler version for these dependencies below otherwise CHARMM won’t compile&lt;br /&gt;
 wget https://cmake.org/files/v3.20/cmake-3.20.5.tar.gz&lt;br /&gt;
 tar xvzf cmake-3.20.5.tar.gz &lt;br /&gt;
 cd cmake-3.20.5/&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 /usr/local/bin/cmake --version&lt;br /&gt;
&lt;br /&gt;
Install OpenMPI https://mfix.netl.doe.gov/forum/t/openmpi-installation-in-centos7/543&lt;br /&gt;
Install OpenMM (It can be installed via conda, but it didn’t work for me. So I compiled from source code)&lt;br /&gt;
Create conda environment and source&lt;br /&gt;
http://docs.openmm.org/latest/userguide/library/02_compiling.html&lt;br /&gt;
Install prerequisites &lt;br /&gt;
conda install -c conda-forge cmake make cython swig fftw doxygen numpy&lt;br /&gt;
Download the zip package here https://github.com/openmm/openmm/releases&lt;br /&gt;
 cd /nfs/soft/openmm/&lt;br /&gt;
 wget https://github.com/openmm/openmm/archive/refs/tags/7.7.0.zip&lt;br /&gt;
 unzip 7.7.0.zip; mv openmm-7.7.0 install_7.7.0&lt;br /&gt;
 cd install_7.7.0&lt;br /&gt;
 mkdir build; cd build&lt;br /&gt;
 cmake -D CMAKE_INSTALL_PREFIX=/nfs/soft/openmm/openmm-7.7.0.3/ -D OPENCL_LIBRARY=/nfs/soft/cuda-10.0/lib64/libOpenCL.so ..&lt;br /&gt;
 make -j 10&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
Install CHARMM&lt;br /&gt;
&lt;br /&gt;
 cd /nfs/soft/CHARMM/charmm&lt;br /&gt;
Download the package, ask Yujin&lt;br /&gt;
 tar xf c47b1.tar&lt;br /&gt;
 cd charmm&lt;br /&gt;
 mkdir build; cd build&lt;br /&gt;
Source the conda environment above&lt;br /&gt;
conda install -c conda-forge fftw&lt;br /&gt;
 export FFTW_HOME=&amp;quot;/nfs/soft/anaconda3/pkgs/fftw-3.3.10-nompi_ha7695d1_103&amp;quot;; export CUDA_BIN_PATH=&amp;quot;/nfs/soft/cuda-10.0/bin&amp;quot;; &lt;br /&gt;
export OPENMM_HOME=&amp;quot;/nfs/soft/openmm/openmm-7.7.0.3/&amp;quot;;&lt;br /&gt;
 ../configure  -D MPI_Fortran_COMPILER=/nfs/soft/openmpi/openmpi-4.1.1.3/bin/mpifort  -D MPI_C_COMPILER=/nfs/soft/openmpi/openmpi-4.1.1.3/bin/mpicc   --with-gcc -u --with-fftdock --with-blade --without-mkl -p ../install_blade2&lt;br /&gt;
&lt;br /&gt;
 make -j 10&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
[[Sysadmin]] [[Software]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=CHARMM&amp;diff=16526</id>
		<title>CHARMM</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=CHARMM&amp;diff=16526"/>
		<updated>2025-01-24T20:25:48Z</updated>

		<summary type="html">&lt;p&gt;Khtang: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CHARMM is a molecular simulation software from Harvard.&lt;br /&gt;
&lt;br /&gt;
= Install CHARMM =&lt;br /&gt;
== Requirements ==&lt;br /&gt;
 gcc --version &lt;br /&gt;
* Upgrade to at least GCC 7 ( if need) https://linuxhostsupport.com/blog/how-to-install-gcc-on-centos-7/&lt;br /&gt;
&lt;br /&gt;
* Upgrade Cmake (version 3+)&lt;br /&gt;
Please make sure that you are using the same C and Fortran compiler version for these dependencies below otherwise CHARMM won’t compile&lt;br /&gt;
 wget https://cmake.org/files/v3.20/cmake-3.20.5.tar.gz&lt;br /&gt;
 tar xvzf cmake-3.20.5.tar.gz &lt;br /&gt;
 cd cmake-3.20.5/&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 /usr/local/bin/cmake --version&lt;br /&gt;
&lt;br /&gt;
Install OpenMPI https://mfix.netl.doe.gov/forum/t/openmpi-installation-in-centos7/543&lt;br /&gt;
Install OpenMM (It can be installed via conda, but it didn’t work for me. So I compiled from source code)&lt;br /&gt;
Create conda environment and source&lt;br /&gt;
http://docs.openmm.org/latest/userguide/library/02_compiling.html&lt;br /&gt;
Install prerequisites &lt;br /&gt;
conda install -c conda-forge cmake make cython swig fftw doxygen numpy&lt;br /&gt;
Download the zip package here https://github.com/openmm/openmm/releases&lt;br /&gt;
 cd /nfs/soft/openmm/&lt;br /&gt;
 wget https://github.com/openmm/openmm/archive/refs/tags/7.7.0.zip&lt;br /&gt;
 unzip 7.7.0.zip; mv openmm-7.7.0 install_7.7.0&lt;br /&gt;
 cd install_7.7.0&lt;br /&gt;
 mkdir build; cd build&lt;br /&gt;
 cmake -D CMAKE_INSTALL_PREFIX=/nfs/soft/openmm/openmm-7.7.0.3/ -D OPENCL_LIBRARY=/nfs/soft/cuda-10.0/lib64/libOpenCL.so ..&lt;br /&gt;
 make -j 10&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
Install CHARMM&lt;br /&gt;
&lt;br /&gt;
 cd /nfs/soft/CHARMM/charmm&lt;br /&gt;
Download the package, ask Yujin&lt;br /&gt;
 tar xf c47b1.tar&lt;br /&gt;
 cd charmm&lt;br /&gt;
 mkdir build; cd build&lt;br /&gt;
Source the conda environment above&lt;br /&gt;
conda install -c conda-forge fftw&lt;br /&gt;
 export FFTW_HOME=&amp;quot;/nfs/soft/anaconda3/pkgs/fftw-3.3.10-nompi_ha7695d1_103&amp;quot;; export CUDA_BIN_PATH=&amp;quot;/nfs/soft/cuda-10.0/bin&amp;quot;; &lt;br /&gt;
export OPENMM_HOME=&amp;quot;/nfs/soft/openmm/openmm-7.7.0.3/&amp;quot;;&lt;br /&gt;
 ../configure  -D MPI_Fortran_COMPILER=/nfs/soft/openmpi/openmpi-4.1.1.3/bin/mpifort  -D MPI_C_COMPILER=/nfs/soft/openmpi/openmpi-4.1.1.3/bin/mpicc   --with-gcc -u --with-fftdock --with-blade --without-mkl -p ../install_blade2&lt;br /&gt;
&lt;br /&gt;
 make -j 10&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
[[Sysadmin]][[Software]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=CHARMM&amp;diff=16525</id>
		<title>CHARMM</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=CHARMM&amp;diff=16525"/>
		<updated>2025-01-24T20:17:07Z</updated>

		<summary type="html">&lt;p&gt;Khtang: Created page with &amp;quot;CHARMM is a molecular simulation software from Harvard.  = Install CHARMM = == Requirements ==  gcc --version  * Upgrade to at least GCC 7 ( if need) https://linuxhostsupport.com/blog/how-to-install-gcc-on-centos-7/  * Upgrade Cmake (version 3+) Please make sure that you are using the same C and Fortran compiler version for these dependencies below otherwise CHARMM won’t compile  wget https://cmake.org/files/v3.20/cmake-3.20.5.tar.gz  tar xvzf cmake-3.20.5.tar.gz   cd...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CHARMM is a molecular simulation software from Harvard.&lt;br /&gt;
&lt;br /&gt;
= Install CHARMM =&lt;br /&gt;
== Requirements ==&lt;br /&gt;
 gcc --version &lt;br /&gt;
* Upgrade to at least GCC 7 ( if need) https://linuxhostsupport.com/blog/how-to-install-gcc-on-centos-7/&lt;br /&gt;
&lt;br /&gt;
* Upgrade Cmake (version 3+)&lt;br /&gt;
Please make sure that you are using the same C and Fortran compiler version for these dependencies below otherwise CHARMM won’t compile&lt;br /&gt;
 wget https://cmake.org/files/v3.20/cmake-3.20.5.tar.gz&lt;br /&gt;
 tar xvzf cmake-3.20.5.tar.gz &lt;br /&gt;
 cd cmake-3.20.5/&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 /usr/local/bin/cmake --version&lt;br /&gt;
&lt;br /&gt;
Install OpenMPI https://mfix.netl.doe.gov/forum/t/openmpi-installation-in-centos7/543&lt;br /&gt;
Install OpenMM (It can be installed via conda, but it didn’t work for me. So I compiled from source code)&lt;br /&gt;
Create conda environment and source&lt;br /&gt;
http://docs.openmm.org/latest/userguide/library/02_compiling.html&lt;br /&gt;
Install prerequisites &lt;br /&gt;
conda install -c conda-forge cmake make cython swig fftw doxygen numpy&lt;br /&gt;
Download the zip package here https://github.com/openmm/openmm/releases&lt;br /&gt;
 cd /nfs/soft/openmm/&lt;br /&gt;
 wget https://github.com/openmm/openmm/archive/refs/tags/7.7.0.zip&lt;br /&gt;
 unzip 7.7.0.zip; mv openmm-7.7.0 install_7.7.0&lt;br /&gt;
 cd install_7.7.0&lt;br /&gt;
 mkdir build; cd build&lt;br /&gt;
 cmake -D CMAKE_INSTALL_PREFIX=/nfs/soft/openmm/openmm-7.7.0.3/ -D OPENCL_LIBRARY=/nfs/soft/cuda-10.0/lib64/libOpenCL.so ..&lt;br /&gt;
 make -j 10&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
Install CHARMM&lt;br /&gt;
&lt;br /&gt;
 cd /nfs/soft/CHARMM/charmm&lt;br /&gt;
Download the package, ask Yujin&lt;br /&gt;
 tar xf c47b1.tar&lt;br /&gt;
 cd charmm&lt;br /&gt;
 mkdir build; cd build&lt;br /&gt;
Source the conda environment above&lt;br /&gt;
conda install -c conda-forge fftw&lt;br /&gt;
 export FFTW_HOME=&amp;quot;/nfs/soft/anaconda3/pkgs/fftw-3.3.10-nompi_ha7695d1_103&amp;quot;; export CUDA_BIN_PATH=&amp;quot;/nfs/soft/cuda-10.0/bin&amp;quot;; &lt;br /&gt;
export OPENMM_HOME=&amp;quot;/nfs/soft/openmm/openmm-7.7.0.3/&amp;quot;;&lt;br /&gt;
 ../configure  -D MPI_Fortran_COMPILER=/nfs/soft/openmpi/openmpi-4.1.1.3/bin/mpifort  -D MPI_C_COMPILER=/nfs/soft/openmpi/openmpi-4.1.1.3/bin/mpicc   --with-gcc -u --with-fftdock --with-blade --without-mkl -p ../install_blade2&lt;br /&gt;
&lt;br /&gt;
 make -j 10&lt;br /&gt;
 make install&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Add_TLDR_module&amp;diff=16522</id>
		<title>Add TLDR module</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Add_TLDR_module&amp;diff=16522"/>
		<updated>2025-01-14T18:12:11Z</updated>

		<summary type="html">&lt;p&gt;Khtang: /* Add job type into psql table */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is quick guide to add your script into [[TLDR]] interface&lt;br /&gt;
=== Scripts ===&lt;br /&gt;
&lt;br /&gt;
=== Add job type into psql table ===&lt;br /&gt;
*Access the database&lt;br /&gt;
 $ psql -h mem2 -d blaster -U blasteruser&lt;br /&gt;
&lt;br /&gt;
*Look for the next available index on job_types table&lt;br /&gt;
 blaster=&amp;gt; select * from job_types order by job_type_id;&lt;br /&gt;
 You will see table like this&lt;br /&gt;
 job_type_id |        last_updated        |      short_name      | hidden | approval_required | job_type_status_fk | description&lt;br /&gt;
 ------------+----------------------------+----------------------+--------+-------------------+--------------------+------------------------------------------------------------------------------------------------&lt;br /&gt;
          34 | 2024-03-07 09:48:22.442957 | build3d_covalent     | f      | f                 |                  2 | Build db2 for covalent library using DOCK3.7 pipeline.&lt;br /&gt;
          33 | 2023-02-08 10:17:11.904655 | dockopt2             | t      | f                 |                  3 | Prepare receptor for docking and perform basic controls from SMILES inputs. This is retrodocking without optimization. Results can be used for Large Scale Docking.&lt;br /&gt;
&lt;br /&gt;
* Insert new job type (Please be extra careful when doing this step)&lt;br /&gt;
 &#039;&#039;&#039;This is important to start command with &#039;begin;&#039; so that if any syntax mistakes could be undo.&#039;&#039;&#039;&lt;br /&gt;
 blaster=&amp;gt; begin; insert into job_types values(&amp;lt;next_available_id&amp;gt;, now(), &#039;&amp;lt;job_shortname&amp;gt;&#039;, true, false, 1, &amp;lt;description&amp;gt;);&lt;br /&gt;
 Example: &lt;br /&gt;
 blaster=&amp;gt; begin; insert into job_types values(16, now(), &#039;shape&#039;, true, false, 1, &#039;look up molecule based on molecular shape using FastROCS&#039;);&lt;br /&gt;
 //To save data&lt;br /&gt;
 blaster=&amp;gt; commit;&lt;br /&gt;
 //Or if made mistake, to reverse cmd&lt;br /&gt;
 blaster=&amp;gt; rollback;&lt;br /&gt;
&lt;br /&gt;
=== Setting up templates ===&lt;br /&gt;
* Create template directory&lt;br /&gt;
 sudo -i&lt;br /&gt;
 su - www &lt;br /&gt;
 cd /nfs/ex7/blaster/templates/&lt;br /&gt;
 mkdir &amp;lt;job_name&amp;gt; # job_name must match the shortname in job_types table&lt;br /&gt;
 chmod 777 job_name #for now... &lt;br /&gt;
* Get parameters.json&lt;br /&gt;
This is recommend that you go though all the currently existing modules on [https://tldr.docking.org TLDR] and reuse instead of starting one from scratch.&lt;br /&gt;
 cd job_name&lt;br /&gt;
 cp &amp;lt;whatever parameters.json you pick&amp;gt;&lt;br /&gt;
 vim parameters.json&lt;br /&gt;
 Change the variables. Check on the website if the module shows up.&lt;br /&gt;
* Move your shell scripts in directory&lt;br /&gt;
&lt;br /&gt;
=== Test run! ===&lt;br /&gt;
&lt;br /&gt;
[[Category: Developer]]&lt;br /&gt;
[[Category: TLDR]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Add_TLDR_module&amp;diff=16521</id>
		<title>Add TLDR module</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Add_TLDR_module&amp;diff=16521"/>
		<updated>2025-01-14T17:38:17Z</updated>

		<summary type="html">&lt;p&gt;Khtang: /* Add job type into psql table */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is quick guide to add your script into [[TLDR]] interface&lt;br /&gt;
=== Scripts ===&lt;br /&gt;
&lt;br /&gt;
=== Add job type into psql table ===&lt;br /&gt;
*Access the database&lt;br /&gt;
 $ psql -h mem2 -d blaster -U blasteruser&lt;br /&gt;
&lt;br /&gt;
*Look for the next available index on job_types table&lt;br /&gt;
 blaster=&amp;gt; select * from job_types order by job_type_id;&lt;br /&gt;
 You will see table like this&lt;br /&gt;
 job_type_id |        last_updated        |      short_name      | hidden | approval_required | job_type_status_fk | description&lt;br /&gt;
 ------------+----------------------------+----------------------+--------+-------------------+--------------------+------------------------------------------------------------------------------------------------&lt;br /&gt;
          34 | 2024-03-07 09:48:22.442957 | build3d_covalent     | f      | f                 |                  2 | Build db2 for covalent library using DOCK3.7 pipeline.&lt;br /&gt;
          33 | 2023-02-08 10:17:11.904655 | dockopt2             | t      | f                 |                  3 | Prepare receptor for docking and perform basic controls from SMILES inputs. This is retrodocking without optimization. Results can be used for Large Scale Docking.&lt;br /&gt;
&lt;br /&gt;
* Insert new job type (Please be extra careful when doing this step)&lt;br /&gt;
 &#039;&#039;&#039;This is important to start command with &#039;begin;&#039; so that if any syntax mistakes could be undo.&#039;&#039;&#039;&lt;br /&gt;
 blaster=&amp;gt; begin; insert into job_types values(&amp;lt;next_available_id&amp;gt;, now(), &#039;&amp;lt;your_job_name&amp;gt;&#039;);&lt;br /&gt;
 Example: &lt;br /&gt;
 blaster=&amp;gt; begin; insert into job_types values(16, now(), &#039;shape&#039;);&lt;br /&gt;
 //To save data&lt;br /&gt;
 blaster=&amp;gt; commit;&lt;br /&gt;
 //Or if made mistake, to reverse cmd&lt;br /&gt;
 blaster=&amp;gt; rollback;&lt;br /&gt;
&lt;br /&gt;
=== Setting up templates ===&lt;br /&gt;
* Create template directory&lt;br /&gt;
 sudo -i&lt;br /&gt;
 su - www &lt;br /&gt;
 cd /nfs/ex7/blaster/templates/&lt;br /&gt;
 mkdir &amp;lt;job_name&amp;gt; # job_name must match the shortname in job_types table&lt;br /&gt;
 chmod 777 job_name #for now... &lt;br /&gt;
* Get parameters.json&lt;br /&gt;
This is recommend that you go though all the currently existing modules on [https://tldr.docking.org TLDR] and reuse instead of starting one from scratch.&lt;br /&gt;
 cd job_name&lt;br /&gt;
 cp &amp;lt;whatever parameters.json you pick&amp;gt;&lt;br /&gt;
 vim parameters.json&lt;br /&gt;
 Change the variables. Check on the website if the module shows up.&lt;br /&gt;
* Move your shell scripts in directory&lt;br /&gt;
&lt;br /&gt;
=== Test run! ===&lt;br /&gt;
&lt;br /&gt;
[[Category: Developer]]&lt;br /&gt;
[[Category: TLDR]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Add_TLDR_module&amp;diff=16520</id>
		<title>Add TLDR module</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Add_TLDR_module&amp;diff=16520"/>
		<updated>2025-01-14T17:38:08Z</updated>

		<summary type="html">&lt;p&gt;Khtang: /* Add job type into psql table */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is quick guide to add your script into [[TLDR]] interface&lt;br /&gt;
=== Scripts ===&lt;br /&gt;
&lt;br /&gt;
=== Add job type into psql table ===&lt;br /&gt;
*Access the database&lt;br /&gt;
 $ psql -h mem2 -d blaster -U blasteruser&lt;br /&gt;
&lt;br /&gt;
*Look for the next available index on job_types table&lt;br /&gt;
 blaster=&amp;gt; select * from job_types order by job_type_id;&lt;br /&gt;
 You will see table like this&lt;br /&gt;
 job_type_id |        last_updated        |      short_name      | hidden | approval_required | job_type_status_fk | description&lt;br /&gt;
 ------------+----------------------------+----------------------+--------+-------------------+--------------------+----------------------------------------------------------------------------------------------------------&lt;br /&gt;
          34 | 2024-03-07 09:48:22.442957 | build3d_covalent     | f      | f                 |                  2 | Build db2 for covalent library using DOCK3.7 pipeline.&lt;br /&gt;
          33 | 2023-02-08 10:17:11.904655 | dockopt2             | t      | f                 |                  3 | Prepare receptor for docking and perform basic controls from SMILES inputs. This is retrodocking without optimization. Results can be used for Large Scale Docking.&lt;br /&gt;
&lt;br /&gt;
* Insert new job type (Please be extra careful when doing this step)&lt;br /&gt;
 &#039;&#039;&#039;This is important to start command with &#039;begin;&#039; so that if any syntax mistakes could be undo.&#039;&#039;&#039;&lt;br /&gt;
 blaster=&amp;gt; begin; insert into job_types values(&amp;lt;next_available_id&amp;gt;, now(), &#039;&amp;lt;your_job_name&amp;gt;&#039;);&lt;br /&gt;
 Example: &lt;br /&gt;
 blaster=&amp;gt; begin; insert into job_types values(16, now(), &#039;shape&#039;);&lt;br /&gt;
 //To save data&lt;br /&gt;
 blaster=&amp;gt; commit;&lt;br /&gt;
 //Or if made mistake, to reverse cmd&lt;br /&gt;
 blaster=&amp;gt; rollback;&lt;br /&gt;
&lt;br /&gt;
=== Setting up templates ===&lt;br /&gt;
* Create template directory&lt;br /&gt;
 sudo -i&lt;br /&gt;
 su - www &lt;br /&gt;
 cd /nfs/ex7/blaster/templates/&lt;br /&gt;
 mkdir &amp;lt;job_name&amp;gt; # job_name must match the shortname in job_types table&lt;br /&gt;
 chmod 777 job_name #for now... &lt;br /&gt;
* Get parameters.json&lt;br /&gt;
This is recommend that you go though all the currently existing modules on [https://tldr.docking.org TLDR] and reuse instead of starting one from scratch.&lt;br /&gt;
 cd job_name&lt;br /&gt;
 cp &amp;lt;whatever parameters.json you pick&amp;gt;&lt;br /&gt;
 vim parameters.json&lt;br /&gt;
 Change the variables. Check on the website if the module shows up.&lt;br /&gt;
* Move your shell scripts in directory&lt;br /&gt;
&lt;br /&gt;
=== Test run! ===&lt;br /&gt;
&lt;br /&gt;
[[Category: Developer]]&lt;br /&gt;
[[Category: TLDR]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Add_TLDR_module&amp;diff=16519</id>
		<title>Add TLDR module</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Add_TLDR_module&amp;diff=16519"/>
		<updated>2025-01-14T17:37:53Z</updated>

		<summary type="html">&lt;p&gt;Khtang: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is quick guide to add your script into [[TLDR]] interface&lt;br /&gt;
=== Scripts ===&lt;br /&gt;
&lt;br /&gt;
=== Add job type into psql table ===&lt;br /&gt;
*Access the database&lt;br /&gt;
 $ psql -h mem2 -d blaster -U blasteruser&lt;br /&gt;
&lt;br /&gt;
*Look for the next available index on job_types table&lt;br /&gt;
 blaster=&amp;gt; select * from job_types order by job_type_id;&lt;br /&gt;
 You will see table like this&lt;br /&gt;
 job_type_id |        last_updated        |      short_name      | hidden | approval_required | job_type_status_fk | description&lt;br /&gt;
 ------------+----------------------------+----------------------+--------+-------------------+--------------------+-------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
          34 | 2024-03-07 09:48:22.442957 | build3d_covalent     | f      | f                 |                  2 | Build db2 for covalent library using DOCK3.7 pipeline.&lt;br /&gt;
          33 | 2023-02-08 10:17:11.904655 | dockopt2             | t      | f                 |                  3 | Prepare receptor for docking and perform basic controls from SMILES inputs. This is retrodocking without optimization. Results can be used for Large Scale Docking.&lt;br /&gt;
&lt;br /&gt;
* Insert new job type (Please be extra careful when doing this step)&lt;br /&gt;
 &#039;&#039;&#039;This is important to start command with &#039;begin;&#039; so that if any syntax mistakes could be undo.&#039;&#039;&#039;&lt;br /&gt;
 blaster=&amp;gt; begin; insert into job_types values(&amp;lt;next_available_id&amp;gt;, now(), &#039;&amp;lt;your_job_name&amp;gt;&#039;);&lt;br /&gt;
 Example: &lt;br /&gt;
 blaster=&amp;gt; begin; insert into job_types values(16, now(), &#039;shape&#039;);&lt;br /&gt;
 //To save data&lt;br /&gt;
 blaster=&amp;gt; commit;&lt;br /&gt;
 //Or if made mistake, to reverse cmd&lt;br /&gt;
 blaster=&amp;gt; rollback;&lt;br /&gt;
&lt;br /&gt;
=== Setting up templates ===&lt;br /&gt;
* Create template directory&lt;br /&gt;
 sudo -i&lt;br /&gt;
 su - www &lt;br /&gt;
 cd /nfs/ex7/blaster/templates/&lt;br /&gt;
 mkdir &amp;lt;job_name&amp;gt; # job_name must match the shortname in job_types table&lt;br /&gt;
 chmod 777 job_name #for now... &lt;br /&gt;
* Get parameters.json&lt;br /&gt;
This is recommend that you go though all the currently existing modules on [https://tldr.docking.org TLDR] and reuse instead of starting one from scratch.&lt;br /&gt;
 cd job_name&lt;br /&gt;
 cp &amp;lt;whatever parameters.json you pick&amp;gt;&lt;br /&gt;
 vim parameters.json&lt;br /&gt;
 Change the variables. Check on the website if the module shows up.&lt;br /&gt;
* Move your shell scripts in directory&lt;br /&gt;
&lt;br /&gt;
=== Test run! ===&lt;br /&gt;
&lt;br /&gt;
[[Category: Developer]]&lt;br /&gt;
[[Category: TLDR]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Add_TLDR_module&amp;diff=16518</id>
		<title>Add TLDR module</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Add_TLDR_module&amp;diff=16518"/>
		<updated>2025-01-14T17:17:40Z</updated>

		<summary type="html">&lt;p&gt;Khtang: /* Setting up templates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is quick guide to add your script into [[TLDR]] interface&lt;br /&gt;
=== Scripts ===&lt;br /&gt;
&lt;br /&gt;
=== Add job type into psql table ===&lt;br /&gt;
*Access the database&lt;br /&gt;
 $ psql -h mem2 -d blaster -U blasteruser&lt;br /&gt;
&lt;br /&gt;
*Look for the next available index on job_types table&lt;br /&gt;
 blaster=&amp;gt; select * from job_types order by job_type_id;&lt;br /&gt;
 You will see table like this&lt;br /&gt;
  job_type_id |        last_updated        |    short_name     &lt;br /&gt;
 -------------+----------------------------+-------------------&lt;br /&gt;
            1 | 2018-10-05 00:00:00        | analog&lt;br /&gt;
            2 | 2018-10-05 00:00:00        | blaster&lt;br /&gt;
            3 | 2018-10-05 00:00:00        | blasterpdb&lt;br /&gt;
            4 | 2018-10-05 00:00:00        | build2d&lt;br /&gt;
            5 | 2018-10-05 00:00:00        | build3d&lt;br /&gt;
            6 | 2018-10-05 00:00:00        | cluster&lt;br /&gt;
            7 | 2018-10-05 00:00:00        | covalent&lt;br /&gt;
            8 | 2018-10-05 00:00:00        | dude&lt;br /&gt;
            9 | 2018-10-05 00:00:00        | libanalysis&lt;br /&gt;
           10 | 2018-10-05 00:00:00        | reaction&lt;br /&gt;
           11 | 2018-10-05 00:00:00        | sea&lt;br /&gt;
           12 | 2018-10-05 00:00:00        | threec&lt;br /&gt;
           13 | 2018-10-05 00:00:00        | transform&lt;br /&gt;
           14 | 2018-10-05 00:00:00        | zincbatch&lt;br /&gt;
           15 | 2018-12-01 18:47:34        | cluster_molecules&lt;br /&gt;
&lt;br /&gt;
* Insert new job type (Please be extra careful when doing this step)&lt;br /&gt;
 &#039;&#039;&#039;This is important to start command with &#039;begin;&#039; so that if any syntax mistakes could be undo.&#039;&#039;&#039;&lt;br /&gt;
 blaster=&amp;gt; begin; insert into job_types values(&amp;lt;next_available_id&amp;gt;, now(), &#039;&amp;lt;your_job_name&amp;gt;&#039;);&lt;br /&gt;
 Example: &lt;br /&gt;
 blaster=&amp;gt; begin; insert into job_types values(16, now(), &#039;shape&#039;);&lt;br /&gt;
 //To save data&lt;br /&gt;
 blaster=&amp;gt; commit;&lt;br /&gt;
 //Or if made mistake, to reverse cmd&lt;br /&gt;
 blaster=&amp;gt; rollback;&lt;br /&gt;
&lt;br /&gt;
=== Setting up templates ===&lt;br /&gt;
* Create template directory&lt;br /&gt;
 sudo -i&lt;br /&gt;
 su - www &lt;br /&gt;
 cd /nfs/ex7/blaster/templates/&lt;br /&gt;
 mkdir &amp;lt;job_name&amp;gt; # job_name must match the shortname in job_types table&lt;br /&gt;
 chmod 777 job_name #for now... &lt;br /&gt;
* Get parameters.json&lt;br /&gt;
This is recommend that you go though all the currently existing modules on [https://tldr.docking.org TLDR] and reuse instead of starting one from scratch.&lt;br /&gt;
 cd job_name&lt;br /&gt;
 cp &amp;lt;whatever parameters.json you pick&amp;gt;&lt;br /&gt;
 vim parameters.json&lt;br /&gt;
 Change the variables. Check on the website if the module shows up.&lt;br /&gt;
* Move your shell scripts in directory&lt;br /&gt;
&lt;br /&gt;
=== Test run! ===&lt;br /&gt;
&lt;br /&gt;
[[Category: Developer]]&lt;br /&gt;
[[Category: TLDR]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Add_TLDR_module&amp;diff=16517</id>
		<title>Add TLDR module</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Add_TLDR_module&amp;diff=16517"/>
		<updated>2025-01-14T07:52:12Z</updated>

		<summary type="html">&lt;p&gt;Khtang: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is quick guide to add your script into [[TLDR]] interface&lt;br /&gt;
=== Scripts ===&lt;br /&gt;
&lt;br /&gt;
=== Add job type into psql table ===&lt;br /&gt;
*Access the database&lt;br /&gt;
 $ psql -h mem2 -d blaster -U blasteruser&lt;br /&gt;
&lt;br /&gt;
*Look for the next available index on job_types table&lt;br /&gt;
 blaster=&amp;gt; select * from job_types order by job_type_id;&lt;br /&gt;
 You will see table like this&lt;br /&gt;
  job_type_id |        last_updated        |    short_name     &lt;br /&gt;
 -------------+----------------------------+-------------------&lt;br /&gt;
            1 | 2018-10-05 00:00:00        | analog&lt;br /&gt;
            2 | 2018-10-05 00:00:00        | blaster&lt;br /&gt;
            3 | 2018-10-05 00:00:00        | blasterpdb&lt;br /&gt;
            4 | 2018-10-05 00:00:00        | build2d&lt;br /&gt;
            5 | 2018-10-05 00:00:00        | build3d&lt;br /&gt;
            6 | 2018-10-05 00:00:00        | cluster&lt;br /&gt;
            7 | 2018-10-05 00:00:00        | covalent&lt;br /&gt;
            8 | 2018-10-05 00:00:00        | dude&lt;br /&gt;
            9 | 2018-10-05 00:00:00        | libanalysis&lt;br /&gt;
           10 | 2018-10-05 00:00:00        | reaction&lt;br /&gt;
           11 | 2018-10-05 00:00:00        | sea&lt;br /&gt;
           12 | 2018-10-05 00:00:00        | threec&lt;br /&gt;
           13 | 2018-10-05 00:00:00        | transform&lt;br /&gt;
           14 | 2018-10-05 00:00:00        | zincbatch&lt;br /&gt;
           15 | 2018-12-01 18:47:34        | cluster_molecules&lt;br /&gt;
&lt;br /&gt;
* Insert new job type (Please be extra careful when doing this step)&lt;br /&gt;
 &#039;&#039;&#039;This is important to start command with &#039;begin;&#039; so that if any syntax mistakes could be undo.&#039;&#039;&#039;&lt;br /&gt;
 blaster=&amp;gt; begin; insert into job_types values(&amp;lt;next_available_id&amp;gt;, now(), &#039;&amp;lt;your_job_name&amp;gt;&#039;);&lt;br /&gt;
 Example: &lt;br /&gt;
 blaster=&amp;gt; begin; insert into job_types values(16, now(), &#039;shape&#039;);&lt;br /&gt;
 //To save data&lt;br /&gt;
 blaster=&amp;gt; commit;&lt;br /&gt;
 //Or if made mistake, to reverse cmd&lt;br /&gt;
 blaster=&amp;gt; rollback;&lt;br /&gt;
&lt;br /&gt;
=== Setting up templates ===&lt;br /&gt;
* Create template directory&lt;br /&gt;
 sudo -i&lt;br /&gt;
 su - www &lt;br /&gt;
 cd /nfs/ex7/blaster/templates/&lt;br /&gt;
 mkdir &amp;lt;job_name&amp;gt; // job_name must match the shortname in job_types table&lt;br /&gt;
 chmod 777 job_name //for now... &lt;br /&gt;
* Get parameters.json&lt;br /&gt;
This is recommend that you go though all the currently existing modules on [https://tldr.docking.org TLDR] and reuse instead of starting one from scratch.&lt;br /&gt;
 cd job_name&lt;br /&gt;
 cp &amp;lt;whatever parameters.json you pick&amp;gt;&lt;br /&gt;
 vim parameters.json&lt;br /&gt;
 Change the variables. Check on the website if the module shows up.&lt;br /&gt;
* Move your shell scripts in directory&lt;br /&gt;
&lt;br /&gt;
=== Test run! ===&lt;br /&gt;
&lt;br /&gt;
[[Category: Developer]]&lt;br /&gt;
[[Category: TLDR]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Add_TLDR_module&amp;diff=16516</id>
		<title>Add TLDR module</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Add_TLDR_module&amp;diff=16516"/>
		<updated>2025-01-14T07:51:58Z</updated>

		<summary type="html">&lt;p&gt;Khtang: Khtang moved page Add Tools18 module to Add TLDR module without leaving a redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is quick guide to add your script into [[Tools18]] interface&lt;br /&gt;
=== Scripts ===&lt;br /&gt;
&lt;br /&gt;
=== Add job type into psql table ===&lt;br /&gt;
*Access the database&lt;br /&gt;
 $ psql -h mem2 -d blaster -U blasteruser&lt;br /&gt;
&lt;br /&gt;
*Look for the next available index on job_types table&lt;br /&gt;
 blaster=&amp;gt; select * from job_types order by job_type_id;&lt;br /&gt;
 You will see table like this&lt;br /&gt;
  job_type_id |        last_updated        |    short_name     &lt;br /&gt;
 -------------+----------------------------+-------------------&lt;br /&gt;
            1 | 2018-10-05 00:00:00        | analog&lt;br /&gt;
            2 | 2018-10-05 00:00:00        | blaster&lt;br /&gt;
            3 | 2018-10-05 00:00:00        | blasterpdb&lt;br /&gt;
            4 | 2018-10-05 00:00:00        | build2d&lt;br /&gt;
            5 | 2018-10-05 00:00:00        | build3d&lt;br /&gt;
            6 | 2018-10-05 00:00:00        | cluster&lt;br /&gt;
            7 | 2018-10-05 00:00:00        | covalent&lt;br /&gt;
            8 | 2018-10-05 00:00:00        | dude&lt;br /&gt;
            9 | 2018-10-05 00:00:00        | libanalysis&lt;br /&gt;
           10 | 2018-10-05 00:00:00        | reaction&lt;br /&gt;
           11 | 2018-10-05 00:00:00        | sea&lt;br /&gt;
           12 | 2018-10-05 00:00:00        | threec&lt;br /&gt;
           13 | 2018-10-05 00:00:00        | transform&lt;br /&gt;
           14 | 2018-10-05 00:00:00        | zincbatch&lt;br /&gt;
           15 | 2018-12-01 18:47:34        | cluster_molecules&lt;br /&gt;
&lt;br /&gt;
* Insert new job type (Please be extra careful when doing this step)&lt;br /&gt;
 &#039;&#039;&#039;This is important to start command with &#039;begin;&#039; so that if any syntax mistakes could be undo.&#039;&#039;&#039;&lt;br /&gt;
 blaster=&amp;gt; begin; insert into job_types values(&amp;lt;next_available_id&amp;gt;, now(), &#039;&amp;lt;your_job_name&amp;gt;&#039;);&lt;br /&gt;
 Example: &lt;br /&gt;
 blaster=&amp;gt; begin; insert into job_types values(16, now(), &#039;shape&#039;);&lt;br /&gt;
 //To save data&lt;br /&gt;
 blaster=&amp;gt; commit;&lt;br /&gt;
 //Or if made mistake, to reverse cmd&lt;br /&gt;
 blaster=&amp;gt; rollback;&lt;br /&gt;
&lt;br /&gt;
=== Setting up templates ===&lt;br /&gt;
* Create template directory&lt;br /&gt;
 sudo -i&lt;br /&gt;
 su - www &lt;br /&gt;
 cd /nfs/ex7/blaster/templates/&lt;br /&gt;
 mkdir &amp;lt;job_name&amp;gt; // job_name must match the shortname in job_types table&lt;br /&gt;
 chmod 777 job_name //for now... &lt;br /&gt;
* Get parameters.json&lt;br /&gt;
This is recommend that you go though all the currently existing modules on [https://tldr.docking.org TLDR] and reuse instead of starting one from scratch.&lt;br /&gt;
 cd job_name&lt;br /&gt;
 cp &amp;lt;whatever parameters.json you pick&amp;gt;&lt;br /&gt;
 vim parameters.json&lt;br /&gt;
 Change the variables. Check on the website if the module shows up.&lt;br /&gt;
* Move your shell scripts in directory&lt;br /&gt;
&lt;br /&gt;
=== Test run! ===&lt;br /&gt;
&lt;br /&gt;
[[Category: Developer]]&lt;br /&gt;
[[Category: TLDR]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Add_TLDR_module&amp;diff=16515</id>
		<title>Add TLDR module</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Add_TLDR_module&amp;diff=16515"/>
		<updated>2025-01-14T07:51:28Z</updated>

		<summary type="html">&lt;p&gt;Khtang: /* Setting up templates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is quick guide to add your script into [[Tools18]] interface&lt;br /&gt;
=== Scripts ===&lt;br /&gt;
&lt;br /&gt;
=== Add job type into psql table ===&lt;br /&gt;
*Access the database&lt;br /&gt;
 $ psql -h mem2 -d blaster -U blasteruser&lt;br /&gt;
&lt;br /&gt;
*Look for the next available index on job_types table&lt;br /&gt;
 blaster=&amp;gt; select * from job_types order by job_type_id;&lt;br /&gt;
 You will see table like this&lt;br /&gt;
  job_type_id |        last_updated        |    short_name     &lt;br /&gt;
 -------------+----------------------------+-------------------&lt;br /&gt;
            1 | 2018-10-05 00:00:00        | analog&lt;br /&gt;
            2 | 2018-10-05 00:00:00        | blaster&lt;br /&gt;
            3 | 2018-10-05 00:00:00        | blasterpdb&lt;br /&gt;
            4 | 2018-10-05 00:00:00        | build2d&lt;br /&gt;
            5 | 2018-10-05 00:00:00        | build3d&lt;br /&gt;
            6 | 2018-10-05 00:00:00        | cluster&lt;br /&gt;
            7 | 2018-10-05 00:00:00        | covalent&lt;br /&gt;
            8 | 2018-10-05 00:00:00        | dude&lt;br /&gt;
            9 | 2018-10-05 00:00:00        | libanalysis&lt;br /&gt;
           10 | 2018-10-05 00:00:00        | reaction&lt;br /&gt;
           11 | 2018-10-05 00:00:00        | sea&lt;br /&gt;
           12 | 2018-10-05 00:00:00        | threec&lt;br /&gt;
           13 | 2018-10-05 00:00:00        | transform&lt;br /&gt;
           14 | 2018-10-05 00:00:00        | zincbatch&lt;br /&gt;
           15 | 2018-12-01 18:47:34        | cluster_molecules&lt;br /&gt;
&lt;br /&gt;
* Insert new job type (Please be extra careful when doing this step)&lt;br /&gt;
 &#039;&#039;&#039;This is important to start command with &#039;begin;&#039; so that if any syntax mistakes could be undo.&#039;&#039;&#039;&lt;br /&gt;
 blaster=&amp;gt; begin; insert into job_types values(&amp;lt;next_available_id&amp;gt;, now(), &#039;&amp;lt;your_job_name&amp;gt;&#039;);&lt;br /&gt;
 Example: &lt;br /&gt;
 blaster=&amp;gt; begin; insert into job_types values(16, now(), &#039;shape&#039;);&lt;br /&gt;
 //To save data&lt;br /&gt;
 blaster=&amp;gt; commit;&lt;br /&gt;
 //Or if made mistake, to reverse cmd&lt;br /&gt;
 blaster=&amp;gt; rollback;&lt;br /&gt;
&lt;br /&gt;
=== Setting up templates ===&lt;br /&gt;
* Create template directory&lt;br /&gt;
 sudo -i&lt;br /&gt;
 su - www &lt;br /&gt;
 cd /nfs/ex7/blaster/templates/&lt;br /&gt;
 mkdir &amp;lt;job_name&amp;gt; // job_name must match the shortname in job_types table&lt;br /&gt;
 chmod 777 job_name //for now... &lt;br /&gt;
* Get parameters.json&lt;br /&gt;
This is recommend that you go though all the currently existing modules on [https://tldr.docking.org TLDR] and reuse instead of starting one from scratch.&lt;br /&gt;
 cd job_name&lt;br /&gt;
 cp &amp;lt;whatever parameters.json you pick&amp;gt;&lt;br /&gt;
 vim parameters.json&lt;br /&gt;
 Change the variables. Check on the website if the module shows up.&lt;br /&gt;
* Move your shell scripts in directory&lt;br /&gt;
&lt;br /&gt;
=== Test run! ===&lt;br /&gt;
&lt;br /&gt;
[[Category: Developer]]&lt;br /&gt;
[[Category: TLDR]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Add_TLDR_module&amp;diff=16514</id>
		<title>Add TLDR module</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Add_TLDR_module&amp;diff=16514"/>
		<updated>2025-01-14T07:44:18Z</updated>

		<summary type="html">&lt;p&gt;Khtang: /* Add job type into psql table */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is quick guide to add your script into [[Tools18]] interface&lt;br /&gt;
=== Scripts ===&lt;br /&gt;
&lt;br /&gt;
=== Add job type into psql table ===&lt;br /&gt;
*Access the database&lt;br /&gt;
 $ psql -h mem2 -d blaster -U blasteruser&lt;br /&gt;
&lt;br /&gt;
*Look for the next available index on job_types table&lt;br /&gt;
 blaster=&amp;gt; select * from job_types order by job_type_id;&lt;br /&gt;
 You will see table like this&lt;br /&gt;
  job_type_id |        last_updated        |    short_name     &lt;br /&gt;
 -------------+----------------------------+-------------------&lt;br /&gt;
            1 | 2018-10-05 00:00:00        | analog&lt;br /&gt;
            2 | 2018-10-05 00:00:00        | blaster&lt;br /&gt;
            3 | 2018-10-05 00:00:00        | blasterpdb&lt;br /&gt;
            4 | 2018-10-05 00:00:00        | build2d&lt;br /&gt;
            5 | 2018-10-05 00:00:00        | build3d&lt;br /&gt;
            6 | 2018-10-05 00:00:00        | cluster&lt;br /&gt;
            7 | 2018-10-05 00:00:00        | covalent&lt;br /&gt;
            8 | 2018-10-05 00:00:00        | dude&lt;br /&gt;
            9 | 2018-10-05 00:00:00        | libanalysis&lt;br /&gt;
           10 | 2018-10-05 00:00:00        | reaction&lt;br /&gt;
           11 | 2018-10-05 00:00:00        | sea&lt;br /&gt;
           12 | 2018-10-05 00:00:00        | threec&lt;br /&gt;
           13 | 2018-10-05 00:00:00        | transform&lt;br /&gt;
           14 | 2018-10-05 00:00:00        | zincbatch&lt;br /&gt;
           15 | 2018-12-01 18:47:34        | cluster_molecules&lt;br /&gt;
&lt;br /&gt;
* Insert new job type (Please be extra careful when doing this step)&lt;br /&gt;
 &#039;&#039;&#039;This is important to start command with &#039;begin;&#039; so that if any syntax mistakes could be undo.&#039;&#039;&#039;&lt;br /&gt;
 blaster=&amp;gt; begin; insert into job_types values(&amp;lt;next_available_id&amp;gt;, now(), &#039;&amp;lt;your_job_name&amp;gt;&#039;);&lt;br /&gt;
 Example: &lt;br /&gt;
 blaster=&amp;gt; begin; insert into job_types values(16, now(), &#039;shape&#039;);&lt;br /&gt;
 //To save data&lt;br /&gt;
 blaster=&amp;gt; commit;&lt;br /&gt;
 //Or if made mistake, to reverse cmd&lt;br /&gt;
 blaster=&amp;gt; rollback;&lt;br /&gt;
&lt;br /&gt;
=== Setting up templates ===&lt;br /&gt;
* Create directory&lt;br /&gt;
 $ cd /nfs/ex7/blaster/templates/&lt;br /&gt;
 $ mkdir &amp;lt;job_name&amp;gt; // job_name must match the shortname in job_types table&lt;br /&gt;
 $ chmod 777 job_name //for now... &lt;br /&gt;
* Get parameters.json&lt;br /&gt;
This is recommend that you go though all the currently existing modules on [https://tldr.docking.org TLDR] and reuse instead of starting one from scratch.&lt;br /&gt;
 $ cd job_name&lt;br /&gt;
 $ cp &amp;lt;whatever parameters.json you pick&amp;gt;&lt;br /&gt;
 $ vim parameters.json&lt;br /&gt;
 Change the variables. Check on the website if the module shows up.&lt;br /&gt;
* Move your shell scripts in directory&lt;br /&gt;
&lt;br /&gt;
=== Test run! ===&lt;br /&gt;
&lt;br /&gt;
[[Category: Developer]]&lt;br /&gt;
[[Category: TLDR]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=User_talk:Sstrizhov&amp;diff=16503</id>
		<title>User talk:Sstrizhov</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=User_talk:Sstrizhov&amp;diff=16503"/>
		<updated>2025-01-07T19:48:59Z</updated>

		<summary type="html">&lt;p&gt;Khtang: Welcome!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Welcome to &#039;&#039;DISI&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
We hope you will contribute much and well.&lt;br /&gt;
You will probably want to read the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents help pages].&lt;br /&gt;
Again, welcome and have fun! [[User:Khtang|Khtang]] ([[User talk:Khtang|talk]]) 19:48, 7 January 2025 (UTC)&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=User:Sstrizhov&amp;diff=16502</id>
		<title>User:Sstrizhov</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=User:Sstrizhov&amp;diff=16502"/>
		<updated>2025-01-07T19:48:59Z</updated>

		<summary type="html">&lt;p&gt;Khtang: Creating user page for new user.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I want to work here period.&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=TLDR&amp;diff=16492</id>
		<title>TLDR</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=TLDR&amp;diff=16492"/>
		<updated>2025-01-06T23:31:00Z</updated>

		<summary type="html">&lt;p&gt;Khtang: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
TLDR (TLDR is a Ligand Discovery Resource, tldr.docking.org) is a web-based interface to molecular docking, cheminformatics and related tools. The system currently consists of a dozen or so apps.  We plan to support dozens, perhaps a hundred.&lt;br /&gt;
&lt;br /&gt;
{{TOCright}}&lt;br /&gt;
&lt;br /&gt;
== Advantages ==&lt;br /&gt;
* you don&#039;t need to install&lt;br /&gt;
&lt;br /&gt;
== Disadvantages == &lt;br /&gt;
* limited control&lt;br /&gt;
* limited by access to our servers&lt;br /&gt;
* competition with other users&lt;br /&gt;
&lt;br /&gt;
Here we list the apps you can currently use, with usage notes. &lt;br /&gt;
&lt;br /&gt;
This is also called &amp;quot;Add TLDR Module&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Current available modules ==&lt;br /&gt;
* [[TLDR:arthorbatch|Arthorbatch]]&lt;br /&gt;
* [[TLDR:bioisostere|Bioisostere]]&lt;br /&gt;
* [[TLDR:bootstrap1|Bootstrap1]]&lt;br /&gt;
* [[TLDR:bootstrap2|Bootstrap2]]&lt;br /&gt;
* [[TLDR:dudez|DUDE-Z]]&lt;br /&gt;
* [[TLDR:extrema|Extrema]]&lt;br /&gt;
* [[TLDR:build3d38|Build3d38]]&lt;br /&gt;
* [[TLDR:strain|Strain]]&lt;br /&gt;
* [[TLDR:swbatch|Swbatch]]&lt;br /&gt;
&lt;br /&gt;
== In Development ==&lt;br /&gt;
=== Blaster === &lt;br /&gt;
The purpose of the blaster app is to prepare a receptor for docking, including some basic analysis.&lt;br /&gt;
&lt;br /&gt;
This app requires:&lt;br /&gt;
* A structure for your receptor protein provided as a pdb file&lt;br /&gt;
* A binding site provided in one of the following ways: &lt;br /&gt;
  1) Supply ligand in binding site&lt;br /&gt;
  2) Provide binding site residues&lt;br /&gt;
  3) Use a program to identify all potential binding sites.  Choose which of the binding sites to test or test them all.&lt;br /&gt;
&lt;br /&gt;
The app returns:&lt;br /&gt;
* dockfiles, which may be used for large library docking&lt;br /&gt;
* workfiles, which may be used for grid and sphere optimization.&lt;br /&gt;
&lt;br /&gt;
The output of this app can be used by:&lt;br /&gt;
* asdf&lt;br /&gt;
* sef&lt;br /&gt;
* sdfafd&lt;br /&gt;
&lt;br /&gt;
Status: works. (equivalent of blastermaster.py)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Covalent ===&lt;br /&gt;
Purpose: &lt;br /&gt;
&lt;br /&gt;
This app requires:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
This app returns:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
The output of this app can be used by:&lt;br /&gt;
* adsfasdf&lt;br /&gt;
&lt;br /&gt;
Status: Works with special cases only. Nearly ready to use.  If interested, ask jji for assistance. &lt;br /&gt;
&lt;br /&gt;
=== Cluster === &lt;br /&gt;
Purpose: &lt;br /&gt;
&lt;br /&gt;
This app requires:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
This app returns:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
The output of this app can be used by:&lt;br /&gt;
* adsfasdf&lt;br /&gt;
&lt;br /&gt;
Status:  Works. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Libanalysis === &lt;br /&gt;
Purpose: &lt;br /&gt;
&lt;br /&gt;
This app requires:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
This app returns:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
The output of this app can be used by:&lt;br /&gt;
* adsfasdf&lt;br /&gt;
&lt;br /&gt;
Status:  Not working yet&lt;br /&gt;
&lt;br /&gt;
=== Reaction ===&lt;br /&gt;
&lt;br /&gt;
Purpose: &lt;br /&gt;
&lt;br /&gt;
This app requires:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
This app returns:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
The output of this app can be used by:&lt;br /&gt;
* adsfasdf&lt;br /&gt;
&lt;br /&gt;
Status:  Works at a basic level, with minor caveats.&lt;br /&gt;
* need to handle mwt and logP cutoff parametrically.&lt;br /&gt;
* needs work to handle millions of molecules&lt;br /&gt;
* needs work to connect to reagents, reactions and schemes&lt;br /&gt;
&lt;br /&gt;
=== Report2d ===&lt;br /&gt;
Purpose: &lt;br /&gt;
&lt;br /&gt;
This app requires:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
This app returns:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
The output of this app can be used by:&lt;br /&gt;
* adsfasdf&lt;br /&gt;
&lt;br /&gt;
Status:  Not working yet&lt;br /&gt;
&lt;br /&gt;
=== Shape ===&lt;br /&gt;
Purpose: &lt;br /&gt;
&lt;br /&gt;
Search for similar shape molecules for ligands&lt;br /&gt;
&lt;br /&gt;
This app requires:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
This app returns:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
The output of this app can be used by:&lt;br /&gt;
* adsfasdf&lt;br /&gt;
&lt;br /&gt;
Status:  Not working yet&lt;br /&gt;
&lt;br /&gt;
=== ZINCbatch ===&lt;br /&gt;
Purpose: &lt;br /&gt;
&lt;br /&gt;
This app requires:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
This app returns:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
The output of this app can be used by:&lt;br /&gt;
* adsfasdf&lt;br /&gt;
&lt;br /&gt;
Status: Not working yet&lt;br /&gt;
&lt;br /&gt;
= Technical info = &lt;br /&gt;
&lt;br /&gt;
== Ben&#039;s info section ==&lt;br /&gt;
&lt;br /&gt;
python environment is @ /nfs/soft/www/home/apps/tools18/envs/tldr-prod/bin/python3.9&lt;br /&gt;
&lt;br /&gt;
tldr distribution packages are @ /nfs/soft/www/home/apps/tools18/dist&lt;br /&gt;
&lt;br /&gt;
=== How to open source code &amp;amp; make a change ===&lt;br /&gt;
&lt;br /&gt;
1. unpack most recent distribution in dist folder to your preferred directory&lt;br /&gt;
&lt;br /&gt;
2. make changes to source code. this is left as an exercise for the reader&lt;br /&gt;
&lt;br /&gt;
3. once done, re-pack source code into tarball. if you want to change the version name, change the name of the source code&#039;s root directory &amp;amp; dist package- for organizational purposes&lt;br /&gt;
&lt;br /&gt;
4. copy the package back to the tldr dist directory- not strictly necessary, but again, for organizational purposes&lt;br /&gt;
&lt;br /&gt;
5. with the tldr python environment, pip install the package you just created&lt;br /&gt;
&lt;br /&gt;
	* /nfs/soft/www/home/apps/tools18/envs/tldr-prod/bin/python3.9 -m pip install /nfs/soft/www/home/apps/tools18/dist/$YOUR_PACKAGE&lt;br /&gt;
&lt;br /&gt;
	* this will uninstall the previous version- I haven&#039;t tried doing this while the server is live, but it should probably(?) be fine&lt;br /&gt;
&lt;br /&gt;
6. restart the tldr webserver on gimel2&lt;br /&gt;
&lt;br /&gt;
	* supervisorctl restart tldr&lt;br /&gt;
&lt;br /&gt;
=== Making changes to modules &amp;amp; scripts ===&lt;br /&gt;
&lt;br /&gt;
modules are located @ /nfs/ex7/tldr-modules&lt;br /&gt;
&lt;br /&gt;
input files &amp;amp; parameters are defined by parameters.json within the module directory&lt;br /&gt;
&lt;br /&gt;
modules are fairly straightforward bash scripts that operate in a designated working directory created by tldr when a job is submitted&lt;br /&gt;
&lt;br /&gt;
job files are stored in /nfs/ex7/blaster/jobs/[0-9]&lt;br /&gt;
&lt;br /&gt;
the specific 0-9 directory the job directory is located in is based on the last digit of the tldr-provided job_id- these directories are striped across multiple disks&lt;br /&gt;
&lt;br /&gt;
within the job&#039;s working directory &amp;quot;results&amp;quot; is a special directory that will be shown to the user containing results&lt;br /&gt;
&lt;br /&gt;
=== TLDR database ===&lt;br /&gt;
&lt;br /&gt;
psql -h mem2 -p 5432 -d blaster -U blasteruser&lt;br /&gt;
&lt;br /&gt;
can add new modules by adding to the job_types table&lt;br /&gt;
set module private/public by modifying job_type_status_fk in this table&lt;br /&gt;
&lt;br /&gt;
== starting the server in single-threaded mode == &lt;br /&gt;
 source /mnt/nfs/work/chinzo/Projects/BlasterX_supritha/venv/bin/activate&lt;br /&gt;
 python code/DOCKBlaster/autoapp.py&lt;br /&gt;
&lt;br /&gt;
== How to add new module ==&lt;br /&gt;
See [[Add Tools18 module]]&lt;br /&gt;
== Supported field types == &lt;br /&gt;
 For now, the model accepts &amp;quot;text_box&amp;quot;, &amp;quot;check_box&amp;quot;, &amp;quot;drop_down&amp;quot; , &amp;quot;radio_button&amp;quot;,  and so on&lt;br /&gt;
&lt;br /&gt;
If &amp;quot;type&amp;quot; is &amp;quot;text_box&amp;quot;, it can contain a text or number with a min and a max range. If there is a min and a max range, then they have to be mentioned as &amp;quot;value_type&amp;quot;: &amp;quot;number&amp;quot;, &amp;quot;value_range&amp;quot;: {&amp;quot;min_value&amp;quot;: 0.1,&amp;quot;max_value&amp;quot;: 0.99} as in parameters.json for cluster.&lt;br /&gt;
If &amp;quot;type&amp;quot; is &amp;quot;text_box&amp;quot; and &amp;quot;value_type&amp;quot; is &amp;quot;text&amp;quot;, then it is a normal text box with no range or validations.&lt;br /&gt;
6. Every input mentioned under the key &amp;quot;inputs&amp;quot; has a field called &amp;quot;file_name&amp;quot;, which the name by which the input file uploaded/filled by the user gets stored in the file system at /nfs/ex7/blaster/jobs/JobID%10/Jobname_jobID folder. &lt;br /&gt;
&lt;br /&gt;
7. Every job type has a &amp;quot;job_output&amp;quot; field, which currently stores an empty results.txt file which can be modified to do another action later. For now, the inputs uploaded, and the output file name specified by the user gets stored in the file system under the path that I mentioned in point 6.&lt;br /&gt;
&lt;br /&gt;
[[Category: TLDR]]&lt;br /&gt;
[[Category: Tools18]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Create_new_user&amp;diff=16406</id>
		<title>Create new user</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Create_new_user&amp;diff=16406"/>
		<updated>2024-11-12T19:30:38Z</updated>

		<summary type="html">&lt;p&gt;Khtang: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Identify a UID===&lt;br /&gt;
&#039;&#039;&#039;Check if a uid that is not taken by any other users&#039;&#039;&#039;. Start from 150**&lt;br /&gt;
 On CentOS 6&lt;br /&gt;
 $ getent passwd | grep 150**&lt;br /&gt;
 On CentOS 7&lt;br /&gt;
 $ id 150**&lt;br /&gt;
&lt;br /&gt;
===Create users and superuser on the LDAP GUI:===&lt;br /&gt;
 https://ds.ucsf.bkslab.org/ldapadmin/cmd.php&lt;br /&gt;
&lt;br /&gt;
====To create a visitor: ====&lt;br /&gt;
 Click OU=Visitors&lt;br /&gt;
 Click Create new entry here&lt;br /&gt;
 Select Generic: User Account&lt;br /&gt;
 Fill in appropriate sections&lt;br /&gt;
 -home dir should be /nfs/home/&amp;lt;username&amp;gt;&lt;br /&gt;
 -password should be encrypted with sha512&lt;br /&gt;
 -group should be visitors&lt;br /&gt;
 Keep the uid LDAP suggested and edit in the one you picked later.&lt;br /&gt;
&lt;br /&gt;
==== Create User&#039;s Home Directory ====&lt;br /&gt;
Log in as root on mem&lt;br /&gt;
 $ sh /nfs/home/[create-visitor.sh/create-member.sh] &amp;lt;user_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Generate ssh for login ===&lt;br /&gt;
====Create ssh key ====&lt;br /&gt;
In the user&#039;s home directory&#039;s personal computer:&lt;br /&gt;
 $ ssh keygen&lt;br /&gt;
&lt;br /&gt;
==== Add user&#039;s public key to Portal ====&lt;br /&gt;
 $ ssh s_khtang@portal.ucsf.bkslab.org&lt;br /&gt;
 $ sudo -i&lt;br /&gt;
 $ cd /opt/keys/user&lt;br /&gt;
 $ vim &amp;lt;username&amp;gt;&lt;br /&gt;
 Copy the .rsa_key.pub content into the file&lt;br /&gt;
&lt;br /&gt;
==== Add user into Portal ====&lt;br /&gt;
On LDAP Admin&lt;br /&gt;
 Choose &#039;&#039;&#039; dc=bkslab,dc=org (17)&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;Group&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;Portal&#039;&#039;&#039;&lt;br /&gt;
 Enter &amp;lt;username&amp;gt; in Add Value&lt;br /&gt;
&lt;br /&gt;
=== Add s_ user in alpha ===&lt;br /&gt;
Since Alpha was created before ldap admin system, new user must be created individually on this machine. &lt;br /&gt;
&lt;br /&gt;
Add the s_ user in &lt;br /&gt;
 vim /etc/passwd &lt;br /&gt;
 vim /etc/group &lt;br /&gt;
&lt;br /&gt;
Change password&lt;br /&gt;
 passwd s_&amp;lt;user&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Ben]] [[Category:Sysadmin]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=TLDR&amp;diff=16405</id>
		<title>TLDR</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=TLDR&amp;diff=16405"/>
		<updated>2024-11-12T06:21:45Z</updated>

		<summary type="html">&lt;p&gt;Khtang: /* Current available modules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TLDR (TLDR is a Ligand Discovery Resource, tldr.docking.org) is a web-based interface to molecular docking, cheminformatics and related tools. The system currently consists of a dozen or so apps.  We plan to support dozens, perhaps a hundred.&lt;br /&gt;
&lt;br /&gt;
== Advantages ==&lt;br /&gt;
* you don&#039;t need to install&lt;br /&gt;
&lt;br /&gt;
== Disadvantages == &lt;br /&gt;
* limited control&lt;br /&gt;
* limited by access to our servers&lt;br /&gt;
* competition with other users&lt;br /&gt;
&lt;br /&gt;
Here we list the apps you can currently use, with usage notes. &lt;br /&gt;
&lt;br /&gt;
This is also called &amp;quot;Add TLDR Module&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{TOCright}}&lt;br /&gt;
&lt;br /&gt;
== Current available modules ==&lt;br /&gt;
* [[TLDR:arthorbatch|Arthorbatch]]&lt;br /&gt;
* [[TLDR:bioisostere|Bioisostere]]&lt;br /&gt;
* [[TLDR:bootstrap1|Bootstrap1]]&lt;br /&gt;
* [[TLDR:bootstrap2|Bootstrap2]]&lt;br /&gt;
* [[TLDR:dudez|DUDE-Z]]&lt;br /&gt;
* [[TLDR:extrema|Extrema]]&lt;br /&gt;
* [[TLDR:build3d38|Build3d38]]&lt;br /&gt;
* [[TLDR:strain|Strain]]&lt;br /&gt;
* [[TLDR:swbatch|Swbatch]]&lt;br /&gt;
&lt;br /&gt;
== In Development ==&lt;br /&gt;
=== Blaster === &lt;br /&gt;
The purpose of the blaster app is to prepare a receptor for docking, including some basic analysis.&lt;br /&gt;
&lt;br /&gt;
This app requires:&lt;br /&gt;
* A structure for your receptor protein provided as a pdb file&lt;br /&gt;
* A binding site provided in one of the following ways: &lt;br /&gt;
  1) Supply ligand in binding site&lt;br /&gt;
  2) Provide binding site residues&lt;br /&gt;
  3) Use a program to identify all potential binding sites.  Choose which of the binding sites to test or test them all.&lt;br /&gt;
&lt;br /&gt;
The app returns:&lt;br /&gt;
* dockfiles, which may be used for large library docking&lt;br /&gt;
* workfiles, which may be used for grid and sphere optimization.&lt;br /&gt;
&lt;br /&gt;
The output of this app can be used by:&lt;br /&gt;
* asdf&lt;br /&gt;
* sef&lt;br /&gt;
* sdfafd&lt;br /&gt;
&lt;br /&gt;
Status: works. (equivalent of blastermaster.py)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Covalent ===&lt;br /&gt;
Purpose: &lt;br /&gt;
&lt;br /&gt;
This app requires:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
This app returns:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
The output of this app can be used by:&lt;br /&gt;
* adsfasdf&lt;br /&gt;
&lt;br /&gt;
Status: Works with special cases only. Nearly ready to use.  If interested, ask jji for assistance. &lt;br /&gt;
&lt;br /&gt;
=== Cluster === &lt;br /&gt;
Purpose: &lt;br /&gt;
&lt;br /&gt;
This app requires:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
This app returns:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
The output of this app can be used by:&lt;br /&gt;
* adsfasdf&lt;br /&gt;
&lt;br /&gt;
Status:  Works. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Libanalysis === &lt;br /&gt;
Purpose: &lt;br /&gt;
&lt;br /&gt;
This app requires:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
This app returns:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
The output of this app can be used by:&lt;br /&gt;
* adsfasdf&lt;br /&gt;
&lt;br /&gt;
Status:  Not working yet&lt;br /&gt;
&lt;br /&gt;
=== Reaction ===&lt;br /&gt;
&lt;br /&gt;
Purpose: &lt;br /&gt;
&lt;br /&gt;
This app requires:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
This app returns:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
The output of this app can be used by:&lt;br /&gt;
* adsfasdf&lt;br /&gt;
&lt;br /&gt;
Status:  Works at a basic level, with minor caveats.&lt;br /&gt;
* need to handle mwt and logP cutoff parametrically.&lt;br /&gt;
* needs work to handle millions of molecules&lt;br /&gt;
* needs work to connect to reagents, reactions and schemes&lt;br /&gt;
&lt;br /&gt;
=== Report2d ===&lt;br /&gt;
Purpose: &lt;br /&gt;
&lt;br /&gt;
This app requires:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
This app returns:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
The output of this app can be used by:&lt;br /&gt;
* adsfasdf&lt;br /&gt;
&lt;br /&gt;
Status:  Not working yet&lt;br /&gt;
&lt;br /&gt;
=== Shape ===&lt;br /&gt;
Purpose: &lt;br /&gt;
&lt;br /&gt;
Search for similar shape molecules for ligands&lt;br /&gt;
&lt;br /&gt;
This app requires:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
This app returns:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
The output of this app can be used by:&lt;br /&gt;
* adsfasdf&lt;br /&gt;
&lt;br /&gt;
Status:  Not working yet&lt;br /&gt;
&lt;br /&gt;
=== ZINCbatch ===&lt;br /&gt;
Purpose: &lt;br /&gt;
&lt;br /&gt;
This app requires:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
This app returns:&lt;br /&gt;
* asdf&lt;br /&gt;
&lt;br /&gt;
The output of this app can be used by:&lt;br /&gt;
* adsfasdf&lt;br /&gt;
&lt;br /&gt;
Status: Not working yet&lt;br /&gt;
&lt;br /&gt;
= Technical info = &lt;br /&gt;
&lt;br /&gt;
== Ben&#039;s info section ==&lt;br /&gt;
&lt;br /&gt;
python environment is @ /nfs/soft/www/home/apps/tools18/envs/tldr-prod/bin/python3.9&lt;br /&gt;
&lt;br /&gt;
tldr distribution packages are @ /nfs/soft/www/home/apps/tools18/dist&lt;br /&gt;
&lt;br /&gt;
=== How to open source code &amp;amp; make a change ===&lt;br /&gt;
&lt;br /&gt;
1. unpack most recent distribution in dist folder to your preferred directory&lt;br /&gt;
&lt;br /&gt;
2. make changes to source code. this is left as an exercise for the reader&lt;br /&gt;
&lt;br /&gt;
3. once done, re-pack source code into tarball. if you want to change the version name, change the name of the source code&#039;s root directory &amp;amp; dist package- for organizational purposes&lt;br /&gt;
&lt;br /&gt;
4. copy the package back to the tldr dist directory- not strictly necessary, but again, for organizational purposes&lt;br /&gt;
&lt;br /&gt;
5. with the tldr python environment, pip install the package you just created&lt;br /&gt;
&lt;br /&gt;
	* /nfs/soft/www/home/apps/tools18/envs/tldr-prod/bin/python3.9 -m pip install /nfs/soft/www/home/apps/tools18/dist/$YOUR_PACKAGE&lt;br /&gt;
&lt;br /&gt;
	* this will uninstall the previous version- I haven&#039;t tried doing this while the server is live, but it should probably(?) be fine&lt;br /&gt;
&lt;br /&gt;
6. restart the tldr webserver on gimel2&lt;br /&gt;
&lt;br /&gt;
	* supervisorctl restart tldr&lt;br /&gt;
&lt;br /&gt;
=== Making changes to modules &amp;amp; scripts ===&lt;br /&gt;
&lt;br /&gt;
modules are located @ /nfs/ex7/tldr-modules&lt;br /&gt;
&lt;br /&gt;
input files &amp;amp; parameters are defined by parameters.json within the module directory&lt;br /&gt;
&lt;br /&gt;
modules are fairly straightforward bash scripts that operate in a designated working directory created by tldr when a job is submitted&lt;br /&gt;
&lt;br /&gt;
job files are stored in /nfs/ex7/blaster/jobs/[0-9]&lt;br /&gt;
&lt;br /&gt;
the specific 0-9 directory the job directory is located in is based on the last digit of the tldr-provided job_id- these directories are striped across multiple disks&lt;br /&gt;
&lt;br /&gt;
within the job&#039;s working directory &amp;quot;results&amp;quot; is a special directory that will be shown to the user containing results&lt;br /&gt;
&lt;br /&gt;
=== TLDR database ===&lt;br /&gt;
&lt;br /&gt;
psql -h mem2 -p 5432 -d blaster -U blasteruser&lt;br /&gt;
&lt;br /&gt;
can add new modules by adding to the job_types table&lt;br /&gt;
set module private/public by modifying job_type_status_fk in this table&lt;br /&gt;
&lt;br /&gt;
== starting the server in single-threaded mode == &lt;br /&gt;
 source /mnt/nfs/work/chinzo/Projects/BlasterX_supritha/venv/bin/activate&lt;br /&gt;
 python code/DOCKBlaster/autoapp.py&lt;br /&gt;
&lt;br /&gt;
== How to add new module ==&lt;br /&gt;
See [[Add Tools18 module]]&lt;br /&gt;
== Supported field types == &lt;br /&gt;
 For now, the model accepts &amp;quot;text_box&amp;quot;, &amp;quot;check_box&amp;quot;, &amp;quot;drop_down&amp;quot; , &amp;quot;radio_button&amp;quot;,  and so on&lt;br /&gt;
&lt;br /&gt;
If &amp;quot;type&amp;quot; is &amp;quot;text_box&amp;quot;, it can contain a text or number with a min and a max range. If there is a min and a max range, then they have to be mentioned as &amp;quot;value_type&amp;quot;: &amp;quot;number&amp;quot;, &amp;quot;value_range&amp;quot;: {&amp;quot;min_value&amp;quot;: 0.1,&amp;quot;max_value&amp;quot;: 0.99} as in parameters.json for cluster.&lt;br /&gt;
If &amp;quot;type&amp;quot; is &amp;quot;text_box&amp;quot; and &amp;quot;value_type&amp;quot; is &amp;quot;text&amp;quot;, then it is a normal text box with no range or validations.&lt;br /&gt;
6. Every input mentioned under the key &amp;quot;inputs&amp;quot; has a field called &amp;quot;file_name&amp;quot;, which the name by which the input file uploaded/filled by the user gets stored in the file system at /nfs/ex7/blaster/jobs/JobID%10/Jobname_jobID folder. &lt;br /&gt;
&lt;br /&gt;
7. Every job type has a &amp;quot;job_output&amp;quot; field, which currently stores an empty results.txt file which can be modified to do another action later. For now, the inputs uploaded, and the output file name specified by the user gets stored in the file system under the path that I mentioned in point 6.&lt;br /&gt;
&lt;br /&gt;
[[Category: TLDR]]&lt;br /&gt;
[[Category: Tools18]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Manage_Lab_Websites&amp;diff=16403</id>
		<title>Manage Lab Websites</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Manage_Lab_Websites&amp;diff=16403"/>
		<updated>2024-11-11T04:21:22Z</updated>

		<summary type="html">&lt;p&gt;Khtang: /* Restart Instructions after UPS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We are trying to migrate all services to gitlab. &lt;br /&gt;
This page is perpetually out-of-date. Look at gitlab first. If not there, look below. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of Websites ==&lt;br /&gt;
Last updated on 11/10/2024&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Website&lt;br /&gt;
!Machine:Port&lt;br /&gt;
!Run on&lt;br /&gt;
!Hosted in (httpd/conf.d)&lt;br /&gt;
!Working&lt;br /&gt;
|-&lt;br /&gt;
|Amis: https://amis.docking.org/&lt;br /&gt;
|n-9-38:5066&lt;br /&gt;
|docker&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Arthor: https://arthor.docking.org/&lt;br /&gt;
|nun, samekh, n-9-22; Port 8000&lt;br /&gt;
|Screen&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|BKSLab: http://www.bkslab.org/&lt;br /&gt;
|n-5-13:5002&lt;br /&gt;
|docker&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Blaster: https://blaster.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43, can not be moved to files2)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Cartblanche22: https://cartblanche22.docking.org/&lt;br /&gt;
|n-9-22:5068&lt;br /&gt;
|docker&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Covalent: http://covalent.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43, can not be moved to files2)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|DSF: https://dsf.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|No (wrong website)&lt;br /&gt;
|-&lt;br /&gt;
|Duc: https://duc.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|Dud: https://dud.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43, can not be moved to files2)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Dude18: http://dude18.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|Dude: http://dude.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43, can not be moved to files2)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Dudez: http://dudez.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Files2 (169.230.75.3)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Excipients: http://excipients.docking.org/&lt;br /&gt;
|gimel:8093&lt;br /&gt;
|Supervisord&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Gitlab: https://gitlab.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Files2 (169.230.75.3)&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|HG: https://hg.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Files2 (169.230.75.3)&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|IrwinLab: http://irwinlab.compbio.ucsf.edu/&lt;br /&gt;
|n-5-13:5004&lt;br /&gt;
|docker&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Metabolite: http://metabolite.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Tau (169.230.26.43, can not be moved to files2)&lt;br /&gt;
|showing wrong website&lt;br /&gt;
|-&lt;br /&gt;
|Deepchemworkshop: http://deepchemworkshop.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Prices: http://prices.docking.org/&lt;br /&gt;
|gimel:5022&lt;br /&gt;
|&lt;br /&gt;
|Tau (169.230.26.43)&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|Psicquic: http://psicquic.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Tau (169.230.26.43)&lt;br /&gt;
|Yes (broken???)&lt;br /&gt;
|-&lt;br /&gt;
|Reactor: http://reactor.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Transporters: http://transporters.ucsf.bkslab.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Sea16: http://sea16.docking.org/&lt;br /&gt;
|gimel:8086&lt;br /&gt;
|&lt;br /&gt;
|Files2 (169.230.75.3)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|SEC: http://sec.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Smallworld Public: http://sw.docking.org/&lt;br /&gt;
|abacus:5020&lt;br /&gt;
|screen&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Smallworld Private: http://swp.docking.org/&lt;br /&gt;
|abacus:8080&lt;br /&gt;
|screen&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Smallworld Super Private: http://swc.docking.org/&lt;br /&gt;
|abacus:5099&lt;br /&gt;
|screen&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Stats: http://stats.docking.org/ &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43, can not be moved to files2)&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|Symp: http://symp.docking.org/ &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|TLDR http://tldr.docking.org/&lt;br /&gt;
|epyc-A40:5011 &lt;br /&gt;
|systemd&lt;br /&gt;
|Files2 (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Tool-Selector: http://tool-selector.ucsf.bkslab.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Transportal: http://transportal.docking.org/&lt;br /&gt;
|n-9-23 : port 8123&lt;br /&gt;
|screen&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Upload: http://upload.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Tau (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Zinc12: http://zinc12.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Tau (169.230.26.43, can not be moved to files2)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|Zinc15: http://zinc15.docking.org/&lt;br /&gt;
|epyc2:5064&lt;br /&gt;
|docker&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Zinc20: http://zinc20.docking.org/&lt;br /&gt;
|epyc2:5065&lt;br /&gt;
|docker&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Chemistry Commons: https://commons.docking.org/&lt;br /&gt;
|epyc2:5010&lt;br /&gt;
|docker&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Restart Instructions after UPS==&lt;br /&gt;
=== For websites running on Docker ===&lt;br /&gt;
Login to machine using sudoer account. &lt;br /&gt;
 $ sudo docker ps //to list all apps, including non-running&lt;br /&gt;
 $ sudo docker start &amp;lt;name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To restart a container&lt;br /&gt;
 $ sudo docker restart &amp;lt;name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== For websites running on Screen ===&lt;br /&gt;
&lt;br /&gt;
==== SEA ====&lt;br /&gt;
SEA is running on a screen on gimel&lt;br /&gt;
&lt;br /&gt;
Become www on gimel&lt;br /&gt;
 $ cd /nfs/soft/www/apps/seadev/&lt;br /&gt;
 On bash shell&lt;br /&gt;
 $ source tools/anaconda2/bin/activate sea16&lt;br /&gt;
 $ cd work/seaware/seaware-academic&lt;br /&gt;
 $ make SEAserver-stop-devel&lt;br /&gt;
 $ make all&lt;br /&gt;
 $ make SEAserver-start-devel&lt;br /&gt;
 Ctrl A+D to detach screen&lt;br /&gt;
&lt;br /&gt;
==== Transportal ====&lt;br /&gt;
Login n-9-23 and become www&lt;br /&gt;
 $ screen -ls&lt;br /&gt;
 $ screen -r transportal&lt;br /&gt;
 $ cd  /mnt/nfs/soft/www/apps/transportal/&lt;br /&gt;
 $ source envs/production-3.6/bin/activate.csh&lt;br /&gt;
 $ cd /nfs/soft/www/home/apps/transportal/src/transportal_2022/transportal&lt;br /&gt;
 $ python manage.py runserver 0.0.0.0:8123&lt;br /&gt;
 Ctrl A+D to detach screen&lt;br /&gt;
&lt;br /&gt;
=== For websites running on Supervisord ===&lt;br /&gt;
==== Restart applications ====&lt;br /&gt;
* Become root on server the website runs on gimel&lt;br /&gt;
 $ supervisorctl status //to list all of current running apps&lt;br /&gt;
 $ supervisorctl restart &amp;lt;name&amp;gt;&lt;br /&gt;
   i.e &lt;br /&gt;
 $ supervisorctl restart bks-lab&lt;br /&gt;
&lt;br /&gt;
==== Start Supervisord ====&lt;br /&gt;
 $ supervisord&lt;br /&gt;
&lt;br /&gt;
=== For websites running on Systemd ===&lt;br /&gt;
==== Restart applications ====&lt;br /&gt;
 $ sudo systemctl restart &amp;lt;name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;TLDR&amp;lt;/b&amp;gt; is running on epyc-A40 and managed by systemd&lt;br /&gt;
 $ sudo systemctl restart tldr&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Sysadmin]]&lt;br /&gt;
[[Category:Curator]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Manage_Lab_Websites&amp;diff=16402</id>
		<title>Manage Lab Websites</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Manage_Lab_Websites&amp;diff=16402"/>
		<updated>2024-11-11T04:19:16Z</updated>

		<summary type="html">&lt;p&gt;Khtang: /* List of Websites */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We are trying to migrate all services to gitlab. &lt;br /&gt;
This page is perpetually out-of-date. Look at gitlab first. If not there, look below. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of Websites ==&lt;br /&gt;
Last updated on 11/10/2024&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Website&lt;br /&gt;
!Machine:Port&lt;br /&gt;
!Run on&lt;br /&gt;
!Hosted in (httpd/conf.d)&lt;br /&gt;
!Working&lt;br /&gt;
|-&lt;br /&gt;
|Amis: https://amis.docking.org/&lt;br /&gt;
|n-9-38:5066&lt;br /&gt;
|docker&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Arthor: https://arthor.docking.org/&lt;br /&gt;
|nun, samekh, n-9-22; Port 8000&lt;br /&gt;
|Screen&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|BKSLab: http://www.bkslab.org/&lt;br /&gt;
|n-5-13:5002&lt;br /&gt;
|docker&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Blaster: https://blaster.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43, can not be moved to files2)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Cartblanche22: https://cartblanche22.docking.org/&lt;br /&gt;
|n-9-22:5068&lt;br /&gt;
|docker&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Covalent: http://covalent.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43, can not be moved to files2)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|DSF: https://dsf.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|No (wrong website)&lt;br /&gt;
|-&lt;br /&gt;
|Duc: https://duc.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|Dud: https://dud.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43, can not be moved to files2)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Dude18: http://dude18.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|Dude: http://dude.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43, can not be moved to files2)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Dudez: http://dudez.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Files2 (169.230.75.3)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Excipients: http://excipients.docking.org/&lt;br /&gt;
|gimel:8093&lt;br /&gt;
|Supervisord&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Gitlab: https://gitlab.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Files2 (169.230.75.3)&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|HG: https://hg.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Files2 (169.230.75.3)&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|IrwinLab: http://irwinlab.compbio.ucsf.edu/&lt;br /&gt;
|n-5-13:5004&lt;br /&gt;
|docker&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Metabolite: http://metabolite.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Tau (169.230.26.43, can not be moved to files2)&lt;br /&gt;
|showing wrong website&lt;br /&gt;
|-&lt;br /&gt;
|Deepchemworkshop: http://deepchemworkshop.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Prices: http://prices.docking.org/&lt;br /&gt;
|gimel:5022&lt;br /&gt;
|&lt;br /&gt;
|Tau (169.230.26.43)&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|Psicquic: http://psicquic.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Tau (169.230.26.43)&lt;br /&gt;
|Yes (broken???)&lt;br /&gt;
|-&lt;br /&gt;
|Reactor: http://reactor.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Transporters: http://transporters.ucsf.bkslab.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Sea16: http://sea16.docking.org/&lt;br /&gt;
|gimel:8086&lt;br /&gt;
|&lt;br /&gt;
|Files2 (169.230.75.3)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|SEC: http://sec.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Smallworld Public: http://sw.docking.org/&lt;br /&gt;
|abacus:5020&lt;br /&gt;
|screen&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Smallworld Private: http://swp.docking.org/&lt;br /&gt;
|abacus:8080&lt;br /&gt;
|screen&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Smallworld Super Private: http://swc.docking.org/&lt;br /&gt;
|abacus:5099&lt;br /&gt;
|screen&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Stats: http://stats.docking.org/ &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43, can not be moved to files2)&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|Symp: http://symp.docking.org/ &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|TLDR http://tldr.docking.org/&lt;br /&gt;
|epyc-A40:5011 &lt;br /&gt;
|systemd&lt;br /&gt;
|Files2 (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Tool-Selector: http://tool-selector.ucsf.bkslab.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Transportal: http://transportal.docking.org/&lt;br /&gt;
|n-9-23 : port 8123&lt;br /&gt;
|screen&lt;br /&gt;
|Vav (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Upload: http://upload.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Tau (169.230.26.43)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Zinc12: http://zinc12.docking.org/&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Tau (169.230.26.43, can not be moved to files2)&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|Zinc15: http://zinc15.docking.org/&lt;br /&gt;
|epyc2:5064&lt;br /&gt;
|docker&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Zinc20: http://zinc20.docking.org/&lt;br /&gt;
|epyc2:5065&lt;br /&gt;
|docker&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|Chemistry Commons: https://commons.docking.org/&lt;br /&gt;
|epyc2:5010&lt;br /&gt;
|docker&lt;br /&gt;
|epyc&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Restart Instructions after UPS==&lt;br /&gt;
=== For websites running on Docker ===&lt;br /&gt;
Login to machine using sudoer account. &lt;br /&gt;
 $ sudo docker ps //to list all apps, including non-running&lt;br /&gt;
 $ sudo docker start &amp;lt;name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To restart a container&lt;br /&gt;
 $ sudo docker restart &amp;lt;name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== For websites running on Screen ===&lt;br /&gt;
&lt;br /&gt;
==== SEA ====&lt;br /&gt;
SEA is running on a screen on gimel&lt;br /&gt;
&lt;br /&gt;
Become www on gimel&lt;br /&gt;
 $ cd /nfs/soft/www/apps/seadev/&lt;br /&gt;
 On bash shell&lt;br /&gt;
 $ source tools/anaconda2/bin/activate sea16&lt;br /&gt;
 $ cd work/seaware/seaware-academic&lt;br /&gt;
 $ make SEAserver-stop-devel&lt;br /&gt;
 $ make all&lt;br /&gt;
 $ make SEAserver-start-devel&lt;br /&gt;
 Ctrl A+D to detach screen&lt;br /&gt;
&lt;br /&gt;
==== Transportal ====&lt;br /&gt;
Login n-9-23 and become www&lt;br /&gt;
 $ screen -ls&lt;br /&gt;
 $ screen -r transportal&lt;br /&gt;
 $ cd  /mnt/nfs/soft/www/apps/transportal/&lt;br /&gt;
 $ source envs/production-3.6/bin/activate.csh&lt;br /&gt;
 $ cd /nfs/soft/www/home/apps/transportal/src/transportal_2022/transportal&lt;br /&gt;
 $ python manage.py runserver 0.0.0.0:8123&lt;br /&gt;
 Ctrl A+D to detach screen&lt;br /&gt;
&lt;br /&gt;
=== For websites running on Supervisord ===&lt;br /&gt;
==== Restart applications ====&lt;br /&gt;
* Become root on server the website runs on gimel&lt;br /&gt;
 $ supervisorctl status //to list all of current running apps&lt;br /&gt;
 $ supervisorctl restart &amp;lt;name&amp;gt;&lt;br /&gt;
   i.e &lt;br /&gt;
 $ supervisorctl restart bks-lab&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;TLDR&amp;lt;/b&amp;gt; is running on gimel2 and managed by supervisord&lt;br /&gt;
 $ supervisorctl restart tldr&lt;br /&gt;
==== Start Supervisord ====&lt;br /&gt;
 $ supervisord&lt;br /&gt;
&lt;br /&gt;
[[Category:Sysadmin]]&lt;br /&gt;
[[Category:Curator]]&lt;br /&gt;
[[Category:Khanh]]&lt;/div&gt;</summary>
		<author><name>Khtang</name></author>
	</entry>
</feed>