Пример #1
0
 def test_distance_dna_google(self):
     dist = bbc.Distance(self.vector, 'google')
     matrix = distmatrix.create(self.dna_records.id_list, dist)
     exp = [
         "   3", "seq1       0.0000000 73.1311144 37.1219467",
         "seq2       73.1311144 0.0000000 33.2221873",
         "seq3       37.1219467 33.2221873 0.0000000"
     ]
     self.assertEqual(matrix.format(), "\n".join(exp))
Пример #2
0
 def test_distance_dna_euclidnorm(self):
     dist = bbc.Distance(self.vector)
     matrix = distmatrix.create(self.dna_records.id_list, dist)
     exp = [
         "   3", "seq1       0.0000000 1.0227476 1.9351116",
         "seq2       1.0227476 0.0000000 1.4469591",
         "seq3       1.9351116 1.4469591 0.0000000"
     ]
     self.assertEqual(matrix.format(), "\n".join(exp))
Пример #3
0
 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))
Пример #4
0
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)
Пример #5
0
    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()

elif method == "d2":