diff commons/pyRepetUnit/profilesDB/tests/completeProfilesDBFromAFileWithProfilesList_script.py @ 31:0ab839023fe4

Uploaded
author m-zytnicki
date Tue, 30 Apr 2013 14:33:21 -0400
parents 94ab73e8a190
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commons/pyRepetUnit/profilesDB/tests/completeProfilesDBFromAFileWithProfilesList_script.py	Tue Apr 30 14:33:21 2013 -0400
@@ -0,0 +1,102 @@
+#!/usr/bin/env python
+'''
+Created on 19 mai 2009
+
+@author: choede
+'''
+
+import commons.pyRepetUnit.profilesDB.CompleteAProfilesDBFromAFileWithProfilesNamesOrAccNumber
+import user, os, sys, getopt, exceptions
+from pyRepet.util.file.FileUtils import *
+
+#------------------------------------------------------------------------------
+
+def help():
+
+    """
+    Give the command-line parameters.
+    """
+
+    print ""
+    print "usage: ",sys.argv[0],"[ options ]"
+    print "options:"
+    print "     -h: this help"
+    print "     -d: name of profiles databank (format='pfam')"
+    print "     -l: name of the profiles list file (name or accession number, default=profiles name)"
+    print "     -o: name of the output file (default=profiles list file+'.getz')"
+    print "     -v: verbose (default=0/1/2)"
+    print "     -n: pfam accession number (default=Not set)"
+    print ""
+
+#------------------------------------------------------------------------------
+
+def main():
+
+    DBFileName = ""
+    outFileName = ""
+    verbose = 0
+    listFileName = ""
+    accNumber = False
+
+    try:
+        opts,args=getopt.getopt(sys.argv[1:],"hd:l:o:v:n")
+    except getopt.GetoptError, err:
+        print str(err)
+        help()
+        sys.exit(1)
+    for o,a in opts:
+        if o == "-h":
+            help()
+            sys.exit(0)
+        elif o == "-d":
+            DBFileName = a
+        elif o == "-l":
+            listFileName = a
+        elif o == "-o":
+            outFileName = a
+        elif o == "-v":
+            verbose = int(a)
+        elif o == "-n":
+            accNumber = True
+        
+            
+    if DBFileName == "" or listFileName == "":
+        print "*** Error: missing compulsory options"
+        help()
+        sys.exit(1)
+
+    if verbose > 0:
+        print "beginning of %s" % (sys.argv[0].split("/")[-1])
+        sys.stdout.flush()
+
+    if outFileName == "":
+        outFileName = "%s.getz" % ( listFileName )
+     
+    CompleteProfilesDB = commons.pyRepetUnit.profilesDB.CompleteAProfilesDBFromAFileWithProfilesNamesOrAccNumber.CompleteAProfilesDBFromAFileWithProfilesNamesOrAccNumber()
+    CompleteProfilesDB.setProfilesDBFile ( DBFileName )
+    CompleteProfilesDB.setProfilesToAdd ( listFileName )
+    if accNumber == True:
+        CompleteProfilesDB.setPfamAccNumberKeys ()
+        if verbose > 0:
+            print "The profiles list is in Accession number"
+            sys.stdout.flush()
+    getzCmd = CompleteProfilesDB.CmdToCompleteProfileDB()
+    f = open( outFileName , 'w')
+    f.write ( getzCmd )
+    f.close()
+
+    if verbose > 0:
+        fileUtils = FileUtils( )
+        if fileUtils.isRessourceExists( outFileName ) and not(fileUtils.isFileEmpty( outFileName )):
+            print "%s finished successfully" % (sys.argv[0].split("/")[-1])
+            sys.stdout.flush()
+        else:
+            print "warning %s execution failed" % (sys.argv[0].split("/")[-1])
+            sys.stdout.flush()
+
+    return 0
+
+#------------------------------------------------------------------------------
+
+if __name__ == '__main__':
+    main()
\ No newline at end of file