def test_distance(self): dist = ncd.Distance(self.pep_records) matrix = distmatrix.create(self.pep_records.id_list, dist) exp = [ " 4", "seq1 0.0000000 0.2698413 0.3809524 0.5238095", "seq2 0.2698413 0.0000000 0.2950820 0.4666667", "seq3 0.3809524 0.2950820 0.0000000 0.4754098", "seq4 0.5238095 0.4666667 0.4754098 0.0000000" ] self.assertEqual(matrix.format(), "\n".join(exp))
def calc_distances(seqs): seq_records = seqrecords.SeqRecords() for seq in seqs: seq_records.add(seq.name, "".join(seq.sequence)) dist = ncd.Distance(seq_records) matrix = distmatrix.create(seq_records.id_list, dist) return matrix.data
def main(): parser = get_parser() args = validate_args(parser) seq_records = seqrecords.read_fasta(args.fasta) dist = ncd.Distance(seq_records) matrix = distmatrix.create(seq_records.id_list, dist) if args.out: oh = open(args.out, 'w') matrix.write_to_file(oh, args.outfmt) oh.close() else: matrix.display(args.outfmt)
outfile = sys.argv[3] input_file = open(infile, 'r') seq_records = seqrecords.read_fasta(input_file) input_file.close() #choose one method to compute distance matrix if method == "bbc": alphabet = seqcontent.get_alphabet('protein') vector = bbc.create_vectors(seq_records, 10, alphabet) dist = bbc.Distance(vector) matrix = distmatrix.create(seq_records.id_list, dist) matrix.display() elif method == "ncd": dist = ncd.Distance(seq_records) matrix = distmatrix.create(seq_records.id_list, dist) matrix.display() elif method == "wmetric": matrix = subsmat.get('blosum62') dist = wmetric.Distance(seq_records, matrix) matrix = distmatrix.create(seq_records.id_list, dist) matrix.display() elif method == "d2": patterns = [] for i in range(1, 5 + 1): p = word_pattern.create(seq_records.seq_list, i) patterns.append(p)
def test_complexities(self): dist = ncd.Distance(self.pep_records) exp = [((0, ), 63.0), ((0, 1), 77.0), ((0, 2), 85.0), ((0, 3), 70.0), ((1, ), 60.0), ((1, 2), 78.0), ((1, 3), 65.0), ((2, ), 61.0), ((2, 3), 66.0), ((3, ), 37.0)] self.assertEqual(exp, sorted(dist._complexity.items()))