- 博客(35)
- 收藏
- 关注
原创 Rosalind第34题——ros_bio34_CORR
如果第一次阅读,请查看写在前面import re#定义一个计算hamming distance的函数def hamm(seq1, seq2): dis = 0 for i in range(len(seq1)): if seq1[i] == seq2[i]: continue else: dis += 1 return dis#序列的反向补码def reverse(s): d
2021-08-18 23:02:03
129
原创 Rosalind第33题——ros_bio33_CAT
如果第一次阅读,请查看写在前面# 本题题目与思路不太清楚,参考作者:未琢 https://www.bilibili.com/read/cv4443961 出处:bilibilimemorize = {'': 1} # 建立一个字典,存储已经出现过的字符串及不交叉完美匹配的数量def ismatch(c1, c2): """判断是否碱基配对的函数""" if (c1 == 'A' and c2 == 'U') or (c1 == 'U' and c2 == 'A') or (
2021-08-17 22:40:00
147
原创 Rosalind第32题——ros_bio32_TREE
如果第一次阅读,请查看写在前面import reimport copy#读取n和邻接表with open('../examples/ros_bio32_TREE.txt') as f: n = f.readline().rstrip() file = f.readlines()#将n转换为一个列表,邻接表通过正则转换为一个字典nodes = [str(x) for x in range(1, int(n)+1)]table = {}for line in file:
2021-08-16 23:27:43
166
原创 Rosalind第31题——ros_bio31_TRAN
如果第一次阅读,请查看写在前面import re#读取fasta文件table = {}with open('../examples/ros_bio31_TRAN.txt') as f: file = f.readlines()for line in file: line = re.sub(r'\n', '', line) m = re.match(r'^>.*', line) if m: name = m.group()
2021-08-16 23:26:22
111
原创 Rosalind第30题——ros_bio30_SSEQ
如果第一次阅读,请查看写在前面import re#读取fasta文件with open('../examples/ros_bio30_SSEQ.txt') as f: file = f.readlines()table = {}for line in file: line = re.sub(r'\n', '', line) m = re.match(r'^>.*', line) if m: name = m.group()
2021-08-15 00:21:39
198
原创 Rosalind第29题——ros_bio29_SIGN
如果第一次阅读,请查看写在前面import rewith open('../examples/ros_bio38_LCSQ.txt') as f: file = f.readlines()table = {}for line in file: line = re.sub(r'\n', '', line) m = re.match(r'^>.*', line) if m: name = m.group() table[name
2021-08-13 20:04:07
138
原创 Rosalind第28题——ros_bio28_PROB
如果第一次阅读,请查看写在前面import math#读取文件with open('../examples/ros_bio28_PROB.txt') as f: file = f.readlines()dna = file[0].rstrip()probability = file[1]probability = probability.split(' ')#根据提供的各个概率计算序列相加的对数all_lo = []for i in probability: i
2021-08-12 17:18:23
123
原创 Rosalind第27题——ros_bio27_PPER
如果第一次阅读,请查看写在前面def factorial(n): fac = 1 while n > 1: fac *= n n -= 1 return facn = 21k = 7total = factorial(n)/factorial(n-k)result = total % 1000000print(int(result))
2021-08-12 17:17:15
92
原创 Rosalind第26题——ros_bio26_PMCH
如果第一次阅读,请查看写在前面#本题题目及思路不太明确,参考作者:未琢 https://www.bilibili.com/read/cv4368405 出处:bilibiliimport re#读去fastawith open('../examples/ros_bio26_PMCH.txt') as f: file = f.readlines()table = {}for line in file: line = re.sub(r'\n', '', line) m
2021-08-10 22:49:23
135
原创 Rosalind第23题——ros_bio23_LEXF
如果第一次阅读,请查看写在前面collection = 'A C G T'collection = collection.split(' ')result = []collection.sort()for i in collection: for n in collection: seq = i + n result.append(seq)for i in result: print(i)...
2021-08-07 22:38:36
91
原创 Rosalind第21题——ros_bio21_REVP
如果第一次阅读,请查看写在前面import re#读取fasta序列with open("../examples/ros_bio21_REVP.txt") as f: file = f.readlines()dna = ''for line in file: line = re.sub("\n", "", line) m = re.match(r'^>.*', line) if m: continue else:
2021-08-05 17:43:27
99
原创 Rosalind第20题——ros_bio20_PRTM
如果第一次阅读,请查看写在前面import rewith open("../examples/ros_bio20_PRTM.txt") as f: protein = f.read().rstrip()table = """A 71.03711C 103.00919D 115.02694E 129.04259F 147.06841G 57.02146H 137.05891I 113.08406K 128.09496L 113.0
2021-08-04 23:18:42
91
原创 Rosalind第19题——ros_bio19_PERM
如果第一次阅读,请查看写在前面#递归果然还是不太会用!!def permutation(li): len_list = len(li) if len_list == 1: return li result = [] for i in range(len_list): res_list = li[:i] + li[i + 1:] s = li[i] per_result = permutation(re
2021-08-03 23:01:49
140
原创 Rosalind第18题——ros_bio18_ORF
如果第一次阅读,请查看写在前面#翻译过程的if,else写的极其拙劣,以后有时间有了更好的方法再来重写#B站未琢三个碱基为一体遍历是一种比较好的思路,可以借鉴import rewith open("../examples/ros_bio18_ORF.txt") as f: file = f.readlines()table = {} # 密码子表#RNA密码子表codon = """UUU F CUU L AUU I GUU VUUC F
2021-08-02 19:37:01
125
原创 Rosalind第17题——ros_bio17_MRNA
如果第一次阅读,请查看写在前面import retable = {} # 密码子表#RNA密码子表codon = """UUU F CUU L AUU I GUU VUUC F CUC L AUC I GUC VUUA L CUA L AUA I GUA VUUG L CUG L AUG M GUG VUCU S CCU P ACU T
2021-08-01 23:05:55
112
原创 Rosalind第16题——ros_bio16_MPRT
如果第一次阅读,请查看写在前面import reimport requests#通过compile设定N-糖基化模式pattern = re.compile(r'N[^P][ST][^P]')#读入蛋白名称with open("../examples/ros_bio16_MPRT.txt") as f: id = f.read().rstrip()id = id.split("\n")#通过reques遍历访问各蛋白网站并读取蛋白序列for i in id: ur
2021-07-31 21:40:21
109
原创 Rosalind第15题——ros_bio15_LIA
如果第一次阅读,请查看写在前面#阶乘的递归def factorial(n): if n == 0: return 1 else: return n * factorial(n - 1)k, n = input("请输入k和n的值:").split(" ")k, n = map(int, (k, n))m = 2 ** k #总共2^K次实验i = 2 ** k #反向计算n,n+1……2^k成功的概率p = 0while i >=
2021-07-30 19:58:27
155
原创 Rosalind第14题——ros_bio14_LCSM
如果第一次阅读,请查看写在前面#exec("{} = B".format(A))——将变量B的值赋值给A的值,如'''A = "var"B = "hello world"exec("{} = B".format(A))print(var)var = hello world'''#读取fasta文件import rewith open("../examples/ros_bio14_LCSM.txt") as f: file = f.readlines()fasta = {
2021-07-29 17:41:56
118
原创 Rosalind第13题——ros_bio13_IEV
如果第一次阅读,请查看写在前面inp = input('请输入各基因型数量:a,b,c,d,f,g: ')[a, b, c, d, f, g] = map(int, inp.split(' '))AA_AA = 1AA_Aa = 1AA_aa = 1Aa_Aa = 0.75Aa_aa = 0.5aa_aa = 0expected = (AA_AA * a + AA_Aa * b + AA_aa * c + Aa_Aa * d + Aa_aa * f + aa_aa * g) * 2p
2021-07-28 17:49:08
85
原创 Rosalind第12题——ros_bio12_GRPH
如果第一次阅读,请查看写在前面import re#将fasta文件存为字典后转化为列表fasta = {}with open("../examples/ros_bio12_GRPH.txt") as f: file = f.readlines()for line in file: line = re.sub("\n", "", line) m = re.match(r'^>.*', line) if m: name = m.group()
2021-07-27 17:32:35
112
原创 Rosalind第11题——ros_bio11_FIBD
如果第一次阅读,请查看写在前面#参考——作者:未琢 https://www.bilibili.com/read/cv2017126 出处:bilibilin, m = input().split(" ")n = int(n)m = int(m)i = 3fibo = [0, 1, 1] #加个0使得index与月份保持一致s = 0while i <= n: if i <= m: s = fibo[i-1] + fibo[i-2] elif i
2021-07-26 17:24:20
291
原创 ros_bio8_PROT
如果第一次阅读,请查看写在前面import retable = {} # 密码子表num = 0 # mrna索引protein = '' #蛋白序列#RNA密码子表codon = """UUU F CUU L AUU I GUU VUUC F CUC L AUC I GUC VUUA L CUA L AUA I GUA VUUG L CUG L AUG M GUG
2021-07-23 22:25:54
83
原创 ros_bio7_IPRB
如果第一次阅读,请查看写在前面(k, m, n) = input("输入k,m,n的值:").split()k = int(k)m = int(m)n = int(n)t = k + m + naaaa = n/t * (n-1)/(t-1) * 1 # aa+aaAaaa = n/t * m/(t-1) * 0.5 * 2 # Aa+aaAaAa = m/t * (m-1)/(t-1) * 0.25 # AaAaprobablity = 1 - aaaa - Aaaa -AaAap
2021-07-22 16:08:01
122
原创 ros_bio6_HAMM
如果第一次阅读,请查看写在前面with open("../examples/ros_bio6_HAMM.txt") as f: a = f.readlines()seq1 = a[0].replace("\n", "")seq2 = a[1]i = 0num = 0while i < len(seq1): if seq1[i] is not seq2[i]: num += 1 i += 1print(num)...
2021-07-21 15:28:02
71
原创 ros_bio5_GC
如果第一次阅读,请查看写在前面import refasta = {}content = {}#读取fasta文件——字典with open("../examples/ros_bio5_GC.txt") as f: file = f.readlines() for line in file: line = re.sub(r'\n$', "", line) match = re.match(r'^>.*', line) if m
2021-07-20 15:54:28
146
原创 ros_bio3_REVC
如果第一次阅读,请查看写在前面with open('../examples/ros_bio3_REVC.txt') as f: list = f.read().strip()list = list[::-1]dic = {'A': 'T', 'C': 'G', 'T': 'A', 'G': 'C'}dna = [dic[k] for k in list]result = ''.join(dna)print(result)...
2021-07-18 16:36:46
102
原创 ros_bio2_RNA
with open('../examples/ros_bio2_RNA.txt', 'r') as f: list = f.read().strip()rna = list.replace('T', 'U')print(rna)
2021-07-17 16:12:44
92
原创 ros_bio1_DNA
with open('../examples/ros_bio1.txt') as r: list = r.read().rstrip("\n")A = list.count('A')G = list.count('G')C = list.count('C')T = list.count('T')print(A, C, G, T)'''cnts = {c:0 for c in 'ATCG'}for line in open("../examples/ros_bio1.txt",'r'.
2021-07-16 11:20:46
126
原创 ROSALIND答案——写在前面
利用假期时间解决一下收藏已久的ROSALIND的基础问题,为接下来的硕士生涯做准备。注意:全文是用python解决,因未来可能用到python更多,恰好利用ROSALIND的问题来练手。由于本人本科期间编程学的实在不咋滴,所以解决问题并不会考虑时间复杂度和空间复杂度等东西,对于我这个新手而言,能解决问题是最重要的。如果有人能看到我的博客的话,我欢迎各位大佬来批评指正,有问题可以多交流,能优化我的代码我也是很开心的ROSALIND的问题我就不在我的博客里面写了,在这里给出ROSALIND的链接ht
2021-07-16 11:05:45
902
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人