18
|
1 #!/usr/bin/env python
|
|
2 '''
|
|
3 Created on 19 mai 2009
|
|
4
|
|
5 @author: choede
|
|
6 '''
|
|
7
|
|
8 import commons.pyRepetUnit.profilesDB.CompleteAProfilesDBFromAFileWithProfilesNamesOrAccNumber
|
|
9 import user, os, sys, getopt, exceptions
|
|
10 from pyRepet.util.file.FileUtils import *
|
|
11
|
|
12 #------------------------------------------------------------------------------
|
|
13
|
|
14 def help():
|
|
15
|
|
16 """
|
|
17 Give the command-line parameters.
|
|
18 """
|
|
19
|
|
20 print ""
|
|
21 print "usage: ",sys.argv[0],"[ options ]"
|
|
22 print "options:"
|
|
23 print " -h: this help"
|
|
24 print " -d: name of profiles databank (format='pfam')"
|
|
25 print " -l: name of the profiles list file (name or accession number, default=profiles name)"
|
|
26 print " -o: name of the output file (default=profiles list file+'.getz')"
|
|
27 print " -v: verbose (default=0/1/2)"
|
|
28 print " -n: pfam accession number (default=Not set)"
|
|
29 print ""
|
|
30
|
|
31 #------------------------------------------------------------------------------
|
|
32
|
|
33 def main():
|
|
34
|
|
35 DBFileName = ""
|
|
36 outFileName = ""
|
|
37 verbose = 0
|
|
38 listFileName = ""
|
|
39 accNumber = False
|
|
40
|
|
41 try:
|
|
42 opts,args=getopt.getopt(sys.argv[1:],"hd:l:o:v:n")
|
|
43 except getopt.GetoptError, err:
|
|
44 print str(err)
|
|
45 help()
|
|
46 sys.exit(1)
|
|
47 for o,a in opts:
|
|
48 if o == "-h":
|
|
49 help()
|
|
50 sys.exit(0)
|
|
51 elif o == "-d":
|
|
52 DBFileName = a
|
|
53 elif o == "-l":
|
|
54 listFileName = a
|
|
55 elif o == "-o":
|
|
56 outFileName = a
|
|
57 elif o == "-v":
|
|
58 verbose = int(a)
|
|
59 elif o == "-n":
|
|
60 accNumber = True
|
|
61
|
|
62
|
|
63 if DBFileName == "" or listFileName == "":
|
|
64 print "*** Error: missing compulsory options"
|
|
65 help()
|
|
66 sys.exit(1)
|
|
67
|
|
68 if verbose > 0:
|
|
69 print "beginning of %s" % (sys.argv[0].split("/")[-1])
|
|
70 sys.stdout.flush()
|
|
71
|
|
72 if outFileName == "":
|
|
73 outFileName = "%s.getz" % ( listFileName )
|
|
74
|
|
75 CompleteProfilesDB = commons.pyRepetUnit.profilesDB.CompleteAProfilesDBFromAFileWithProfilesNamesOrAccNumber.CompleteAProfilesDBFromAFileWithProfilesNamesOrAccNumber()
|
|
76 CompleteProfilesDB.setProfilesDBFile ( DBFileName )
|
|
77 CompleteProfilesDB.setProfilesToAdd ( listFileName )
|
|
78 if accNumber == True:
|
|
79 CompleteProfilesDB.setPfamAccNumberKeys ()
|
|
80 if verbose > 0:
|
|
81 print "The profiles list is in Accession number"
|
|
82 sys.stdout.flush()
|
|
83 getzCmd = CompleteProfilesDB.CmdToCompleteProfileDB()
|
|
84 f = open( outFileName , 'w')
|
|
85 f.write ( getzCmd )
|
|
86 f.close()
|
|
87
|
|
88 if verbose > 0:
|
|
89 fileUtils = FileUtils( )
|
|
90 if fileUtils.isRessourceExists( outFileName ) and not(fileUtils.isFileEmpty( outFileName )):
|
|
91 print "%s finished successfully" % (sys.argv[0].split("/")[-1])
|
|
92 sys.stdout.flush()
|
|
93 else:
|
|
94 print "warning %s execution failed" % (sys.argv[0].split("/")[-1])
|
|
95 sys.stdout.flush()
|
|
96
|
|
97 return 0
|
|
98
|
|
99 #------------------------------------------------------------------------------
|
|
100
|
|
101 if __name__ == '__main__':
|
|
102 main() |