<?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=Jgutierrez6</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=Jgutierrez6"/>
	<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Special:Contributions/Jgutierrez6"/>
	<updated>2026-04-07T12:16:16Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.1</generator>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=17121</id>
		<title>Cluster 7</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=17121"/>
		<updated>2026-03-16T23:26:08Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: /* SLURM Nodes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
A cluster built on Rocky 9 linux distribution which is under the RHEL umbrella. &lt;br /&gt;
&lt;br /&gt;
== How to Request for Access ==&lt;br /&gt;
Contact a system administrator. &lt;br /&gt;
&lt;br /&gt;
== How to Login ==&lt;br /&gt;
#Remote&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@epsilon.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SLURM Nodes ==&lt;br /&gt;
*To list partitions&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
sinfo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To list all nodes and their information&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
sinfo -lNe&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==== CPU Servers ====&lt;br /&gt;
*cpu02 (128 Cores, 256 Threads, 1TB RAM)&lt;br /&gt;
*cpu[03-17] (48 Cores, 96 Threads, 256GB RAM)&lt;br /&gt;
&lt;br /&gt;
==== GPU Servers ====&lt;br /&gt;
*gpu01 (48 Cores, 96 Threads, 758GB RAM, 8 x RTX 2080 Ti)&lt;br /&gt;
*gpu02 (48 Cores, 96 Threads, 758GB RAM, 4 x RTX 3090)&lt;br /&gt;
&lt;br /&gt;
==== NFS Servers ====&lt;br /&gt;
*home01&lt;br /&gt;
*hdd02&lt;br /&gt;
&lt;br /&gt;
== Global Modules/Software ==&lt;br /&gt;
*To check the list of available modules&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
/* Long version */&lt;br /&gt;
module available &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
/* Short version */&lt;br /&gt;
ml av &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To load a module(s)&lt;br /&gt;
*: &amp;lt;source&amp;gt;&lt;br /&gt;
/* Single module */&lt;br /&gt;
module load dock &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml dock &lt;br /&gt;
&lt;br /&gt;
==================================&lt;br /&gt;
&lt;br /&gt;
/* Multi-module */&lt;br /&gt;
module load dock python/3.12, schrodinger&lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml dock python/3.12 schrodinger&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To list all loaded modules&lt;br /&gt;
*: &amp;lt;source&amp;gt;&lt;br /&gt;
module load&lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To unload a module&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
module unload &amp;lt;module&amp;gt;&lt;br /&gt;
/* OR */&lt;br /&gt;
ml unload &amp;lt;module&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To unload all modules&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
module purge &lt;br /&gt;
/* OR */&lt;br /&gt;
ml purge&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=17115</id>
		<title>Cluster 7</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=17115"/>
		<updated>2026-03-02T20:44:49Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
A cluster built on Rocky 9 linux distribution which is under the RHEL umbrella. &lt;br /&gt;
&lt;br /&gt;
== How to Request for Access ==&lt;br /&gt;
Contact a system administrator. &lt;br /&gt;
&lt;br /&gt;
== How to Login ==&lt;br /&gt;
#Remote&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@epsilon.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SLURM Nodes ==&lt;br /&gt;
*To list partitions&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
sinfo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To list all nodes and their information&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
sinfo -lNe&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==== CPU Servers ====&lt;br /&gt;
*cpu02 (128 Cores, 256 Threads, 1TB RAM)&lt;br /&gt;
&lt;br /&gt;
==== GPU Servers ====&lt;br /&gt;
*gpu01 (48 Cores, 96 Threads, 758GB RAM, 8 x RTX 2080 Ti)&lt;br /&gt;
*gpu02 (48 Cores, 96 Threads, 758GB RAM, 4 x RTX 3090)&lt;br /&gt;
&lt;br /&gt;
==== NFS Servers ====&lt;br /&gt;
*home01&lt;br /&gt;
*hdd02&lt;br /&gt;
&lt;br /&gt;
== Global Modules/Software ==&lt;br /&gt;
*To check the list of available modules&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
/* Long version */&lt;br /&gt;
module available &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
/* Short version */&lt;br /&gt;
ml av &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To load a module(s)&lt;br /&gt;
*: &amp;lt;source&amp;gt;&lt;br /&gt;
/* Single module */&lt;br /&gt;
module load dock &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml dock &lt;br /&gt;
&lt;br /&gt;
==================================&lt;br /&gt;
&lt;br /&gt;
/* Multi-module */&lt;br /&gt;
module load dock python/3.12, schrodinger&lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml dock python/3.12 schrodinger&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To list all loaded modules&lt;br /&gt;
*: &amp;lt;source&amp;gt;&lt;br /&gt;
module load&lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To unload a module&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
module unload &amp;lt;module&amp;gt;&lt;br /&gt;
/* OR */&lt;br /&gt;
ml unload &amp;lt;module&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To unload all modules&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
module purge &lt;br /&gt;
/* OR */&lt;br /&gt;
ml purge&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Using_LVM_To_Mount_Drives&amp;diff=17108</id>
		<title>Using LVM To Mount Drives</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Using_LVM_To_Mount_Drives&amp;diff=17108"/>
		<updated>2026-02-20T23:11:43Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: /* RAID0 with LVM (Stripe) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Format Disk ==&lt;br /&gt;
Do these commands as root:&lt;br /&gt;
* fdisk -l&lt;br /&gt;
** Find disks/RAID disks to format&lt;br /&gt;
*parted&lt;br /&gt;
*print&lt;br /&gt;
*mklabel gpt&lt;br /&gt;
*mkpart logical 0GB 9995GB. (based on what we read in result of print above)&lt;br /&gt;
*print. (to confirm)&lt;br /&gt;
*quit&lt;br /&gt;
&lt;br /&gt;
== Mount storage disks using LVM ==&lt;br /&gt;
Reference guide: &#039;&#039;&#039;https://www.thegeekdiary.com/redhat-centos-a-beginners-guide-to-lvm-logical-volume-manager/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Scan devices to be used as physical volumes (PV)&lt;br /&gt;
 lvmdiskscan&lt;br /&gt;
&lt;br /&gt;
2. Initialize the block devices&lt;br /&gt;
 pvcreate &amp;lt;drive1&amp;gt; &amp;lt;drive2&amp;gt; &amp;lt;...&amp;gt; ...&lt;br /&gt;
 example: pvcreate /dev/sdb /dev/sdc /dev/sdd&lt;br /&gt;
&lt;br /&gt;
3. To double check PV&lt;br /&gt;
 pvdisplay&lt;br /&gt;
 pvscan&lt;br /&gt;
 pvs&lt;br /&gt;
&lt;br /&gt;
4. After PV, create a Volume Group (VG)&lt;br /&gt;
 vgcreate &amp;lt;name of volume&amp;gt; &amp;lt;drive1&amp;gt; &amp;lt;drive2&amp;gt; &amp;lt;...&amp;gt; ...&lt;br /&gt;
 example: vgcreate soft2 /dev/sdb /dev/sdc /dev/sdd&lt;br /&gt;
&lt;br /&gt;
5. To double check VG&lt;br /&gt;
 vgs &amp;lt;VG name&amp;gt;&lt;br /&gt;
 vgdisplay &amp;lt;VG name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6. After VG, create a Logical Volume (LV)&lt;br /&gt;
 lvcreate &amp;lt;options&amp;gt; &amp;lt;name of LV&amp;gt; &amp;lt;VG Name&amp;gt;&lt;br /&gt;
 example: lvcreate -l 100%FREE -n soft_lv soft2 &lt;br /&gt;
 &amp;quot;-l&amp;quot; is for storage space in percent, 100%FREE means use all space in VG&lt;br /&gt;
 &amp;quot;-n&amp;quot; is for name of LV&lt;br /&gt;
&lt;br /&gt;
7. Double Check LV&lt;br /&gt;
 lvs /dev/&amp;lt;VG NAME&amp;gt;/&amp;lt;LV NAME&amp;gt;&lt;br /&gt;
 lvdisplay /dev/&amp;lt;VG NAME&amp;gt;/&amp;lt;LV NAME&amp;gt;&lt;br /&gt;
 lvscan&lt;br /&gt;
&lt;br /&gt;
8. Create a File System&lt;br /&gt;
 mkfs.ext4 &amp;lt;options&amp;gt; /dev/&amp;lt;VG NAME&amp;gt;/&amp;lt;LV NAME&amp;gt;&lt;br /&gt;
 example: mkfs.ext4 /dev/soft2/soft_lv&lt;br /&gt;
&lt;br /&gt;
9. Make the directory:&lt;br /&gt;
 mkdir &amp;lt;somewhere&amp;gt;&lt;br /&gt;
 example: mkdir /export/soft2&lt;br /&gt;
&lt;br /&gt;
10. Mount permanently:&lt;br /&gt;
 vim /etc/fstab&lt;br /&gt;
 /dev/&amp;lt;VG NAME&amp;gt;/&amp;lt;LV NAME&amp;gt;      &amp;lt;somewhere&amp;gt;       &amp;lt;type of file system&amp;gt;      &amp;lt;mount options&amp;gt;      &amp;lt;dump&amp;gt;         &amp;lt;fsck&amp;gt;&lt;br /&gt;
 example:&lt;br /&gt;
 /dev/soft2/soft_lv	/export/soft2	ext4	defaults	1	2&lt;br /&gt;
&lt;br /&gt;
11. Lastly, mount all&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
== RAID0 with LVM (Stripe) ==&lt;br /&gt;
&lt;br /&gt;
# Determine which disks to stripe together&lt;br /&gt;
#: &amp;lt;source&amp;gt;pvscan &amp;lt;/source&amp;gt;&lt;br /&gt;
# Initialize Disk for LVM use&lt;br /&gt;
#:  &amp;lt;source&amp;gt;pvcreate &amp;lt;disk&amp;gt; &amp;lt;disk&amp;gt; &amp;lt;disk&amp;gt; ... &amp;lt;/source&amp;gt;&lt;br /&gt;
# Create Volume Group&lt;br /&gt;
#:  &amp;lt;source&amp;gt; vgcreate &amp;lt;name&amp;gt; &amp;lt;disk1&amp;gt; &amp;lt;disk2&amp;gt; ... &amp;lt;/source&amp;gt;&lt;br /&gt;
# Create a logical volume with &amp;quot;-i &amp;lt;#&amp;gt;&amp;quot; flag to create stripe&lt;br /&gt;
#:  &amp;lt;source&amp;gt; &lt;br /&gt;
lvcreate -i &amp;lt;how_many_disks&amp;gt; -l &amp;lt;how much of disk to use in percent&amp;gt; -n &amp;lt;name&amp;gt; &amp;lt;volume_group&amp;gt;&lt;br /&gt;
 example: lvcreate -i 2 -l 100%FREE -n scratch_lv scratch&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
# Double Check if successful&lt;br /&gt;
#:  &amp;lt;source&amp;gt; lvscan &amp;lt;/source&amp;gt;&lt;br /&gt;
# Create Filesystem of choice&lt;br /&gt;
#:  &amp;lt;source&amp;gt;&lt;br /&gt;
 mkfs.xfs &amp;lt;logical_volume_name&amp;gt;&lt;br /&gt;
 OR&lt;br /&gt;
 mkfs.ext4 &amp;lt;logical_volume_name&amp;gt;&lt;br /&gt;
 etc...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== RAID1 with LVM on fresh drives ==&lt;br /&gt;
1. Check which disk will act as the mirror&lt;br /&gt;
 fdisk -l&lt;br /&gt;
&lt;br /&gt;
2. Create physical volumes of the drives&lt;br /&gt;
 pvcreate &amp;lt;disk&amp;gt; &amp;lt;disk&amp;gt; &amp;lt;disk&amp;gt;&lt;br /&gt;
 example: pvcreate /dev/sdz /dev/sdaa&lt;br /&gt;
&lt;br /&gt;
3. Create a volume group for these drives&lt;br /&gt;
 vgcreate &amp;lt;name&amp;gt; &amp;lt;disk1&amp;gt; &amp;lt;disk2&amp;gt;&lt;br /&gt;
 example: vgcreate local2 /dev/sdz /dev/sdaa&lt;br /&gt;
&lt;br /&gt;
4. Create a logical volume with &amp;quot;-m1&amp;quot; flag to say mirror/raid1 &lt;br /&gt;
 lvcreate -l &amp;lt;how much of disk to use in percent&amp;gt; -m1 -n &amp;lt;name&amp;gt; &amp;lt;volume_group&amp;gt;&lt;br /&gt;
 example: lvcreate -l 100%FREE -m1 -n local2_lv local2&lt;br /&gt;
&lt;br /&gt;
5. Mount permanently:&lt;br /&gt;
 vim /etc/fstab&lt;br /&gt;
 /dev/&amp;lt;VG NAME&amp;gt;/&amp;lt;LV NAME&amp;gt;      &amp;lt;somewhere&amp;gt;       &amp;lt;type of file system&amp;gt;      &amp;lt;mount options&amp;gt;      &amp;lt;dump&amp;gt;         &amp;lt;fsck&amp;gt;&lt;br /&gt;
 example:&lt;br /&gt;
 /dev/local2/local2_lv   /local2         ext4    defaults        1       2&lt;br /&gt;
&lt;br /&gt;
6. Lastly, mount all&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
== RAID1 with LVM on an existing used logical volume ==&lt;br /&gt;
&#039;&#039;&#039;Before starting, make sure that the disk that will mirror data is the same size or bigger than the drive being mirrored.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Check if the volume has free space for lvm logs. Mirror will fail if no free space available.&lt;br /&gt;
 pvscan&lt;br /&gt;
 example output:&lt;br /&gt;
  PV /dev/sda2   VG centos          lvm2 [&amp;lt;222.57 GiB / 0    free]&lt;br /&gt;
  PV /dev/sdb1   VG centos          lvm2 [&amp;lt;223.57 GiB / 0    free]&lt;br /&gt;
  PV /dev/sdd1   VG local2          lvm2 [&amp;lt;7.28 TiB / &amp;lt;5.03 GiB free]&lt;br /&gt;
If &#039;&#039;&#039; PV /dev/sdd1   VG local2          lvm2 [&amp;lt;7.28 TiB / 0 free] &#039;&#039;&#039; then do&lt;br /&gt;
 lvreduce -l -1 --resizefs /dev/&amp;lt;volume_group&amp;gt;/&amp;lt;logical_volume&amp;gt;&lt;br /&gt;
 example : lvreduce -l -1 --resizefs /dev/local2/zinc_lv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Check which disk will act as the mirror&lt;br /&gt;
 fdisk -l&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Extend the disk to volume group&lt;br /&gt;
 vgextend &amp;lt;volume_group&amp;gt; /dev/&amp;lt;disk&amp;gt;&lt;br /&gt;
 example: vgextend local2 /dev/sdc&lt;br /&gt;
To remove extension:&lt;br /&gt;
 vgreduce &amp;lt;volume_group&amp;gt; /dev/&amp;lt;disk&amp;gt;&lt;br /&gt;
 example: vgreduce local2 /dev/sdc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Convert current working logical volume to RAID1 and assign mirror&lt;br /&gt;
 lvconvert -m1 /dev/&amp;lt;volume_group&amp;gt;/&amp;lt;logical_volume&amp;gt; /dev/&amp;lt;disk&amp;gt;&lt;br /&gt;
 example: lvconvert -m1 /dev/local2/zinc_lv /dev/sdc&lt;br /&gt;
&lt;br /&gt;
5. It should say it was successful, to check syncing progress&lt;br /&gt;
 lvs -a -o +devices&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Using_LVM_To_Mount_Drives&amp;diff=17107</id>
		<title>Using LVM To Mount Drives</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Using_LVM_To_Mount_Drives&amp;diff=17107"/>
		<updated>2026-02-20T23:07:01Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Format Disk ==&lt;br /&gt;
Do these commands as root:&lt;br /&gt;
* fdisk -l&lt;br /&gt;
** Find disks/RAID disks to format&lt;br /&gt;
*parted&lt;br /&gt;
*print&lt;br /&gt;
*mklabel gpt&lt;br /&gt;
*mkpart logical 0GB 9995GB. (based on what we read in result of print above)&lt;br /&gt;
*print. (to confirm)&lt;br /&gt;
*quit&lt;br /&gt;
&lt;br /&gt;
== Mount storage disks using LVM ==&lt;br /&gt;
Reference guide: &#039;&#039;&#039;https://www.thegeekdiary.com/redhat-centos-a-beginners-guide-to-lvm-logical-volume-manager/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Scan devices to be used as physical volumes (PV)&lt;br /&gt;
 lvmdiskscan&lt;br /&gt;
&lt;br /&gt;
2. Initialize the block devices&lt;br /&gt;
 pvcreate &amp;lt;drive1&amp;gt; &amp;lt;drive2&amp;gt; &amp;lt;...&amp;gt; ...&lt;br /&gt;
 example: pvcreate /dev/sdb /dev/sdc /dev/sdd&lt;br /&gt;
&lt;br /&gt;
3. To double check PV&lt;br /&gt;
 pvdisplay&lt;br /&gt;
 pvscan&lt;br /&gt;
 pvs&lt;br /&gt;
&lt;br /&gt;
4. After PV, create a Volume Group (VG)&lt;br /&gt;
 vgcreate &amp;lt;name of volume&amp;gt; &amp;lt;drive1&amp;gt; &amp;lt;drive2&amp;gt; &amp;lt;...&amp;gt; ...&lt;br /&gt;
 example: vgcreate soft2 /dev/sdb /dev/sdc /dev/sdd&lt;br /&gt;
&lt;br /&gt;
5. To double check VG&lt;br /&gt;
 vgs &amp;lt;VG name&amp;gt;&lt;br /&gt;
 vgdisplay &amp;lt;VG name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6. After VG, create a Logical Volume (LV)&lt;br /&gt;
 lvcreate &amp;lt;options&amp;gt; &amp;lt;name of LV&amp;gt; &amp;lt;VG Name&amp;gt;&lt;br /&gt;
 example: lvcreate -l 100%FREE -n soft_lv soft2 &lt;br /&gt;
 &amp;quot;-l&amp;quot; is for storage space in percent, 100%FREE means use all space in VG&lt;br /&gt;
 &amp;quot;-n&amp;quot; is for name of LV&lt;br /&gt;
&lt;br /&gt;
7. Double Check LV&lt;br /&gt;
 lvs /dev/&amp;lt;VG NAME&amp;gt;/&amp;lt;LV NAME&amp;gt;&lt;br /&gt;
 lvdisplay /dev/&amp;lt;VG NAME&amp;gt;/&amp;lt;LV NAME&amp;gt;&lt;br /&gt;
 lvscan&lt;br /&gt;
&lt;br /&gt;
8. Create a File System&lt;br /&gt;
 mkfs.ext4 &amp;lt;options&amp;gt; /dev/&amp;lt;VG NAME&amp;gt;/&amp;lt;LV NAME&amp;gt;&lt;br /&gt;
 example: mkfs.ext4 /dev/soft2/soft_lv&lt;br /&gt;
&lt;br /&gt;
9. Make the directory:&lt;br /&gt;
 mkdir &amp;lt;somewhere&amp;gt;&lt;br /&gt;
 example: mkdir /export/soft2&lt;br /&gt;
&lt;br /&gt;
10. Mount permanently:&lt;br /&gt;
 vim /etc/fstab&lt;br /&gt;
 /dev/&amp;lt;VG NAME&amp;gt;/&amp;lt;LV NAME&amp;gt;      &amp;lt;somewhere&amp;gt;       &amp;lt;type of file system&amp;gt;      &amp;lt;mount options&amp;gt;      &amp;lt;dump&amp;gt;         &amp;lt;fsck&amp;gt;&lt;br /&gt;
 example:&lt;br /&gt;
 /dev/soft2/soft_lv	/export/soft2	ext4	defaults	1	2&lt;br /&gt;
&lt;br /&gt;
11. Lastly, mount all&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
== RAID0 with LVM (Stripe) ==&lt;br /&gt;
&lt;br /&gt;
# Determine which disks to stripe together&lt;br /&gt;
 pvscan&lt;br /&gt;
&lt;br /&gt;
# Initialize Disk for LVM use&lt;br /&gt;
 pvcreate &amp;lt;disk&amp;gt; &amp;lt;disk&amp;gt; &amp;lt;disk&amp;gt; ...&lt;br /&gt;
&lt;br /&gt;
# Create Volume Group&lt;br /&gt;
 vgcreate &amp;lt;name&amp;gt; &amp;lt;disk1&amp;gt; &amp;lt;disk2&amp;gt; ...&lt;br /&gt;
&lt;br /&gt;
# Create a logical volume with &amp;quot;-i &amp;lt;#&amp;gt;&amp;quot; flag to create stripe&lt;br /&gt;
 lvcreate -i &amp;lt;how_many_disks&amp;gt; -l &amp;lt;how much of disk to use in percent&amp;gt; -n &amp;lt;name&amp;gt; &amp;lt;volume_group&amp;gt;&lt;br /&gt;
 example: lvcreate -i 2 -l 100%FREE -n scratch_lv scratch&lt;br /&gt;
&lt;br /&gt;
# Double Check if successful&lt;br /&gt;
 lvscan&lt;br /&gt;
&lt;br /&gt;
# Create Filesystem of choice&lt;br /&gt;
 mkfs.xfs &amp;lt;logical_volume_name&amp;gt;&lt;br /&gt;
 OR&lt;br /&gt;
 mkfs.ext4 &amp;lt;logical_volume_name&amp;gt;&lt;br /&gt;
 etc...&lt;br /&gt;
&lt;br /&gt;
== RAID1 with LVM on fresh drives ==&lt;br /&gt;
1. Check which disk will act as the mirror&lt;br /&gt;
 fdisk -l&lt;br /&gt;
&lt;br /&gt;
2. Create physical volumes of the drives&lt;br /&gt;
 pvcreate &amp;lt;disk&amp;gt; &amp;lt;disk&amp;gt; &amp;lt;disk&amp;gt;&lt;br /&gt;
 example: pvcreate /dev/sdz /dev/sdaa&lt;br /&gt;
&lt;br /&gt;
3. Create a volume group for these drives&lt;br /&gt;
 vgcreate &amp;lt;name&amp;gt; &amp;lt;disk1&amp;gt; &amp;lt;disk2&amp;gt;&lt;br /&gt;
 example: vgcreate local2 /dev/sdz /dev/sdaa&lt;br /&gt;
&lt;br /&gt;
4. Create a logical volume with &amp;quot;-m1&amp;quot; flag to say mirror/raid1 &lt;br /&gt;
 lvcreate -l &amp;lt;how much of disk to use in percent&amp;gt; -m1 -n &amp;lt;name&amp;gt; &amp;lt;volume_group&amp;gt;&lt;br /&gt;
 example: lvcreate -l 100%FREE -m1 -n local2_lv local2&lt;br /&gt;
&lt;br /&gt;
5. Mount permanently:&lt;br /&gt;
 vim /etc/fstab&lt;br /&gt;
 /dev/&amp;lt;VG NAME&amp;gt;/&amp;lt;LV NAME&amp;gt;      &amp;lt;somewhere&amp;gt;       &amp;lt;type of file system&amp;gt;      &amp;lt;mount options&amp;gt;      &amp;lt;dump&amp;gt;         &amp;lt;fsck&amp;gt;&lt;br /&gt;
 example:&lt;br /&gt;
 /dev/local2/local2_lv   /local2         ext4    defaults        1       2&lt;br /&gt;
&lt;br /&gt;
6. Lastly, mount all&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
== RAID1 with LVM on an existing used logical volume ==&lt;br /&gt;
&#039;&#039;&#039;Before starting, make sure that the disk that will mirror data is the same size or bigger than the drive being mirrored.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Check if the volume has free space for lvm logs. Mirror will fail if no free space available.&lt;br /&gt;
 pvscan&lt;br /&gt;
 example output:&lt;br /&gt;
  PV /dev/sda2   VG centos          lvm2 [&amp;lt;222.57 GiB / 0    free]&lt;br /&gt;
  PV /dev/sdb1   VG centos          lvm2 [&amp;lt;223.57 GiB / 0    free]&lt;br /&gt;
  PV /dev/sdd1   VG local2          lvm2 [&amp;lt;7.28 TiB / &amp;lt;5.03 GiB free]&lt;br /&gt;
If &#039;&#039;&#039; PV /dev/sdd1   VG local2          lvm2 [&amp;lt;7.28 TiB / 0 free] &#039;&#039;&#039; then do&lt;br /&gt;
 lvreduce -l -1 --resizefs /dev/&amp;lt;volume_group&amp;gt;/&amp;lt;logical_volume&amp;gt;&lt;br /&gt;
 example : lvreduce -l -1 --resizefs /dev/local2/zinc_lv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Check which disk will act as the mirror&lt;br /&gt;
 fdisk -l&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Extend the disk to volume group&lt;br /&gt;
 vgextend &amp;lt;volume_group&amp;gt; /dev/&amp;lt;disk&amp;gt;&lt;br /&gt;
 example: vgextend local2 /dev/sdc&lt;br /&gt;
To remove extension:&lt;br /&gt;
 vgreduce &amp;lt;volume_group&amp;gt; /dev/&amp;lt;disk&amp;gt;&lt;br /&gt;
 example: vgreduce local2 /dev/sdc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Convert current working logical volume to RAID1 and assign mirror&lt;br /&gt;
 lvconvert -m1 /dev/&amp;lt;volume_group&amp;gt;/&amp;lt;logical_volume&amp;gt; /dev/&amp;lt;disk&amp;gt;&lt;br /&gt;
 example: lvconvert -m1 /dev/local2/zinc_lv /dev/sdc&lt;br /&gt;
&lt;br /&gt;
5. It should say it was successful, to check syncing progress&lt;br /&gt;
 lvs -a -o +devices&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Using_LVM_To_Mount_Drives&amp;diff=17106</id>
		<title>Using LVM To Mount Drives</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Using_LVM_To_Mount_Drives&amp;diff=17106"/>
		<updated>2026-02-20T23:02:46Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Format Disk ==&lt;br /&gt;
Do these commands as root:&lt;br /&gt;
* fdisk -l&lt;br /&gt;
** Find disks/RAID disks to format&lt;br /&gt;
*parted&lt;br /&gt;
*print&lt;br /&gt;
*mklabel gpt&lt;br /&gt;
*mkpart logical 0GB 9995GB. (based on what we read in result of print above)&lt;br /&gt;
*print. (to confirm)&lt;br /&gt;
*quit&lt;br /&gt;
&lt;br /&gt;
== Mount storage disks using LVM ==&lt;br /&gt;
Reference guide: &#039;&#039;&#039;https://www.thegeekdiary.com/redhat-centos-a-beginners-guide-to-lvm-logical-volume-manager/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Scan devices to be used as physical volumes (PV)&lt;br /&gt;
 lvmdiskscan&lt;br /&gt;
&lt;br /&gt;
2. Initialize the block devices&lt;br /&gt;
 pvcreate &amp;lt;drive1&amp;gt; &amp;lt;drive2&amp;gt; &amp;lt;...&amp;gt; ...&lt;br /&gt;
 example: pvcreate /dev/sdb /dev/sdc /dev/sdd&lt;br /&gt;
&lt;br /&gt;
3. To double check PV&lt;br /&gt;
 pvdisplay&lt;br /&gt;
 pvscan&lt;br /&gt;
 pvs&lt;br /&gt;
&lt;br /&gt;
4. After PV, create a Volume Group (VG)&lt;br /&gt;
 vgcreate &amp;lt;name of volume&amp;gt; &amp;lt;drive1&amp;gt; &amp;lt;drive2&amp;gt; &amp;lt;...&amp;gt; ...&lt;br /&gt;
 example: vgcreate soft2 /dev/sdb /dev/sdc /dev/sdd&lt;br /&gt;
&lt;br /&gt;
5. To double check VG&lt;br /&gt;
 vgs &amp;lt;VG name&amp;gt;&lt;br /&gt;
 vgdisplay &amp;lt;VG name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6. After VG, create a Logical Volume (LV)&lt;br /&gt;
 lvcreate &amp;lt;options&amp;gt; &amp;lt;name of LV&amp;gt; &amp;lt;VG Name&amp;gt;&lt;br /&gt;
 example: lvcreate -l 100%FREE -n soft_lv soft2 &lt;br /&gt;
 &amp;quot;-l&amp;quot; is for storage space in percent, 100%FREE means use all space in VG&lt;br /&gt;
 &amp;quot;-n&amp;quot; is for name of LV&lt;br /&gt;
&lt;br /&gt;
7. Double Check LV&lt;br /&gt;
 lvs /dev/&amp;lt;VG NAME&amp;gt;/&amp;lt;LV NAME&amp;gt;&lt;br /&gt;
 lvdisplay /dev/&amp;lt;VG NAME&amp;gt;/&amp;lt;LV NAME&amp;gt;&lt;br /&gt;
 lvscan&lt;br /&gt;
&lt;br /&gt;
8. Create a File System&lt;br /&gt;
 mkfs.ext4 &amp;lt;options&amp;gt; /dev/&amp;lt;VG NAME&amp;gt;/&amp;lt;LV NAME&amp;gt;&lt;br /&gt;
 example: mkfs.ext4 /dev/soft2/soft_lv&lt;br /&gt;
&lt;br /&gt;
9. Make the directory:&lt;br /&gt;
 mkdir &amp;lt;somewhere&amp;gt;&lt;br /&gt;
 example: mkdir /export/soft2&lt;br /&gt;
&lt;br /&gt;
10. Mount permanently:&lt;br /&gt;
 vim /etc/fstab&lt;br /&gt;
 /dev/&amp;lt;VG NAME&amp;gt;/&amp;lt;LV NAME&amp;gt;      &amp;lt;somewhere&amp;gt;       &amp;lt;type of file system&amp;gt;      &amp;lt;mount options&amp;gt;      &amp;lt;dump&amp;gt;         &amp;lt;fsck&amp;gt;&lt;br /&gt;
 example:&lt;br /&gt;
 /dev/soft2/soft_lv	/export/soft2	ext4	defaults	1	2&lt;br /&gt;
&lt;br /&gt;
11. Lastly, mount all&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
== RAID0 with LVM (Stripe) ==&lt;br /&gt;
&lt;br /&gt;
#pvscan&lt;br /&gt;
&lt;br /&gt;
== RAID1 with LVM on fresh drives ==&lt;br /&gt;
1. Check which disk will act as the mirror&lt;br /&gt;
 fdisk -l&lt;br /&gt;
&lt;br /&gt;
2. Create physical volumes of the drives&lt;br /&gt;
 pvcreate &amp;lt;disk&amp;gt; &amp;lt;disk&amp;gt; &amp;lt;disk&amp;gt;&lt;br /&gt;
 example: pvcreate /dev/sdz /dev/sdaa&lt;br /&gt;
&lt;br /&gt;
3. Create a volume group for these drives&lt;br /&gt;
 vgcreate &amp;lt;name&amp;gt; &amp;lt;disk1&amp;gt; &amp;lt;disk2&amp;gt;&lt;br /&gt;
 example: vgcreate local2 /dev/sdz /dev/sdaa&lt;br /&gt;
&lt;br /&gt;
4. Create a logical volume with &amp;quot;-m1&amp;quot; flag to say mirror/raid1 &lt;br /&gt;
 lvcreate -l &amp;lt;how much of disk to use in percent&amp;gt; -m1 -n &amp;lt;name&amp;gt; &amp;lt;volume_group&amp;gt;&lt;br /&gt;
 example: lvcreate -l 100%FREE -m1 -n local2_lv local2&lt;br /&gt;
&lt;br /&gt;
5. Mount permanently:&lt;br /&gt;
 vim /etc/fstab&lt;br /&gt;
 /dev/&amp;lt;VG NAME&amp;gt;/&amp;lt;LV NAME&amp;gt;      &amp;lt;somewhere&amp;gt;       &amp;lt;type of file system&amp;gt;      &amp;lt;mount options&amp;gt;      &amp;lt;dump&amp;gt;         &amp;lt;fsck&amp;gt;&lt;br /&gt;
 example:&lt;br /&gt;
 /dev/local2/local2_lv   /local2         ext4    defaults        1       2&lt;br /&gt;
&lt;br /&gt;
6. Lastly, mount all&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
== RAID1 with LVM on an existing used logical volume ==&lt;br /&gt;
&#039;&#039;&#039;Before starting, make sure that the disk that will mirror data is the same size or bigger than the drive being mirrored.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Check if the volume has free space for lvm logs. Mirror will fail if no free space available.&lt;br /&gt;
 pvscan&lt;br /&gt;
 example output:&lt;br /&gt;
  PV /dev/sda2   VG centos          lvm2 [&amp;lt;222.57 GiB / 0    free]&lt;br /&gt;
  PV /dev/sdb1   VG centos          lvm2 [&amp;lt;223.57 GiB / 0    free]&lt;br /&gt;
  PV /dev/sdd1   VG local2          lvm2 [&amp;lt;7.28 TiB / &amp;lt;5.03 GiB free]&lt;br /&gt;
If &#039;&#039;&#039; PV /dev/sdd1   VG local2          lvm2 [&amp;lt;7.28 TiB / 0 free] &#039;&#039;&#039; then do&lt;br /&gt;
 lvreduce -l -1 --resizefs /dev/&amp;lt;volume_group&amp;gt;/&amp;lt;logical_volume&amp;gt;&lt;br /&gt;
 example : lvreduce -l -1 --resizefs /dev/local2/zinc_lv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Check which disk will act as the mirror&lt;br /&gt;
 fdisk -l&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Extend the disk to volume group&lt;br /&gt;
 vgextend &amp;lt;volume_group&amp;gt; /dev/&amp;lt;disk&amp;gt;&lt;br /&gt;
 example: vgextend local2 /dev/sdc&lt;br /&gt;
To remove extension:&lt;br /&gt;
 vgreduce &amp;lt;volume_group&amp;gt; /dev/&amp;lt;disk&amp;gt;&lt;br /&gt;
 example: vgreduce local2 /dev/sdc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Convert current working logical volume to RAID1 and assign mirror&lt;br /&gt;
 lvconvert -m1 /dev/&amp;lt;volume_group&amp;gt;/&amp;lt;logical_volume&amp;gt; /dev/&amp;lt;disk&amp;gt;&lt;br /&gt;
 example: lvconvert -m1 /dev/local2/zinc_lv /dev/sdc&lt;br /&gt;
&lt;br /&gt;
5. It should say it was successful, to check syncing progress&lt;br /&gt;
 lvs -a -o +devices&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Using_LVM_To_Mount_Drives&amp;diff=17105</id>
		<title>Using LVM To Mount Drives</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Using_LVM_To_Mount_Drives&amp;diff=17105"/>
		<updated>2026-02-20T23:02:16Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Format Disk ==&lt;br /&gt;
Do these commands as root:&lt;br /&gt;
* fdisk -l&lt;br /&gt;
** Find disks/RAID disks to format&lt;br /&gt;
*parted&lt;br /&gt;
*print&lt;br /&gt;
*mklabel gpt&lt;br /&gt;
*mkpart logical 0GB 9995GB. (based on what we read in result of print above)&lt;br /&gt;
*print. (to confirm)&lt;br /&gt;
*quit&lt;br /&gt;
&lt;br /&gt;
== Mount storage disks using LVM ==&lt;br /&gt;
Reference guide: &#039;&#039;&#039;https://www.thegeekdiary.com/redhat-centos-a-beginners-guide-to-lvm-logical-volume-manager/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Scan devices to be used as physical volumes (PV)&lt;br /&gt;
 lvmdiskscan&lt;br /&gt;
&lt;br /&gt;
2. Initialize the block devices&lt;br /&gt;
 pvcreate &amp;lt;drive1&amp;gt; &amp;lt;drive2&amp;gt; &amp;lt;...&amp;gt; ...&lt;br /&gt;
 example: pvcreate /dev/sdb /dev/sdc /dev/sdd&lt;br /&gt;
&lt;br /&gt;
3. To double check PV&lt;br /&gt;
 pvdisplay&lt;br /&gt;
 pvscan&lt;br /&gt;
 pvs&lt;br /&gt;
&lt;br /&gt;
4. After PV, create a Volume Group (VG)&lt;br /&gt;
 vgcreate &amp;lt;name of volume&amp;gt; &amp;lt;drive1&amp;gt; &amp;lt;drive2&amp;gt; &amp;lt;...&amp;gt; ...&lt;br /&gt;
 example: vgcreate soft2 /dev/sdb /dev/sdc /dev/sdd&lt;br /&gt;
&lt;br /&gt;
5. To double check VG&lt;br /&gt;
 vgs &amp;lt;VG name&amp;gt;&lt;br /&gt;
 vgdisplay &amp;lt;VG name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6. After VG, create a Logical Volume (LV)&lt;br /&gt;
 lvcreate &amp;lt;options&amp;gt; &amp;lt;name of LV&amp;gt; &amp;lt;VG Name&amp;gt;&lt;br /&gt;
 example: lvcreate -l 100%FREE -n soft_lv soft2 &lt;br /&gt;
 &amp;quot;-l&amp;quot; is for storage space in percent, 100%FREE means use all space in VG&lt;br /&gt;
 &amp;quot;-n&amp;quot; is for name of LV&lt;br /&gt;
&lt;br /&gt;
7. Double Check LV&lt;br /&gt;
 lvs /dev/&amp;lt;VG NAME&amp;gt;/&amp;lt;LV NAME&amp;gt;&lt;br /&gt;
 lvdisplay /dev/&amp;lt;VG NAME&amp;gt;/&amp;lt;LV NAME&amp;gt;&lt;br /&gt;
 lvscan&lt;br /&gt;
&lt;br /&gt;
8. Create a File System&lt;br /&gt;
 mkfs.ext4 &amp;lt;options&amp;gt; /dev/&amp;lt;VG NAME&amp;gt;/&amp;lt;LV NAME&amp;gt;&lt;br /&gt;
 example: mkfs.ext4 /dev/soft2/soft_lv&lt;br /&gt;
&lt;br /&gt;
9. Make the directory:&lt;br /&gt;
 mkdir &amp;lt;somewhere&amp;gt;&lt;br /&gt;
 example: mkdir /export/soft2&lt;br /&gt;
&lt;br /&gt;
10. Mount permanently:&lt;br /&gt;
 vim /etc/fstab&lt;br /&gt;
 /dev/&amp;lt;VG NAME&amp;gt;/&amp;lt;LV NAME&amp;gt;      &amp;lt;somewhere&amp;gt;       &amp;lt;type of file system&amp;gt;      &amp;lt;mount options&amp;gt;      &amp;lt;dump&amp;gt;         &amp;lt;fsck&amp;gt;&lt;br /&gt;
 example:&lt;br /&gt;
 /dev/soft2/soft_lv	/export/soft2	ext4	defaults	1	2&lt;br /&gt;
&lt;br /&gt;
11. Lastly, mount all&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
== RAID1 with LVM on fresh drives ==&lt;br /&gt;
1. Check which disk will act as the mirror&lt;br /&gt;
 fdisk -l&lt;br /&gt;
&lt;br /&gt;
2. Create physical volumes of the drives&lt;br /&gt;
 pvcreate &amp;lt;disk&amp;gt; &amp;lt;disk&amp;gt; &amp;lt;disk&amp;gt;&lt;br /&gt;
 example: pvcreate /dev/sdz /dev/sdaa&lt;br /&gt;
&lt;br /&gt;
3. Create a volume group for these drives&lt;br /&gt;
 vgcreate &amp;lt;name&amp;gt; &amp;lt;disk1&amp;gt; &amp;lt;disk2&amp;gt;&lt;br /&gt;
 example: vgcreate local2 /dev/sdz /dev/sdaa&lt;br /&gt;
&lt;br /&gt;
4. Create a logical volume with &amp;quot;-m1&amp;quot; flag to say mirror/raid1 &lt;br /&gt;
 lvcreate -l &amp;lt;how much of disk to use in percent&amp;gt; -m1 -n &amp;lt;name&amp;gt; &amp;lt;volume_group&amp;gt;&lt;br /&gt;
 example: lvcreate -l 100%FREE -m1 -n local2_lv local2&lt;br /&gt;
&lt;br /&gt;
5. Mount permanently:&lt;br /&gt;
 vim /etc/fstab&lt;br /&gt;
 /dev/&amp;lt;VG NAME&amp;gt;/&amp;lt;LV NAME&amp;gt;      &amp;lt;somewhere&amp;gt;       &amp;lt;type of file system&amp;gt;      &amp;lt;mount options&amp;gt;      &amp;lt;dump&amp;gt;         &amp;lt;fsck&amp;gt;&lt;br /&gt;
 example:&lt;br /&gt;
 /dev/local2/local2_lv   /local2         ext4    defaults        1       2&lt;br /&gt;
&lt;br /&gt;
6. Lastly, mount all&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
== RAID0 with LVM (Stripe) ==&lt;br /&gt;
&lt;br /&gt;
#pvscan&lt;br /&gt;
&lt;br /&gt;
== RAID1 with LVM on an existing used logical volume ==&lt;br /&gt;
&#039;&#039;&#039;Before starting, make sure that the disk that will mirror data is the same size or bigger than the drive being mirrored.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Check if the volume has free space for lvm logs. Mirror will fail if no free space available.&lt;br /&gt;
 pvscan&lt;br /&gt;
 example output:&lt;br /&gt;
  PV /dev/sda2   VG centos          lvm2 [&amp;lt;222.57 GiB / 0    free]&lt;br /&gt;
  PV /dev/sdb1   VG centos          lvm2 [&amp;lt;223.57 GiB / 0    free]&lt;br /&gt;
  PV /dev/sdd1   VG local2          lvm2 [&amp;lt;7.28 TiB / &amp;lt;5.03 GiB free]&lt;br /&gt;
If &#039;&#039;&#039; PV /dev/sdd1   VG local2          lvm2 [&amp;lt;7.28 TiB / 0 free] &#039;&#039;&#039; then do&lt;br /&gt;
 lvreduce -l -1 --resizefs /dev/&amp;lt;volume_group&amp;gt;/&amp;lt;logical_volume&amp;gt;&lt;br /&gt;
 example : lvreduce -l -1 --resizefs /dev/local2/zinc_lv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Check which disk will act as the mirror&lt;br /&gt;
 fdisk -l&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Extend the disk to volume group&lt;br /&gt;
 vgextend &amp;lt;volume_group&amp;gt; /dev/&amp;lt;disk&amp;gt;&lt;br /&gt;
 example: vgextend local2 /dev/sdc&lt;br /&gt;
To remove extension:&lt;br /&gt;
 vgreduce &amp;lt;volume_group&amp;gt; /dev/&amp;lt;disk&amp;gt;&lt;br /&gt;
 example: vgreduce local2 /dev/sdc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Convert current working logical volume to RAID1 and assign mirror&lt;br /&gt;
 lvconvert -m1 /dev/&amp;lt;volume_group&amp;gt;/&amp;lt;logical_volume&amp;gt; /dev/&amp;lt;disk&amp;gt;&lt;br /&gt;
 example: lvconvert -m1 /dev/local2/zinc_lv /dev/sdc&lt;br /&gt;
&lt;br /&gt;
5. It should say it was successful, to check syncing progress&lt;br /&gt;
 lvs -a -o +devices&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Using_LVM_To_Mount_Drives&amp;diff=17104</id>
		<title>Using LVM To Mount Drives</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Using_LVM_To_Mount_Drives&amp;diff=17104"/>
		<updated>2026-02-20T23:01:15Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: Jgutierrez6 moved page Format And Mount local2 to Using LVM To Mount Drives without leaving a redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Format Disk ==&lt;br /&gt;
Do these commands as root:&lt;br /&gt;
* fdisk -l&lt;br /&gt;
** Find disks/RAID disks to format&lt;br /&gt;
*parted&lt;br /&gt;
*print&lt;br /&gt;
*mklabel gpt&lt;br /&gt;
*mkpart logical 0GB 9995GB. (based on what we read in result of print above)&lt;br /&gt;
*print. (to confirm)&lt;br /&gt;
*quit&lt;br /&gt;
&lt;br /&gt;
== Mount storage disks using LVM ==&lt;br /&gt;
Reference guide: &#039;&#039;&#039;https://www.thegeekdiary.com/redhat-centos-a-beginners-guide-to-lvm-logical-volume-manager/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Scan devices to be used as physical volumes (PV)&lt;br /&gt;
 lvmdiskscan&lt;br /&gt;
&lt;br /&gt;
2. Initialize the block devices&lt;br /&gt;
 pvcreate &amp;lt;drive1&amp;gt; &amp;lt;drive2&amp;gt; &amp;lt;...&amp;gt; ...&lt;br /&gt;
 example: pvcreate /dev/sdb /dev/sdc /dev/sdd&lt;br /&gt;
&lt;br /&gt;
3. To double check PV&lt;br /&gt;
 pvdisplay&lt;br /&gt;
 pvscan&lt;br /&gt;
 pvs&lt;br /&gt;
&lt;br /&gt;
4. After PV, create a Volume Group (VG)&lt;br /&gt;
 vgcreate &amp;lt;name of volume&amp;gt; &amp;lt;drive1&amp;gt; &amp;lt;drive2&amp;gt; &amp;lt;...&amp;gt; ...&lt;br /&gt;
 example: vgcreate soft2 /dev/sdb /dev/sdc /dev/sdd&lt;br /&gt;
&lt;br /&gt;
5. To double check VG&lt;br /&gt;
 vgs &amp;lt;VG name&amp;gt;&lt;br /&gt;
 vgdisplay &amp;lt;VG name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6. After VG, create a Logical Volume (LV)&lt;br /&gt;
 lvcreate &amp;lt;options&amp;gt; &amp;lt;name of LV&amp;gt; &amp;lt;VG Name&amp;gt;&lt;br /&gt;
 example: lvcreate -l 100%FREE -n soft_lv soft2 &lt;br /&gt;
 &amp;quot;-l&amp;quot; is for storage space in percent, 100%FREE means use all space in VG&lt;br /&gt;
 &amp;quot;-n&amp;quot; is for name of LV&lt;br /&gt;
&lt;br /&gt;
7. Double Check LV&lt;br /&gt;
 lvs /dev/&amp;lt;VG NAME&amp;gt;/&amp;lt;LV NAME&amp;gt;&lt;br /&gt;
 lvdisplay /dev/&amp;lt;VG NAME&amp;gt;/&amp;lt;LV NAME&amp;gt;&lt;br /&gt;
 lvscan&lt;br /&gt;
&lt;br /&gt;
8. Create a File System&lt;br /&gt;
 mkfs.ext4 &amp;lt;options&amp;gt; /dev/&amp;lt;VG NAME&amp;gt;/&amp;lt;LV NAME&amp;gt;&lt;br /&gt;
 example: mkfs.ext4 /dev/soft2/soft_lv&lt;br /&gt;
&lt;br /&gt;
9. Make the directory:&lt;br /&gt;
 mkdir &amp;lt;somewhere&amp;gt;&lt;br /&gt;
 example: mkdir /export/soft2&lt;br /&gt;
&lt;br /&gt;
10. Mount permanently:&lt;br /&gt;
 vim /etc/fstab&lt;br /&gt;
 /dev/&amp;lt;VG NAME&amp;gt;/&amp;lt;LV NAME&amp;gt;      &amp;lt;somewhere&amp;gt;       &amp;lt;type of file system&amp;gt;      &amp;lt;mount options&amp;gt;      &amp;lt;dump&amp;gt;         &amp;lt;fsck&amp;gt;&lt;br /&gt;
 example:&lt;br /&gt;
 /dev/soft2/soft_lv	/export/soft2	ext4	defaults	1	2&lt;br /&gt;
&lt;br /&gt;
11. Lastly, mount all&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
== RAID1 with LVM on fresh drives ==&lt;br /&gt;
1. Check which disk will act as the mirror&lt;br /&gt;
 fdisk -l&lt;br /&gt;
&lt;br /&gt;
2. Create physical volumes of the drives&lt;br /&gt;
 pvcreate &amp;lt;disk&amp;gt; &amp;lt;disk&amp;gt; &amp;lt;disk&amp;gt;&lt;br /&gt;
 example: pvcreate /dev/sdz /dev/sdaa&lt;br /&gt;
&lt;br /&gt;
3. Create a volume group for these drives&lt;br /&gt;
 vgcreate &amp;lt;name&amp;gt; &amp;lt;disk1&amp;gt; &amp;lt;disk2&amp;gt;&lt;br /&gt;
 example: vgcreate local2 /dev/sdz /dev/sdaa&lt;br /&gt;
&lt;br /&gt;
4. Create a logical volume with &amp;quot;-m1&amp;quot; flag to say mirror/raid1 &lt;br /&gt;
 lvcreate -l &amp;lt;how much of disk to use in percent&amp;gt; -m1 -n &amp;lt;name&amp;gt; &amp;lt;volume_group&amp;gt;&lt;br /&gt;
 example: lvcreate -l 100%FREE -m1 -n local2_lv local2&lt;br /&gt;
&lt;br /&gt;
5. Mount permanently:&lt;br /&gt;
 vim /etc/fstab&lt;br /&gt;
 /dev/&amp;lt;VG NAME&amp;gt;/&amp;lt;LV NAME&amp;gt;      &amp;lt;somewhere&amp;gt;       &amp;lt;type of file system&amp;gt;      &amp;lt;mount options&amp;gt;      &amp;lt;dump&amp;gt;         &amp;lt;fsck&amp;gt;&lt;br /&gt;
 example:&lt;br /&gt;
 /dev/local2/local2_lv   /local2         ext4    defaults        1       2&lt;br /&gt;
&lt;br /&gt;
6. Lastly, mount all&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
== RAID1 with LVM on an existing used logical volume ==&lt;br /&gt;
&#039;&#039;&#039;Before starting, make sure that the disk that will mirror data is the same size or bigger than the drive being mirrored.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Check if the volume has free space for lvm logs. Mirror will fail if no free space available.&lt;br /&gt;
 pvscan&lt;br /&gt;
 example output:&lt;br /&gt;
  PV /dev/sda2   VG centos          lvm2 [&amp;lt;222.57 GiB / 0    free]&lt;br /&gt;
  PV /dev/sdb1   VG centos          lvm2 [&amp;lt;223.57 GiB / 0    free]&lt;br /&gt;
  PV /dev/sdd1   VG local2          lvm2 [&amp;lt;7.28 TiB / &amp;lt;5.03 GiB free]&lt;br /&gt;
If &#039;&#039;&#039; PV /dev/sdd1   VG local2          lvm2 [&amp;lt;7.28 TiB / 0 free] &#039;&#039;&#039; then do&lt;br /&gt;
 lvreduce -l -1 --resizefs /dev/&amp;lt;volume_group&amp;gt;/&amp;lt;logical_volume&amp;gt;&lt;br /&gt;
 example : lvreduce -l -1 --resizefs /dev/local2/zinc_lv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Check which disk will act as the mirror&lt;br /&gt;
 fdisk -l&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Extend the disk to volume group&lt;br /&gt;
 vgextend &amp;lt;volume_group&amp;gt; /dev/&amp;lt;disk&amp;gt;&lt;br /&gt;
 example: vgextend local2 /dev/sdc&lt;br /&gt;
To remove extension:&lt;br /&gt;
 vgreduce &amp;lt;volume_group&amp;gt; /dev/&amp;lt;disk&amp;gt;&lt;br /&gt;
 example: vgreduce local2 /dev/sdc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Convert current working logical volume to RAID1 and assign mirror&lt;br /&gt;
 lvconvert -m1 /dev/&amp;lt;volume_group&amp;gt;/&amp;lt;logical_volume&amp;gt; /dev/&amp;lt;disk&amp;gt;&lt;br /&gt;
 example: lvconvert -m1 /dev/local2/zinc_lv /dev/sdc&lt;br /&gt;
&lt;br /&gt;
5. It should say it was successful, to check syncing progress&lt;br /&gt;
 lvs -a -o +devices&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=17055</id>
		<title>Cluster 7</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=17055"/>
		<updated>2026-02-04T22:30:31Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
A cluster built on Rocky 9 linux distribution which is under the RHEL umbrella. &lt;br /&gt;
&lt;br /&gt;
== How to Request for Access ==&lt;br /&gt;
Contact a system administrator. &lt;br /&gt;
&lt;br /&gt;
== How to Login ==&lt;br /&gt;
#Remote&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@epsilon.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SLURM Nodes ==&lt;br /&gt;
*To list partitions&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
sinfo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To list all nodes and their information&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
sinfo -lNe&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==== CPU Servers ====&lt;br /&gt;
*cpu02 (128 Cores, 256 Threads, 1TB RAM)&lt;br /&gt;
&lt;br /&gt;
==== GPU Servers ====&lt;br /&gt;
*gpu01 (48 Cores, 96 Threads, 758GB RAM, 8 x RTX 2080 Ti)&lt;br /&gt;
&lt;br /&gt;
==== NFS Servers ====&lt;br /&gt;
*home01&lt;br /&gt;
*hdd02&lt;br /&gt;
&lt;br /&gt;
== Global Modules/Software ==&lt;br /&gt;
*To check the list of available modules&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
/* Long version */&lt;br /&gt;
module available &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
/* Short version */&lt;br /&gt;
ml av &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To load a module(s)&lt;br /&gt;
*: &amp;lt;source&amp;gt;&lt;br /&gt;
/* Single module */&lt;br /&gt;
module load dock &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml dock &lt;br /&gt;
&lt;br /&gt;
==================================&lt;br /&gt;
&lt;br /&gt;
/* Multi-module */&lt;br /&gt;
module load dock python/3.12, schrodinger&lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml dock python/3.12 schrodinger&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To list all loaded modules&lt;br /&gt;
*: &amp;lt;source&amp;gt;&lt;br /&gt;
module load&lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To unload a module&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
module unload &amp;lt;module&amp;gt;&lt;br /&gt;
/* OR */&lt;br /&gt;
ml unload &amp;lt;module&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To unload all modules&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
module purge &lt;br /&gt;
/* OR */&lt;br /&gt;
ml purge&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=17053</id>
		<title>Cluster 7</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=17053"/>
		<updated>2026-02-03T23:48:55Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
