annotate commons/tools/srptCreateTable.py @ 19:9bcfa7936eec

Deleted selected files
author m-zytnicki
date Mon, 29 Apr 2013 03:23:29 -0400
parents 94ab73e8a190
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
18
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
1 #!/usr/bin/env python
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
2
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
3 import os
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
4 import sys
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
5 import getopt
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
6 import ConfigParser
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
7
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
8 from commons.core.sql.DbMySql import DbMySql
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
9
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
10
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
11 def help():
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
12 print
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
13 print "usage: %s [ options ]" % ( sys.argv[0].split("/")[-1] )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
14 print "options:"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
15 print " -h: this help"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
16 print " -f: name of the input file"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
17 print " -n: name of the MySQL table"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
18 print " -t: table type (fasta|align|path|set|match|map|TEclassif|cluster)"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
19 print " -o: overwrite (default=False)"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
20 print " -c: configuration file from TEdenovo or TEannot pipeline"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
21 print " -H: MySQL host (if no configuration file)"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
22 print " -U: MySQL user (if no configuration file)"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
23 print " -P: MySQL password (if no configuration file)"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
24 print " -D: MySQL database (if no configuration file)"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
25 print " -T: MySQL port (if no configuration file, default=3306)"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
26 print " -v: verbose (default=0/1)"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
27 print
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
28
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
29
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
30 def main():
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
31 """
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
32 This program loads data from a file into a MySQL table.
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
33 """
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
34 filename = ""
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
35 tablename = ""
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
36 filetype = ""
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
37 overwrite = False
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
38 configFileName = ""
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
39 host = ""
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
40 user = ""
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
41 passwd = ""
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
42 dbname = ""
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
43 port = 0
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
44 verbose = 0
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
45
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
46 try:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
47 opts, args = getopt.getopt( sys.argv[1:], "hf:t:n:oc:H:U:P:D:T:v:" )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
48 except getopt.GetoptError, err:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
49 sys.stderr.write( "%s\n" % str(err) )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
50 help()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
51 sys.exit(1)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
52 for o,a in opts:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
53 if o == "-h":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
54 help()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
55 sys.exit(0)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
56 elif o == "-f":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
57 filename = a
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
58 elif o == "-n":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
59 tablename = a
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
60 elif o == "-t":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
61 filetype = a
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
62 elif o == "-o":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
63 overwrite = True
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
64 elif o == "-c":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
65 configFileName = a
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
66 elif o == "-H":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
67 host = a
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
68 elif o == "-U":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
69 user = a
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
70 elif o == "-P":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
71 passwd = a
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
72 elif o == "-D":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
73 dbname = a
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
74 elif o == "-T":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
75 port = int(a)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
76 elif o == "-v":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
77 verbose = int(a)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
78
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
79 if filename == "" or tablename == "" or filetype == "":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
80 print "ERROR: missing compulsory options"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
81 help()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
82 sys.exit(1)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
83
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
84 if configFileName != "":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
85 config = ConfigParser.ConfigParser()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
86 config.readfp( open(configFileName) )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
87 host = config.get("repet_env","repet_host")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
88 user = config.get("repet_env","repet_user")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
89 passwd = config.get("repet_env","repet_pw")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
90 dbname = config.get("repet_env","repet_db")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
91 port = config.get("repet_env","repet_port")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
92
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
93 if host == "" and os.environ.get( "REPET_HOST" ) != "":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
94 host = os.environ.get( "REPET_HOST" )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
95 if user == "" and os.environ.get( "REPET_USER" ) != "":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
96 user = os.environ.get( "REPET_USER" )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
97 if passwd == "" and os.environ.get( "REPET_PW" ) != "":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
98 passwd = os.environ.get( "REPET_PW" )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
99 if dbname == "" and os.environ.get( "REPET_DB" ) != "":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
100 dbname = os.environ.get( "REPET_DB" )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
101 if port == 0 and os.environ.get( "REPET_PORT" ) != "":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
102 port = int( os.environ.get( "REPET_PORT" ) )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
103
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
104 if host == "":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
105 print "ERROR: missing host"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
106 sys.exit(1)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
107 if user == "":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
108 print "ERROR: missing user"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
109 sys.exit(1)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
110 if passwd == "":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
111 print "ERROR: missing password"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
112 sys.exit(1)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
113 if dbname == "":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
114 print "ERROR: missing db name"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
115 sys.exit(1)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
116 if port == 0:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
117 print "ERROR: missing port"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
118 sys.exit(1)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
119
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
120 db = DbMySql(user, host, passwd, dbname, port )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
121
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
122 if not os.path.exists( filename ):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
123 print "ERROR: input file '%s' doesn't exist" % ( filename )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
124 sys.exit(1)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
125
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
126 db.createTable( tablename, filetype, filename, overwrite)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
127
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
128 db.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
129
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
130 return 0
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
131
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
132
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
133 if __name__ == "__main__":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
134 main()