#Sample script for generating a set of pdb files

import numpy as np
import sys
import r2pdb
import os

input_folder = sys.argv[1]
output_folder = input_folder+'pdb/'

#define topology ('linear' or 'circular')
topo = 'circular'

#define index range for coordinate files
input_file = open(input_folder +'input/input')
lines = input_file.readlines()
for line in lines:
  line_split = line.split(' ')  
  if line_split[0] == 'INDMAX':
    file_inds = range(1,int(line_split[1])+1,1)

#Define range of linking numbers
#LK_file = open(input_folder +'input/LKs')
#lines = LK_file.readlines()
LKs = np.loadtxt(input_folder+'input/LKs')
print(LKs)

os.system('mkdir %s' % output_folder)

#loop over files and save to pdb
for lk in LKs:
    #Create output folder 
    os.system('mkdir %s/LK_%s/' %(output_folder,lk))
    for ind in file_inds:
        #load file
        r = np.loadtxt('%s/data/LK_%1.1f/r%s' %(input_folder,lk,ind))
        #get pdb lines
        lines = r2pdb.mkpdb(r, topology = topo)
        #save pdb file
        r2pdb.save_pdb('%s/LK_%s/snap%0.3d.pdb' %(output_folder,lk,ind),lines)