A cluster built on Rocky 9 linux distribution which is under the RHEL umbrella. &lt;br /&gt;
&lt;br /&gt;
== How to Request for Access ==&lt;br /&gt;
Contact a system administrator. &lt;br /&gt;
&lt;br /&gt;
== How to Login ==&lt;br /&gt;
#Remote&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@epsilon.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SLURM Nodes ==&lt;br /&gt;
*To list partitions&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
sinfo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To list all nodes and their information&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
sinfo -lNe&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==== CPU Servers ====&lt;br /&gt;
*cpu02 (128 Cores, 256 Threads, 1TB RAM)&lt;br /&gt;
&lt;br /&gt;
==== GPU Servers ====&lt;br /&gt;
*gpu01 (48 Cores, 96 Threads, 758TB RAM, 8 x RTX 2080 Ti)&lt;br /&gt;
&lt;br /&gt;
==== NFS Servers ====&lt;br /&gt;
*home01&lt;br /&gt;
*hdd02&lt;br /&gt;
&lt;br /&gt;
== Global Modules/Software ==&lt;br /&gt;
*To check the list of available modules&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
/* Long version */&lt;br /&gt;
module available &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
/* Short version */&lt;br /&gt;
ml av &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To load a module(s)&lt;br /&gt;
*: &amp;lt;source&amp;gt;&lt;br /&gt;
/* Single module */&lt;br /&gt;
module load dock &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml dock &lt;br /&gt;
&lt;br /&gt;
==================================&lt;br /&gt;
&lt;br /&gt;
/* Multi-module */&lt;br /&gt;
module load dock python/3.12, schrodinger&lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml dock python/3.12 schrodinger&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To list all loaded modules&lt;br /&gt;
*: &amp;lt;source&amp;gt;&lt;br /&gt;
module load&lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To unload a module&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
module unload &amp;lt;module&amp;gt;&lt;br /&gt;
/* OR */&lt;br /&gt;
ml unload &amp;lt;module&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To unload all modules&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
module purge &lt;br /&gt;
/* OR */&lt;br /&gt;
ml purge&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=SmallWorld_Documentation_for_Future_Developer&amp;diff=17052</id>
		<title>SmallWorld Documentation for Future Developer</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=SmallWorld_Documentation_for_Future_Developer&amp;diff=17052"/>
		<updated>2026-02-03T22:46:17Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: /* Update Smallworld Start Script */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
