예제 #1
0
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
예제 #3
0
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"]))