Mercurial > repos > yufei-luo > s_mart
comparison commons/pyRepetUnit/align/AlignListUtils.py @ 31:0ab839023fe4
Uploaded
| author | m-zytnicki | 
|---|---|
| date | Tue, 30 Apr 2013 14:33:21 -0400 | 
| parents | 94ab73e8a190 | 
| children | 
   comparison
  equal
  deleted
  inserted
  replaced
| 30:5677346472b5 | 31:0ab839023fe4 | 
|---|---|
| 1 import os | |
| 2 import commons.core.coord.Align | |
| 3 import commons.pyRepetUnit.align.AlignList | |
| 4 from commons.core.utils.FileUtils import FileUtils | |
| 5 | |
| 6 class AlignListUtils: | |
| 7 | |
| 8 ##read a file in align format and return a AlignList | |
| 9 # | |
| 10 # @param inFileName string name of file | |
| 11 # @return listAlignInstance list list of align instance | |
| 12 # | |
| 13 def read( inFileName ): | |
| 14 alignInstance = commons.core.coord.Align.Align() | |
| 15 listAlignInstance = commons.pyRepetUnit.align.AlignList.AlignList() | |
| 16 f = open( inFileName , "r") | |
| 17 while alignInstance.read( f ): | |
| 18 listAlignInstance.append(alignInstance) | |
| 19 alignInstance = commons.core.coord.Align.Align() | |
| 20 f.close | |
| 21 return (listAlignInstance) | |
| 22 | |
| 23 read = staticmethod( read ) | |
| 24 | |
| 25 ## write a file in align format from an AlignList | |
| 26 # | |
| 27 # @param alignListInstance list list of align instance object | |
| 28 # @param inFileName string name of file | |
| 29 def write( alignListInstance, inFileName ): | |
| 30 f = open( inFileName , "w") | |
| 31 for alignInstance in alignListInstance.getList(): | |
| 32 alignInstance.write( f ) | |
| 33 f.close | |
| 34 | |
| 35 write = staticmethod( write ) | |
| 36 | |
| 37 ## Filter an AlignList by removing all is <= minScore | |
| 38 # | |
| 39 # @param listAlignInstance list list of align instance object | |
| 40 # @param minScore integer minimum score to keep in result | |
| 41 # | |
| 42 def filterOnAMinimalScore( listAlignInstance, minScore ): | |
| 43 listAlignInstanceOld = commons.pyRepetUnit.align.AlignList.AlignList() | |
| 44 for alignInstance in listAlignInstance.getList(): | |
| 45 listAlignInstanceOld.append(alignInstance) | |
| 46 for alignInstance in listAlignInstanceOld.getList(): | |
| 47 if alignInstance.score <= minScore: | |
| 48 listAlignInstance.remove(alignInstance) | |
| 49 | |
| 50 filterOnAMinimalScore = staticmethod( filterOnAMinimalScore ) | |
| 51 | |
| 52 if __name__ == "__main__": | |
| 53 main() | 