[https://www.nextmovesoftware.com/downloads/smallworld/documentation/SmallWorld.pdf Here is the link to Smallworld&#039;s manual]&lt;br /&gt;
* Username: ucsf@nextmovesoftware.com&lt;br /&gt;
* Password: &amp;lt;Ask jjiteam@googlegroups.com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All smallworld databases live in abacus&#039; db3.&lt;br /&gt;
&lt;br /&gt;
Smallworld frontend files are consolidated and located at &#039;&#039;&#039;/export/db3/smallworld_extract/.extract&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Execute command &#039;&#039;&#039;start_smallworld&#039;&#039;&#039; to see options on which smallworld instance to start/restart.&lt;br /&gt;
&lt;br /&gt;
= How to Download Smallworld =&lt;br /&gt;
# Ssh to abacus and become root. Prepare directory&lt;br /&gt;
#: &amp;lt;source&amp;gt; mkdir /opt/nextmove/smallworld-&amp;lt;version&amp;gt; &amp;amp;&amp;amp; cd /opt/nextmove/smallworld-&amp;lt;version&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
# [https://www.nextmovesoftware.com/downloads/smallworld/ Download Software with this link]&lt;br /&gt;
#* Username: ucsf@nextmovesoftware.com&lt;br /&gt;
#* Password: &amp;lt;Ask jjiteam@googlegroups.com&amp;gt;&lt;br /&gt;
# Go to releases. Look for &#039;&#039;&#039; smallworld-java-&amp;lt;version&amp;gt;.tar.gz &#039;&#039;&#039; and copy the link address.&lt;br /&gt;
# Download using wget&lt;br /&gt;
#: &amp;lt;source&amp;gt; wget --user ucsf@nextmovesoftware.com --password &amp;lt;Ask jjiteam@googlegroups.com&amp;gt; &amp;lt;link address&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
# Decompress the file&lt;br /&gt;
#* &amp;lt;source&amp;gt; tar -xvf &amp;lt;file_name&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= How to Launch Smallworld For The First Time =&lt;br /&gt;
== Prepare Files and Directories ==&lt;br /&gt;
# Ssh to abacus and become root&lt;br /&gt;
# Open a port in the firewall&lt;br /&gt;
#: &amp;lt;source&amp;gt;firewall-cmd --permanent --add-port=&amp;lt;port_number&amp;gt;/tcp &lt;br /&gt;
firewall-cmd --reload&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
# Go to smallworld databases directory&lt;br /&gt;
#: &amp;lt;source&amp;gt;cd /export/db3/&amp;lt;/source&amp;gt;&lt;br /&gt;
# Create a Smallworld directory and go to it&lt;br /&gt;
#: &amp;lt;source&amp;gt;mkdir &amp;lt;smallworld_dir&amp;gt; &amp;amp;&amp;amp; cd &amp;lt;smallworld_dir&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
# Inside that directory, create these&lt;br /&gt;
#* a symbolic link to the smallworld anon map&lt;br /&gt;
#: &amp;lt;source&amp;gt;ln -s /export/db2/smallworld_anon_21Q4 anon&amp;lt;/source&amp;gt;&lt;br /&gt;
#* a sub-directory called maps to store databases&lt;br /&gt;
#: &amp;lt;source&amp;gt;mkdir maps&amp;lt;/source&amp;gt;&lt;br /&gt;
#* a smallworld config file&lt;br /&gt;
#: &amp;lt;source&amp;gt;vim smallworld.cfg&amp;lt;/source&amp;gt;&lt;br /&gt;
#* Add this block of code inside the config file&lt;br /&gt;
#: &amp;lt;source&amp;gt;&lt;br /&gt;
[WebApp]&lt;br /&gt;
DepictionUrl=./depict/svg?w=%w&amp;amp;h=%h&amp;amp;smi=%s&amp;amp;qry=%q&amp;amp;cols=%c&amp;amp;cmap=%m&lt;br /&gt;
ResolverUrl=./util/smi2mol?smi=%s&lt;br /&gt;
SearchTimeOut=5000&lt;br /&gt;
SearchAsYouDraw=true&lt;br /&gt;
[Score]&lt;br /&gt;
Name=Atom Alignment&lt;br /&gt;
Description=Aligns and scores each hit relative to the query atom types, differences are categorised as MAJ, MIN, HYB, SUB &lt;br /&gt;
Class=com.nmsoftware.smallworld.score.SimpleAtomAlignment &lt;br /&gt;
EnabledByDefault=false&lt;br /&gt;
MappingMode=EditMap&lt;br /&gt;
[Score]&lt;br /&gt;
Name=SMARTS Alignment&lt;br /&gt;
Description=Treat input as SMARTS and align and score each hit relative to the query atom expressions in the input &lt;br /&gt;
Class=com.nmsoftware.smallworld.score.SmartsAtomAlignment &lt;br /&gt;
EnabledByDefault=false&lt;br /&gt;
[Score]&lt;br /&gt;
Name=ECFP4&lt;br /&gt;
Description=Extended Connectivity Circular Fingerprint&lt;br /&gt;
Class=com.nmsoftware.smallworld.score.EcfpTanimoto&lt;br /&gt;
Radius=2&lt;br /&gt;
EnabledByDefault=true&lt;br /&gt;
[Score]&lt;br /&gt;
Name=Daylight&lt;br /&gt;
Description=Path based fingerprint&lt;br /&gt;
Class=com.nmsoftware.smallworld.score.DaylightTanimoto&lt;br /&gt;
EnabledByDefault=true&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#* &#039;&#039;&#039;SearchTimeOut&#039;&#039;&#039; should be the only option you&#039;ll change in the future. It caps search time to lessen strain on machine.&lt;br /&gt;
#Place any *.anon.maps you&#039;ve already compiled for testing into the maps sub-directory.&lt;br /&gt;
== Start Smallworld Instance ==&lt;br /&gt;
# Create a screen&lt;br /&gt;
#: &amp;lt;source&amp;gt;screen -S &amp;lt;screen_name&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
# Export the smallworld directory you&#039;ve made&lt;br /&gt;
#: &amp;lt;source&amp;gt;export SWDIR=/export/db5/&amp;lt;smallworld_dir&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
# Launch java&lt;br /&gt;
#: &amp;lt;source&amp;gt;java -jar -Dserver.port=9999 sw_source/smallworld-&amp;lt;version&amp;gt;/sw-ws-&amp;lt;version&amp;gt;.war&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= How to Build Smallworld Maps/Databases =&lt;br /&gt;
Consolidate smiles into &#039;&#039;&#039;/export/db3/temp_mapping&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Use the script located in that directory called &#039;&#039;&#039;smallworld_map_script&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Here is the content of the script:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
setenv SWDIR /export/db3/public_smallworld_4th_gen/&lt;br /&gt;
&lt;br /&gt;
alias sw &#039;time java -jar /opt/nextmove/smallworld-5.1/sw.jar&#039;&lt;br /&gt;
&lt;br /&gt;
set target = &#039;*.smi&#039;&lt;br /&gt;
&lt;br /&gt;
foreach i ($target)&lt;br /&gt;
	echo &#039;(sw map&#039; $i &#039;-T tmp/ -o &#039;${i}&#039;.anon.map -u &#039;${i}&#039;.anon.unmapped) |&amp;amp; tee &#039;${i}&#039;_log&#039;&lt;br /&gt;
	(sw map $i -T tmp/ -o ${i}.anon.map -u ${i}.anon.unmapped) |&amp;amp; tee ${i}_log&lt;br /&gt;
	echo &#039;sw blm -p 0.01 &#039;${i}&#039;.anon.map&#039;&lt;br /&gt;
	sw blm -p 0.01 ${i}.anon.map&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Command Details ==&lt;br /&gt;
&#039;&#039;&#039;setenv&#039;&#039;&#039; sets the environment where the anon master map is&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;java -jar /opt/nextmove/smallworld-5.1/sw.jar&#039;&#039;&#039; shortened to &#039;&#039;&#039;sw&#039;&#039;&#039; via alias&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;map&#039;&#039;&#039; will map the smiles based on the current anon master map.&lt;br /&gt;
*&#039;&#039;&#039;-T&#039;&#039;&#039; stores temp files so /tmp does not get overloaded&lt;br /&gt;
*&#039;&#039;&#039;-o&#039;&#039;&#039; output with custom name you like&lt;br /&gt;
*&#039;&#039;&#039;-u&#039;&#039;&#039; will collect the unmapped molecules to send to Nextmove or to use swextend&lt;br /&gt;
&#039;&#039;&#039;tee&#039;&#039;&#039; will log the progress of the process&lt;br /&gt;
&lt;br /&gt;
== Splitting Databases ==&lt;br /&gt;
[[http://wiki.docking.org/index.php/Creating_Maps_on_SmallWorld| Follow this page if John has asked you to split the database into smaller slices.]]&lt;br /&gt;
&lt;br /&gt;
= Active Smallworld Instances =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Caption text&lt;br /&gt;
|-&lt;br /&gt;
! Type !! URL !! Machine:Port !! Directory&lt;br /&gt;
|-&lt;br /&gt;
| Public || http://sw.docking.org/ || 10.20.0.5:5020 || /nfs/db3/public_smallworld_4th_gen&lt;br /&gt;
|-&lt;br /&gt;
| Private || http://swp.docking.org/ || 10.20.0.5:8080 || /nfs/db3/private_smallworld_4th_gen&lt;br /&gt;
|-&lt;br /&gt;
| Super Private || http://swc.docking.org/ || 10.20.0.5:5099 || /nfs/db3/super_private_smallworld_4th_gen&lt;br /&gt;
|-&lt;br /&gt;
| SWBB || http://swbb.docking.org/ || 10.20.0.5:8081 || /nfs/db3/swbb_5th_gen&lt;br /&gt;
|-&lt;br /&gt;
| SWCC || http://swcc.docking.org/ || 10.20.0.5:8082 || /nfs/db3/swcc_5th_gen&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Customize Smallworld FrontEnd To Our Needs (Smallworld 5.5) =&lt;br /&gt;
&#039;&#039;&#039;These instructions only worked and compiled for me in the machine called epyc which is running Rocky 8 Linux operating system.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Summary of changes in swsearch.js:&lt;br /&gt;
* Conditional hyperlinks attached to smallworld hits. Leads to zinc20, cartblanche22, or nothing.&lt;br /&gt;
* Adding clipboard icon to copy SMILES of hits.&lt;br /&gt;
&lt;br /&gt;
Summary of changes in search.html:&lt;br /&gt;
* Add &#039;Ask Questions&#039; and contact info&lt;br /&gt;
* Add &#039;Database Information&#039; hyperlink&lt;br /&gt;
* Pre-toggle Advanced Option&lt;br /&gt;
&lt;br /&gt;
Summary of changes in smallworld-swagger.yaml:&lt;br /&gt;
* Change API route to be just &amp;quot;/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Install Prerequisite Packages ==&lt;br /&gt;
# Install Apache Maven&lt;br /&gt;
#* &amp;lt;source&amp;gt;dnf install maven -y&amp;lt;/source&amp;gt;&lt;br /&gt;
# In your home directory, create a new directory to hold the files for the upcoming procedures&lt;br /&gt;
#* &amp;lt;source&amp;gt;mkdir /mnt/nfs/home/jjg/smallworld_build_from_source&amp;lt;/source&amp;gt;&lt;br /&gt;
# Download these latest Smallworlds and store them in &#039;smallworld_build_from_source/&#039;. [[SmallWorld_Documentation_for_Future_Developer#How_to_Download_Smallworld|Here&#039;s how to download Smallworld.]]&lt;br /&gt;
#* smallworld-java-5.5.tar.gz&lt;br /&gt;
#* smallworld-java-src-5.5.tar.gz&lt;br /&gt;
# Extract contents from the tar.gz files&lt;br /&gt;
#* &amp;lt;source&amp;gt;tar -xvf smallworld-java-5.5.tar.gz&lt;br /&gt;
tar -xvf smallworld-java-src-5.5.tar.gz&amp;lt;/source&amp;gt;&lt;br /&gt;
# Install Apache Maven Smallworld Dependencies&lt;br /&gt;
#* &amp;lt;source&amp;gt;&lt;br /&gt;
cd /mnt/nfs/home/jjg/smallworld_build_from_source/smallworld-java/lib/&lt;br /&gt;
bash mvn-install.sh&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Customizing swsearch.js ==&lt;br /&gt;
Location: /mnt/nfs/home/jjg/smallworld_build_from_source/smallworld-java-src/web/src/main/webapp/WEB-INF/static/js/swsearch.js&lt;br /&gt;
&lt;br /&gt;
=== Conditional Hyperlinks ===&lt;br /&gt;
# vim /mnt/nfs/home/jjg/smallworld_build_from_source/smallworld-java-src/web/src/main/webapp/WEB-INF/static/js/swsearch.js&lt;br /&gt;
# Search for this&lt;br /&gt;
#* &amp;lt;source&amp;gt;?div.append(&amp;quot;&amp;lt;b&amp;gt;&amp;quot; + id + &amp;quot;&amp;lt;/b&amp;gt;&amp;quot;);&amp;lt;/source&amp;gt; &lt;br /&gt;
# Replace the inside of the else statement with these lines of code&lt;br /&gt;
#* &amp;lt;source&amp;gt;&lt;br /&gt;
                if (id.substring(0,6) == &amp;quot;ZINC00&amp;quot;) {&lt;br /&gt;
                        div.append(&amp;quot;&amp;lt;b&amp;gt;&amp;lt;a target=&#039;_blank&#039; href=&#039;https://zinc20.docking.org/substances/&amp;quot;+id+&amp;quot;&#039;&amp;gt;&amp;quot; + id + &amp;quot;&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;&amp;quot;);&lt;br /&gt;
                } else if(id.substring(0,4) == &amp;quot;ZINC&amp;quot; &amp;amp;&amp;amp; id.substring(4,6) != &amp;quot;00&amp;quot;) {&lt;br /&gt;
                        div.append(&amp;quot;&amp;lt;b&amp;gt;&amp;lt;a target=&#039;_blank&#039; href=&#039;https://cartblanche22.docking.org/substance/&amp;quot;+id+&amp;quot;&#039;&amp;gt;&amp;quot; + id + &amp;quot;&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;&amp;quot;);&lt;br /&gt;
                } else {&lt;br /&gt;
                        div.append(&amp;quot;&amp;lt;b&amp;gt;&amp;quot; + id + &amp;quot;&amp;lt;/b&amp;gt;&amp;quot;);&lt;br /&gt;
                }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Copy SMILES of Hits ===&lt;br /&gt;
# Search for this&lt;br /&gt;
#: &amp;lt;source&amp;gt;?var $props&amp;lt;/source&amp;gt;&lt;br /&gt;
# Add this line at the end of the appends&lt;br /&gt;
#: &amp;lt;source&amp;gt;&lt;br /&gt;
                               .append(&#039;&amp;lt;br/&amp;gt;&amp;lt;b&amp;gt;Copy SMILES: &amp;lt;/b&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot; onclick=&amp;quot;copySmiles(\&#039;&#039; + get_smiles_parts(data.hitSmiles)[0] + &#039;\&#039;);&amp;quot; &amp;gt;&amp;lt;i class=&amp;quot;fa fa-clipboard&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/a&amp;gt;&#039;);&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
# It should look like this&lt;br /&gt;
#: &amp;lt;source&amp;gt;&lt;br /&gt;
        var $props = $(&#039;&amp;lt;div&amp;gt;&#039;).append(&#039;&amp;lt;b&amp;gt;SWIDX:&amp;lt;/b&amp;gt; &#039; + data.anonIdx)&lt;br /&gt;
                               .append(&#039;&amp;lt;br/&amp;gt;&amp;lt;b&amp;gt;MW:&amp;lt;/b&amp;gt; &#039; + data.mw)&lt;br /&gt;
                               .append(&#039;&amp;lt;br/&amp;gt;&amp;lt;b&amp;gt;MF:&amp;lt;/b&amp;gt; &#039; + data.mf)&lt;br /&gt;
                               .append(&#039;&amp;lt;br/&amp;gt;&amp;lt;b&amp;gt;Copy SMILES: &amp;lt;/b&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot; onclick=&amp;quot;copySmiles(\&#039;&#039; + get_smiles_parts(data.hitSmiles)[0] + &#039;\&#039;);&amp;quot; &amp;gt;&amp;lt;i class=&amp;quot;fa fa-clipboard&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/a&amp;gt;&#039;);&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
# Then add this function anywhere except inside another function&#039;s scope&lt;br /&gt;
#: &amp;lt;source&amp;gt;&lt;br /&gt;
function copySmiles(smiles) {&lt;br /&gt;
        navigator.clipboard.writeText(smiles);&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Customizing search.html ==&lt;br /&gt;
Location: /mnt/nfs/home/jjg/smallworld_build_from_source/smallworld-java-src/web/src/main/webapp/WEB-INF/static/search.html&lt;br /&gt;
&lt;br /&gt;
=== Add &#039;Ask Questions&#039; and &#039;Database Information&#039; ===&lt;br /&gt;
# vim /mnt/nfs/home/jjg/smallworld_build_from_source/smallworld-java-src/web/src/main/webapp/WEB-INF/static/search.html&lt;br /&gt;
# Search &#039;Scoring Methods&#039;&lt;br /&gt;
#: &amp;lt;source&amp;gt;?Scoring Methods&amp;lt;/source&amp;gt;&lt;br /&gt;
# At the end of that big block of &#039;div&#039;, add these:&lt;br /&gt;
#: &amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;section-head&amp;quot;&amp;gt;&lt;br /&gt;
        Ask Questions&lt;br /&gt;
        &amp;lt;table class=&amp;quot;swopt searchasyoudraw&amp;quot; style=&amp;quot;width: 100%&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;th style=&amp;quot;text-align: left&amp;quot;&amp;gt;Email us: jjiteam@googlegroups.com&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;section-head&amp;quot;&amp;gt;&lt;br /&gt;
        Database Descriptions&lt;br /&gt;
        &amp;lt;table class=&amp;quot;swopt searchasyoudraw&amp;quot; style=&amp;quot;width: 100%&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;th style=&amp;quot;text-align: left&amp;quot;&amp;gt;&lt;br /&gt;
                       &amp;lt;a href=&amp;quot;https://wiki.docking.org/index.php/Smallworld_and_Arthor_Databases#Smallworld_Databases&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;Database Information Link&amp;lt;/a&amp;gt;&lt;br /&gt;
                &amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
# It should look like this&lt;br /&gt;
#: &amp;lt;source&amp;gt;&lt;br /&gt;
            &amp;lt;div class=&amp;quot;section-head&amp;quot;&amp;gt;&lt;br /&gt;
                Scoring Methods&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;table id=&amp;quot;swscore&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;section-head&amp;quot;&amp;gt;&lt;br /&gt;
                Ask Questions&lt;br /&gt;
                &amp;lt;table class=&amp;quot;swopt searchasyoudraw&amp;quot; style=&amp;quot;width: 100%&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;th style=&amp;quot;text-align: left&amp;quot;&amp;gt;Email us: jjiteam@googlegroups.com&amp;lt;/th&amp;gt;&lt;br /&gt;
                &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;section-head&amp;quot;&amp;gt;&lt;br /&gt;
                Database Descriptions&lt;br /&gt;
                &amp;lt;table class=&amp;quot;swopt searchasyoudraw&amp;quot; style=&amp;quot;width: 100%&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;th style=&amp;quot;text-align: left&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;a href=&amp;quot;https://wiki.docking.org/index.php/Smallworld_and_Arthor_Databases#Smallworld_Databases&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;Database Information Link&amp;lt;/a&amp;gt;&lt;br /&gt;
                        &amp;lt;/th&amp;gt;&lt;br /&gt;
                &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Pre-toggle Advanced Option ===&lt;br /&gt;
# Inside the script element, add this function&lt;br /&gt;
#: &amp;lt;source&amp;gt;&lt;br /&gt;
window.onload = function() {&lt;br /&gt;
        $(&#039;#advPanel&#039;).css(&#039;display&#039;, $(this).prop(&#039;checked&#039;, true) &amp;amp;&amp;amp; &#039;block&#039;); update_visible_columns();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
# Then search for &amp;quot;update_visible_columns&amp;quot; and scroll till you find the input checkbox element&lt;br /&gt;
#:&amp;lt;source&amp;gt;?update_visible_columns&amp;lt;/source&amp;gt;&lt;br /&gt;
# In the input box element, add the checked option. Should look like this&lt;br /&gt;
#:&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;input name=&amp;quot;optAdv&amp;quot; type=&amp;quot;checkbox&amp;quot;&lt;br /&gt;
                           onchange=&amp;quot;$(&#039;#advPanel&#039;).css(&#039;display&#039;, $(this).prop(&#039;checked&#039;) ? &#039;block&#039; : &#039;none&#039;); update_visible_columns();&amp;quot; checked&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Change API Route to &amp;quot;/&amp;quot; ===&lt;br /&gt;
# path smallworld-java-src/web/target/sw-ws-5.6.1/WEB-INF/static/swagger/smallworld-swagger.yaml&lt;br /&gt;
&lt;br /&gt;
== Compile Code To Make WAR File ==&lt;br /&gt;
#Build WAR File&lt;br /&gt;
#: &amp;lt;source&amp;gt;&lt;br /&gt;
cd /nfs/home/jjg/smallworld_build_from_source/smallworld-java-src&lt;br /&gt;
mvn install -Pbootable&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#If it works, then the new WAR File is located at &#039;&#039;&#039;/mnt/nfs/home/jjg/smallworld_build_from_source/smallworld-java-src/web/target/sw-ws-5.5.war&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Restarting Smallworld Instance(s) =&lt;br /&gt;
=== Old Way ===&lt;br /&gt;
# Ssh to abacus and become root&lt;br /&gt;
# execute &#039;&#039;&#039;run_sw_on_reboot.sh&#039;&#039;&#039; to show restart all instances on the machine&lt;br /&gt;
#: &amp;lt;source&amp;gt;&lt;br /&gt;
bash /root/run_arthors_on_reboot.sh&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
# execute &#039;&#039;&#039;start_smallworld&#039;&#039;&#039; to restart specific Smallworld instance. It will show you options to choose from.&lt;br /&gt;
#: &amp;lt;source&amp;gt;&lt;br /&gt;
start_smallworld&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== New Way ===&lt;br /&gt;
# Ssh to abacus and become root. Then run&lt;br /&gt;
#: &amp;lt;source&amp;gt;&lt;br /&gt;
systemctl &amp;lt;start|stop|restart&amp;gt; &amp;lt;sw|swp|swc|swbb|swcc&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Update Smallworld Start Script =&lt;br /&gt;
Become Root on abacus. The script that the daemon uses is located in &lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
/root/start_smallworld_service.sh&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Smallworld]]&lt;br /&gt;
[[Category:Developer]]&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=SmallWorld_Documentation_for_Future_Developer&amp;diff=17051</id>
		<title>SmallWorld Documentation for Future Developer</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=SmallWorld_Documentation_for_Future_Developer&amp;diff=17051"/>
		<updated>2026-02-03T22:45:50Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
[https://www.nextmovesoftware.com/downloads/smallworld/documentation/SmallWorld.pdf Here is the link to Smallworld&#039;s manual]&lt;br /&gt;
* Username: ucsf@nextmovesoftware.com&lt;br /&gt;
* Password: &amp;lt;Ask jjiteam@googlegroups.com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All smallworld databases live in abacus&#039; db3.&lt;br /&gt;
&lt;br /&gt;
Smallworld frontend files are consolidated and located at &#039;&#039;&#039;/export/db3/smallworld_extract/.extract&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Execute command &#039;&#039;&#039;start_smallworld&#039;&#039;&#039; to see options on which smallworld instance to start/restart.&lt;br /&gt;
&lt;br /&gt;
= How to Download Smallworld =&lt;br /&gt;
# Ssh to abacus and become root. Prepare directory&lt;br /&gt;
#: &amp;lt;source&amp;gt; mkdir /opt/nextmove/smallworld-&amp;lt;version&amp;gt; &amp;amp;&amp;amp; cd /opt/nextmove/smallworld-&amp;lt;version&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
# [https://www.nextmovesoftware.com/downloads/smallworld/ Download Software with this link]&lt;br /&gt;
#* Username: ucsf@nextmovesoftware.com&lt;br /&gt;
#* Password: &amp;lt;Ask jjiteam@googlegroups.com&amp;gt;&lt;br /&gt;
# Go to releases. Look for &#039;&#039;&#039; smallworld-java-&amp;lt;version&amp;gt;.tar.gz &#039;&#039;&#039; and copy the link address.&lt;br /&gt;
# Download using wget&lt;br /&gt;
#: &amp;lt;source&amp;gt; wget --user ucsf@nextmovesoftware.com --password &amp;lt;Ask jjiteam@googlegroups.com&amp;gt; &amp;lt;link address&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
# Decompress the file&lt;br /&gt;
#* &amp;lt;source&amp;gt; tar -xvf &amp;lt;file_name&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= How to Launch Smallworld For The First Time =&lt;br /&gt;
== Prepare Files and Directories ==&lt;br /&gt;
# Ssh to abacus and become root&lt;br /&gt;
# Open a port in the firewall&lt;br /&gt;
#: &amp;lt;source&amp;gt;firewall-cmd --permanent --add-port=&amp;lt;port_number&amp;gt;/tcp &lt;br /&gt;
firewall-cmd --reload&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
# Go to smallworld databases directory&lt;br /&gt;
#: &amp;lt;source&amp;gt;cd /export/db3/&amp;lt;/source&amp;gt;&lt;br /&gt;
# Create a Smallworld directory and go to it&lt;br /&gt;
#: &amp;lt;source&amp;gt;mkdir &amp;lt;smallworld_dir&amp;gt; &amp;amp;&amp;amp; cd &amp;lt;smallworld_dir&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
# Inside that directory, create these&lt;br /&gt;
#* a symbolic link to the smallworld anon map&lt;br /&gt;
#: &amp;lt;source&amp;gt;ln -s /export/db2/smallworld_anon_21Q4 anon&amp;lt;/source&amp;gt;&lt;br /&gt;
#* a sub-directory called maps to store databases&lt;br /&gt;
#: &amp;lt;source&amp;gt;mkdir maps&amp;lt;/source&amp;gt;&lt;br /&gt;
#* a smallworld config file&lt;br /&gt;
#: &amp;lt;source&amp;gt;vim smallworld.cfg&amp;lt;/source&amp;gt;&lt;br /&gt;
#* Add this block of code inside the config file&lt;br /&gt;
#: &amp;lt;source&amp;gt;&lt;br /&gt;
[WebApp]&lt;br /&gt;
DepictionUrl=./depict/svg?w=%w&amp;amp;h=%h&amp;amp;smi=%s&amp;amp;qry=%q&amp;amp;cols=%c&amp;amp;cmap=%m&lt;br /&gt;
ResolverUrl=./util/smi2mol?smi=%s&lt;br /&gt;
SearchTimeOut=5000&lt;br /&gt;
SearchAsYouDraw=true&lt;br /&gt;
[Score]&lt;br /&gt;
Name=Atom Alignment&lt;br /&gt;
Description=Aligns and scores each hit relative to the query atom types, differences are categorised as MAJ, MIN, HYB, SUB &lt;br /&gt;
Class=com.nmsoftware.smallworld.score.SimpleAtomAlignment &lt;br /&gt;
EnabledByDefault=false&lt;br /&gt;
MappingMode=EditMap&lt;br /&gt;
[Score]&lt;br /&gt;
Name=SMARTS Alignment&lt;br /&gt;
Description=Treat input as SMARTS and align and score each hit relative to the query atom expressions in the input &lt;br /&gt;
Class=com.nmsoftware.smallworld.score.SmartsAtomAlignment &lt;br /&gt;
EnabledByDefault=false&lt;br /&gt;
[Score]&lt;br /&gt;
Name=ECFP4&lt;br /&gt;
Description=Extended Connectivity Circular Fingerprint&lt;br /&gt;
Class=com.nmsoftware.smallworld.score.EcfpTanimoto&lt;br /&gt;
Radius=2&lt;br /&gt;
EnabledByDefault=true&lt;br /&gt;
[Score]&lt;br /&gt;
Name=Daylight&lt;br /&gt;
Description=Path based fingerprint&lt;br /&gt;
Class=com.nmsoftware.smallworld.score.DaylightTanimoto&lt;br /&gt;
EnabledByDefault=true&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#* &#039;&#039;&#039;SearchTimeOut&#039;&#039;&#039; should be the only option you&#039;ll change in the future. It caps search time to lessen strain on machine.&lt;br /&gt;
#Place any *.anon.maps you&#039;ve already compiled for testing into the maps sub-directory.&lt;br /&gt;
== Start Smallworld Instance ==&lt;br /&gt;
# Create a screen&lt;br /&gt;
#: &amp;lt;source&amp;gt;screen -S &amp;lt;screen_name&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
# Export the smallworld directory you&#039;ve made&lt;br /&gt;
#: &amp;lt;source&amp;gt;export SWDIR=/export/db5/&amp;lt;smallworld_dir&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
# Launch java&lt;br /&gt;
#: &amp;lt;source&amp;gt;java -jar -Dserver.port=9999 sw_source/smallworld-&amp;lt;version&amp;gt;/sw-ws-&amp;lt;version&amp;gt;.war&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= How to Build Smallworld Maps/Databases =&lt;br /&gt;
Consolidate smiles into &#039;&#039;&#039;/export/db3/temp_mapping&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Use the script located in that directory called &#039;&#039;&#039;smallworld_map_script&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Here is the content of the script:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
setenv SWDIR /export/db3/public_smallworld_4th_gen/&lt;br /&gt;
&lt;br /&gt;
alias sw &#039;time java -jar /opt/nextmove/smallworld-5.1/sw.jar&#039;&lt;br /&gt;
&lt;br /&gt;
set target = &#039;*.smi&#039;&lt;br /&gt;
&lt;br /&gt;
foreach i ($target)&lt;br /&gt;
	echo &#039;(sw map&#039; $i &#039;-T tmp/ -o &#039;${i}&#039;.anon.map -u &#039;${i}&#039;.anon.unmapped) |&amp;amp; tee &#039;${i}&#039;_log&#039;&lt;br /&gt;
	(sw map $i -T tmp/ -o ${i}.anon.map -u ${i}.anon.unmapped) |&amp;amp; tee ${i}_log&lt;br /&gt;
	echo &#039;sw blm -p 0.01 &#039;${i}&#039;.anon.map&#039;&lt;br /&gt;
	sw blm -p 0.01 ${i}.anon.map&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Command Details ==&lt;br /&gt;
&#039;&#039;&#039;setenv&#039;&#039;&#039; sets the environment where the anon master map is&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;java -jar /opt/nextmove/smallworld-5.1/sw.jar&#039;&#039;&#039; shortened to &#039;&#039;&#039;sw&#039;&#039;&#039; via alias&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;map&#039;&#039;&#039; will map the smiles based on the current anon master map.&lt;br /&gt;
*&#039;&#039;&#039;-T&#039;&#039;&#039; stores temp files so /tmp does not get overloaded&lt;br /&gt;
*&#039;&#039;&#039;-o&#039;&#039;&#039; output with custom name you like&lt;br /&gt;
*&#039;&#039;&#039;-u&#039;&#039;&#039; will collect the unmapped molecules to send to Nextmove or to use swextend&lt;br /&gt;
&#039;&#039;&#039;tee&#039;&#039;&#039; will log the progress of the process&lt;br /&gt;
&lt;br /&gt;
== Splitting Databases ==&lt;br /&gt;
[[http://wiki.docking.org/index.php/Creating_Maps_on_SmallWorld| Follow this page if John has asked you to split the database into smaller slices.]]&lt;br /&gt;
&lt;br /&gt;
= Active Smallworld Instances =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Caption text&lt;br /&gt;
|-&lt;br /&gt;
! Type !! URL !! Machine:Port !! Directory&lt;br /&gt;
|-&lt;br /&gt;
| Public || http://sw.docking.org/ || 10.20.0.5:5020 || /nfs/db3/public_smallworld_4th_gen&lt;br /&gt;
|-&lt;br /&gt;
| Private || http://swp.docking.org/ || 10.20.0.5:8080 || /nfs/db3/private_smallworld_4th_gen&lt;br /&gt;
|-&lt;br /&gt;
| Super Private || http://swc.docking.org/ || 10.20.0.5:5099 || /nfs/db3/super_private_smallworld_4th_gen&lt;br /&gt;
|-&lt;br /&gt;
| SWBB || http://swbb.docking.org/ || 10.20.0.5:8081 || /nfs/db3/swbb_5th_gen&lt;br /&gt;
|-&lt;br /&gt;
| SWCC || http://swcc.docking.org/ || 10.20.0.5:8082 || /nfs/db3/swcc_5th_gen&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Customize Smallworld FrontEnd To Our Needs (Smallworld 5.5) =&lt;br /&gt;
&#039;&#039;&#039;These instructions only worked and compiled for me in the machine called epyc which is running Rocky 8 Linux operating system.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Summary of changes in swsearch.js:&lt;br /&gt;
* Conditional hyperlinks attached to smallworld hits. Leads to zinc20, cartblanche22, or nothing.&lt;br /&gt;
* Adding clipboard icon to copy SMILES of hits.&lt;br /&gt;
&lt;br /&gt;
Summary of changes in search.html:&lt;br /&gt;
* Add &#039;Ask Questions&#039; and contact info&lt;br /&gt;
* Add &#039;Database Information&#039; hyperlink&lt;br /&gt;
* Pre-toggle Advanced Option&lt;br /&gt;
&lt;br /&gt;
Summary of changes in smallworld-swagger.yaml:&lt;br /&gt;
* Change API route to be just &amp;quot;/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Install Prerequisite Packages ==&lt;br /&gt;
# Install Apache Maven&lt;br /&gt;
#* &amp;lt;source&amp;gt;dnf install maven -y&amp;lt;/source&amp;gt;&lt;br /&gt;
# In your home directory, create a new directory to hold the files for the upcoming procedures&lt;br /&gt;
#* &amp;lt;source&amp;gt;mkdir /mnt/nfs/home/jjg/smallworld_build_from_source&amp;lt;/source&amp;gt;&lt;br /&gt;
# Download these latest Smallworlds and store them in &#039;smallworld_build_from_source/&#039;. [[SmallWorld_Documentation_for_Future_Developer#How_to_Download_Smallworld|Here&#039;s how to download Smallworld.]]&lt;br /&gt;
#* smallworld-java-5.5.tar.gz&lt;br /&gt;
#* smallworld-java-src-5.5.tar.gz&lt;br /&gt;
# Extract contents from the tar.gz files&lt;br /&gt;
#* &amp;lt;source&amp;gt;tar -xvf smallworld-java-5.5.tar.gz&lt;br /&gt;
tar -xvf smallworld-java-src-5.5.tar.gz&amp;lt;/source&amp;gt;&lt;br /&gt;
# Install Apache Maven Smallworld Dependencies&lt;br /&gt;
#* &amp;lt;source&amp;gt;&lt;br /&gt;
cd /mnt/nfs/home/jjg/smallworld_build_from_source/smallworld-java/lib/&lt;br /&gt;
bash mvn-install.sh&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Customizing swsearch.js ==&lt;br /&gt;
Location: /mnt/nfs/home/jjg/smallworld_build_from_source/smallworld-java-src/web/src/main/webapp/WEB-INF/static/js/swsearch.js&lt;br /&gt;
&lt;br /&gt;
=== Conditional Hyperlinks ===&lt;br /&gt;
# vim /mnt/nfs/home/jjg/smallworld_build_from_source/smallworld-java-src/web/src/main/webapp/WEB-INF/static/js/swsearch.js&lt;br /&gt;
# Search for this&lt;br /&gt;
#* &amp;lt;source&amp;gt;?div.append(&amp;quot;&amp;lt;b&amp;gt;&amp;quot; + id + &amp;quot;&amp;lt;/b&amp;gt;&amp;quot;);&amp;lt;/source&amp;gt; &lt;br /&gt;
# Replace the inside of the else statement with these lines of code&lt;br /&gt;
#* &amp;lt;source&amp;gt;&lt;br /&gt;
                if (id.substring(0,6) == &amp;quot;ZINC00&amp;quot;) {&lt;br /&gt;
                        div.append(&amp;quot;&amp;lt;b&amp;gt;&amp;lt;a target=&#039;_blank&#039; href=&#039;https://zinc20.docking.org/substances/&amp;quot;+id+&amp;quot;&#039;&amp;gt;&amp;quot; + id + &amp;quot;&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;&amp;quot;);&lt;br /&gt;
                } else if(id.substring(0,4) == &amp;quot;ZINC&amp;quot; &amp;amp;&amp;amp; id.substring(4,6) != &amp;quot;00&amp;quot;) {&lt;br /&gt;
                        div.append(&amp;quot;&amp;lt;b&amp;gt;&amp;lt;a target=&#039;_blank&#039; href=&#039;https://cartblanche22.docking.org/substance/&amp;quot;+id+&amp;quot;&#039;&amp;gt;&amp;quot; + id + &amp;quot;&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;&amp;quot;);&lt;br /&gt;
                } else {&lt;br /&gt;
                        div.append(&amp;quot;&amp;lt;b&amp;gt;&amp;quot; + id + &amp;quot;&amp;lt;/b&amp;gt;&amp;quot;);&lt;br /&gt;
                }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Copy SMILES of Hits ===&lt;br /&gt;
# Search for this&lt;br /&gt;
#: &amp;lt;source&amp;gt;?var $props&amp;lt;/source&amp;gt;&lt;br /&gt;
# Add this line at the end of the appends&lt;br /&gt;
#: &amp;lt;source&amp;gt;&lt;br /&gt;
                               .append(&#039;&amp;lt;br/&amp;gt;&amp;lt;b&amp;gt;Copy SMILES: &amp;lt;/b&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot; onclick=&amp;quot;copySmiles(\&#039;&#039; + get_smiles_parts(data.hitSmiles)[0] + &#039;\&#039;);&amp;quot; &amp;gt;&amp;lt;i class=&amp;quot;fa fa-clipboard&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/a&amp;gt;&#039;);&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
# It should look like this&lt;br /&gt;
#: &amp;lt;source&amp;gt;&lt;br /&gt;
        var $props = $(&#039;&amp;lt;div&amp;gt;&#039;).append(&#039;&amp;lt;b&amp;gt;SWIDX:&amp;lt;/b&amp;gt; &#039; + data.anonIdx)&lt;br /&gt;
                               .append(&#039;&amp;lt;br/&amp;gt;&amp;lt;b&amp;gt;MW:&amp;lt;/b&amp;gt; &#039; + data.mw)&lt;br /&gt;
                               .append(&#039;&amp;lt;br/&amp;gt;&amp;lt;b&amp;gt;MF:&amp;lt;/b&amp;gt; &#039; + data.mf)&lt;br /&gt;
                               .append(&#039;&amp;lt;br/&amp;gt;&amp;lt;b&amp;gt;Copy SMILES: &amp;lt;/b&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot; onclick=&amp;quot;copySmiles(\&#039;&#039; + get_smiles_parts(data.hitSmiles)[0] + &#039;\&#039;);&amp;quot; &amp;gt;&amp;lt;i class=&amp;quot;fa fa-clipboard&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/a&amp;gt;&#039;);&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
# Then add this function anywhere except inside another function&#039;s scope&lt;br /&gt;
#: &amp;lt;source&amp;gt;&lt;br /&gt;
function copySmiles(smiles) {&lt;br /&gt;
        navigator.clipboard.writeText(smiles);&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Customizing search.html ==&lt;br /&gt;
Location: /mnt/nfs/home/jjg/smallworld_build_from_source/smallworld-java-src/web/src/main/webapp/WEB-INF/static/search.html&lt;br /&gt;
&lt;br /&gt;
=== Add &#039;Ask Questions&#039; and &#039;Database Information&#039; ===&lt;br /&gt;
# vim /mnt/nfs/home/jjg/smallworld_build_from_source/smallworld-java-src/web/src/main/webapp/WEB-INF/static/search.html&lt;br /&gt;
# Search &#039;Scoring Methods&#039;&lt;br /&gt;
#: &amp;lt;source&amp;gt;?Scoring Methods&amp;lt;/source&amp;gt;&lt;br /&gt;
# At the end of that big block of &#039;div&#039;, add these:&lt;br /&gt;
#: &amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;section-head&amp;quot;&amp;gt;&lt;br /&gt;
        Ask Questions&lt;br /&gt;
        &amp;lt;table class=&amp;quot;swopt searchasyoudraw&amp;quot; style=&amp;quot;width: 100%&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;th style=&amp;quot;text-align: left&amp;quot;&amp;gt;Email us: jjiteam@googlegroups.com&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;section-head&amp;quot;&amp;gt;&lt;br /&gt;
        Database Descriptions&lt;br /&gt;
        &amp;lt;table class=&amp;quot;swopt searchasyoudraw&amp;quot; style=&amp;quot;width: 100%&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;th style=&amp;quot;text-align: left&amp;quot;&amp;gt;&lt;br /&gt;
                       &amp;lt;a href=&amp;quot;https://wiki.docking.org/index.php/Smallworld_and_Arthor_Databases#Smallworld_Databases&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;Database Information Link&amp;lt;/a&amp;gt;&lt;br /&gt;
                &amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
# It should look like this&lt;br /&gt;
#: &amp;lt;source&amp;gt;&lt;br /&gt;
            &amp;lt;div class=&amp;quot;section-head&amp;quot;&amp;gt;&lt;br /&gt;
                Scoring Methods&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;table id=&amp;quot;swscore&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;section-head&amp;quot;&amp;gt;&lt;br /&gt;
                Ask Questions&lt;br /&gt;
                &amp;lt;table class=&amp;quot;swopt searchasyoudraw&amp;quot; style=&amp;quot;width: 100%&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;th style=&amp;quot;text-align: left&amp;quot;&amp;gt;Email us: jjiteam@googlegroups.com&amp;lt;/th&amp;gt;&lt;br /&gt;
                &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;section-head&amp;quot;&amp;gt;&lt;br /&gt;
                Database Descriptions&lt;br /&gt;
                &amp;lt;table class=&amp;quot;swopt searchasyoudraw&amp;quot; style=&amp;quot;width: 100%&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;th style=&amp;quot;text-align: left&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;a href=&amp;quot;https://wiki.docking.org/index.php/Smallworld_and_Arthor_Databases#Smallworld_Databases&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;Database Information Link&amp;lt;/a&amp;gt;&lt;br /&gt;
                        &amp;lt;/th&amp;gt;&lt;br /&gt;
                &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Pre-toggle Advanced Option ===&lt;br /&gt;
# Inside the script element, add this function&lt;br /&gt;
#: &amp;lt;source&amp;gt;&lt;br /&gt;
window.onload = function() {&lt;br /&gt;
        $(&#039;#advPanel&#039;).css(&#039;display&#039;, $(this).prop(&#039;checked&#039;, true) &amp;amp;&amp;amp; &#039;block&#039;); update_visible_columns();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
# Then search for &amp;quot;update_visible_columns&amp;quot; and scroll till you find the input checkbox element&lt;br /&gt;
#:&amp;lt;source&amp;gt;?update_visible_columns&amp;lt;/source&amp;gt;&lt;br /&gt;
# In the input box element, add the checked option. Should look like this&lt;br /&gt;
#:&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;input name=&amp;quot;optAdv&amp;quot; type=&amp;quot;checkbox&amp;quot;&lt;br /&gt;
                           onchange=&amp;quot;$(&#039;#advPanel&#039;).css(&#039;display&#039;, $(this).prop(&#039;checked&#039;) ? &#039;block&#039; : &#039;none&#039;); update_visible_columns();&amp;quot; checked&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Change API Route to &amp;quot;/&amp;quot; ===&lt;br /&gt;
# path smallworld-java-src/web/target/sw-ws-5.6.1/WEB-INF/static/swagger/smallworld-swagger.yaml&lt;br /&gt;
&lt;br /&gt;
== Compile Code To Make WAR File ==&lt;br /&gt;
#Build WAR File&lt;br /&gt;
#: &amp;lt;source&amp;gt;&lt;br /&gt;
cd /nfs/home/jjg/smallworld_build_from_source/smallworld-java-src&lt;br /&gt;
mvn install -Pbootable&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#If it works, then the new WAR File is located at &#039;&#039;&#039;/mnt/nfs/home/jjg/smallworld_build_from_source/smallworld-java-src/web/target/sw-ws-5.5.war&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Restarting Smallworld Instance(s) =&lt;br /&gt;
=== Old Way ===&lt;br /&gt;
# Ssh to abacus and become root&lt;br /&gt;
# execute &#039;&#039;&#039;run_sw_on_reboot.sh&#039;&#039;&#039; to show restart all instances on the machine&lt;br /&gt;
#: &amp;lt;source&amp;gt;&lt;br /&gt;
bash /root/run_arthors_on_reboot.sh&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
# execute &#039;&#039;&#039;start_smallworld&#039;&#039;&#039; to restart specific Smallworld instance. It will show you options to choose from.&lt;br /&gt;
#: &amp;lt;source&amp;gt;&lt;br /&gt;
start_smallworld&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== New Way ===&lt;br /&gt;
# Ssh to abacus and become root. Then run&lt;br /&gt;
#: &amp;lt;source&amp;gt;&lt;br /&gt;
systemctl &amp;lt;start|stop|restart&amp;gt; &amp;lt;sw|swp|swc|swbb|swcc&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Update Smallworld Start Script =&lt;br /&gt;
Become Root on abacus. The script that the daemon uses is located in ```/root/start_smallworld_service.sh```.&lt;br /&gt;
&lt;br /&gt;
[[Category:Smallworld]]&lt;br /&gt;
[[Category:Developer]]&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=17050</id>
		<title>Cluster 7</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=17050"/>
		<updated>2026-02-03T20:54:31Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: /* SLURM Nodes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
A cluster built on Rocky 9 linux distribution which is under the RHEL umbrella. &lt;br /&gt;
&lt;br /&gt;
== How to Request for Access ==&lt;br /&gt;
Contact a system administrator. &lt;br /&gt;
&lt;br /&gt;
== How to Login ==&lt;br /&gt;
#Remote&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@epsilon.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;br /&gt;
#On-premise&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@login02.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SLURM Nodes ==&lt;br /&gt;
*To list partitions&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
sinfo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To list all nodes and their information&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
sinfo -lNe&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==== CPU Servers ====&lt;br /&gt;
*cpu02 (128 Cores, 256 Threads, 1TB RAM)&lt;br /&gt;
&lt;br /&gt;
==== GPU Servers ====&lt;br /&gt;
*gpu01 (48 Cores, 96 Threads, 758TB RAM, 8 x RTX 2080 Ti)&lt;br /&gt;
&lt;br /&gt;
==== NFS Servers ====&lt;br /&gt;
*home01&lt;br /&gt;
*hdd02&lt;br /&gt;
&lt;br /&gt;
== Global Modules/Software ==&lt;br /&gt;
*To check the list of available modules&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
/* Long version */&lt;br /&gt;
module available &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
/* Short version */&lt;br /&gt;
ml av &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To load a module(s)&lt;br /&gt;
*: &amp;lt;source&amp;gt;&lt;br /&gt;
/* Single module */&lt;br /&gt;
module load dock &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml dock &lt;br /&gt;
&lt;br /&gt;
==================================&lt;br /&gt;
&lt;br /&gt;
/* Multi-module */&lt;br /&gt;
module load dock python/3.12, schrodinger&lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml dock python/3.12 schrodinger&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To list all loaded modules&lt;br /&gt;
*: &amp;lt;source&amp;gt;&lt;br /&gt;
module load&lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To unload a module&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
module unload &amp;lt;module&amp;gt;&lt;br /&gt;
/* OR */&lt;br /&gt;
ml unload &amp;lt;module&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To unload all modules&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
module purge &lt;br /&gt;
/* OR */&lt;br /&gt;
ml purge&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=17049</id>
		<title>Cluster 7</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=17049"/>
		<updated>2026-02-03T20:53:54Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: /* SLURM Nodes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
A cluster built on Rocky 9 linux distribution which is under the RHEL umbrella. &lt;br /&gt;
&lt;br /&gt;
== How to Request for Access ==&lt;br /&gt;
Contact a system administrator. &lt;br /&gt;
&lt;br /&gt;
== How to Login ==&lt;br /&gt;
#Remote&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@epsilon.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;br /&gt;
#On-premise&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@login02.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SLURM Nodes ==&lt;br /&gt;
*To list partitions&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
sinfo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To list all nodes and their information&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
sinfo -lNe&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==== CPU Servers ====&lt;br /&gt;
*cpu02 (128 Cores, 256 Threads, 1TB RAM)&lt;br /&gt;
&lt;br /&gt;
==== GPU Servers ====&lt;br /&gt;
*gpu01 (48 Cores, 96 Threads, 758TB RAM)&lt;br /&gt;
&lt;br /&gt;
==== NFS Servers ====&lt;br /&gt;
*home01&lt;br /&gt;
*hdd02&lt;br /&gt;
&lt;br /&gt;
== Global Modules/Software ==&lt;br /&gt;
*To check the list of available modules&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
/* Long version */&lt;br /&gt;
module available &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
/* Short version */&lt;br /&gt;
ml av &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To load a module(s)&lt;br /&gt;
*: &amp;lt;source&amp;gt;&lt;br /&gt;
/* Single module */&lt;br /&gt;
module load dock &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml dock &lt;br /&gt;
&lt;br /&gt;
==================================&lt;br /&gt;
&lt;br /&gt;
/* Multi-module */&lt;br /&gt;
module load dock python/3.12, schrodinger&lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml dock python/3.12 schrodinger&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To list all loaded modules&lt;br /&gt;
*: &amp;lt;source&amp;gt;&lt;br /&gt;
module load&lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To unload a module&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
module unload &amp;lt;module&amp;gt;&lt;br /&gt;
/* OR */&lt;br /&gt;
ml unload &amp;lt;module&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To unload all modules&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
module purge &lt;br /&gt;
/* OR */&lt;br /&gt;
ml purge&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=17048</id>
		<title>Cluster 7</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=17048"/>
		<updated>2026-02-03T20:42:53Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: /* SLURM Nodes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
A cluster built on Rocky 9 linux distribution which is under the RHEL umbrella. &lt;br /&gt;
&lt;br /&gt;
== How to Request for Access ==&lt;br /&gt;
Contact a system administrator. &lt;br /&gt;
&lt;br /&gt;
== How to Login ==&lt;br /&gt;
#Remote&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@epsilon.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;br /&gt;
#On-premise&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@login02.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SLURM Nodes ==&lt;br /&gt;
*To list partitions&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
sinfo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To list all nodes and their information&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
sinfo -lNe&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==== CPU Servers ====&lt;br /&gt;
*cpu02&lt;br /&gt;
&lt;br /&gt;
==== GPU Servers ====&lt;br /&gt;
*gpu01&lt;br /&gt;
&lt;br /&gt;
==== NFS Servers ====&lt;br /&gt;
*home01&lt;br /&gt;
*hdd02&lt;br /&gt;
&lt;br /&gt;
== Global Modules/Software ==&lt;br /&gt;
*To check the list of available modules&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
/* Long version */&lt;br /&gt;
module available &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
/* Short version */&lt;br /&gt;
ml av &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To load a module(s)&lt;br /&gt;
*: &amp;lt;source&amp;gt;&lt;br /&gt;
/* Single module */&lt;br /&gt;
module load dock &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml dock &lt;br /&gt;
&lt;br /&gt;
==================================&lt;br /&gt;
&lt;br /&gt;
/* Multi-module */&lt;br /&gt;
module load dock python/3.12, schrodinger&lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml dock python/3.12 schrodinger&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To list all loaded modules&lt;br /&gt;
*: &amp;lt;source&amp;gt;&lt;br /&gt;
module load&lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To unload a module&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
module unload &amp;lt;module&amp;gt;&lt;br /&gt;
/* OR */&lt;br /&gt;
ml unload &amp;lt;module&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To unload all modules&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
module purge &lt;br /&gt;
/* OR */&lt;br /&gt;
ml purge&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=17047</id>
		<title>Cluster 7</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=17047"/>
		<updated>2026-02-03T20:42:35Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: /* SLURM Nodes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
A cluster built on Rocky 9 linux distribution which is under the RHEL umbrella. &lt;br /&gt;
&lt;br /&gt;
== How to Request for Access ==&lt;br /&gt;
Contact a system administrator. &lt;br /&gt;
&lt;br /&gt;
== How to Login ==&lt;br /&gt;
#Remote&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@epsilon.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;br /&gt;
#On-premise&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@login02.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SLURM Nodes ==&lt;br /&gt;
*To list partitions&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
sinfo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To list all nodes and their information&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
sinfo -lNe&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==== CPU Servers ====&lt;br /&gt;
cpu02&lt;br /&gt;
&lt;br /&gt;
==== GPU Servers ====&lt;br /&gt;
gpu01&lt;br /&gt;
&lt;br /&gt;
==== NFS Servers ====&lt;br /&gt;
home01&lt;br /&gt;
hdd02&lt;br /&gt;
&lt;br /&gt;
== Global Modules/Software ==&lt;br /&gt;
*To check the list of available modules&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
/* Long version */&lt;br /&gt;
module available &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
/* Short version */&lt;br /&gt;
ml av &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To load a module(s)&lt;br /&gt;
*: &amp;lt;source&amp;gt;&lt;br /&gt;
/* Single module */&lt;br /&gt;
module load dock &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml dock &lt;br /&gt;
&lt;br /&gt;
==================================&lt;br /&gt;
&lt;br /&gt;
/* Multi-module */&lt;br /&gt;
module load dock python/3.12, schrodinger&lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml dock python/3.12 schrodinger&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To list all loaded modules&lt;br /&gt;
*: &amp;lt;source&amp;gt;&lt;br /&gt;
module load&lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To unload a module&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
module unload &amp;lt;module&amp;gt;&lt;br /&gt;
/* OR */&lt;br /&gt;
ml unload &amp;lt;module&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To unload all modules&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
module purge &lt;br /&gt;
/* OR */&lt;br /&gt;
ml purge&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=16995</id>
		<title>Cluster 7</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=16995"/>
		<updated>2025-11-17T23:37:15Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: /* SLURM Nodes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
A cluster built on Rocky 9 linux distribution which is under the RHEL umbrella. &lt;br /&gt;
&lt;br /&gt;
== How to Request for Access ==&lt;br /&gt;
Contact a system administrator. &lt;br /&gt;
&lt;br /&gt;
== How to Login ==&lt;br /&gt;
#Remote&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@epsilon.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;br /&gt;
#On-premise&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@login02.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SLURM Nodes ==&lt;br /&gt;
*To list partitions&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
sinfo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To list all nodes and their information&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
sinfo -lNe&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==== CPU Servers ====&lt;br /&gt;
&lt;br /&gt;
==== GPU Servers ====&lt;br /&gt;
gpu01&lt;br /&gt;
&lt;br /&gt;
== Global Modules/Software ==&lt;br /&gt;
*To check the list of available modules&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
/* Long version */&lt;br /&gt;
module available &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
/* Short version */&lt;br /&gt;
ml av &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To load a module(s)&lt;br /&gt;
*: &amp;lt;source&amp;gt;&lt;br /&gt;
/* Single module */&lt;br /&gt;
module load dock &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml dock &lt;br /&gt;
&lt;br /&gt;
==================================&lt;br /&gt;
&lt;br /&gt;
/* Multi-module */&lt;br /&gt;
module load dock python/3.12, schrodinger&lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml dock python/3.12 schrodinger&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To list all loaded modules&lt;br /&gt;
*: &amp;lt;source&amp;gt;&lt;br /&gt;
module load&lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To unload a module&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
module unload &amp;lt;module&amp;gt;&lt;br /&gt;
/* OR */&lt;br /&gt;
ml unload &amp;lt;module&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To unload all modules&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
module purge &lt;br /&gt;
/* OR */&lt;br /&gt;
ml purge&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=16994</id>
		<title>Cluster 7</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=16994"/>
		<updated>2025-11-17T23:36:54Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: /* SLURM Nodes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
A cluster built on Rocky 9 linux distribution which is under the RHEL umbrella. &lt;br /&gt;
&lt;br /&gt;
== How to Request for Access ==&lt;br /&gt;
Contact a system administrator. &lt;br /&gt;
&lt;br /&gt;
== How to Login ==&lt;br /&gt;
#Remote&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@epsilon.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;br /&gt;
#On-premise&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@login02.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SLURM Nodes ==&lt;br /&gt;
*To list partitions&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
sinfo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To list all nodes and their information&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
sinfo -lNe&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==== CPUs ====&lt;br /&gt;
&lt;br /&gt;
==== GPUs ====&lt;br /&gt;
gpu01&lt;br /&gt;
&lt;br /&gt;
== Global Modules/Software ==&lt;br /&gt;
*To check the list of available modules&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
/* Long version */&lt;br /&gt;
module available &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
/* Short version */&lt;br /&gt;
ml av &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To load a module(s)&lt;br /&gt;
*: &amp;lt;source&amp;gt;&lt;br /&gt;
/* Single module */&lt;br /&gt;
module load dock &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml dock &lt;br /&gt;
&lt;br /&gt;
==================================&lt;br /&gt;
&lt;br /&gt;
/* Multi-module */&lt;br /&gt;
module load dock python/3.12, schrodinger&lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml dock python/3.12 schrodinger&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To list all loaded modules&lt;br /&gt;
*: &amp;lt;source&amp;gt;&lt;br /&gt;
module load&lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To unload a module&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
module unload &amp;lt;module&amp;gt;&lt;br /&gt;
/* OR */&lt;br /&gt;
ml unload &amp;lt;module&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To unload all modules&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
module purge &lt;br /&gt;
/* OR */&lt;br /&gt;
ml purge&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=16993</id>
		<title>Cluster 7</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=16993"/>
		<updated>2025-11-17T23:35:27Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: /* Global Modules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
A cluster built on Rocky 9 linux distribution which is under the RHEL umbrella. &lt;br /&gt;
&lt;br /&gt;
== How to Request for Access ==&lt;br /&gt;
Contact a system administrator. &lt;br /&gt;
&lt;br /&gt;
== How to Login ==&lt;br /&gt;
#Remote&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@epsilon.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;br /&gt;
#On-premise&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@login02.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SLURM Nodes ==&lt;br /&gt;
*To list partitions&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
sinfo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To list all nodes and their information&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
sinfo -lNe&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==== CPU ====&lt;br /&gt;
&lt;br /&gt;
==== GPU ====&lt;br /&gt;
gpu01&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Global Modules/Software ==&lt;br /&gt;
*To check the list of available modules&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
/* Long version */&lt;br /&gt;
module available &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
/* Short version */&lt;br /&gt;
ml av &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To load a module(s)&lt;br /&gt;
*: &amp;lt;source&amp;gt;&lt;br /&gt;
/* Single module */&lt;br /&gt;
module load dock &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml dock &lt;br /&gt;
&lt;br /&gt;
==================================&lt;br /&gt;
&lt;br /&gt;
/* Multi-module */&lt;br /&gt;
module load dock python/3.12, schrodinger&lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml dock python/3.12 schrodinger&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To list all loaded modules&lt;br /&gt;
*: &amp;lt;source&amp;gt;&lt;br /&gt;
module load&lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To unload a module&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
module unload &amp;lt;module&amp;gt;&lt;br /&gt;
/* OR */&lt;br /&gt;
ml unload &amp;lt;module&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To unload all modules&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
module purge &lt;br /&gt;
/* OR */&lt;br /&gt;
ml purge&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=16992</id>
		<title>Cluster 7</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=16992"/>
		<updated>2025-11-17T23:35:02Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
A cluster built on Rocky 9 linux distribution which is under the RHEL umbrella. &lt;br /&gt;
&lt;br /&gt;
== How to Request for Access ==&lt;br /&gt;
Contact a system administrator. &lt;br /&gt;
&lt;br /&gt;
== How to Login ==&lt;br /&gt;
#Remote&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@epsilon.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;br /&gt;
#On-premise&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@login02.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SLURM Nodes ==&lt;br /&gt;
*To list partitions&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
sinfo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To list all nodes and their information&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
sinfo -lNe&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==== CPU ====&lt;br /&gt;
&lt;br /&gt;
==== GPU ====&lt;br /&gt;
gpu01&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Global Modules ==&lt;br /&gt;
*To check the list of available modules&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
/* Long version */&lt;br /&gt;
module available &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
/* Short version */&lt;br /&gt;
ml av &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To load a module(s)&lt;br /&gt;
*: &amp;lt;source&amp;gt;&lt;br /&gt;
/* Single module */&lt;br /&gt;
module load dock &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml dock &lt;br /&gt;
&lt;br /&gt;
==================================&lt;br /&gt;
&lt;br /&gt;
/* Multi-module */&lt;br /&gt;
module load dock python/3.12, schrodinger&lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml dock python/3.12 schrodinger&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To list all loaded modules&lt;br /&gt;
*: &amp;lt;source&amp;gt;&lt;br /&gt;
module load&lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To unload a module&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
module unload &amp;lt;module&amp;gt;&lt;br /&gt;
/* OR */&lt;br /&gt;
ml unload &amp;lt;module&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To unload all modules&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
module purge &lt;br /&gt;
/* OR */&lt;br /&gt;
ml purge&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=16991</id>
		<title>Cluster 7</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=16991"/>
		<updated>2025-11-17T23:33:17Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: /* Global Modules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
A cluster built on Rocky 9 linux distribution which is under the RHEL umbrella. &lt;br /&gt;
&lt;br /&gt;
== How to Request for Access ==&lt;br /&gt;
Contact a system administrator. &lt;br /&gt;
&lt;br /&gt;
== How to Login ==&lt;br /&gt;
#Remote&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@epsilon.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;br /&gt;
#On-premise&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@login02.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SLURM Nodes ==&lt;br /&gt;
==== CPU ====&lt;br /&gt;
&lt;br /&gt;
==== GPU ====&lt;br /&gt;
gpu01&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Global Modules ==&lt;br /&gt;
*To check the list of available modules&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
/* Long version */&lt;br /&gt;
module available &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
/* Short version */&lt;br /&gt;
ml av &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To load a module(s)&lt;br /&gt;
*: &amp;lt;source&amp;gt;&lt;br /&gt;
/* Single module */&lt;br /&gt;
module load dock &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml dock &lt;br /&gt;
&lt;br /&gt;
==================================&lt;br /&gt;
&lt;br /&gt;
/* Multi-module */&lt;br /&gt;
module load dock python/3.12, schrodinger&lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml dock python/3.12 schrodinger&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To list all loaded modules&lt;br /&gt;
*: &amp;lt;source&amp;gt;&lt;br /&gt;
module load&lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To unload a module&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
module unload &amp;lt;module&amp;gt;&lt;br /&gt;
/* OR */&lt;br /&gt;
ml unload &amp;lt;module&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To unload all modules&lt;br /&gt;
*:&amp;lt;source&amp;gt;&lt;br /&gt;
module purge &lt;br /&gt;
/* OR */&lt;br /&gt;
ml purge&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=16990</id>
		<title>Cluster 7</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=16990"/>
		<updated>2025-11-17T23:25:00Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
A cluster built on Rocky 9 linux distribution which is under the RHEL umbrella. &lt;br /&gt;
&lt;br /&gt;
== How to Request for Access ==&lt;br /&gt;
Contact a system administrator. &lt;br /&gt;
&lt;br /&gt;
== How to Login ==&lt;br /&gt;
#Remote&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@epsilon.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;br /&gt;
#On-premise&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@login02.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SLURM Nodes ==&lt;br /&gt;
==== CPU ====&lt;br /&gt;
&lt;br /&gt;
==== GPU ====&lt;br /&gt;
gpu01&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Global Modules ==&lt;br /&gt;
*To check the list of available modules&lt;br /&gt;
*:&amp;lt;source&amp;gt;// Long version&lt;br /&gt;
module available &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
// Short version&lt;br /&gt;
ml av &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* To load a module(s)&lt;br /&gt;
*: &amp;lt;source&amp;gt;// Single module&lt;br /&gt;
module load dock &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
ml dock &lt;br /&gt;
&lt;br /&gt;
==================================&lt;br /&gt;
&lt;br /&gt;
// Multi-module&lt;br /&gt;
module load dock python schrodinger&lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
// Multi-module&lt;br /&gt;
ml dock python schrodinger&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
*To List all loaded modules&lt;br /&gt;
*: &amp;lt;source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=16989</id>
		<title>Cluster 7</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=16989"/>
		<updated>2025-11-17T23:23:35Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: /* Global Modules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
A cluster built on Rocky 9 linux distribution which is under the RHEL umbrella. &lt;br /&gt;
&lt;br /&gt;
== How to Request for Access ==&lt;br /&gt;
Contact a system administrator. &lt;br /&gt;
&lt;br /&gt;
== How to Login ==&lt;br /&gt;
#Remote&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@epsilon.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;br /&gt;
#On-premise&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@login02.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SLURM Nodes ==&lt;br /&gt;
==== CPU ====&lt;br /&gt;
&lt;br /&gt;
==== GPU ====&lt;br /&gt;
gpu01&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Global Modules ==&lt;br /&gt;
*To check the list of available modules&lt;br /&gt;
*:&amp;lt;source&amp;gt;// Long version&lt;br /&gt;
module available &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
// Short version&lt;br /&gt;
ml av &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* To load a module(s)&lt;br /&gt;
*: &amp;lt;source&amp;gt;// Single module, Long version&lt;br /&gt;
module load dock &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
// Single module, Short version&lt;br /&gt;
ml dock &lt;br /&gt;
&lt;br /&gt;
==================================&lt;br /&gt;
&lt;br /&gt;
// Multi-module, Long version&lt;br /&gt;
module load dock python schrodinger&lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
// Multi-module, Short version&lt;br /&gt;
ml dock python schrodinger&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=16988</id>
		<title>Cluster 7</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=16988"/>
		<updated>2025-11-17T23:23:20Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: /* Global Modules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
A cluster built on Rocky 9 linux distribution which is under the RHEL umbrella. &lt;br /&gt;
&lt;br /&gt;
== How to Request for Access ==&lt;br /&gt;
Contact a system administrator. &lt;br /&gt;
&lt;br /&gt;
== How to Login ==&lt;br /&gt;
#Remote&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@epsilon.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;br /&gt;
#On-premise&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@login02.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SLURM Nodes ==&lt;br /&gt;
==== CPU ====&lt;br /&gt;
&lt;br /&gt;
==== GPU ====&lt;br /&gt;
gpu01&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Global Modules ==&lt;br /&gt;
*To check the list of available modules&lt;br /&gt;
*:&amp;lt;source&amp;gt;// Long version&lt;br /&gt;
module available &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
// Short version&lt;br /&gt;
ml av &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* To load a module(s)&lt;br /&gt;
*: &amp;lt;source&amp;gt;// Single module, Long version&lt;br /&gt;
module load dock &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
// Single module, Short version&lt;br /&gt;
ml dock &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==================================&lt;br /&gt;
// Multi-module, Long version&lt;br /&gt;
module load dock python schrodinger&lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
// Multi-module, Short version&lt;br /&gt;
ml dock python schrodinger&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=16987</id>
		<title>Cluster 7</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=16987"/>
		<updated>2025-11-17T23:21:25Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
A cluster built on Rocky 9 linux distribution which is under the RHEL umbrella. &lt;br /&gt;
&lt;br /&gt;
== How to Request for Access ==&lt;br /&gt;
Contact a system administrator. &lt;br /&gt;
&lt;br /&gt;
== How to Login ==&lt;br /&gt;
#Remote&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@epsilon.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;br /&gt;
#On-premise&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@login02.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SLURM Nodes ==&lt;br /&gt;
==== CPU ====&lt;br /&gt;
&lt;br /&gt;
==== GPU ====&lt;br /&gt;
gpu01&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Global Modules ==&lt;br /&gt;
*To check the list of available modules&lt;br /&gt;
*:&amp;lt;source&amp;gt;// Long version&lt;br /&gt;
module available &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
// Short version&lt;br /&gt;
ml av &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* To load a module&lt;br /&gt;
*: &amp;lt;source&amp;gt;// Long version&lt;br /&gt;
module load dock &lt;br /&gt;
&lt;br /&gt;
/* OR */&lt;br /&gt;
&lt;br /&gt;
//Short version&lt;br /&gt;
ml dock &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=16986</id>
		<title>Cluster 7</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=16986"/>
		<updated>2025-11-17T23:14:38Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
A cluster built on Rocky 9 linux distribution which is under the RHEL umbrella. &lt;br /&gt;
&lt;br /&gt;
== How to Request for Access ==&lt;br /&gt;
Contact a system administrator. &lt;br /&gt;
&lt;br /&gt;
== How to Login ==&lt;br /&gt;
#Remote&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@epsilon.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;br /&gt;
#On-premise&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@login02.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SLURM Nodes ==&lt;br /&gt;
==== CPU ====&lt;br /&gt;
&lt;br /&gt;
==== GPU ====&lt;br /&gt;
gpu01&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=16985</id>
		<title>Cluster 7</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Cluster_7&amp;diff=16985"/>
		<updated>2025-11-17T23:01:54Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: Created page with &amp;quot;== Introduction == A cluster built on Rocky 9 linux distribution which is under the RHEL umbrella.   == How to Request for Access == Contact a system administrator.   == How to Login == #Remote #: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@epsilon.compbio.ucsf.edu&amp;lt;/source&amp;gt; #On-premise #: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@login02.compbio.ucsf.edu&amp;lt;/source&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
A cluster built on Rocky 9 linux distribution which is under the RHEL umbrella. &lt;br /&gt;
&lt;br /&gt;
== How to Request for Access ==&lt;br /&gt;
Contact a system administrator. &lt;br /&gt;
&lt;br /&gt;
== How to Login ==&lt;br /&gt;
#Remote&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@epsilon.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;br /&gt;
#On-premise&lt;br /&gt;
#: &amp;lt;source&amp;gt;ssh &amp;lt;user&amp;gt;@login02.compbio.ucsf.edu&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=How_to_Relay_Emails_to_Gmail&amp;diff=16969</id>
		<title>How to Relay Emails to Gmail</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=How_to_Relay_Emails_to_Gmail&amp;diff=16969"/>
		<updated>2025-10-21T20:13:51Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
This tutorial applies to RHEL 8 based operating systems (CentOS, Rocky Linux)&lt;br /&gt;
&lt;br /&gt;
Two machines that send emails are:&lt;br /&gt;
*vav.combpio.ucsf.edu&lt;br /&gt;
*bksmailman.compbio.ucsf.edu&lt;br /&gt;
*epyc&lt;br /&gt;
*epyc2&lt;br /&gt;
&lt;br /&gt;
Relaying emails through gmail will make it more secure and trustworthy.&lt;br /&gt;
&lt;br /&gt;
== Instructions ==&lt;br /&gt;
&#039;&#039;&#039;[https://www.golinuxcloud.com/gmail-smtp-relay-server-postfix/#Error-1_SASL_authentication_failure_No_worthy_mechs_found Reference Tutorial]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Create a gmail account OR Ask Khanh for docking.email@gmail.com for credentials.&lt;br /&gt;
# Disable pre-installed &#039;sendmail&#039; package&lt;br /&gt;
#* &amp;lt;source&amp;gt;&lt;br /&gt;
rpm -q sendmail (Check for package)&lt;br /&gt;
systemctl disbale sendmail --now (Disable package)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
# Enable smtp in firewall&lt;br /&gt;
#* &amp;lt;source&amp;gt;&lt;br /&gt;
firewall-cmd --permanent --add-service=smtp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
# Install Postfix and other dependencies&lt;br /&gt;
#* &amp;lt;source&amp;gt;&lt;br /&gt;
yum install postfix mailx cyrus-sasl cyrus-sasl-plain -y&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
# Configure Postfix&lt;br /&gt;
#* &amp;lt;source&amp;gt;&lt;br /&gt;
vim /etc/postfix/main.cf&lt;br /&gt;
&lt;br /&gt;
//Copy these lines and paste it at the bottom of the main.cf file&lt;br /&gt;
relayhost = [smtp.gmail.com]:587&lt;br /&gt;
smtp_use_tls = yes&lt;br /&gt;
smtp_sasl_auth_enable = yes&lt;br /&gt;
smtp_sasl_security_options = noanonymous&lt;br /&gt;
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd&lt;br /&gt;
smtp_tls_security_level = encrypt&lt;br /&gt;
smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
# Set up authentication file for gmail&lt;br /&gt;
#* &amp;lt;source&amp;gt;&lt;br /&gt;
vim /etc/postfix/sasl_passwd&lt;br /&gt;
&lt;br /&gt;
//Paste this line and replace&lt;br /&gt;
[smtp.gmail.com]:587 docking.email@gmail.com:&amp;lt;gmail_app_password&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
# Create Gmail App Password For Authentication&lt;br /&gt;
#* Log in to gmail account&lt;br /&gt;
#* Click top right account button&lt;br /&gt;
#* Click &#039;Manage Google Account&#039;&lt;br /&gt;
#* On the left, click the &#039;Security&#039; tab&lt;br /&gt;
#* Enable &#039;2-step Verification&#039;&lt;br /&gt;
#* Now back to security tab and click &#039;App Passwords&#039;&lt;br /&gt;
#* Generate App Password&lt;br /&gt;
#* Click &#039;Other&#039; for the category input&lt;br /&gt;
#* Copy the generated token and save somewhere&lt;br /&gt;
# Once you have token, replace &amp;lt;gmail_app_password&amp;gt; in sasl_passwd file with the token and save the file&lt;br /&gt;
# Update the password database&lt;br /&gt;
#* &amp;lt;source&amp;gt;&lt;br /&gt;
postmap /etc/postfix/sasl_passwd&lt;br /&gt;
chown root:root /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db&lt;br /&gt;
chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db&lt;br /&gt;
systemctl restart postfix.service&lt;br /&gt;
systemctl status postfix&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
# Verify that it works&lt;br /&gt;
#* &amp;lt;source&amp;gt;&lt;br /&gt;
echo &amp;quot;This is the body of the email&amp;quot; | mail -s &amp;quot;This is the subject line&amp;quot; &amp;lt;your_email&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
# If it works you&#039;re done. If it doesn&#039;t check the reference tutorial for troubleshooting.&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Globus_Curator%27s_Guide&amp;diff=16935</id>
		<title>Globus Curator&#039;s Guide</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Globus_Curator%27s_Guide&amp;diff=16935"/>
		<updated>2025-10-02T20:34:53Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: /* Modify Guest Collection Read and Write Permissions in Globus Website */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Here will be the instructions on how to maintain globus.&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
*For any restrict path&#039;s to work in the Guest Collections, the main collection needs to have either the same or broader path to be allowed.&lt;br /&gt;
*The main collection is currently private. Only the admins can have access to it.&lt;br /&gt;
&lt;br /&gt;
== Updating Path Permissions for the Guest Collection ==&lt;br /&gt;
#Identify the real paths of the permission denied paths. Globus doesn&#039;t follow symbolic links&lt;br /&gt;
#:&amp;lt;source&amp;gt;readlink -f &amp;lt;symlink&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
# Become root in epyc&lt;br /&gt;
##Go to /root/globus&lt;br /&gt;
#:&amp;lt;source&amp;gt;cd /root/globus&amp;lt;/source&amp;gt;&lt;br /&gt;
#Insert and save the real paths at the end of this file (check commas for syntax or you&#039;ll get an error):&lt;br /&gt;
#:&amp;lt;source&amp;gt;vim storage_gateway_path_restriction.json&amp;lt;/source&amp;gt;&lt;br /&gt;
##Here is an example of what it should look like&lt;br /&gt;
##:&amp;lt;source&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;DATA_TYPE&amp;quot;: &amp;quot;path_restrictions#1.0.0&amp;quot;,&lt;br /&gt;
    &amp;quot;none&amp;quot;: [&amp;quot;/&amp;quot;],&lt;br /&gt;
    &amp;quot;read&amp;quot;: [&lt;br /&gt;
	    &amp;quot;/nfs/ex3/published&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exe/work/jji/2dexport&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exe/work/jji/3d-zinc20&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exl/zinc-22a&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exl/zinc-22b&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exl/zinc-22c&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exc/zinc-22n&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;read_write&amp;quot;:[&lt;br /&gt;
	    &amp;quot;/nfs/mammoth/idg-images/newAmisData&amp;quot;&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#Create a session token with globus. (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#:&amp;lt;source&amp;gt;globus-connect-server session update ucsfbks@globusid.org&amp;lt;/source&amp;gt;&lt;br /&gt;
#Follow instructions given by globus and it should tell you that it was successful&lt;br /&gt;
#In the same directory, run this command to update&lt;br /&gt;
#:&amp;lt;source&amp;gt;bash globus-storage-gateway.sh update&amp;lt;/source&amp;gt;&lt;br /&gt;
#This is the successful message&lt;br /&gt;
#:&amp;lt;source&amp;gt;Message: Updated Storage Gateway aa731fb1-b27a-49e6-aaeb-2d2cc252f779&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Updating Path Permissions for the Main Collection ==&lt;br /&gt;
#Identify the real paths of the permission denied paths. Globus doesn&#039;t follow symbolic links&lt;br /&gt;
#:&amp;lt;source&amp;gt;readlink -f &amp;lt;symlink&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
# Become root in epyc&lt;br /&gt;
##Go to /root/globus&lt;br /&gt;
#:&amp;lt;source&amp;gt;cd /root/globus&amp;lt;/source&amp;gt;&lt;br /&gt;
#Insert and save the real paths at the end of this file (check commas for syntax or you&#039;ll get an error):&lt;br /&gt;
#:&amp;lt;source&amp;gt;vim path_restrictions.json&amp;lt;/source&amp;gt;&lt;br /&gt;
##Here is an example of what it should look like&lt;br /&gt;
##:&amp;lt;source&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;DATA_TYPE&amp;quot;: &amp;quot;path_restrictions#1.0.0&amp;quot;,&lt;br /&gt;
    &amp;quot;read&amp;quot;: [&lt;br /&gt;
        &amp;quot;/&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;read_write&amp;quot;: [&lt;br /&gt;
        &amp;quot;/nfs/mammoth/idg-images/newAmisData/&amp;quot;&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#Create a session token with globus. (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#:&amp;lt;source&amp;gt;globus-connect-server session update ucsfbks@globusid.org&amp;lt;/source&amp;gt;&lt;br /&gt;
#* If above doesn&#039;t work, run below and follow instructions. (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#:: &amp;lt;source&amp;gt; globus-connect-server login localhost &amp;lt;/source&amp;gt;&lt;br /&gt;
#Follow instructions given by globus and it should tell you that it was successful&lt;br /&gt;
#In the same directory, run this command to update&lt;br /&gt;
#:&amp;lt;source&amp;gt;globus-connect-server collection update --sharing-restrict-paths file:path_restrictions.json 2e1e1781-6d8a-440a-8604-7100d9c65c90&amp;lt;/source&amp;gt;&lt;br /&gt;
#This is the successful message&lt;br /&gt;
#:&amp;lt;source&amp;gt;code: success&amp;lt;/source&amp;gt;&lt;br /&gt;
== Modify Guest Collection Read and Write Permissions in Globus Website ==&lt;br /&gt;
If a user needs to write, make sure only they are allowed to write in their given directory. Otherwise you can risk random users to write whatever they want.&lt;br /&gt;
&lt;br /&gt;
#Log into globus.org using Globus ID as user &#039;&#039;&#039;ucsfbks&#039;&#039;&#039; (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#On the left sidebar, click on &#039;&#039;&#039;Collections&#039;&#039;&#039;&lt;br /&gt;
#In the top center of the page, click on &#039;&#039;&#039;Administered By You&#039;&#039;&#039;&lt;br /&gt;
#Then click on &#039;&#039;&#039;UCSF BKS Lab Guest Collection&#039;&#039;&#039;&lt;br /&gt;
#On the top left, click on the &#039;&#039;&#039;Permissions&#039;&#039;&#039; tab&lt;br /&gt;
#Top right, click on the &#039;&#039;&#039;Add Permissions -- Share With&#039;&#039;&#039; button.&lt;br /&gt;
#Fill in the form and double check that you have the right user and check that you have allowed them to write in the given directory.&lt;br /&gt;
#At the end, before you create the new permission rule, the form should look like below&lt;br /&gt;
#:[[File:Globus permissions.png|1000px]]&lt;br /&gt;
#Then everything is entered correctly click add permission&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Globus_Curator%27s_Guide&amp;diff=16934</id>
		<title>Globus Curator&#039;s Guide</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Globus_Curator%27s_Guide&amp;diff=16934"/>
		<updated>2025-10-02T20:34:42Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: /* Modify Guest Collection Read and Write Permissions in Globus Website */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Here will be the instructions on how to maintain globus.&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
*For any restrict path&#039;s to work in the Guest Collections, the main collection needs to have either the same or broader path to be allowed.&lt;br /&gt;
*The main collection is currently private. Only the admins can have access to it.&lt;br /&gt;
&lt;br /&gt;
== Updating Path Permissions for the Guest Collection ==&lt;br /&gt;
#Identify the real paths of the permission denied paths. Globus doesn&#039;t follow symbolic links&lt;br /&gt;
#:&amp;lt;source&amp;gt;readlink -f &amp;lt;symlink&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
# Become root in epyc&lt;br /&gt;
##Go to /root/globus&lt;br /&gt;
#:&amp;lt;source&amp;gt;cd /root/globus&amp;lt;/source&amp;gt;&lt;br /&gt;
#Insert and save the real paths at the end of this file (check commas for syntax or you&#039;ll get an error):&lt;br /&gt;
#:&amp;lt;source&amp;gt;vim storage_gateway_path_restriction.json&amp;lt;/source&amp;gt;&lt;br /&gt;
##Here is an example of what it should look like&lt;br /&gt;
##:&amp;lt;source&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;DATA_TYPE&amp;quot;: &amp;quot;path_restrictions#1.0.0&amp;quot;,&lt;br /&gt;
    &amp;quot;none&amp;quot;: [&amp;quot;/&amp;quot;],&lt;br /&gt;
    &amp;quot;read&amp;quot;: [&lt;br /&gt;
	    &amp;quot;/nfs/ex3/published&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exe/work/jji/2dexport&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exe/work/jji/3d-zinc20&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exl/zinc-22a&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exl/zinc-22b&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exl/zinc-22c&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exc/zinc-22n&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;read_write&amp;quot;:[&lt;br /&gt;
	    &amp;quot;/nfs/mammoth/idg-images/newAmisData&amp;quot;&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#Create a session token with globus. (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#:&amp;lt;source&amp;gt;globus-connect-server session update ucsfbks@globusid.org&amp;lt;/source&amp;gt;&lt;br /&gt;
#Follow instructions given by globus and it should tell you that it was successful&lt;br /&gt;
#In the same directory, run this command to update&lt;br /&gt;
#:&amp;lt;source&amp;gt;bash globus-storage-gateway.sh update&amp;lt;/source&amp;gt;&lt;br /&gt;
#This is the successful message&lt;br /&gt;
#:&amp;lt;source&amp;gt;Message: Updated Storage Gateway aa731fb1-b27a-49e6-aaeb-2d2cc252f779&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Updating Path Permissions for the Main Collection ==&lt;br /&gt;
#Identify the real paths of the permission denied paths. Globus doesn&#039;t follow symbolic links&lt;br /&gt;
#:&amp;lt;source&amp;gt;readlink -f &amp;lt;symlink&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
# Become root in epyc&lt;br /&gt;
##Go to /root/globus&lt;br /&gt;
#:&amp;lt;source&amp;gt;cd /root/globus&amp;lt;/source&amp;gt;&lt;br /&gt;
#Insert and save the real paths at the end of this file (check commas for syntax or you&#039;ll get an error):&lt;br /&gt;
#:&amp;lt;source&amp;gt;vim path_restrictions.json&amp;lt;/source&amp;gt;&lt;br /&gt;
##Here is an example of what it should look like&lt;br /&gt;
##:&amp;lt;source&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;DATA_TYPE&amp;quot;: &amp;quot;path_restrictions#1.0.0&amp;quot;,&lt;br /&gt;
    &amp;quot;read&amp;quot;: [&lt;br /&gt;
        &amp;quot;/&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;read_write&amp;quot;: [&lt;br /&gt;
        &amp;quot;/nfs/mammoth/idg-images/newAmisData/&amp;quot;&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#Create a session token with globus. (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#:&amp;lt;source&amp;gt;globus-connect-server session update ucsfbks@globusid.org&amp;lt;/source&amp;gt;&lt;br /&gt;
#* If above doesn&#039;t work, run below and follow instructions. (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#:: &amp;lt;source&amp;gt; globus-connect-server login localhost &amp;lt;/source&amp;gt;&lt;br /&gt;
#Follow instructions given by globus and it should tell you that it was successful&lt;br /&gt;
#In the same directory, run this command to update&lt;br /&gt;
#:&amp;lt;source&amp;gt;globus-connect-server collection update --sharing-restrict-paths file:path_restrictions.json 2e1e1781-6d8a-440a-8604-7100d9c65c90&amp;lt;/source&amp;gt;&lt;br /&gt;
#This is the successful message&lt;br /&gt;
#:&amp;lt;source&amp;gt;code: success&amp;lt;/source&amp;gt;&lt;br /&gt;
== Modify Guest Collection Read and Write Permissions in Globus Website ==&lt;br /&gt;
If a user needs to write, make sure only they are allowed to write in their given directory. Otherwise you can risk random users to write whatever they want.&lt;br /&gt;
&lt;br /&gt;
#Log into globus.org using Globus ID as user &#039;&#039;&#039;ucsfbks&#039;&#039;&#039; (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#On the left sidebar, click on &#039;&#039;&#039;Collections&#039;&#039;&#039;&lt;br /&gt;
#In the top center of the page, click on &#039;&#039;&#039;Administered By You&#039;&#039;&#039;&lt;br /&gt;
#Then click on &#039;&#039;&#039;UCSF BKS Lab Guest Collection&#039;&#039;&#039;&lt;br /&gt;
#On the top left, click on the &#039;&#039;&#039;Permissions&#039;&#039;&#039; tab&lt;br /&gt;
#Top right, click on the &#039;&#039;&#039;Add Permissions -- Share With&#039;&#039;&#039; button.&lt;br /&gt;
#Fill in the form and double check that you have the right user and check that you have allowed them to write in the given directory.&lt;br /&gt;
#At the end, before you create the new permission rule, the form should look like below&lt;br /&gt;
::[[File:Globus permissions.png|1000px]]&lt;br /&gt;
#Then everything is entered correctly click add permission&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=File:Globus_permissions.png&amp;diff=16933</id>
		<title>File:Globus permissions.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=File:Globus_permissions.png&amp;diff=16933"/>
		<updated>2025-10-02T20:33:58Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: globus permission example&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
globus permission example&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Globus_Curator%27s_Guide&amp;diff=16929</id>
		<title>Globus Curator&#039;s Guide</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Globus_Curator%27s_Guide&amp;diff=16929"/>
		<updated>2025-10-02T20:24:36Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Here will be the instructions on how to maintain globus.&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
*For any restrict path&#039;s to work in the Guest Collections, the main collection needs to have either the same or broader path to be allowed.&lt;br /&gt;
*The main collection is currently private. Only the admins can have access to it.&lt;br /&gt;
&lt;br /&gt;
== Updating Path Permissions for the Guest Collection ==&lt;br /&gt;
#Identify the real paths of the permission denied paths. Globus doesn&#039;t follow symbolic links&lt;br /&gt;
#:&amp;lt;source&amp;gt;readlink -f &amp;lt;symlink&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
# Become root in epyc&lt;br /&gt;
##Go to /root/globus&lt;br /&gt;
#:&amp;lt;source&amp;gt;cd /root/globus&amp;lt;/source&amp;gt;&lt;br /&gt;
#Insert and save the real paths at the end of this file (check commas for syntax or you&#039;ll get an error):&lt;br /&gt;
#:&amp;lt;source&amp;gt;vim storage_gateway_path_restriction.json&amp;lt;/source&amp;gt;&lt;br /&gt;
##Here is an example of what it should look like&lt;br /&gt;
##:&amp;lt;source&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;DATA_TYPE&amp;quot;: &amp;quot;path_restrictions#1.0.0&amp;quot;,&lt;br /&gt;
    &amp;quot;none&amp;quot;: [&amp;quot;/&amp;quot;],&lt;br /&gt;
    &amp;quot;read&amp;quot;: [&lt;br /&gt;
	    &amp;quot;/nfs/ex3/published&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exe/work/jji/2dexport&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exe/work/jji/3d-zinc20&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exl/zinc-22a&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exl/zinc-22b&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exl/zinc-22c&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exc/zinc-22n&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;read_write&amp;quot;:[&lt;br /&gt;
	    &amp;quot;/nfs/mammoth/idg-images/newAmisData&amp;quot;&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#Create a session token with globus. (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#:&amp;lt;source&amp;gt;globus-connect-server session update ucsfbks@globusid.org&amp;lt;/source&amp;gt;&lt;br /&gt;
#Follow instructions given by globus and it should tell you that it was successful&lt;br /&gt;
#In the same directory, run this command to update&lt;br /&gt;
#:&amp;lt;source&amp;gt;bash globus-storage-gateway.sh update&amp;lt;/source&amp;gt;&lt;br /&gt;
#This is the successful message&lt;br /&gt;
#:&amp;lt;source&amp;gt;Message: Updated Storage Gateway aa731fb1-b27a-49e6-aaeb-2d2cc252f779&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Updating Path Permissions for the Main Collection ==&lt;br /&gt;
#Identify the real paths of the permission denied paths. Globus doesn&#039;t follow symbolic links&lt;br /&gt;
#:&amp;lt;source&amp;gt;readlink -f &amp;lt;symlink&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
# Become root in epyc&lt;br /&gt;
##Go to /root/globus&lt;br /&gt;
#:&amp;lt;source&amp;gt;cd /root/globus&amp;lt;/source&amp;gt;&lt;br /&gt;
#Insert and save the real paths at the end of this file (check commas for syntax or you&#039;ll get an error):&lt;br /&gt;
#:&amp;lt;source&amp;gt;vim path_restrictions.json&amp;lt;/source&amp;gt;&lt;br /&gt;
##Here is an example of what it should look like&lt;br /&gt;
##:&amp;lt;source&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;DATA_TYPE&amp;quot;: &amp;quot;path_restrictions#1.0.0&amp;quot;,&lt;br /&gt;
    &amp;quot;read&amp;quot;: [&lt;br /&gt;
        &amp;quot;/&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;read_write&amp;quot;: [&lt;br /&gt;
        &amp;quot;/nfs/mammoth/idg-images/newAmisData/&amp;quot;&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#Create a session token with globus. (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#:&amp;lt;source&amp;gt;globus-connect-server session update ucsfbks@globusid.org&amp;lt;/source&amp;gt;&lt;br /&gt;
#* If above doesn&#039;t work, run below and follow instructions. (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#:: &amp;lt;source&amp;gt; globus-connect-server login localhost &amp;lt;/source&amp;gt;&lt;br /&gt;
#Follow instructions given by globus and it should tell you that it was successful&lt;br /&gt;
#In the same directory, run this command to update&lt;br /&gt;
#:&amp;lt;source&amp;gt;globus-connect-server collection update --sharing-restrict-paths file:path_restrictions.json 2e1e1781-6d8a-440a-8604-7100d9c65c90&amp;lt;/source&amp;gt;&lt;br /&gt;
#This is the successful message&lt;br /&gt;
#:&amp;lt;source&amp;gt;code: success&amp;lt;/source&amp;gt;&lt;br /&gt;
== Modify Guest Collection Read and Write Permissions in Globus Website ==&lt;br /&gt;
If a user needs to write, make sure only they are allowed to write in their given directory. Otherwise you can risk random users to write whatever they want.&lt;br /&gt;
&lt;br /&gt;
#Log into globus.org using Globus ID as user &#039;&#039;&#039;ucsfbks&#039;&#039;&#039; (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#On the left sidebar, click on &#039;&#039;&#039;Collections&#039;&#039;&#039;&lt;br /&gt;
#In the top center of the page, click on &#039;&#039;&#039;Administered By You&#039;&#039;&#039;&lt;br /&gt;
#Then click on &#039;&#039;&#039;UCSF BKS Lab Guest Collection&#039;&#039;&#039;&lt;br /&gt;
#On the top left, click on the &#039;&#039;&#039;Permissions&#039;&#039;&#039; tab&lt;br /&gt;
#Top right, click on the &#039;&#039;&#039;Add Permissions -- Share With&#039;&#039;&#039; button.&lt;br /&gt;
#Fill in the form and double check that you have the right user and check that you have allowed them to write in the given directory.&lt;br /&gt;
#At the end, before you create the new permission rule, the form should look like below&lt;br /&gt;
:&amp;lt;source&amp;gt;&lt;br /&gt;
[[File:Globus permissions.png|1000px]]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Globus_Curator%27s_Guide&amp;diff=16928</id>
		<title>Globus Curator&#039;s Guide</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Globus_Curator%27s_Guide&amp;diff=16928"/>
		<updated>2025-10-02T20:21:53Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: /* Modify Guest Collection Read and Write Permissions in Globus Website */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Here will be the instructions on how to maintain globus.&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
*For any restrict path&#039;s to work in the Guest Collections, the main collection needs to have either the same or broader path to be allowed.&lt;br /&gt;
*The main collection is currently private. Only the admins can have access to it.&lt;br /&gt;
&lt;br /&gt;
== Updating Path Permissions for the Guest Collection ==&lt;br /&gt;
#Identify the real paths of the permission denied paths. Globus doesn&#039;t follow symbolic links&lt;br /&gt;
#:&amp;lt;source&amp;gt;readlink -f &amp;lt;symlink&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
# Become root in epyc&lt;br /&gt;
##Go to /root/globus&lt;br /&gt;
#:&amp;lt;source&amp;gt;cd /root/globus&amp;lt;/source&amp;gt;&lt;br /&gt;
#Insert and save the real paths at the end of this file (check commas for syntax or you&#039;ll get an error):&lt;br /&gt;
#:&amp;lt;source&amp;gt;vim storage_gateway_path_restriction.json&amp;lt;/source&amp;gt;&lt;br /&gt;
##Here is an example of what it should look like&lt;br /&gt;
##:&amp;lt;source&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;DATA_TYPE&amp;quot;: &amp;quot;path_restrictions#1.0.0&amp;quot;,&lt;br /&gt;
    &amp;quot;none&amp;quot;: [&amp;quot;/&amp;quot;],&lt;br /&gt;
    &amp;quot;read&amp;quot;: [&lt;br /&gt;
	    &amp;quot;/nfs/ex3/published&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exe/work/jji/2dexport&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exe/work/jji/3d-zinc20&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exl/zinc-22a&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exl/zinc-22b&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exl/zinc-22c&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exc/zinc-22n&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;read_write&amp;quot;:[&lt;br /&gt;
	    &amp;quot;/nfs/mammoth/idg-images/newAmisData&amp;quot;&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#Create a session token with globus. (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#:&amp;lt;source&amp;gt;globus-connect-server session update ucsfbks@globusid.org&amp;lt;/source&amp;gt;&lt;br /&gt;
#Follow instructions given by globus and it should tell you that it was successful&lt;br /&gt;
#In the same directory, run this command to update&lt;br /&gt;
#:&amp;lt;source&amp;gt;bash globus-storage-gateway.sh update&amp;lt;/source&amp;gt;&lt;br /&gt;
#This is the successful message&lt;br /&gt;
#:&amp;lt;source&amp;gt;Message: Updated Storage Gateway aa731fb1-b27a-49e6-aaeb-2d2cc252f779&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Updating Path Permissions for the Main Collection ==&lt;br /&gt;
#Identify the real paths of the permission denied paths. Globus doesn&#039;t follow symbolic links&lt;br /&gt;
#:&amp;lt;source&amp;gt;readlink -f &amp;lt;symlink&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
# Become root in epyc&lt;br /&gt;
##Go to /root/globus&lt;br /&gt;
#:&amp;lt;source&amp;gt;cd /root/globus&amp;lt;/source&amp;gt;&lt;br /&gt;
#Insert and save the real paths at the end of this file (check commas for syntax or you&#039;ll get an error):&lt;br /&gt;
#:&amp;lt;source&amp;gt;vim path_restrictions.json&amp;lt;/source&amp;gt;&lt;br /&gt;
##Here is an example of what it should look like&lt;br /&gt;
##:&amp;lt;source&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;DATA_TYPE&amp;quot;: &amp;quot;path_restrictions#1.0.0&amp;quot;,&lt;br /&gt;
    &amp;quot;read&amp;quot;: [&lt;br /&gt;
        &amp;quot;/&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;read_write&amp;quot;: [&lt;br /&gt;
        &amp;quot;/nfs/mammoth/idg-images/newAmisData/&amp;quot;&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#Create a session token with globus. (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#:&amp;lt;source&amp;gt;globus-connect-server session update ucsfbks@globusid.org&amp;lt;/source&amp;gt;&lt;br /&gt;
#* If above doesn&#039;t work, run below and follow instructions. (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#:: &amp;lt;source&amp;gt; globus-connect-server login localhost &amp;lt;/source&amp;gt;&lt;br /&gt;
#Follow instructions given by globus and it should tell you that it was successful&lt;br /&gt;
#In the same directory, run this command to update&lt;br /&gt;
#:&amp;lt;source&amp;gt;globus-connect-server collection update --sharing-restrict-paths file:path_restrictions.json 2e1e1781-6d8a-440a-8604-7100d9c65c90&amp;lt;/source&amp;gt;&lt;br /&gt;
#This is the successful message&lt;br /&gt;
#:&amp;lt;source&amp;gt;code: success&amp;lt;/source&amp;gt;&lt;br /&gt;
== Modify Guest Collection Read and Write Permissions in Globus Website ==&lt;br /&gt;
If a user needs to write, make sure only they are allowed to write in their given directory. Otherwise you can risk random users to write whatever they want.&lt;br /&gt;
&lt;br /&gt;
#Log into globus.org using Globus ID as user &#039;&#039;&#039;ucsfbks&#039;&#039;&#039; (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#On the left sidebar, click on &#039;&#039;&#039;Collections&#039;&#039;&#039;&lt;br /&gt;
#In the top center of the page, click on &#039;&#039;&#039;Administered By You&#039;&#039;&#039;&lt;br /&gt;
#Then click on &#039;&#039;&#039;UCSF BKS Lab Guest Collection&#039;&#039;&#039;&lt;br /&gt;
#On the top left, click on the &#039;&#039;&#039;Permissions&#039;&#039;&#039; tab&lt;br /&gt;
#Top right, click on the &#039;&#039;&#039;Add Permissions -- Share With&#039;&#039;&#039; button.&lt;br /&gt;
#Fill in the form and double check that you have the right user and check that you have allowed them to write in the given directory.&lt;br /&gt;
#At the end, before you create the new permission rule, the form should look like below&lt;br /&gt;
##&amp;lt;source&amp;gt;&lt;br /&gt;
[[File:globus_permissions.png|1000px]]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Globus_Curator%27s_Guide&amp;diff=16927</id>
		<title>Globus Curator&#039;s Guide</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Globus_Curator%27s_Guide&amp;diff=16927"/>
		<updated>2025-10-02T20:21:38Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: /* Modify Guest Collection Read and Write Permissions in Globus Website */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Here will be the instructions on how to maintain globus.&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
*For any restrict path&#039;s to work in the Guest Collections, the main collection needs to have either the same or broader path to be allowed.&lt;br /&gt;
*The main collection is currently private. Only the admins can have access to it.&lt;br /&gt;
&lt;br /&gt;
== Updating Path Permissions for the Guest Collection ==&lt;br /&gt;
#Identify the real paths of the permission denied paths. Globus doesn&#039;t follow symbolic links&lt;br /&gt;
#:&amp;lt;source&amp;gt;readlink -f &amp;lt;symlink&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
# Become root in epyc&lt;br /&gt;
##Go to /root/globus&lt;br /&gt;
#:&amp;lt;source&amp;gt;cd /root/globus&amp;lt;/source&amp;gt;&lt;br /&gt;
#Insert and save the real paths at the end of this file (check commas for syntax or you&#039;ll get an error):&lt;br /&gt;
#:&amp;lt;source&amp;gt;vim storage_gateway_path_restriction.json&amp;lt;/source&amp;gt;&lt;br /&gt;
##Here is an example of what it should look like&lt;br /&gt;
##:&amp;lt;source&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;DATA_TYPE&amp;quot;: &amp;quot;path_restrictions#1.0.0&amp;quot;,&lt;br /&gt;
    &amp;quot;none&amp;quot;: [&amp;quot;/&amp;quot;],&lt;br /&gt;
    &amp;quot;read&amp;quot;: [&lt;br /&gt;
	    &amp;quot;/nfs/ex3/published&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exe/work/jji/2dexport&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exe/work/jji/3d-zinc20&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exl/zinc-22a&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exl/zinc-22b&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exl/zinc-22c&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exc/zinc-22n&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;read_write&amp;quot;:[&lt;br /&gt;
	    &amp;quot;/nfs/mammoth/idg-images/newAmisData&amp;quot;&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#Create a session token with globus. (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#:&amp;lt;source&amp;gt;globus-connect-server session update ucsfbks@globusid.org&amp;lt;/source&amp;gt;&lt;br /&gt;
#Follow instructions given by globus and it should tell you that it was successful&lt;br /&gt;
#In the same directory, run this command to update&lt;br /&gt;
#:&amp;lt;source&amp;gt;bash globus-storage-gateway.sh update&amp;lt;/source&amp;gt;&lt;br /&gt;
#This is the successful message&lt;br /&gt;
#:&amp;lt;source&amp;gt;Message: Updated Storage Gateway aa731fb1-b27a-49e6-aaeb-2d2cc252f779&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Updating Path Permissions for the Main Collection ==&lt;br /&gt;
#Identify the real paths of the permission denied paths. Globus doesn&#039;t follow symbolic links&lt;br /&gt;
#:&amp;lt;source&amp;gt;readlink -f &amp;lt;symlink&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
# Become root in epyc&lt;br /&gt;
##Go to /root/globus&lt;br /&gt;
#:&amp;lt;source&amp;gt;cd /root/globus&amp;lt;/source&amp;gt;&lt;br /&gt;
#Insert and save the real paths at the end of this file (check commas for syntax or you&#039;ll get an error):&lt;br /&gt;
#:&amp;lt;source&amp;gt;vim path_restrictions.json&amp;lt;/source&amp;gt;&lt;br /&gt;
##Here is an example of what it should look like&lt;br /&gt;
##:&amp;lt;source&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;DATA_TYPE&amp;quot;: &amp;quot;path_restrictions#1.0.0&amp;quot;,&lt;br /&gt;
    &amp;quot;read&amp;quot;: [&lt;br /&gt;
        &amp;quot;/&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;read_write&amp;quot;: [&lt;br /&gt;
        &amp;quot;/nfs/mammoth/idg-images/newAmisData/&amp;quot;&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#Create a session token with globus. (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#:&amp;lt;source&amp;gt;globus-connect-server session update ucsfbks@globusid.org&amp;lt;/source&amp;gt;&lt;br /&gt;
#* If above doesn&#039;t work, run below and follow instructions. (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#:: &amp;lt;source&amp;gt; globus-connect-server login localhost &amp;lt;/source&amp;gt;&lt;br /&gt;
#Follow instructions given by globus and it should tell you that it was successful&lt;br /&gt;
#In the same directory, run this command to update&lt;br /&gt;
#:&amp;lt;source&amp;gt;globus-connect-server collection update --sharing-restrict-paths file:path_restrictions.json 2e1e1781-6d8a-440a-8604-7100d9c65c90&amp;lt;/source&amp;gt;&lt;br /&gt;
#This is the successful message&lt;br /&gt;
#:&amp;lt;source&amp;gt;code: success&amp;lt;/source&amp;gt;&lt;br /&gt;
== Modify Guest Collection Read and Write Permissions in Globus Website ==&lt;br /&gt;
If a user needs to write, make sure only they are allowed to write in their given directory. Otherwise you can risk random users to write whatever they want.&lt;br /&gt;
&lt;br /&gt;
#Log into globus.org using Globus ID as user &#039;&#039;&#039;ucsfbks&#039;&#039;&#039; (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#On the left sidebar, click on &#039;&#039;&#039;Collections&#039;&#039;&#039;&lt;br /&gt;
#In the top center of the page, click on &#039;&#039;&#039;Administered By You&#039;&#039;&#039;&lt;br /&gt;
#Then click on &#039;&#039;&#039;UCSF BKS Lab Guest Collection&#039;&#039;&#039;&lt;br /&gt;
#On the top left, click on the &#039;&#039;&#039;Permissions&#039;&#039;&#039; tab&lt;br /&gt;
#Top right, click on the &#039;&#039;&#039;Add Permissions -- Share With&#039;&#039;&#039; button.&lt;br /&gt;
#Fill in the form and double check that you have the right user and check that you have allowed them to write in the given directory.&lt;br /&gt;
#At the end, before you create the new permission rule, the form should look like below&lt;br /&gt;
##&amp;lt;source&amp;gt;&lt;br /&gt;
[[File:Globus_permissions.png|1000px]]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Globus_Curator%27s_Guide&amp;diff=16926</id>
		<title>Globus Curator&#039;s Guide</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Globus_Curator%27s_Guide&amp;diff=16926"/>
		<updated>2025-10-02T20:21:27Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: /* Modify Guest Collection Read and Write Permissions in Globus Website */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Here will be the instructions on how to maintain globus.&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
*For any restrict path&#039;s to work in the Guest Collections, the main collection needs to have either the same or broader path to be allowed.&lt;br /&gt;
*The main collection is currently private. Only the admins can have access to it.&lt;br /&gt;
&lt;br /&gt;
== Updating Path Permissions for the Guest Collection ==&lt;br /&gt;
#Identify the real paths of the permission denied paths. Globus doesn&#039;t follow symbolic links&lt;br /&gt;
#:&amp;lt;source&amp;gt;readlink -f &amp;lt;symlink&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
# Become root in epyc&lt;br /&gt;
##Go to /root/globus&lt;br /&gt;
#:&amp;lt;source&amp;gt;cd /root/globus&amp;lt;/source&amp;gt;&lt;br /&gt;
#Insert and save the real paths at the end of this file (check commas for syntax or you&#039;ll get an error):&lt;br /&gt;
#:&amp;lt;source&amp;gt;vim storage_gateway_path_restriction.json&amp;lt;/source&amp;gt;&lt;br /&gt;
##Here is an example of what it should look like&lt;br /&gt;
##:&amp;lt;source&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;DATA_TYPE&amp;quot;: &amp;quot;path_restrictions#1.0.0&amp;quot;,&lt;br /&gt;
    &amp;quot;none&amp;quot;: [&amp;quot;/&amp;quot;],&lt;br /&gt;
    &amp;quot;read&amp;quot;: [&lt;br /&gt;
	    &amp;quot;/nfs/ex3/published&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exe/work/jji/2dexport&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exe/work/jji/3d-zinc20&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exl/zinc-22a&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exl/zinc-22b&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exl/zinc-22c&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exc/zinc-22n&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;read_write&amp;quot;:[&lt;br /&gt;
	    &amp;quot;/nfs/mammoth/idg-images/newAmisData&amp;quot;&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#Create a session token with globus. (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#:&amp;lt;source&amp;gt;globus-connect-server session update ucsfbks@globusid.org&amp;lt;/source&amp;gt;&lt;br /&gt;
#Follow instructions given by globus and it should tell you that it was successful&lt;br /&gt;
#In the same directory, run this command to update&lt;br /&gt;
#:&amp;lt;source&amp;gt;bash globus-storage-gateway.sh update&amp;lt;/source&amp;gt;&lt;br /&gt;
#This is the successful message&lt;br /&gt;
#:&amp;lt;source&amp;gt;Message: Updated Storage Gateway aa731fb1-b27a-49e6-aaeb-2d2cc252f779&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Updating Path Permissions for the Main Collection ==&lt;br /&gt;
#Identify the real paths of the permission denied paths. Globus doesn&#039;t follow symbolic links&lt;br /&gt;
#:&amp;lt;source&amp;gt;readlink -f &amp;lt;symlink&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
# Become root in epyc&lt;br /&gt;
##Go to /root/globus&lt;br /&gt;
#:&amp;lt;source&amp;gt;cd /root/globus&amp;lt;/source&amp;gt;&lt;br /&gt;
#Insert and save the real paths at the end of this file (check commas for syntax or you&#039;ll get an error):&lt;br /&gt;
#:&amp;lt;source&amp;gt;vim path_restrictions.json&amp;lt;/source&amp;gt;&lt;br /&gt;
##Here is an example of what it should look like&lt;br /&gt;
##:&amp;lt;source&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;DATA_TYPE&amp;quot;: &amp;quot;path_restrictions#1.0.0&amp;quot;,&lt;br /&gt;
    &amp;quot;read&amp;quot;: [&lt;br /&gt;
        &amp;quot;/&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;read_write&amp;quot;: [&lt;br /&gt;
        &amp;quot;/nfs/mammoth/idg-images/newAmisData/&amp;quot;&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#Create a session token with globus. (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#:&amp;lt;source&amp;gt;globus-connect-server session update ucsfbks@globusid.org&amp;lt;/source&amp;gt;&lt;br /&gt;
#* If above doesn&#039;t work, run below and follow instructions. (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#:: &amp;lt;source&amp;gt; globus-connect-server login localhost &amp;lt;/source&amp;gt;&lt;br /&gt;
#Follow instructions given by globus and it should tell you that it was successful&lt;br /&gt;
#In the same directory, run this command to update&lt;br /&gt;
#:&amp;lt;source&amp;gt;globus-connect-server collection update --sharing-restrict-paths file:path_restrictions.json 2e1e1781-6d8a-440a-8604-7100d9c65c90&amp;lt;/source&amp;gt;&lt;br /&gt;
#This is the successful message&lt;br /&gt;
#:&amp;lt;source&amp;gt;code: success&amp;lt;/source&amp;gt;&lt;br /&gt;
== Modify Guest Collection Read and Write Permissions in Globus Website ==&lt;br /&gt;
If a user needs to write, make sure only they are allowed to write in their given directory. Otherwise you can risk random users to write whatever they want.&lt;br /&gt;
&lt;br /&gt;
#Log into globus.org using Globus ID as user &#039;&#039;&#039;ucsfbks&#039;&#039;&#039; (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#On the left sidebar, click on &#039;&#039;&#039;Collections&#039;&#039;&#039;&lt;br /&gt;
#In the top center of the page, click on &#039;&#039;&#039;Administered By You&#039;&#039;&#039;&lt;br /&gt;
#Then click on &#039;&#039;&#039;UCSF BKS Lab Guest Collection&#039;&#039;&#039;&lt;br /&gt;
#On the top left, click on the &#039;&#039;&#039;Permissions&#039;&#039;&#039; tab&lt;br /&gt;
#Top right, click on the &#039;&#039;&#039;Add Permissions -- Share With&#039;&#039;&#039; button.&lt;br /&gt;
#Fill in the form and double check that you have the right user and check that you have allowed them to write in the given directory.&lt;br /&gt;
#At the end, before you create the new permission rule, the form should look like below&lt;br /&gt;
##&amp;lt;source&amp;gt;&lt;br /&gt;
[[File:Globus_permissions.png|thumb]]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Globus_Curator%27s_Guide&amp;diff=16925</id>
		<title>Globus Curator&#039;s Guide</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Globus_Curator%27s_Guide&amp;diff=16925"/>
		<updated>2025-10-02T20:20:56Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: /* Modify Guest Collection Read and Write Permissions in Globus Website */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Here will be the instructions on how to maintain globus.&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
*For any restrict path&#039;s to work in the Guest Collections, the main collection needs to have either the same or broader path to be allowed.&lt;br /&gt;
*The main collection is currently private. Only the admins can have access to it.&lt;br /&gt;
&lt;br /&gt;
== Updating Path Permissions for the Guest Collection ==&lt;br /&gt;
#Identify the real paths of the permission denied paths. Globus doesn&#039;t follow symbolic links&lt;br /&gt;
#:&amp;lt;source&amp;gt;readlink -f &amp;lt;symlink&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
# Become root in epyc&lt;br /&gt;
##Go to /root/globus&lt;br /&gt;
#:&amp;lt;source&amp;gt;cd /root/globus&amp;lt;/source&amp;gt;&lt;br /&gt;
#Insert and save the real paths at the end of this file (check commas for syntax or you&#039;ll get an error):&lt;br /&gt;
#:&amp;lt;source&amp;gt;vim storage_gateway_path_restriction.json&amp;lt;/source&amp;gt;&lt;br /&gt;
##Here is an example of what it should look like&lt;br /&gt;
##:&amp;lt;source&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;DATA_TYPE&amp;quot;: &amp;quot;path_restrictions#1.0.0&amp;quot;,&lt;br /&gt;
    &amp;quot;none&amp;quot;: [&amp;quot;/&amp;quot;],&lt;br /&gt;
    &amp;quot;read&amp;quot;: [&lt;br /&gt;
	    &amp;quot;/nfs/ex3/published&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exe/work/jji/2dexport&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exe/work/jji/3d-zinc20&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exl/zinc-22a&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exl/zinc-22b&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exl/zinc-22c&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exc/zinc-22n&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;read_write&amp;quot;:[&lt;br /&gt;
	    &amp;quot;/nfs/mammoth/idg-images/newAmisData&amp;quot;&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#Create a session token with globus. (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#:&amp;lt;source&amp;gt;globus-connect-server session update ucsfbks@globusid.org&amp;lt;/source&amp;gt;&lt;br /&gt;
#Follow instructions given by globus and it should tell you that it was successful&lt;br /&gt;
#In the same directory, run this command to update&lt;br /&gt;
#:&amp;lt;source&amp;gt;bash globus-storage-gateway.sh update&amp;lt;/source&amp;gt;&lt;br /&gt;
#This is the successful message&lt;br /&gt;
#:&amp;lt;source&amp;gt;Message: Updated Storage Gateway aa731fb1-b27a-49e6-aaeb-2d2cc252f779&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Updating Path Permissions for the Main Collection ==&lt;br /&gt;
#Identify the real paths of the permission denied paths. Globus doesn&#039;t follow symbolic links&lt;br /&gt;
#:&amp;lt;source&amp;gt;readlink -f &amp;lt;symlink&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
# Become root in epyc&lt;br /&gt;
##Go to /root/globus&lt;br /&gt;
#:&amp;lt;source&amp;gt;cd /root/globus&amp;lt;/source&amp;gt;&lt;br /&gt;
#Insert and save the real paths at the end of this file (check commas for syntax or you&#039;ll get an error):&lt;br /&gt;
#:&amp;lt;source&amp;gt;vim path_restrictions.json&amp;lt;/source&amp;gt;&lt;br /&gt;
##Here is an example of what it should look like&lt;br /&gt;
##:&amp;lt;source&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;DATA_TYPE&amp;quot;: &amp;quot;path_restrictions#1.0.0&amp;quot;,&lt;br /&gt;
    &amp;quot;read&amp;quot;: [&lt;br /&gt;
        &amp;quot;/&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;read_write&amp;quot;: [&lt;br /&gt;
        &amp;quot;/nfs/mammoth/idg-images/newAmisData/&amp;quot;&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#Create a session token with globus. (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#:&amp;lt;source&amp;gt;globus-connect-server session update ucsfbks@globusid.org&amp;lt;/source&amp;gt;&lt;br /&gt;
#* If above doesn&#039;t work, run below and follow instructions. (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#:: &amp;lt;source&amp;gt; globus-connect-server login localhost &amp;lt;/source&amp;gt;&lt;br /&gt;
#Follow instructions given by globus and it should tell you that it was successful&lt;br /&gt;
#In the same directory, run this command to update&lt;br /&gt;
#:&amp;lt;source&amp;gt;globus-connect-server collection update --sharing-restrict-paths file:path_restrictions.json 2e1e1781-6d8a-440a-8604-7100d9c65c90&amp;lt;/source&amp;gt;&lt;br /&gt;
#This is the successful message&lt;br /&gt;
#:&amp;lt;source&amp;gt;code: success&amp;lt;/source&amp;gt;&lt;br /&gt;
== Modify Guest Collection Read and Write Permissions in Globus Website ==&lt;br /&gt;
If a user needs to write, make sure only they are allowed to write in their given directory. Otherwise you can risk random users to write whatever they want.&lt;br /&gt;
&lt;br /&gt;
#Log into globus.org using Globus ID as user &#039;&#039;&#039;ucsfbks&#039;&#039;&#039; (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#On the left sidebar, click on &#039;&#039;&#039;Collections&#039;&#039;&#039;&lt;br /&gt;
#In the top center of the page, click on &#039;&#039;&#039;Administered By You&#039;&#039;&#039;&lt;br /&gt;
#Then click on &#039;&#039;&#039;UCSF BKS Lab Guest Collection&#039;&#039;&#039;&lt;br /&gt;
#On the top left, click on the &#039;&#039;&#039;Permissions&#039;&#039;&#039; tab&lt;br /&gt;
#Top right, click on the &#039;&#039;&#039;Add Permissions -- Share With&#039;&#039;&#039; button.&lt;br /&gt;
#Fill in the form and double check that you have the right user and check that you have allowed them to write in the given directory.&lt;br /&gt;
#At the end, before you create the new permission rule, the form should look like below&lt;br /&gt;
##&amp;lt;source&amp;gt;&lt;br /&gt;
[[File:Globus permissions.png|thumb]]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Globus_Curator%27s_Guide&amp;diff=16923</id>
		<title>Globus Curator&#039;s Guide</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Globus_Curator%27s_Guide&amp;diff=16923"/>
		<updated>2025-10-02T20:13:32Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Here will be the instructions on how to maintain globus.&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
*For any restrict path&#039;s to work in the Guest Collections, the main collection needs to have either the same or broader path to be allowed.&lt;br /&gt;
*The main collection is currently private. Only the admins can have access to it.&lt;br /&gt;
&lt;br /&gt;
== Updating Path Permissions for the Guest Collection ==&lt;br /&gt;
#Identify the real paths of the permission denied paths. Globus doesn&#039;t follow symbolic links&lt;br /&gt;
#:&amp;lt;source&amp;gt;readlink -f &amp;lt;symlink&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
# Become root in epyc&lt;br /&gt;
##Go to /root/globus&lt;br /&gt;
#:&amp;lt;source&amp;gt;cd /root/globus&amp;lt;/source&amp;gt;&lt;br /&gt;
#Insert and save the real paths at the end of this file (check commas for syntax or you&#039;ll get an error):&lt;br /&gt;
#:&amp;lt;source&amp;gt;vim storage_gateway_path_restriction.json&amp;lt;/source&amp;gt;&lt;br /&gt;
##Here is an example of what it should look like&lt;br /&gt;
##:&amp;lt;source&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;DATA_TYPE&amp;quot;: &amp;quot;path_restrictions#1.0.0&amp;quot;,&lt;br /&gt;
    &amp;quot;none&amp;quot;: [&amp;quot;/&amp;quot;],&lt;br /&gt;
    &amp;quot;read&amp;quot;: [&lt;br /&gt;
	    &amp;quot;/nfs/ex3/published&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exe/work/jji/2dexport&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exe/work/jji/3d-zinc20&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exl/zinc-22a&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exl/zinc-22b&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exl/zinc-22c&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exc/zinc-22n&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;read_write&amp;quot;:[&lt;br /&gt;
	    &amp;quot;/nfs/mammoth/idg-images/newAmisData&amp;quot;&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#Create a session token with globus. (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#:&amp;lt;source&amp;gt;globus-connect-server session update ucsfbks@globusid.org&amp;lt;/source&amp;gt;&lt;br /&gt;
#Follow instructions given by globus and it should tell you that it was successful&lt;br /&gt;
#In the same directory, run this command to update&lt;br /&gt;
#:&amp;lt;source&amp;gt;bash globus-storage-gateway.sh update&amp;lt;/source&amp;gt;&lt;br /&gt;
#This is the successful message&lt;br /&gt;
#:&amp;lt;source&amp;gt;Message: Updated Storage Gateway aa731fb1-b27a-49e6-aaeb-2d2cc252f779&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Updating Path Permissions for the Main Collection ==&lt;br /&gt;
#Identify the real paths of the permission denied paths. Globus doesn&#039;t follow symbolic links&lt;br /&gt;
#:&amp;lt;source&amp;gt;readlink -f &amp;lt;symlink&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
# Become root in epyc&lt;br /&gt;
##Go to /root/globus&lt;br /&gt;
#:&amp;lt;source&amp;gt;cd /root/globus&amp;lt;/source&amp;gt;&lt;br /&gt;
#Insert and save the real paths at the end of this file (check commas for syntax or you&#039;ll get an error):&lt;br /&gt;
#:&amp;lt;source&amp;gt;vim path_restrictions.json&amp;lt;/source&amp;gt;&lt;br /&gt;
##Here is an example of what it should look like&lt;br /&gt;
##:&amp;lt;source&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;DATA_TYPE&amp;quot;: &amp;quot;path_restrictions#1.0.0&amp;quot;,&lt;br /&gt;
    &amp;quot;read&amp;quot;: [&lt;br /&gt;
        &amp;quot;/&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;read_write&amp;quot;: [&lt;br /&gt;
        &amp;quot;/nfs/mammoth/idg-images/newAmisData/&amp;quot;&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#Create a session token with globus. (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#:&amp;lt;source&amp;gt;globus-connect-server session update ucsfbks@globusid.org&amp;lt;/source&amp;gt;&lt;br /&gt;
#* If above doesn&#039;t work, run below and follow instructions. (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#:: &amp;lt;source&amp;gt; globus-connect-server login localhost &amp;lt;/source&amp;gt;&lt;br /&gt;
#Follow instructions given by globus and it should tell you that it was successful&lt;br /&gt;
#In the same directory, run this command to update&lt;br /&gt;
#:&amp;lt;source&amp;gt;globus-connect-server collection update --sharing-restrict-paths file:path_restrictions.json 2e1e1781-6d8a-440a-8604-7100d9c65c90&amp;lt;/source&amp;gt;&lt;br /&gt;
#This is the successful message&lt;br /&gt;
#:&amp;lt;source&amp;gt;code: success&amp;lt;/source&amp;gt;&lt;br /&gt;
== Modify Guest Collection Read and Write Permissions in Globus Website ==&lt;br /&gt;
If a user needs to write, make sure only they are allowed to write in their given directory. Otherwise you can risk random users to write whatever they want.&lt;br /&gt;
&lt;br /&gt;
#Log into globus.org using Globus ID as user &#039;&#039;&#039;ucsfbks&#039;&#039;&#039; (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#On the left sidebar, click on &#039;&#039;&#039;Collections&#039;&#039;&#039;&lt;br /&gt;
#In the top center of the page, click on &#039;&#039;&#039;Administered By You&#039;&#039;&#039;&lt;br /&gt;
#Then click on &#039;&#039;&#039;UCSF BKS Lab Guest Collection&#039;&#039;&#039;&lt;br /&gt;
#On the top left, click on the &#039;&#039;&#039;Permissions&#039;&#039;&#039; tab&lt;br /&gt;
#Top right, click on the &#039;&#039;&#039;Add Permissions -- Share With&#039;&#039;&#039; button.&lt;br /&gt;
#Fill in the form and double check that you have the right user and check that you have allowed them to write in the given directory.&lt;br /&gt;
#At the end, before you create the new permission rule, the form should look like below&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Arthor_Documentation_for_Future_Developer&amp;diff=16702</id>
		<title>Arthor Documentation for Future Developer</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Arthor_Documentation_for_Future_Developer&amp;diff=16702"/>
		<updated>2025-05-06T20:50:23Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: /* Active Arthor Instances */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
[https://www.nextmovesoftware.com/downloads/arthor/documentation/Arthor.pdf Here is the link to Arthor&#039;s manual]&lt;br /&gt;
* Username: ucsf@nextmovesoftware.com&lt;br /&gt;
* Password: &amp;lt;Ask jjiteam@googlegroups.com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arthor configurations and the frontend files are consolidated in &#039;&#039;&#039;/nfs/soft2/arthor_configs/&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;/nfs/soft2/arthor_configs/start_arthor_script.sh&#039;&#039;&#039; can start/restart Arthor instances on respective machines.&lt;br /&gt;
&lt;br /&gt;
Launch the script to see the options available.&lt;br /&gt;
&lt;br /&gt;
== How To Download Arthor ==&lt;br /&gt;
# Ssh to nfs-soft2 and become root. Prepare directory&lt;br /&gt;
#: &amp;lt;source&amp;gt; mkdir /export/soft2/arthor_configs/arthor-&amp;lt;version&amp;gt; &amp;amp;&amp;amp; cd /export/soft2/arthor_configs/arthor-&amp;lt;version&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
# [https://www.nextmovesoftware.com/downloads/arthor/ Download Software with this link]&lt;br /&gt;
#* Username: ucsf@nextmovesoftware.com&lt;br /&gt;
#* Password: &amp;lt;Ask jjiteam@googlegroups.com&amp;gt;&lt;br /&gt;
# Go to releases. Look for &#039;&#039;&#039; smallworld-java-&amp;lt;version&amp;gt;.tar.gz &#039;&#039;&#039; and copy the link address.&lt;br /&gt;
# Download using wget&lt;br /&gt;
#: &amp;lt;source&amp;gt; wget --user ucsf@nextmovesoftware.com --password &amp;lt;Ask jjiteam@googlegroups.com&amp;gt; &amp;lt;link address&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
# Decompress the file&lt;br /&gt;
#* &amp;lt;source&amp;gt; tar -xvf &amp;lt;file_name&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How To Launch Arthor For The First Time ==&lt;br /&gt;
=== Prepare Files and Directories ===&lt;br /&gt;
# Ssh to nfs-exc and become root&lt;br /&gt;
# Open a port in the firewall&lt;br /&gt;
#: &amp;lt;source&amp;gt;firewall-cmd --permanent --add-port=&amp;lt;port_number&amp;gt;/tcp &lt;br /&gt;
firewall-cmd --reload&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
# Go to Arthor Config directory&lt;br /&gt;
#: &amp;lt;source&amp;gt;cd /export/soft2/arthor_configs/arthor-&amp;lt;latest_version&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
# Create an Arthor config file &lt;br /&gt;
#: &amp;lt;source&amp;gt;vim &amp;lt;name_of_file&amp;gt;.cfg&amp;lt;/source&amp;gt;&lt;br /&gt;
#* Add these lines in the file. Check the manual for more options.&lt;br /&gt;
#: &amp;lt;source&amp;gt;&lt;br /&gt;
DataDir=/local2/public_arthor&lt;br /&gt;
MaxConcurrentSearches=6&lt;br /&gt;
MaxThreadsPerSearch=8&lt;br /&gt;
AutomaticIndex=false&lt;br /&gt;
AsyncHitCountMax=20000&lt;br /&gt;
Depiction=./depict/bot/svg?w=%w&amp;amp;h=%h&amp;amp;svgunits=px&amp;amp;smi=%s&amp;amp;zoom=0.8&amp;amp;sma=%m&amp;amp;smalim=1&lt;br /&gt;
Resolver=https://sw.docking.org/util/smi2mol?smi=%s&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Start Arthor Instance ===&lt;br /&gt;
# Now ssh into a machine you wish to run an Arthor instance on and become root&lt;br /&gt;
# Change your shell to bash if you havn&#039;t already&lt;br /&gt;
#: &amp;lt;source&amp;gt;bash&amp;lt;/source&amp;gt;&lt;br /&gt;
# Create a screen&lt;br /&gt;
#: &amp;lt;source&amp;gt;screen -S &amp;lt;screen_name&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
# Prepare Arthor Config Path&lt;br /&gt;
#: &amp;lt;source&amp;gt;export ARTHOR_CONFIG=&amp;quot;/nfs/soft2/arthor_configs/arthor-&amp;lt;version&amp;gt;/&amp;lt;name_of_config_file&amp;gt;.cfg&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
# Launch java&lt;br /&gt;
#: &amp;lt;source&amp;gt;java -jar -Dserver.port=&amp;lt;port_number&amp;gt; /nfs/soft2/arthor_configs/arthor-&amp;lt;version&amp;gt;/arthor-server-&amp;lt;version&amp;gt;.war&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuration Details ===&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;DataDir&#039;&#039;&#039;: This is the directory where the Arthor data files live.  Location where the index files will be created and loaded from.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MaxConcurrentSearches&#039;&#039;&#039;: Controls the maximum number of searches that can be run concurrently by setting the database pool size. When switching between a large number of databases it can be useful to have a larger pool size, the only trade off is keeping file pointers open.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MaxThreadsPerSearch&#039;&#039;&#039;: The number of threads to use for both ATDB and ATFP searches&lt;br /&gt;
&lt;br /&gt;
*Set &#039;&#039;&#039;AutomaticIndex&#039;&#039;&#039; to false if you don&#039;t want new smiles files added to the data directory to be indexed automatically&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;AsyncHitCountMax&#039;&#039;&#039;: The upper-bound for the number of hits to retrieve in background searches.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Resolver&#039;&#039;&#039;: Using Smallworld API, allows input box to take in a SMILE format and automatically draw on the board.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Check Arthor manual for more configuration options&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== How to Build Arthor Databases==&lt;br /&gt;
We can build Arthor Databases anywhere. Consolidate smiles into one directory so you can index them all one by one.&lt;br /&gt;
&lt;br /&gt;
Just use the script located at &#039;&#039;&#039;/nfs/home/jjg/scripts/arthor_index_script.sh&#039;&#039;&#039; at the directory where you stored the smiles.&lt;br /&gt;
&lt;br /&gt;
Here is the content of the script:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
target=&amp;quot;*.smi&amp;quot;&lt;br /&gt;
threads=&#039;48&#039;&lt;br /&gt;
version=&amp;quot;3.6.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
export ARTHOR_DIR=/nfs/soft2/arthor_configs/arthor-$version/arthor-$version-centos8/&lt;br /&gt;
export PATH=$ARTHOR_DIR/bin/:$PATH&lt;br /&gt;
&lt;br /&gt;
for j in $target&lt;br /&gt;
do&lt;br /&gt;
        echo &#039;smi2atdb -v -r -j &#039;$threads&#039; -p &#039;$j&#039; &#039;${j}&#039;.atdb |&amp;amp; tee -a &#039;${j}&#039;_log&#039;&lt;br /&gt;
        time smi2atdb -v -r -j $threads -p $j ${j}.atdb |&amp;amp; tee -a ${j}_log&lt;br /&gt;
	echo &#039;smi2atfp -j &#039;$threads&#039; -p &#039;$j&#039; &#039;${j}.atfp&#039; |&amp;amp; tee -a &#039;${j}&#039;_log&#039;&lt;br /&gt;
        time smi2atfp -j $threads -p $j ${j}.atfp |&amp;amp; tee -a ${j}_log&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
for i in $target*atdb&lt;br /&gt;
do&lt;br /&gt;
	echo &#039;atdb2fp -j &#039;$threads&#039; &#039;$i&lt;br /&gt;
        time atdb2fp -j $threads $i&lt;br /&gt;
	chmod 744 $i.fp&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command Details ===&lt;br /&gt;
&#039;&#039;&#039;smi2atdb&#039;&#039;&#039; creates the atdb files needed for Substructure searching.&lt;br /&gt;
*&#039;&#039;&#039;-v&#039;&#039;&#039; verbose&lt;br /&gt;
*&#039;&#039;&#039;-r&#039;&#039;&#039; Compute and store ring size information in the index allowing ring size (3-10) expressions ([r6] and [Z5])&lt;br /&gt;
*&#039;&#039;&#039;-j&#039;&#039;&#039; is the amount of threads to use to index the smiles file&lt;br /&gt;
*&#039;&#039;&#039;-p&#039;&#039;&#039; stores the position of the original file &lt;br /&gt;
&#039;&#039;&#039;atdb2fp&#039;&#039;&#039; makes substructure searching faster&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;smi2atfp&#039;&#039;&#039; creates atfp files for similarity searching&lt;br /&gt;
&lt;br /&gt;
==Setting up Round Table==&lt;br /&gt;
&amp;quot;Round Table allows you to serve and split chemical searches across multiple host machines.  The implementation provides a lightweight proxy that forwards requests to other Arthor host servers that do the actual search.  Communication is done using the existing Web APIs.&lt;br /&gt;
===Setting up Host Server===&lt;br /&gt;
# Ssh to nfs-soft2 and become root&lt;br /&gt;
# Open a port in the firewall&lt;br /&gt;
#: &amp;lt;source&amp;gt;firewall-cmd --permanent --add-port=&amp;lt;port_number&amp;gt;/tcp &lt;br /&gt;
firewall-cmd --reload&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
# Go to Arthor Config Directory&lt;br /&gt;
#: &amp;lt;source&amp;gt;cd /export/soft2/arthor_configs/arthor-&amp;lt;version&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
# Create Round Table Head configuration file. Here is an example:&lt;br /&gt;
# &amp;lt;source&amp;gt;&lt;br /&gt;
[RoundTable]&lt;br /&gt;
RemoteClient=http://10.20.0.41:8008&lt;br /&gt;
RemoteClient=http://10.20.5.19:8008&lt;br /&gt;
Resolver=https://sw.docking.org/util/smi2mol?smi=%s&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
# Now ssh into a machine you wish to run the round table head on and become root&lt;br /&gt;
# Change your shell to bash if you havn&#039;t already&lt;br /&gt;
#: &amp;lt;source&amp;gt;bash&amp;lt;/source&amp;gt;&lt;br /&gt;
# Create a screen&lt;br /&gt;
#: &amp;lt;source&amp;gt;screen -S &amp;lt;screen_name&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
# Prepare Arthor Config Path&lt;br /&gt;
#: &amp;lt;source&amp;gt;export ARTHOR_CONFIG=&amp;quot;/nfs/soft2/arthor_configs/arthor-&amp;lt;version&amp;gt;/&amp;lt;round_table_head&amp;gt;.cfg&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
# Launch java&lt;br /&gt;
#: &amp;lt;source&amp;gt;java -jar /nfs/soft2/arthor_configs/arthor-&amp;lt;version&amp;gt;/arthor-&amp;lt;version&amp;gt;-centos7/java/arthor.jar --httpPort=&amp;lt;port_number&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Active Arthor Instances ==&lt;br /&gt;
===Public Arthor===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Rocky Linux Machine&lt;br /&gt;
! Port&lt;br /&gt;
! Data Directory&lt;br /&gt;
! Which Arthor&lt;br /&gt;
|-&lt;br /&gt;
| arthor&lt;br /&gt;
| 10.20.200.100:8080&lt;br /&gt;
| /local3/public_arthor/&lt;br /&gt;
| Public Arthor&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Private Arthor===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Rocky Linux Machine&lt;br /&gt;
! Port&lt;br /&gt;
! Data Directory&lt;br /&gt;
! Which Arthor&lt;br /&gt;
|-&lt;br /&gt;
| arthor&lt;br /&gt;
| 10.20.200.100:8081&lt;br /&gt;
| /local3/private_arthor/&lt;br /&gt;
| Private Arthor&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Super Private Arthor===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Rocky Linux Machine&lt;br /&gt;
! Port&lt;br /&gt;
! Data Directory&lt;br /&gt;
! Which Arthor&lt;br /&gt;
|-&lt;br /&gt;
| arthor&lt;br /&gt;
| 10.20.200.100:8082&lt;br /&gt;
| /local3/super_private_arthor/&lt;br /&gt;
| Private Arthor&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Arthor BB, CC, and Covalent===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! CentOS 7 Machine&lt;br /&gt;
! Port&lt;br /&gt;
! Data Directory&lt;br /&gt;
! Which Arthor&lt;br /&gt;
|-&lt;br /&gt;
| epyc-A40&lt;br /&gt;
| 10.20.200.92:8081&lt;br /&gt;
| /local2/arthorbb&lt;br /&gt;
| ArthorBB&lt;br /&gt;
|-&lt;br /&gt;
| epyc-A40&lt;br /&gt;
| 10.20.200.92:8082&lt;br /&gt;
| /local2/arthorcc&lt;br /&gt;
| ArthorCC&lt;br /&gt;
|-&lt;br /&gt;
| epyc-A40&lt;br /&gt;
| 10.20.200.92:8080&lt;br /&gt;
| /local2/arthorcovalent&lt;br /&gt;
| Arthor Covalent&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Customizing Arthor Frontend To Our Needs (Arthor 4.1) ==&lt;br /&gt;
&#039;&#039;&#039;These instructions only worked and compiled for me in the machine called epyc which is running Rocky 8 Linux operating system.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Summary of changes in index.html:&lt;br /&gt;
*Add contact info&lt;br /&gt;
*Advertise TLDR&lt;br /&gt;
*Remove button for Formula&lt;br /&gt;
*Database Information Link&lt;br /&gt;
&lt;br /&gt;
Summary of changes in index.js:&lt;br /&gt;
*Hyperlink the results to zinc20 or cartblanche22&lt;br /&gt;
*Copy SMILES with clipboard button&lt;br /&gt;
&lt;br /&gt;
Summary of changes in sketcher.js:&lt;br /&gt;
*Input box should be updated as user draws molecule&lt;br /&gt;
&lt;br /&gt;
Summary of changes in arthor-swagger.yaml.js:&lt;br /&gt;
*Make API point to &amp;quot;/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Install Prerequisite Packages ===&lt;br /&gt;
# Install Apache Maven&lt;br /&gt;
#* &amp;lt;source&amp;gt;dnf install maven -y&amp;lt;/source&amp;gt;&lt;br /&gt;
# Install Node Package Manager (NPM)&lt;br /&gt;
#* &amp;lt;source&amp;gt;dnf install npm -y&amp;lt;/source&amp;gt;&lt;br /&gt;
# In your home directory, create a new directory to hold the files for the upcoming procedures&lt;br /&gt;
#* &amp;lt;source&amp;gt;mkdir /mnt/nfs/home/jjg/arthor_build_from_source&amp;lt;/source&amp;gt;&lt;br /&gt;
# Download these latest Arthors and store them in &#039;arthor_build_from_source/&#039;. [[Arthor Documentation for Future Developer#How To Download Arthor|Here&#039;s how to download Arthor.]]&lt;br /&gt;
#* arthor-4.1-source.tar.gz&lt;br /&gt;
#* arthor-4.1-centos8.tar.gz&lt;br /&gt;
# Extract contents from the tar.gz files&lt;br /&gt;
#* &amp;lt;source&amp;gt;tar -xvf arthor-4.1-source.tar.gz&lt;br /&gt;
tar -xvf arthor-4.1-centos8.tar.gz&amp;lt;/source&amp;gt;&lt;br /&gt;
# Install Apache Maven Arthor dependencies through this script located at &#039;&#039;&#039;nfs/home/jjg/arthor_build_from_source/mvn_build.sh&#039;&#039;&#039;&lt;br /&gt;
#* &amp;lt;source&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
version=4.1&lt;br /&gt;
&lt;br /&gt;
export ARTHOR_DIR=/mnt/nfs/home/jjg/arthor_build_from_source/arthor-$version/arthor-$version-centos8/java/&lt;br /&gt;
export OS=linux&lt;br /&gt;
export VERSION=$version&lt;br /&gt;
&lt;br /&gt;
mvn install:install-file -Dfile=$ARTHOR_DIR/arthor-jni-${OS}.jar \&lt;br /&gt;
                         -Dpackaging=jar \&lt;br /&gt;
                         -DgeneratePom=true \&lt;br /&gt;
                         -DartifactId=arthor-jni-${OS} \&lt;br /&gt;
                         -DgroupId=com.nextmovesoftware.arthor \&lt;br /&gt;
                         -Dversion=$VERSION&lt;br /&gt;
mvn install:install-file -Dfile=$ARTHOR_DIR/arthor-jni.jar \&lt;br /&gt;
                         -Dpackaging=jar \&lt;br /&gt;
                         -DgeneratePom=true \&lt;br /&gt;
                         -DartifactId=arthor-jni \&lt;br /&gt;
                         -DgroupId=com.nextmovesoftware.arthor \&lt;br /&gt;
                         -Dversion=$VERSION&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Customizing Index.html ===&lt;br /&gt;
Location: /nfs/home/jjg/arthor_build_from_source/arthor-4.1/arthor-4.1-source/server-ui/src/index.html&lt;br /&gt;
&lt;br /&gt;
==== Add contact info and tldr ====&lt;br /&gt;
# vim /nfs/home/jjg/arthor_build_from_source/arthor-4.1/arthor-4.1-source/server-ui/src/index.html&lt;br /&gt;
# Search for &#039;arthor_table_list&#039;&lt;br /&gt;
#: &amp;lt;source&amp;gt;?arthor_table_list&amp;lt;/source&amp;gt;&lt;br /&gt;
# Add contact info, a plug to tldr.docking.org, and database link after the div block where arthor_table_list is inside of. It should look like this&lt;br /&gt;
#: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div class=&amp;quot;opt-box-border&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;label&amp;gt;Databases&amp;lt;/label&amp;gt;&lt;br /&gt;
        &amp;lt;!-- This will be populated by available databases --&amp;gt;&lt;br /&gt;
        &amp;lt;ul id=&amp;quot;arthor_table_list&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;li class=&amp;quot;placeholder&amp;quot;&amp;gt;Please select a search type&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;/ul&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div class=&amp;quot;opt-box-border&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;label&amp;gt;Ask Questions&amp;lt;/label&amp;gt;&lt;br /&gt;
        Email us: jjiteam@googlegroups.com&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div class=&amp;quot;opt-box-border&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;label&amp;gt; To Download 100K+ Results&amp;lt;/label&amp;gt;&lt;br /&gt;
        Sign up for &amp;lt;a href=&amp;quot;http://tldr.docking.org/&amp;quot;&amp;gt;tldr.docking.org&amp;lt;/a&amp;gt; and use arthorbatch&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div class=&amp;quot;opt-box-border&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;label&amp;gt; Database Information&amp;lt;/label&amp;gt;&lt;br /&gt;
        &amp;lt;a href=&amp;quot;https://wiki.docking.org/index.php?title=Arthor_Databases&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;Database Information Link&amp;lt;/a&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Remove Similarity and Formula Buttons ====&lt;br /&gt;
# vim /mnt/nfs/home/jjg/arthor_build_from_source/arthor-4.1/arthor-4.1-source/server-ui/src/index.html&lt;br /&gt;
# Search for &#039;arthor_search_list&#039;&lt;br /&gt;
#: &amp;lt;source&amp;gt; ?arthor_search_list &amp;lt;/source&amp;gt;&lt;br /&gt;
# Delete and Replace the whole &#039;ul&#039; element block with this&lt;br /&gt;
#: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;li value=&amp;quot;Similarity&amp;quot; onclick=&amp;quot;setSearchType(this)&amp;quot; class=&amp;quot;first&amp;quot;&amp;gt;&lt;br /&gt;
            Similarity&lt;br /&gt;
          &amp;lt;/li&amp;gt;&amp;lt;li value=&amp;quot;Substructure&amp;quot; onclick=&amp;quot;setSearchType(this)&amp;quot;&amp;gt;&lt;br /&gt;
            Substructure&lt;br /&gt;
          &amp;lt;/li&amp;gt;&amp;lt;li value=&amp;quot;SMARTS&amp;quot; onclick=&amp;quot;setSearchType(this)&amp;quot; class=&amp;quot;last&amp;quot;&amp;gt;&lt;br /&gt;
            SMARTS&lt;br /&gt;
          &amp;lt;/li&amp;gt;&lt;br /&gt;
          &amp;lt;!--&amp;lt;li value=&amp;quot;Formula&amp;quot; onclick=&amp;quot;setSearchType(this)&amp;quot; class=&amp;quot;last&amp;quot;&amp;gt;&lt;br /&gt;
            Formula&lt;br /&gt;
          &amp;lt;/li&amp;gt;--&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Customize Index.js ===&lt;br /&gt;
==== Conditional Hyperlinks ====&lt;br /&gt;
Location /mnt/nfs/home/jjg/arthor_build_from_source/arthor-4.1-source/server-ui/src/index.js&lt;br /&gt;
&lt;br /&gt;
# Add the zinc20 hyperlink to the Arthor results. Search for this&lt;br /&gt;
#: &amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
$info.append($(&amp;quot;&amp;lt;tr&amp;gt;&amp;quot;).append($(&#039;&amp;lt;td class=&amp;quot;identifier&amp;quot;&amp;gt;&#039;).append(id)));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
# Delete the contents of the whole else block and replace it with this&lt;br /&gt;
#: &amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
        if (id.substring(0, 6) == &amp;quot;ZINC00&amp;quot;) {&lt;br /&gt;
          $info.append(&lt;br /&gt;
            $(&#039;&amp;lt;tr&amp;gt;&#039;).append(&lt;br /&gt;
            $(&#039;&amp;lt;td class=&amp;quot;identifier&amp;quot;&amp;gt;&#039;).append(&amp;quot;&amp;lt;b&amp;gt;&amp;lt;a target=&#039;_blank&#039; href=&#039;https://zinc20.docking.org/substances/&amp;quot;+id+&amp;quot;&#039;&amp;gt;&amp;quot; + id + &amp;quot;&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;&amp;quot;)));&lt;br /&gt;
          $info.append(&lt;br /&gt;
            $(&amp;quot;&amp;lt;tr&amp;gt;&amp;quot;).append(&lt;br /&gt;
              $(&amp;quot;&amp;lt;td&amp;gt;&amp;quot;).append(&lt;br /&gt;
                &amp;quot;&amp;lt;span class=&#039;table_name&#039;&amp;gt;&amp;quot; + table_name + &amp;quot;&amp;lt;/span&amp;gt;&amp;quot;,&lt;br /&gt;
              ),&lt;br /&gt;
            ),&lt;br /&gt;
          );&lt;br /&gt;
        } else if (id.substring(0,4) == &amp;quot;ZINC&amp;quot; &amp;amp;&amp;amp; id.substring(4,6) != &amp;quot;00&amp;quot;) {&lt;br /&gt;
          $info.append(&lt;br /&gt;
            $(&#039;&amp;lt;tr&amp;gt;&#039;).append(&lt;br /&gt;
            $(&#039;&amp;lt;td class=&amp;quot;identifier&amp;quot;&amp;gt;&#039;).append(&amp;quot;&amp;lt;b&amp;gt;&amp;lt;a target=&#039;_blank&#039; href=&#039;https://cartblanche22.docking.org/substance/&amp;quot;+id+&amp;quot;&#039;&amp;gt;&amp;quot; + id + &amp;quot;&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;&amp;quot;)));&lt;br /&gt;
          $info.append(&lt;br /&gt;
            $(&amp;quot;&amp;lt;tr&amp;gt;&amp;quot;).append(&lt;br /&gt;
              $(&amp;quot;&amp;lt;td&amp;gt;&amp;quot;).append(&lt;br /&gt;
                &amp;quot;&amp;lt;span class=&#039;table_name&#039;&amp;gt;&amp;quot; + table_name + &amp;quot;&amp;lt;/span&amp;gt;&amp;quot;,&lt;br /&gt;
              ),&lt;br /&gt;
            ),&lt;br /&gt;
          );&lt;br /&gt;
        } else {&lt;br /&gt;
          $info.append($(&amp;quot;&amp;lt;tr&amp;gt;&amp;quot;).append($(&#039;&amp;lt;td class=&amp;quot;identifier&amp;quot;&amp;gt;&#039;).append(id)));&lt;br /&gt;
          $info.append(&lt;br /&gt;
            $(&amp;quot;&amp;lt;tr&amp;gt;&amp;quot;).append(&lt;br /&gt;
              $(&amp;quot;&amp;lt;td&amp;gt;&amp;quot;).append(&lt;br /&gt;
                &amp;quot;&amp;lt;span class=&#039;table_name&#039;&amp;gt;&amp;quot; + table_name + &amp;quot;&amp;lt;/span&amp;gt;&amp;quot;,&lt;br /&gt;
              ),&lt;br /&gt;
            ),&lt;br /&gt;
          );&lt;br /&gt;
        }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==== Copy SMILES Clipboard ====&lt;br /&gt;
# Search this&lt;br /&gt;
#: &amp;lt;source&amp;gt;?parser&amp;lt;/source&amp;gt;&lt;br /&gt;
# At the end of the the try block add this&lt;br /&gt;
#: &amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
        $info.append(&lt;br /&gt;
          $(&#039;&amp;lt;tr&amp;gt;&#039;).append(&lt;br /&gt;
            $(&#039;&amp;lt;td&amp;gt;&#039;).append(&#039;Copy SMILES: &amp;lt;a href=&amp;quot;#&amp;quot; onclick=&amp;quot;navigator.clipboard.writeText(\&#039;&#039; + parser.smi + &#039;\&#039;);&amp;quot;  &amp;gt;&amp;lt;i class=&amp;quot;fa fa-clipboard&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/a&amp;gt;&#039;)));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
# The whole try and catch block should look like this&lt;br /&gt;
#: &amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
try {&lt;br /&gt;
      var parser = new SmiJs.Parser(data);&lt;br /&gt;
      if (parser.parse()) {&lt;br /&gt;
        $info.append(&lt;br /&gt;
          $(&#039;&amp;lt;tr&amp;gt;&#039;).append(&lt;br /&gt;
            $(&#039;&amp;lt;td&amp;gt;&#039;).append(parser.mf(true))));&lt;br /&gt;
        $info.append(&lt;br /&gt;
                $(&#039;&amp;lt;tr&amp;gt;&#039;).append(&lt;br /&gt;
                  $(&#039;&amp;lt;td&amp;gt;&#039;).append(parser.mw())));&lt;br /&gt;
        $info.append(&lt;br /&gt;
          $(&#039;&amp;lt;tr&amp;gt;&#039;).append(&lt;br /&gt;
            $(&#039;&amp;lt;td&amp;gt;&#039;).append(&#039;Copy SMILES: &amp;lt;a href=&amp;quot;#&amp;quot; onclick=&amp;quot;navigator.clipboard.writeText(\&#039;&#039; + parser.smi + &#039;\&#039;);&amp;quot;  &amp;gt;&amp;lt;i class=&amp;quot;fa fa-clipboard&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/a&amp;gt;&#039;)));&lt;br /&gt;
      }&lt;br /&gt;
    } catch(err) {&lt;br /&gt;
      console.log(err);&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Customize Sketcher.js ===&lt;br /&gt;
Location: /mnt/nfs/home/jjg/arthor_build_from_source/arthor-4.1-source/server-ui/src/sketcher.js&lt;br /&gt;
&lt;br /&gt;
==== Input Box Updates as User Draws ====&lt;br /&gt;
#vim /mnt/nfs/home/jjg/arthor_build_from_source/arthor-4.1-source/server-ui/src/sketcher.js&lt;br /&gt;
#Search for this line &amp;quot;var smiles = event.src.smiles();&amp;quot;&lt;br /&gt;
#* &amp;lt;source&amp;gt;?var smiles = event.src.smiles();&amp;lt;/source&amp;gt;&lt;br /&gt;
#Add this new line below it&lt;br /&gt;
#* &amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;$(&#039;#ar_text_input&#039;).val(smiles);&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Customize arthor-swagger.yaml ===&lt;br /&gt;
Location: /mnt/nfs/home/jjg/arthor_build_from_source/arthor-4.1/arthor-4.1-source/server/src/main/webapp/WEB-INF/static/swagger/arthor-swagger.yaml&lt;br /&gt;
&lt;br /&gt;
==== Change URL Base Path for API Call ====&lt;br /&gt;
# vim /mnt/nfs/home/jjg/arthor_build_from_source/arthor-4.1/arthor-4.1-source/server/src/main/webapp/WEB-INF/static/swagger/arthor-swagger.yaml&lt;br /&gt;
# Search for &amp;quot;servers&amp;quot;&lt;br /&gt;
#* &amp;lt;source&amp;gt;?basePath&amp;lt;/source&amp;gt;&lt;br /&gt;
# Remove &amp;quot;arthor&amp;quot; and keep argument as &amp;quot;/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Compile/Minify Code through NPM ===&lt;br /&gt;
# Install NPM packages and Minify Code&lt;br /&gt;
#* &amp;lt;source&amp;gt;&lt;br /&gt;
cd /nfs/home/jjg/arthor_build_from_source/arthor-4.1/arthor-4.1-source/server-ui&lt;br /&gt;
npm install&lt;br /&gt;
npx webpack-dev-server&lt;br /&gt;
npx webpack --mode=production&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
# If the npx commands don&#039;t work, try updating node and npm version to the latest one.&lt;br /&gt;
# Build the war file&lt;br /&gt;
#* &amp;lt;source&amp;gt;&lt;br /&gt;
cd /nfs/home/jjg/arthor_build_from_source/arthor-4.1/arthor-4.1-source/server&lt;br /&gt;
mvn install -Pbootable&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
# If it works, then the path to new war file is at /mnt/nfs/home/jjg/arthor_build_from_source/arthor-4.1/arthor-4.1-source/server/target/arthor-server-4.1.war&lt;br /&gt;
&lt;br /&gt;
== Adding Arthor to Systemd (example) ==&lt;br /&gt;
# Create service files&lt;br /&gt;
#: &amp;lt;source&amp;gt;&lt;br /&gt;
touch /etc/systemd/system/arthor.service&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
# Add this code block in the service file&lt;br /&gt;
#: &amp;lt;source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Arthor Public Instance&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=exec&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=3&lt;br /&gt;
User=root&lt;br /&gt;
ExecStart=/usr/bin/bash /nfs/soft2/arthor_configs/start_arthor_service.sh -arthor&lt;br /&gt;
ExecStop=/bin/kill -15 $MAINPID&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
# Change &amp;quot;ExecStart&amp;quot; to other Arthor Instances&lt;br /&gt;
&lt;br /&gt;
== Restarting Arthor Instance(s) Instructions ==&lt;br /&gt;
=== Public, Private Arthor, and Super Private Arthor ===&lt;br /&gt;
# ssh to &amp;quot;arthor&amp;quot; server and run&lt;br /&gt;
#: &amp;lt;source&amp;gt;&lt;br /&gt;
systemctl &amp;lt;start|stop|restart&amp;gt; &amp;lt;arthor|arthorp|arthorc&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ArthorBB, ArthorCC, and ArthorCovalent ===&lt;br /&gt;
# ssh to &amp;quot;epyc-a40&amp;quot; server and run&lt;br /&gt;
#: &amp;lt;source&amp;gt;&lt;br /&gt;
systemctl &amp;lt;start|stop|restart&amp;gt; &amp;lt;arthorbb|arthorcc|arthorcovalent&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Arthor]]&lt;br /&gt;
[[Category:Developer]]&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Cluster_Networking_Quirks&amp;diff=16701</id>
		<title>Cluster Networking Quirks</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Cluster_Networking_Quirks&amp;diff=16701"/>
		<updated>2025-05-05T22:58:58Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: Created page with &amp;quot;== Introduction == This is a wiki page detailing weird network quirks the lab has encountered over the years.  == List of events == *May 5, 2025 *: &amp;lt;source&amp;gt; Vav and Gimel (both are in the 169.230.26.0 subnet) had a problem contacting the 169.230.75.0 subnet. Both of these machines had similar ip route rules, displayed below.  #vav 169.230.0.0/16 dev enp4s0 proto kernel scope link src 169.230.26.169 metric 100 #gimel 169.230.0.0/16 dev eth4  proto kernel  scope link  src...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
This is a wiki page detailing weird network quirks the lab has encountered over the years.&lt;br /&gt;
&lt;br /&gt;
== List of events ==&lt;br /&gt;
*May 5, 2025&lt;br /&gt;
*: &amp;lt;source&amp;gt;&lt;br /&gt;
Vav and Gimel (both are in the 169.230.26.0 subnet) had a problem contacting the 169.230.75.0 subnet.&lt;br /&gt;
Both of these machines had similar ip route rules, displayed below.&lt;br /&gt;
&lt;br /&gt;
#vav&lt;br /&gt;
169.230.0.0/16 dev enp4s0 proto kernel scope link src 169.230.26.169 metric 100&lt;br /&gt;
#gimel&lt;br /&gt;
169.230.0.0/16 dev eth4  proto kernel  scope link  src 169.230.26.166&lt;br /&gt;
&lt;br /&gt;
The rules above tell us that any IP addresses in this range 169.230.1.0 ~ 169.230.255.254 should be visible but they weren&#039;t.&lt;br /&gt;
&lt;br /&gt;
But for some reason, if I narrow down the subnet to 255.255.255.0 then we&#039;re able to ping the 169.230.75.0 subnet. So here are the new rules that allow connection to happen.&lt;br /&gt;
&lt;br /&gt;
#vav&lt;br /&gt;
169.230.26.0/24 dev enp4s0 proto kernel scope link src 169.230.26.169 metric 100&lt;br /&gt;
#gimel&lt;br /&gt;
169.230.26.0/24 dev eth4  proto kernel  scope link  src 169.230.26.166&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Globus_Curator%27s_Guide&amp;diff=16646</id>
		<title>Globus Curator&#039;s Guide</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Globus_Curator%27s_Guide&amp;diff=16646"/>
		<updated>2025-03-19T22:37:29Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Here will be the instructions on how to maintain globus.&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
*For any restrict path&#039;s to work in the Guest Collections, the main collection needs to have either the same or broader path to be allowed.&lt;br /&gt;
*The main collection is currently private. Only the admins can have access to it.&lt;br /&gt;
&lt;br /&gt;
== Updating Path Permissions for the Guest Collection ==&lt;br /&gt;
#Identify the real paths of the permission denied paths. Globus doesn&#039;t follow symbolic links&lt;br /&gt;
#:&amp;lt;source&amp;gt;readlink -f &amp;lt;symlink&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
# Become root in epyc&lt;br /&gt;
##Go to /root/globus&lt;br /&gt;
#:&amp;lt;source&amp;gt;cd /root/globus&amp;lt;/source&amp;gt;&lt;br /&gt;
#Insert and save the real paths at the end of this file (check commas for syntax or you&#039;ll get an error):&lt;br /&gt;
#:&amp;lt;source&amp;gt;vim storage_gateway_path_restriction.json&amp;lt;/source&amp;gt;&lt;br /&gt;
##Here is an example of what it should look like&lt;br /&gt;
##:&amp;lt;source&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;DATA_TYPE&amp;quot;: &amp;quot;path_restrictions#1.0.0&amp;quot;,&lt;br /&gt;
    &amp;quot;none&amp;quot;: [&amp;quot;/&amp;quot;],&lt;br /&gt;
    &amp;quot;read&amp;quot;: [&lt;br /&gt;
	    &amp;quot;/nfs/ex3/published&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exe/work/jji/2dexport&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exe/work/jji/3d-zinc20&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exl/zinc-22a&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exl/zinc-22b&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exl/zinc-22c&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exc/zinc-22n&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;read_write&amp;quot;:[&lt;br /&gt;
	    &amp;quot;/nfs/mammoth/idg-images/newAmisData&amp;quot;&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#Create a session token with globus. (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#:&amp;lt;source&amp;gt;globus-connect-server session update ucsfbks@globusid.org&amp;lt;/source&amp;gt;&lt;br /&gt;
#Follow instructions given by globus and it should tell you that it was successful&lt;br /&gt;
#In the same directory, run this command to update&lt;br /&gt;
#:&amp;lt;source&amp;gt;bash globus-storage-gateway.sh update&amp;lt;/source&amp;gt;&lt;br /&gt;
#This is the successful message&lt;br /&gt;
#:&amp;lt;source&amp;gt;Message: Updated Storage Gateway aa731fb1-b27a-49e6-aaeb-2d2cc252f779&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Updating Path Permissions for the Main Collection ==&lt;br /&gt;
#Identify the real paths of the permission denied paths. Globus doesn&#039;t follow symbolic links&lt;br /&gt;
#:&amp;lt;source&amp;gt;readlink -f &amp;lt;symlink&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
# Become root in epyc&lt;br /&gt;
##Go to /root/globus&lt;br /&gt;
#:&amp;lt;source&amp;gt;cd /root/globus&amp;lt;/source&amp;gt;&lt;br /&gt;
#Insert and save the real paths at the end of this file (check commas for syntax or you&#039;ll get an error):&lt;br /&gt;
#:&amp;lt;source&amp;gt;vim path_restrictions.json&amp;lt;/source&amp;gt;&lt;br /&gt;
##Here is an example of what it should look like&lt;br /&gt;
##:&amp;lt;source&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;DATA_TYPE&amp;quot;: &amp;quot;path_restrictions#1.0.0&amp;quot;,&lt;br /&gt;
    &amp;quot;read&amp;quot;: [&lt;br /&gt;
        &amp;quot;/&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;read_write&amp;quot;: [&lt;br /&gt;
        &amp;quot;/nfs/mammoth/idg-images/newAmisData/&amp;quot;&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#Create a session token with globus. (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#:&amp;lt;source&amp;gt;globus-connect-server session update ucsfbks@globusid.org&amp;lt;/source&amp;gt;&lt;br /&gt;
#* If above doesn&#039;t work, run below and follow instructions. (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#:: &amp;lt;source&amp;gt; globus-connect-server login localhost &amp;lt;/source&amp;gt;&lt;br /&gt;
#Follow instructions given by globus and it should tell you that it was successful&lt;br /&gt;
#In the same directory, run this command to update&lt;br /&gt;
#:&amp;lt;source&amp;gt;globus-connect-server collection update --sharing-restrict-paths file:path_restrictions.json 2e1e1781-6d8a-440a-8604-7100d9c65c90&amp;lt;/source&amp;gt;&lt;br /&gt;
#This is the successful message&lt;br /&gt;
#:&amp;lt;source&amp;gt;code: success&amp;lt;/source&amp;gt;&lt;br /&gt;
#Lastly, in the globus web GUI, you need to allow a specific user or group to access the new path in the permissions tab located in the collection overview.&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Globus_Curator%27s_Guide&amp;diff=16645</id>
		<title>Globus Curator&#039;s Guide</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Globus_Curator%27s_Guide&amp;diff=16645"/>
		<updated>2025-03-19T22:36:29Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Here will be the instructions on how to maintain globus.&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
*For any restrict path&#039;s to work in the Guest Collections, the main collection needs to have either the same or broader path to be allowed.&lt;br /&gt;
*The main collection is currently private. Only the admins can have access to it.&lt;br /&gt;
&lt;br /&gt;
== Updating Path Permissions for the Guest Collection ==&lt;br /&gt;
#Identify the real paths of the permission denied paths. Globus doesn&#039;t follow symbolic links&lt;br /&gt;
#:&amp;lt;source&amp;gt;readlink -f &amp;lt;symlink&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
# Become root in epyc&lt;br /&gt;
##Go to /root/globus&lt;br /&gt;
#:&amp;lt;source&amp;gt;cd /root/globus&amp;lt;/source&amp;gt;&lt;br /&gt;
#Insert and save the real paths at the end of this file (check commas for syntax or you&#039;ll get an error):&lt;br /&gt;
#:&amp;lt;source&amp;gt;vim storage_gateway_path_restriction.json&amp;lt;/source&amp;gt;&lt;br /&gt;
##Here is an example of what it should look like&lt;br /&gt;
##:&amp;lt;source&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;DATA_TYPE&amp;quot;: &amp;quot;path_restrictions#1.0.0&amp;quot;,&lt;br /&gt;
    &amp;quot;none&amp;quot;: [&amp;quot;/&amp;quot;],&lt;br /&gt;
    &amp;quot;read&amp;quot;: [&lt;br /&gt;
	    &amp;quot;/nfs/ex3/published&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exe/work/jji/2dexport&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exe/work/jji/3d-zinc20&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exl/zinc-22a&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exl/zinc-22b&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exl/zinc-22c&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exc/zinc-22n&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;read_write&amp;quot;:[&lt;br /&gt;
	    &amp;quot;/nfs/mammoth/idg-images/newAmisData&amp;quot;&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#Create a session token with globus. (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#:&amp;lt;source&amp;gt;globus-connect-server session update ucsfbks@globusid.org&amp;lt;/source&amp;gt;&lt;br /&gt;
#Follow instructions given by globus and it should tell you that it was successful&lt;br /&gt;
#In the same directory, run this command to update&lt;br /&gt;
#:&amp;lt;source&amp;gt;bash globus-storage-gateway.sh update&amp;lt;/source&amp;gt;&lt;br /&gt;
#This is the successful message&lt;br /&gt;
#:&amp;lt;source&amp;gt;Message: Updated Storage Gateway aa731fb1-b27a-49e6-aaeb-2d2cc252f779&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Updating Path Permissions for the Main Collection ==&lt;br /&gt;
#Identify the real paths of the permission denied paths. Globus doesn&#039;t follow symbolic links&lt;br /&gt;
#:&amp;lt;source&amp;gt;readlink -f &amp;lt;symlink&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
# Become root in epyc&lt;br /&gt;
##Go to /root/globus&lt;br /&gt;
#:&amp;lt;source&amp;gt;cd /root/globus&amp;lt;/source&amp;gt;&lt;br /&gt;
#Insert and save the real paths at the end of this file (check commas for syntax or you&#039;ll get an error):&lt;br /&gt;
#:&amp;lt;source&amp;gt;vim path_restrictions.json&amp;lt;/source&amp;gt;&lt;br /&gt;
##Here is an example of what it should look like&lt;br /&gt;
##:&amp;lt;source&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;DATA_TYPE&amp;quot;: &amp;quot;path_restrictions#1.0.0&amp;quot;,&lt;br /&gt;
    &amp;quot;read&amp;quot;: [&lt;br /&gt;
        &amp;quot;/&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;read_write&amp;quot;: [&lt;br /&gt;
        &amp;quot;/nfs/mammoth/idg-images/newAmisData/&amp;quot;&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#Create a session token with globus. (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#:&amp;lt;source&amp;gt;globus-connect-server session update ucsfbks@globusid.org&amp;lt;/source&amp;gt;&lt;br /&gt;
#* If above doesn&#039;t work, run below and follow instructions. (Cluster 2 Password, ucsfbks)&lt;br /&gt;
##: &amp;lt;source&amp;gt; globus-connect-server login localhost &amp;lt;/source&amp;gt;&lt;br /&gt;
#Follow instructions given by globus and it should tell you that it was successful&lt;br /&gt;
#In the same directory, run this command to update&lt;br /&gt;
#:&amp;lt;source&amp;gt;globus-connect-server collection update --sharing-restrict-paths file:path_restrictions.json 2e1e1781-6d8a-440a-8604-7100d9c65c90&amp;lt;/source&amp;gt;&lt;br /&gt;
#This is the successful message&lt;br /&gt;
#:&amp;lt;source&amp;gt;code: success&amp;lt;/source&amp;gt;&lt;br /&gt;
#Lastly, in the globus web GUI, you need to allow a specific user or group to access the new path in the permissions tab located in the collection overview.&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Globus_Curator%27s_Guide&amp;diff=16644</id>
		<title>Globus Curator&#039;s Guide</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Globus_Curator%27s_Guide&amp;diff=16644"/>
		<updated>2025-03-19T22:35:36Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: /* Updating Path Permissions for the Main Collection */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Here will be the instructions on how to maintain globus.&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
*For any restrict path&#039;s to work in the Guest Collections, the main collection needs to have either the same or broader path to be allowed.&lt;br /&gt;
*The main collection is currently private. Only the admins can have access to it.&lt;br /&gt;
&lt;br /&gt;
== Updating Path Permissions for the Guest Collection ==&lt;br /&gt;
#Identify the real paths of the permission denied paths. Globus doesn&#039;t follow symbolic links&lt;br /&gt;
#:&amp;lt;source&amp;gt;readlink -f &amp;lt;symlink&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
# Become root in epyc&lt;br /&gt;
##Go to /root/globus&lt;br /&gt;
#:&amp;lt;source&amp;gt;cd /root/globus&amp;lt;/source&amp;gt;&lt;br /&gt;
#Insert and save the real paths at the end of this file (check commas for syntax or you&#039;ll get an error):&lt;br /&gt;
#:&amp;lt;source&amp;gt;vim storage_gateway_path_restriction.json&amp;lt;/source&amp;gt;&lt;br /&gt;
##Here is an example of what it should look like&lt;br /&gt;
##:&amp;lt;source&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;DATA_TYPE&amp;quot;: &amp;quot;path_restrictions#1.0.0&amp;quot;,&lt;br /&gt;
    &amp;quot;none&amp;quot;: [&amp;quot;/&amp;quot;],&lt;br /&gt;
    &amp;quot;read&amp;quot;: [&lt;br /&gt;
	    &amp;quot;/nfs/ex3/published&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exe/work/jji/2dexport&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exe/work/jji/3d-zinc20&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exl/zinc-22a&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exl/zinc-22b&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exl/zinc-22c&amp;quot;,&lt;br /&gt;
	    &amp;quot;/nfs/exc/zinc-22n&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;read_write&amp;quot;:[&lt;br /&gt;
	    &amp;quot;/nfs/mammoth/idg-images/newAmisData&amp;quot;&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#Create a session token with globus. (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#:&amp;lt;source&amp;gt;globus-connect-server session update ucsfbks@globusid.org&amp;lt;/source&amp;gt;&lt;br /&gt;
#Follow instructions given by globus and it should tell you that it was successful&lt;br /&gt;
#In the same directory, run this command to update&lt;br /&gt;
#:&amp;lt;source&amp;gt;bash globus-storage-gateway.sh update&amp;lt;/source&amp;gt;&lt;br /&gt;
#This is the successful message&lt;br /&gt;
#:&amp;lt;source&amp;gt;Message: Updated Storage Gateway aa731fb1-b27a-49e6-aaeb-2d2cc252f779&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Updating Path Permissions for the Main Collection ==&lt;br /&gt;
#Identify the real paths of the permission denied paths. Globus doesn&#039;t follow symbolic links&lt;br /&gt;
#:&amp;lt;source&amp;gt;readlink -f &amp;lt;symlink&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
# Become root in epyc&lt;br /&gt;
##Go to /root/globus&lt;br /&gt;
#:&amp;lt;source&amp;gt;cd /root/globus&amp;lt;/source&amp;gt;&lt;br /&gt;
#Insert and save the real paths at the end of this file (check commas for syntax or you&#039;ll get an error):&lt;br /&gt;
#:&amp;lt;source&amp;gt;vim path_restrictions.json&amp;lt;/source&amp;gt;&lt;br /&gt;
##Here is an example of what it should look like&lt;br /&gt;
##:&amp;lt;source&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;DATA_TYPE&amp;quot;: &amp;quot;path_restrictions#1.0.0&amp;quot;,&lt;br /&gt;
    &amp;quot;read&amp;quot;: [&lt;br /&gt;
        &amp;quot;/&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;read_write&amp;quot;: [&lt;br /&gt;
        &amp;quot;/nfs/mammoth/idg-images/newAmisData/&amp;quot;&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#Create a session token with globus. (Cluster 2 Password, ucsfbks)&lt;br /&gt;
#:&amp;lt;source&amp;gt;globus-connect-server session update ucsfbks@globusid.org&amp;lt;/source&amp;gt;&lt;br /&gt;
## If above doesn&#039;t work, run&lt;br /&gt;
##: &amp;lt;source&amp;gt; globus-connect-server login localhost &amp;lt;/source&amp;gt;&lt;br /&gt;
#Follow instructions given by globus and it should tell you that it was successful&lt;br /&gt;
#In the same directory, run this command to update&lt;br /&gt;
#:&amp;lt;source&amp;gt;globus-connect-server collection update --sharing-restrict-paths file:path_restrictions.json 2e1e1781-6d8a-440a-8604-7100d9c65c90&amp;lt;/source&amp;gt;&lt;br /&gt;
#This is the successful message&lt;br /&gt;
#:&amp;lt;source&amp;gt;code: success&amp;lt;/source&amp;gt;&lt;br /&gt;
#Lastly, in the globus web GUI, you need to allow a specific user or group to access the new path in the permissions tab located in the collection overview.&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Check_Website_Status&amp;diff=16622</id>
		<title>Check Website Status</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Check_Website_Status&amp;diff=16622"/>
		<updated>2025-03-07T22:55:30Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Below is a python script that will check the status of all websites that are running under the Shoichet/Irwin Lab.&lt;br /&gt;
 https://github.com/docking-org/Check-Website-Status/tree/main&lt;br /&gt;
&lt;br /&gt;
== How To Use Flags/Options ==&lt;br /&gt;
usage: check_websites_status.py [-h] [-v] [-m {thread,process}] [-e]&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
* -h, --help &lt;br /&gt;
** show this help message and exit&lt;br /&gt;
* -v, --verbose                                 &lt;br /&gt;
** Shows websites that returned 200.&lt;br /&gt;
* -m {thread,process}, --mode {thread,process}  &lt;br /&gt;
** Select parallelization mode: thread or process (default: thread)&lt;br /&gt;
* -e, --email&lt;br /&gt;
** Send email regardless of errors (default: only send on errors)&lt;br /&gt;
&lt;br /&gt;
=== List of Cronjob Times ===&lt;br /&gt;
* */5 6-17 * * 1-5 &amp;lt;full_python_path&amp;gt; &amp;lt;path&amp;gt;/Check-Website-Status/check_websites_status.py -m process&lt;br /&gt;
** Run script every 5 minutes at 6am to 5pm from Monday to Friday&lt;br /&gt;
* 0 19-23,0-5 * * 1-5 &amp;lt;full_python_path&amp;gt; &amp;lt;path&amp;gt;/Check-Website-Status/check_websites_status.py -m process&lt;br /&gt;
** Run script every hour at 7pm to 5am from Monday to Friday&lt;br /&gt;
* 0 * * * SAT,SUN &amp;lt;full_python_path&amp;gt; &amp;lt;path&amp;gt;/Check-Website-Status/check_websites_status.py -m process&lt;br /&gt;
** Run script every hour on Saturday to Sunday&lt;br /&gt;
* 3 8 * * * &amp;lt;full_python_path&amp;gt; &amp;lt;path&amp;gt;/Check-Website-Status/check_websites_status.py -m process -v -e&lt;br /&gt;
**Run script once at 8:03am everyday&lt;br /&gt;
* 3 17 * * * &amp;lt;full_python_path&amp;gt; &amp;lt;path&amp;gt;/Check-Website-Status/check_websites_status.py -m process -v -e&lt;br /&gt;
** Run script once at 5:03pm everyday&lt;br /&gt;
&lt;br /&gt;
=== Add/Delete Websites ===&lt;br /&gt;
Edit the file called &amp;quot;websites.txt&amp;quot;. The file shows which websites are being proxied to which machine.&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Check_Website_Status&amp;diff=16621</id>
		<title>Check Website Status</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Check_Website_Status&amp;diff=16621"/>
		<updated>2025-03-07T22:55:08Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Below is a python script that will check the status of all websites that are running under the Shoichet/Irwin Lab.&lt;br /&gt;
 https://github.com/docking-org/Check-Website-Status/blob/main/README.md&lt;br /&gt;
&lt;br /&gt;
== How To Use Flags/Options ==&lt;br /&gt;
usage: check_websites_status.py [-h] [-v] [-m {thread,process}] [-e]&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
* -h, --help &lt;br /&gt;
** show this help message and exit&lt;br /&gt;
* -v, --verbose                                 &lt;br /&gt;
** Shows websites that returned 200.&lt;br /&gt;
* -m {thread,process}, --mode {thread,process}  &lt;br /&gt;
** Select parallelization mode: thread or process (default: thread)&lt;br /&gt;
* -e, --email&lt;br /&gt;
** Send email regardless of errors (default: only send on errors)&lt;br /&gt;
&lt;br /&gt;
=== List of Cronjob Times ===&lt;br /&gt;
* */5 6-17 * * 1-5 &amp;lt;full_python_path&amp;gt; &amp;lt;path&amp;gt;/Check-Website-Status/check_websites_status.py -m process&lt;br /&gt;
** Run script every 5 minutes at 6am to 5pm from Monday to Friday&lt;br /&gt;
* 0 19-23,0-5 * * 1-5 &amp;lt;full_python_path&amp;gt; &amp;lt;path&amp;gt;/Check-Website-Status/check_websites_status.py -m process&lt;br /&gt;
** Run script every hour at 7pm to 5am from Monday to Friday&lt;br /&gt;
* 0 * * * SAT,SUN &amp;lt;full_python_path&amp;gt; &amp;lt;path&amp;gt;/Check-Website-Status/check_websites_status.py -m process&lt;br /&gt;
** Run script every hour on Saturday to Sunday&lt;br /&gt;
* 3 8 * * * &amp;lt;full_python_path&amp;gt; &amp;lt;path&amp;gt;/Check-Website-Status/check_websites_status.py -m process -v -e&lt;br /&gt;
**Run script once at 8:03am everyday&lt;br /&gt;
* 3 17 * * * &amp;lt;full_python_path&amp;gt; &amp;lt;path&amp;gt;/Check-Website-Status/check_websites_status.py -m process -v -e&lt;br /&gt;
** Run script once at 5:03pm everyday&lt;br /&gt;
&lt;br /&gt;
=== Add/Delete Websites ===&lt;br /&gt;
Edit the file called &amp;quot;websites.txt&amp;quot;. The file shows which websites are being proxied to which machine.&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Check_Website_Status&amp;diff=16620</id>
		<title>Check Website Status</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Check_Website_Status&amp;diff=16620"/>
		<updated>2025-03-07T21:41:55Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: Created page with &amp;quot;== Introduction ==&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;/div&gt;</summary>
		<author><name>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=How_to_create_a_vpn/ssh_tunnel&amp;diff=16554</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=16554"/>
		<updated>2025-02-10T21:09:13Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: /* Direct Connection */&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 &amp;lt;username&amp;gt;@gimel.ucsf.bkslab.org&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
 ssh -oHostKeyAlgorithms=+ssh-rsa jjg@gimel.ucsf.bkslab.org&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;
Please follow this article to fix it : &lt;br /&gt;
 https://www.iclarified.com/87910/how-to-fix-no-matching-host-key-type-found-on-mac&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>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=How_to_create_a_vpn/ssh_tunnel&amp;diff=16553</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=16553"/>
		<updated>2025-02-10T21:07:48Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: /* Direct Connection */&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;
&#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;
&lt;br /&gt;
=== Remote Connection ===&lt;br /&gt;
&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 &amp;lt;username&amp;gt;@gimel.ucsf.bkslab.org&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
 ssh -oHostKeyAlgorithms=+ssh-rsa jjg@gimel.ucsf.bkslab.org&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;
Please follow this article to fix it : &lt;br /&gt;
 https://www.iclarified.com/87910/how-to-fix-no-matching-host-key-type-found-on-mac&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>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=How_to_create_a_vpn/ssh_tunnel&amp;diff=16552</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=16552"/>
		<updated>2025-02-10T21:07:32Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: /* Direct Connection */&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;
&#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;
&lt;br /&gt;
=== Remote Connection ===&lt;br /&gt;
&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 &amp;lt;username&amp;gt;@gimel.ucsf.bkslab.org&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
 ssh -oHostKeyAlgorithms=+ssh-rsa jjg@gimel.ucsf.bkslab.org&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;
Please follow this article to fix it : &lt;br /&gt;
 https://www.iclarified.com/87910/how-to-fix-no-matching-host-key-type-found-on-mac&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>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=How_to_create_a_vpn/ssh_tunnel&amp;diff=16551</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=16551"/>
		<updated>2025-02-10T21:07:09Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: /* Direct Connection */&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;
&#039;&#039;&#039;portal3 is just the lobby, there is nothing there. Inside portal3, you have to open doors to gimel || epyc || gimel2&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Remote Connection ===&lt;br /&gt;
&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 || gimel || 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 &amp;lt;username&amp;gt;@gimel.ucsf.bkslab.org&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
 ssh -oHostKeyAlgorithms=+ssh-rsa jjg@gimel.ucsf.bkslab.org&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;
Please follow this article to fix it : &lt;br /&gt;
 https://www.iclarified.com/87910/how-to-fix-no-matching-host-key-type-found-on-mac&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>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=How_to_create_a_vpn/ssh_tunnel&amp;diff=16550</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=16550"/>
		<updated>2025-02-10T21:06:45Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: /* Direct Connection */&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;
&#039;&#039;&#039;portal3 is just the lobby, there is nothing there. Inside portal3, you have to open doors to gimel || epyc || gimel2&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Remote Connection ===&lt;br /&gt;
&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 || gimel || 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 &amp;lt;username&amp;gt;@gimel.ucsf.bkslab.org&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
 ssh -oHostKeyAlgorithms=+ssh-rsa jjg@gimel.ucsf.bkslab.org&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;
Please follow this article to fix it : &lt;br /&gt;
 https://www.iclarified.com/87910/how-to-fix-no-matching-host-key-type-found-on-mac&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>Jgutierrez6</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=How_to_create_a_vpn/ssh_tunnel&amp;diff=16549</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=16549"/>
		<updated>2025-02-10T21:06:36Z</updated>

		<summary type="html">&lt;p&gt;Jgutierrez6: /* Direct Connection */&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;
&#039;&#039;&#039;portal3 is just the lobby, there is nothing there. Inside portal3, you have to open doors to gimel || epyc || gimel2&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Remote Connection ===&lt;br /&gt;
&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 || gimel || gimel2&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&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 &amp;lt;username&amp;gt;@gimel.ucsf.bkslab.org&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
 ssh -oHostKeyAlgorithms=+ssh-rsa jjg@gimel.ucsf.bkslab.org&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;
Please follow this article to fix it : &lt;br /&gt;
 https://www.iclarified.com/87910/how-to-fix-no-matching-host-key-type-found-on-mac&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>Jgutierrez6</name></author>
	</entry>
</feed>