diff commons/pyRepetUnit/profilesDB/ProfilesDB2Map.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/ProfilesDB2Map.py	Tue Apr 30 14:33:21 2013 -0400
@@ -0,0 +1,40 @@
+from commons.pyRepetUnit.profilesDB.ProfilesDatabankUtils import ProfilesDatabankUtils
+
+
+class ProfilesDB2Map ( object ):
+    """
+    write a file in map format from a ProfilDatabank object
+    You have to set an input File and an Output File names
+    """
+
+    def __init__(self):
+        self.profilesDBUtils = ProfilesDatabankUtils()
+        self._inputFile = "" 
+        self._outputFile =  ""    
+        
+    def setInputFile(self, input):
+        self._inputFile = input
+         
+    def setOutputFile(self, output):
+        self._outputFile = output   
+         
+    def _readProfilesDB( self ):
+        pfamDB = self.profilesDBUtils.read( self._inputFile )
+        return pfamDB
+    
+    def _writeMapFile( self, pfamDBList ):
+        """
+        write a file in map format from a ProfilDatabank object
+        """
+        if pfamDBList.getList() != []:
+            f = open( self._outputFile , "w")
+            for ProfilInstance in pfamDBList.getList():
+                f.write(ProfilInstance.name + "\t" + ProfilInstance.desc + "\t1\t" + str(ProfilInstance.length) + "\n")
+            f.close()   
+    
+    def run( self ):
+        """
+        read a profiles DB file, parse it and, write the corresponding .map file
+        """
+        pfamDBList = self._readProfilesDB()
+        self._writeMapFile(pfamDBList)