14

用wget批量下载需要认证的网页或者ftp站点里面的pdf文档

这是一个终极命令,比写什么爬虫简单多了
wget -c -r -np -k -L -p  -A.pdf --http-user=CS374-2011 --http-passwd=AlgorithmsInBiology http://ai.stanford.edu/~serafim/CS374_2011/papers/
我这里的例子是斯坦福大学的生物信息学算法课程里面推荐阅读的的所有pdf格式的paper
课程的网址是:http://ai.stanford.edu/~serafim/CS374_2011/
可以看到,这个网站推荐的文献分成8大类,本身这个网站打开就需要登录用户名和密码
--http-user=CS374-2011 --http-passwd=AlgorithmsInBiology
每一篇文献的单独地址是http://ai.stanford.edu/~serafim/CS374_2011/papers/Miscellaneous_topics/Self-assembly_of_DNA/self_healing_and_proofreading.pdf 类似的格式。
我这里简单解释一下这些参数的意思:
-c -r -np -k -L -p  -A.pdf
-c 断点续传
-r 递归下载,下载指定网页某一目录下(包括子目录)的所有文件
-nd 递归下载时不创建一层一层的目录,把所有的文件下载到当前目录(特殊要求会选择这个参数)
-np 递归下载时不搜索上层目录,如wget -c -r www.xxx.org/pub/path/
没有加参数-np,就会同时下载path的上一级目录pub下的其它文件 (所以一定要加上这个参数,不然会下载太多东西的)
-k 将绝对链接转为相对链接,下载整个站点后脱机浏览网页,最好加上这个参数
-L 递归时不进入其它主机,如wget -c -r www.xxx.org/
-p 下载网页所需的所有文件,如图片等
-A 指定要下载的文件样式列表,多个样式用逗号分隔
至于最后的--http-user=CS374-2011 --http-passwd=AlgorithmsInBiology 就是登录该课程网站需要的用户名和密码
06

hpv病毒研究调研

最新文献 http://www.ncbi.nlm.nih.gov/pubmed/26086163 上面有提到了hpv的研究现状

As of May 30, 2015, 201 different HPV types had been completely sequenced and officially recognized and divided into five PV-genera: Alpha-, Beta-, Gamma-, Mu-, and Nupapillomavirus.

根据文献,我找到了hpv所有已知测序种类的参考基因组网站:

http://www.hpvcenter.se/html/refclones.html

到目前(2015年7月31日15:17:59)已经有了205种,我爬取它们的genebank ID号,然后用python程序批量下载了它们的序列,能下载的序列共179条,都是8K左右的碱基序列。

image001

根据genebank ID或者其它ID号批量下载核酸序列的脚本如下:

[python]</pre>
import sys

import time

import random

from Bio import Entrez

ids=[]

infile=sys.argv[1]

for line in open(infile,'r'):

line=line.strip()

ids.append(line)

for i in range(1,len(ids)):

#       t = random.randrange(0,5)

handle =

Entrez.efetch(db="nucleotide", id=ids[i],rettype="fasta",email="jmzeng1314@163.com")

#       time.sleep(t)

print handle.read()

[/python]

脚本使用很简单,保持输入文件是一行一个ID号即可。

同时,根据文献我们也能得到hbv病毒提取方法

当然,我是看不懂的。

image003

同样的拿到下载的178条序列我们可以做一个进化树,当然,这个文章已经做好了,我就不做了,进化树其实蛮简单的。

下载179条hpv序列,每条序列都是8KB左右

我还用了R脚本批量下载

library(ape)

a=read.table("hpv_all.ID") #输入文件是一行一个ID号即可

for (i in 1:nrow(a)){

tmp=read.GenBank(a[i,1],seq.names = a[1,1],as.character = T)

write.dna(tmp,"tmp.fa",format="fasta", append=T,colsep = "")

}

然后用muscle做比对,参照我之前的笔记

http://www.bio-info-trainee.com/?p=659
http://www.bio-info-trainee.com/?p=660
http://www.bio-info-trainee.com/?p=626

muscle -in mouse_J.pro -out mouse_J.pro.a

muscle -maketree -in mouse_J.pro.a -out mouse_J.phy

貌似时间有点长呀,最后还莫名其妙的挂掉了,可能是我的服务器配置有点低。

image005

进化树如下所示:

image006