def test_bad_args(): # make sure bad arguments raise errors with pytest.raises(TypeError): relative_adaptiveness() with pytest.raises(TypeError): relative_adaptiveness(sequences=["AAC"], RSCUs=RSCU(["AAC"]))
from Bio import SeqIO from Bio.Seq import Seq from CAI import RSCU from matplotlib import pyplot as plt import numpy as np for seq_record in SeqIO.parse("KRas.gb", "genbank"): for f in seq_record.features: rscu_list = [] if f.type == 'CDS': feature_seq = f.location.extract(seq_record).seq coding_result = Seq(str(feature_seq)) # 新建一个列表,列表才能作为输入数据 rscu_list.append(coding_result) #print(rscu_list) codon_pre = RSCU(rscu_list) #print(codon_pre) # 满足rscu不为空就退出 if len(rscu_list): break code = [] value = [] for k in codon_pre: code.append(k) values = codon_pre[k] value.append(values) plt.switch_backend('Agg') plt.figure(figsize=(20, 6), dpi=80) width = 0.8
def test_arg_equivalence(): # should be able to take either reference sequences or an RSCU dict assert relative_adaptiveness(sequences=["AAC"]) == relative_adaptiveness( RSCUs=RSCU(["AAC"]))