第一次尝试用markdown来写博客
很新鲜的感觉
任务
首先老板给我一个任务
把一堆序列给我,让我比对,找出他们当中和cilia最为相关的。
是fasta格式的。
解决方案1
- 人工高通量
就是把它们上传到NCBI网站上,然后比对。
然后挨个点开看它们的结果,网速慢的话很让人抓狂
解决方案2
- 本地blast
这需要一台不错的电脑,我自己的固态硬盘一共才240G。我可以用我们的服务器,但是当时我们没有空间了,得去找管理员。我找不到他,然后发邮件也不回复。所以我用了第三种方法
解决方案3
第一步
直接用了这个博客里的代码
http://www.yelinsky.com/blog/archives/298.htmlimport os os.chdir("c:/Users/**/Documents") from Bio.Blast import NCBIWWW from Bio import SeqIO import time SeqNumber = 0 for record in SeqIO.parse("cilia.seq", "fasta"): SeqNumber += 1 try: result_handle = NCBIWWW.qblast("blastn", "nr", record.seq) save_file = open('xml\\'+str(SeqNumber)+'.xml', 'w') save_file.write(result_handle.read()) save_file.close() print (SeqNumber,' OK!') except: print (SeqNumber,' Error! Will try again later!') time.sleep(600) SeqNumber -=1 print ("Done!")
运行效果如下:
1 OK!
2 OK!
3 OK!
4 OK!
5 OK!
6 OK!
7 OK!
8 OK!
9 OK!
10 OK!
11 OK!
12 OK!
13 OK!
14 OK!
15