Exemplo n.º 1
0
 def getClusteringResultsInFasta( self, inFile ):
     """
     Write a fasta file whose sequence headers contain the clustering IDs.
     """
     dClusterId2SeqHeaders = self.getClustersFromTxtFile()
     if self._filterUnclusteredSeq:
         dClusterId2SeqHeaders = self.filterUnclusteredSequences( dClusterId2SeqHeaders )
     inDB = BioseqDB( inFile )
     outFileName = "%s_blastclust.fa" % ( inFile )
     outF = open( outFileName, "w" )
     for clusterId in dClusterId2SeqHeaders.keys():
         memberId = 1
         for seqHeader in dClusterId2SeqHeaders[ clusterId ]:
             bs = inDB.fetch( seqHeader )
             bs.header = "BlastclustCluster%iMb%i_%s" % ( clusterId, memberId, seqHeader )
             bs.write( outF )
             memberId += 1
     outF.close()