aboutsummaryrefslogtreecommitdiff
path: root/tests/dbTestFiller.py
blob: b3f0b4912c4dc79d2b6c44b58e9f2d92af942262 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
import mysql.connector as con

debug = False
host = "navanspi.duckdns.org"
done = 1

if debug:
    host = "192.168.1.6"
    done = 0

mycon = con.connect(host=host,user="curieweb",password="curie-web-russian-54",port=3306,database="curie")
mycursor = mycon.cursor()

try:
    mycursor.execute("create table curieweb (    id varchar(16) primary key, email nvarchar(255) NOT NULL,   protein LONGBLOB NOT NULL, protein_name VARCHAR(255),  ligand_pdbqt LONGBLOB,   ligand_smile VARCHAR(255),   ligand_name VARCHAR(255),   config LONGBLOB NOT NULL, date DATE, description VARCHAR(255),   done TINYINT DEFAULT 0)")
except con.ProgrammingError:
    print("Table Already Exists!")

from random import choice, shuffle
from string import digits, ascii_lowercase

def gen_word(N, min_N_dig, min_N_low):
    choose_from = [digits]*min_N_dig + [ascii_lowercase]*min_N_low
    choose_from.extend([digits + ascii_lowercase] * (N-min_N_low-min_N_dig))
    chars = [choice(bet) for bet in choose_from]
    shuffle(chars)
    return ''.join(chars)

def convertToBinaryData(filename):
    with open(filename, 'rb') as file:
        binaryData = file.read()
    return binaryData

ligand = convertToBinaryData("./files/Eucalyptol.pdbqt")
receptor = convertToBinaryData("./files/6LU7.pdbqt")
config = convertToBinaryData("./files/6LU7.txt")
ligandName = "Eucalyptol"
receptorName = "6LU7"

sqlQuery = "insert into curieweb (id, email, protein, protein_name, ligand_pdbqt, ligand_name,date, config,done) values (%s,%s,%s,%s,%s,%s,CURDATE(),%s,%s) "

jobID = gen_word(16, 1, 1)
print("Succesfuly submitted Job ID:",jobID)

insert_tuple = (jobID,"navanchauhan@gmail.com",receptor,receptorName,ligand,ligandName,config,done)

try:
    mycursor.execute(sqlQuery,insert_tuple)
except con.IntegrityError:
    print("Oops, Collision occured. Generating new Job ID and trying again.")
    jobID = gen_word(16, 1, 1)
    insert_tuple = (jobID,"navanchauhan@gmail.com",receptor,receptorName,ligand,ligandName,config,done)
    mycursor.execute(sqlQuery,insert_tuple)

print("Removing Test Query")

q = 'delete from curieweb where id="%s"' % (jobID)
mycursor.execute(q)

mycon.commit()

print("Database working perfectly")