Mercurial > repos > yufei-luo > s_mart
diff commons/pyRepetUnit/profilesDB/ProfilesDB2Map.py @ 18:94ab73e8a190
Uploaded
author | m-zytnicki |
---|---|
date | Mon, 29 Apr 2013 03:20:15 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commons/pyRepetUnit/profilesDB/ProfilesDB2Map.py Mon Apr 29 03:20:15 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)