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()