Trees | Indices | Help |
---|
|
1 from Bio import Alphabet 2 COUNT = 1 3 FREQ = 2 4 ################################################################## 5 # A class to handle frequency tables 6 # Copyright Iddo Friedberg idoerg@cc.huji.ac.il 7 # Biopython (http://biopython.org) license applies 8 # Methods to read a letter frequency or a letter count file: 9 # Example files for a DNA alphabet: 10 # 11 # A count file (whitespace seperated): 12 # 13 # A 50 14 # C 37 15 # G 23 16 # T 58 17 # 18 # The same info as a frequency file: 19 # 20 # A 0.2976 21 # C 0.2202 22 # G 0.1369 23 # T 0.3452 24 # 25 # Functions: 26 # read_count(f): read a count file from stream f. Then convert to 27 # frequencies 28 # read_freq(f): read a frequency data file from stream f. Of course, we then 29 # don't have the counts, but it is usually the letter frquencies which are 30 # interesting. 31 # 32 # Methods: 33 # (all internal) 34 # Attributes: 35 # alphabet: The IUPAC alphabet set (or any other) whose letters you are 36 # using. Common sets are: IUPAC.protein (20-letter protein), 37 # IUPAC.unambiguous_dna (4-letter DNA). See Bio/alphabet for more. 38 # data: frequency dictionary. 39 # count: count dictionary. Empty if no counts are provided. 40 # 41 # Example of use: 42 # >>> from SubsMat import FreqTable 43 # >>> ftab = FreqTable.FreqTable(my_frequency_dictionary,FreqTable.FREQ) 44 # >>> ftab = FreqTable.FreqTable(my_count_dictionary,FreqTable.COUNT) 45 # >>> ftab = FreqTable.read_count(open('myDNACountFile')) 46 # 47 # 48 ##################################################################5079 87 9452 sum = 0. 53 for i in self.count.values(): 54 sum = sum + i 55 for i in self.count.keys(): 56 self[i] = self.count[i] / sum5759 s = '' 60 letters_list = self.keys() 61 letters_list.sort() 62 for i in letters_list: 63 s = s + i 64 return s6567 self.alphabet = alphabet 68 if dict_type == COUNT: 69 self.count = in_dict 70 self._freq_from_count() 71 elif dict_type == FREQ: 72 self.count = {} 73 self.update(in_dict) 74 else: 75 raise ValueError("bad dict_type") 76 if not alphabet: 77 self.alphabet = Alphabet.Alphabet() 78 self.alphabet.letters = self._alphabet_from_input()
Trees | Indices | Help |
---|
Generated by Epydoc 3.0.1 on Tue Sep 22 19:33:40 2009 | http://epydoc.sourceforge.net |