def test_distance_pep_google(self): vector = bbc.create_vectors(self.pep_records, 10, utils.ALPHABET_PEP) dist = bbc.Distance(vector, 'google') matrix = distmatrix.create(self.pep_records.id_list, dist) exp = [ " 4", "seq1 0.0000000 862.9400129 912.1886801 233.2058119", "seq2 862.9400129 0.0000000 694.9729647 237.9720958", "seq3 912.1886801 694.9729647 0.0000000 225.2262758", "seq4 233.2058119 237.9720958 225.2262758 0.0000000" ] self.assertEqual(matrix.format(), "\n".join(exp))
def main(): parser = get_parser() args = validate_args(parser) seq_records = seqrecords.read_fasta(args.fasta) vector = bbc.create_vectors(seq_records, args.k, alphabet=args.alphabet) dist = bbc.Distance(vector) 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)
if len(sys.argv) > 4: sys.stderr.write("Too many arguments\n") exit(1) else: method = sys.argv[1] infile = sys.argv[2] 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()
def test_create_vectors_on_pep_k1(self): vec = bbc.create_vectors(self.pep_records, 1, utils.ALPHABET_PEP) md5 = utils.calc_md5(vec) self.assertEqual(vec.shape, (4, 400)) self.assertEqual(md5, 'd901d93d0d71102d0727633a67fc14a3')
def test_create_vectors_on_dna_k1(self): vec = bbc.create_vectors(self.dna_records, 1, utils.ALPHABET_DNA) md5 = utils.calc_md5(vec) self.assertEqual(vec.shape, (3, 16)) self.assertEqual(md5, 'e99bc40356b00e04fd858a665af597ec')
def __init__(self, *args, **kwargs): super(DistanceTest, self).__init__(*args, **kwargs) utils.ModulesCommonTest.set_test_data() self.vector = bbc.create_vectors(self.dna_records, 10, utils.ALPHABET_DNA)
def test_create_vectors_throws_exception(self): with self.assertRaises(Exception) as context: bbc.create_vectors(self.dna_records, 60, utils.ALPHABET_DNA) self.assertIn('Sequence too short', str(context.exception))