亚马逊AWS 云计算

最近要处理一些高通量测序数据,才知道我那服务器的弱小,看那内存需求动辄几十上百的,我那个位数的内存压根儿还没开始就死了,偶尔看到有云计算这种服务,觉得很有意思,收费也不是太贵,对于我这种偶尔需要一下这种高通量计算的人来说相当不错。
现在比较火的云计算有亚马逊AWS和Google的Compute Engine,另外还有IBM,微软,国内的阿里云和金山腾讯都搞得很热闹。

要想实现AWS的最佳优化,组织必须了解定价结构。那些按小时使用弹性云,并且不承担责任的客户,最好是选择按需定价。按需定价是一种最常用的定价策略,按需定价可以满足突发性的、季节性的或者短期的需求。按需定价也可能是最知名的一种定价策略,因为按需定价非常适合灵活的、基于消费的计费模型,并且按需定价被亚马逊广泛宣传。但是,按需定价并不是一种最便宜的解决方案。下面是一个价格举例。

最新miRBase物种及其编号(二)

organism division name NCBI-taxid
aau AAU Acacia auriculiformis 205027
amg AMG Acacia mangium 224085
api API Acyrthosiphon pisum 7029
aae AAE Aedes aegypti 7159
ata ATA Aegilops tauschii 37682
atr ATR Amborella trichopoda 13333
aqu AQU Amphimedon queenslandica 400682
aca ACA Anolis carolinensis 28377
aga AGA Anopheles gambiae 7165
ame AME Apis mellifera 7460
aqc AQC Aquilegia caerulea 218851
aly ALY Arabidopsis lyrata 59689
ath ATH Arabidopsis thaliana 3702
ahy AHY Arachis hypogaea 3818
aja AJA Artibeus jamaicensis 9417
asu ASU Ascaris suum 6253
age AGE Ateles geoffroyi 9509
ama AMA Avicennia marina 82927
bpcv1 VRL Bandicoot papillomatosis carcinomatosis virus type 1 479058
bpcv2 VRL Bandicoot papillomatosis carcinomatosis virus type 2 500654
bkv VRL BK polyomavirus 10629
bmo BMO Bombyx mori 7091
bta BTA Bos taurus 9913
bfv VRL Bovine foamy virus 207343
bhv1 VRL Bovine herpesvirus 1 10320
bhv5 VRL Bovine herpesvirus 5 35244
blv VRL Bovine leukemia virus 11901
bdi BDI Brachypodium distachyon 15368
bbe BBE Branchiostoma belcheri 7741
bfl BFL Branchiostoma floridae 7739
bna BNA Brassica napus 3708
bol BOL Brassica oleracea 3712
bra BRA Brassica rapa 3711
bma BMA Brugia malayi 6279
bcy BCY Bruguiera cylindrica 106616
bgy BGY Bruguiera gymnorhiza 39984
cbn CBN Caenorhabditis brenneri 135651
cbr CBR Caenorhabditis briggsae 6238
cel CEL Caenorhabditis elegans 6239
crm CRM Caenorhabditis remanei 31234
cfa CFA Canis familiaris 9615
cte CTE Capitella teleta 283909
chi CHI Capra hircus 9925
cpa CPA Carica papaya 3649
cla CLA Cerebratulus lacteus 6221
cre CRE Chlamydomonas reinhardtii 3055
cin CIN Ciona intestinalis 7719
csa CSA Ciona savignyi 51511
ccl CCL Citrus clementina 85681
crt CRT Citrus reticulata 85571
csi CSI Citrus sinensis 2711
ctr CTR Citrus trifoliata 37690
cgr CGR Cricetulus griseus 10029
cme CME Cucumis melo 3656
cqu CQU Culex quinquefasciatus 7176
cln CLN Cunninghamia lanceolata 28977
cca CCA Cynara cardunculus 4265
ccr CCR Cyprinus carpio 7962
dre DRE Danio rerio 7955
dpu DPU Daphnia pulex 6669
ddi DDI Dictyostelium discoideum 44689
dpr DPR Digitalis purpurea 4164
dan DAN Drosophila ananassae 7217
der DER Drosophila erecta 7220
dgr DGR Drosophila grimshawi 7222
dme DME Drosophila melanogaster 7227
dmo DMO Drosophila mojavensis 7230
dpe DPE Drosophila persimilis 7234
dps DPS Drosophila pseudoobscura 7237
dse DSE Drosophila sechellia 7238
dsi DSI Drosophila simulans 7240
dvi DVI Drosophila virilis 7244
dwi DWI Drosophila willistoni 7260
dya DYA Drosophila yakuba 7245
dev VRL Duck enteritis virus 104388
egr EGR Echinococcus granulosus 6210
emu EMU Echinococcus multilocularis 6211
esi ESI Ectocarpus siliculosus 2880
egu EGU Elaeis guineensis 51953
ebv VRL Epstein Barr virus 10376
efu EFU Eptesicus fuscus 29078
eca ECA Equus caballus 9796
far FAR Festuca arundinacea 4606
fru FRU Fugu rubripes 31033
gga GGA Gallus gallus 9031
gpy GPY Glottidia pyramidata 34515
gma GMA Glycine max 3847
gso GSO Glycine soja 3848
ggo GGO Gorilla gorilla 9593
gar GAR Gossypium arboreum 29729
ghb GHB Gossypium herbaceum 34274
ghr GHR Gossypium hirsutum 3635
gra GRA Gossypium raimondii 29730
gsa GSA Gyrodactylus salaris 37629
hco HCO Haemonchus contortus 6289
hru HRU Haliotis rufescens 6454
han HAN Helianthus annuus 4232
har HAR Helianthus argophyllus 73275
hci HCI Helianthus ciliaris 73280
hex HEX Helianthus exilis 400408
hpa HPA Helianthus paradoxus 73304
hpe HPE Helianthus petiolaris 4234
htu HTU Helianthus tuberosus 4233
hme HME Heliconius melpomene 34740
hbv VRL Herpes B virus 10325
hsv1 VRL Herpes Simplex Virus 1 10298
hsv2 VRL Herpes Simplex Virus 2 10310
hvt VRL Herpesvirus of turkeys 37108
hvsa VRL Herpesvirus saimiri strain A11 570519
hbr HBR Hevea brasiliensis 3981
hhi HHI Hippoglossus hippoglossus 8267
hsa HSA Homo sapiens 9606
hvu HVU Hordeum vulgare 4513
hcmv VRL Human cytomegalovirus 10359
hhv6b VRL Human herpesvirus 6B 32604
hiv1 VRL Human immunodeficiency virus 1 11676
hma HMA Hydra magnipapillata 6085
ipu IPU Ictalurus punctatus 7998
iltv VRL Infectious laryngotracheitis virus 10386
isc ISC Ixodes scapularis 6945
jcv VRL JC polyomavirus 10632
kshv VRL Kaposi sarcoma-associated herpesvirus 37296
lla LLA Lagothrix lagotricha 9519
lca LCA Lemur catta 9447
lco LCO Leucosolenia complicata 433461
lus LUS Linum usitatissimum 4006
lmi LMI Locusta migratoria 7004
lgi LGI Lottia gigantea 225164
lja LJA Lotus japonicus 34305
lva LVA Lytechinus variegatus 7654
mml MML Macaca mulatta 9544
mne MNE Macaca nemestrina 9545
meu MEU Macropus eugenii 9315
mdm MDM Malus domestica 3750
mse MSE Manduca sexta 7130
mes MES Manihot esculenta 3983
mdv1 VRL Mareks disease virus type 1 10390
mdv2 VRL Mareks disease virus type 2 36353
mja MJA Marsupenaeus japonicus 27405
mtr MTR Medicago truncatula 3880
mcv VRL Merkel cell polyomavirus 493803
mdo MDO Monodelphis domestica 13616
mcmv VRL Mouse cytomegalovirus 10366
mghv VRL Mouse gammaherpesvirus 68 33708
mmu MMU Mus musculus 10090
ngi NGI Nasonia giraulti 7426
nlo NLO Nasonia longicornis 7427
nvi NVI Nasonia vitripennis 7425
nve NVE Nematostella vectensis 45351
nta NTA Nicotiana tabacum 4097
odi ODI Oikopleura dioica 34765
oha OHA Ophiophagus hannah 8665
oan OAN Ornithorhynchus anatinus 9258
ocu OCU Oryctolagus cuniculus 9986
osa OSA Oryza sativa 4530
ola OLA Oryzias latipes 8090
oar OAR Ovis aries 9940
ppa PPA Pan paniscus 9597
ptr PTR Pan troglodytes 9598
prd PRD Panagrellus redivivus 6233
pgi PGI Panax ginseng 4054
pol POL Paralichthys olivaceus 8255
pmi PMI Patiria miniata 46514
pma PMA Petromyzon marinus 7757
pti PTI Phaeodactylum tricornutum 2850
pvu PVU Phaseolus vulgaris 3885
ppt PPT Physcomitrella patens 3218
pin PIN Phytophthora infestans 4787
pra PRA Phytophthora ramorum 164328
psj PSJ Phytophthora sojae 67593
pab PAB Picea abies 3329
pde PDE Pinus densata 190402
pta PTA Pinus taeda 3352
pxy PXY Plutella xylostella 51655
ppy PPY Pongo pygmaeus 9600
peu PEU Populus euphratica 75702
ptc PTC Populus trichocarpa 3694
ppc PPC Pristionchus pacificus 54126
ppe PPE Prunus persica 3760
prv VRL Pseudorabies virus 10345
pbi PBI Pygathrix bieti 61621
rno RNO Rattus norvegicus 10116
rgl RGL Rehmannia glutinosa 99300
rlcv VRL Rhesus lymphocryptovirus 45455
rrv VRL Rhesus monkey rhadinovirus 703611
rmi RMI Rhipicephalus microplus 6941
rco RCO Ricinus communis 3988
sof SOF Saccharum officinarum 4547
ssp SSP Saccharum sp. 15819
sko SKO Saccoglossus kowalevskii 10224
sla SLA Saguinus labiatus 78454
ssa SSA Salmo salar 8030
ssl SSL Salvia sclarea 38869
sha SHA Sarcophilus harrisii 9305
sja SJA Schistosoma japonicum 6182
sma SMA Schistosoma mansoni 6183
sme SME Schmidtea mediterranea 79327
smo SMO Selaginella moellendorffii 88036
sv40 VRL Simian virus 40 10633
sly SLY Solanum lycopersicum 4081
stu STU Solanum tuberosum 4113
sbi SBI Sorghum bicolor 4558
smr SMR Strigamia maritima 126957
spu SPU Strongylocentrotus purpuratus 7668
str STR Strongyloides ratti 34506
ssc SSC Sus scrofa 9823
sci SCI Sycon ciliatum 27933
ssy SSY Symphalangus syndactylus 9590
tgu TGU Taeniopygia guttata 59729
tre TRE Terebratulina retusa 7580
tur TUR Tetranychus urticae 32264
tni TNI Tetraodon nigroviridis 99883
tcc TCC Theobroma cacao 3641
tca TCA Tribolium castaneum 7070
tae TAE Triticum aestivum 4565
ttu TTU Triticum turgidum 4571
tch TCH Tupaia chinensis 246437
vun VUN Vigna unguiculata 3917
vvi VVI Vitis vinifera 29760
xla XLA Xenopus laevis 8355
xtr XTR Xenopus tropicalis 8364
xbo XBO Xenoturbella bocki 242395
zma ZMA Zea mays 4577

CentOS7建立FTP站点

ftp站点相对于http站点,具有共享文件方便的特点,经过一段时间的折磨,终于算是弄好了。现简单记录一下其过程,以备忘。
1、安装ftp和vsftpd
rpm -q vsftpd ###查看是否安装vsftpd没有安装的话执行下面的命令
yum -y install vsftpd && ftp
chkconfig vsftpd on #####设置开机启动

2、建立和修改ftp用户
安装ftp后系统内会添加一个名称为ftp的用户,通过”vim /etc/passwd”可以查看到,该用户的默认目录为”/var/ftp”,可以勇冠”usermod -d /home/ftp ftp”可以将ftp的用户目录改为”/home/ftp”,并修改目录权限为不可写”chmod -R 555 /home/ftp”。这个非常必要,否则登录不上,即使在后面的vsftpd.conf中设置了也会登录不上,除非关闭selinux,这是vsftp基于安全的考虑,至于其它的设置方法现在还不是很清楚。修改用户”ftp”的密码,”passwd ftp”,会提示输入新密码,重复输入一次就可以了。

3、配置vsftpd.conf
打开vsftpd.conf”vim /etc/vsftpd/vsftpd.conf”,在后面添加
userlist_file=/etc/vsftpd/vftpuser.txt
virtual_use_local_privs=YES
guest_enable=YES
guest_username=ftp
pasv_enable=YES
pasv_min_port=50000
pasv_max_port=60000
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
并分别在/etc/vsftpd/vftpuser.txt、chroot_list、user_list中添加用户”ftp”(加一行ftp就行),如果不存在上述文件,就先创建后添加。

4、配制防火墙
vi /etc/sysconfig/iptables
添加下面几行
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A OUTPUT -i lo -j ACCEPT
-A INPUT -m state –state ESTABLISHED -j ACCEPT
-A OUTPUT -m state –state ESTABLISHED -j ACCEPT
-P INPUT DROP
-P OUTPUT DROP
-A INPUT -p tcp -m state –state NEW -m tcp –dport 21 -j ACCEPT
-A INPUT -p tcp –dport 50000:60000 -j ACCEPT
-A OUTPUT -p tcp -m state –state NEW -m tcp –dport 21 -j ACCEPT

重新启动iptables和vsftpd就可以了(systemctl restart iptables.service && service vsftpd restart)。
如果是IE浏览器就用”ftp://ftp:密码@你主机的ip地址”登录,添加其它用户只需要创建用户后在vftpuser.txt、chroot_list、user_list中添加相应的用户名就可以了。

CentOS7 安装php5.6+nginx1.7.5

由于版本的变化最新的php和nginx安装与配置和前面版本的有稍许差异,首先卸载旧版本,下载最新的软件的软体安装包,安装方法可以参照centos 7 min 编译安装php5.6+nginx1.7.5 笔记这里主要补充一点,就是怎样在nginx中运行php的问题。如果是想单独建一个www的用户的话,上面的安装的基础上需要做如下修改。
1、创建www用户
groupadd www
useradd -g www www -s /bin/false
2、修改nginx.conf配置文件
vi /usr/local/nginx/conf/nginx.conf
user www www; #首行user去掉注释,修改Nginx运行组为www www;必须与/usr/local/php/etc/php-fpm.conf中的user,group配置相同,否则php运行出错,具体方法是打开php-fpm.conf文件,如果在上面路径中找不到这个文件,就在安装包里面找到复制到这里,找到有user和group的行,去掉前面的;号,将nobody改为www。
3、重启nginx和php-fpm
nginx -s reload
/usr/local/php/sbin/php-fpm
4、测试
在www用户目录下创建test.php文件,输入;在浏览器中找开就可以看到PHP配置情况。

centOS7 安装mysql5.6

因为mysql被Oracle收购后会逐渐走向收费,为避免以后的版权纠纷,centos7已经不支持mysql,而是内部集成mariadb代替,而安装mysql的话会和mariadb产生文件冲突,所以安装mysql前要先卸载mariadb。
1、卸载mariadb
rpm -e mariadb-libs-5.5.37-1.el7_0.x86_64
###会提示错误:依赖检测失败
###加上–nodeps参数强制卸载
rpm -e –nodeps mariadb-libs-5.5.37-1.el7_0.x86_64
如果找不到就用yum -y remove mariadb-libs.x86_64
2、下载mysql5.6
centos7等同与Red Hat7,下载此版本下的MySQL-client-5.6.21-1.el7.x86_64 .rpm MySQL-server-5.6.21-1.el7.x86_64.rpm就可以了,如果点击Download会提示你要先登录Oracle帐户,如果没有帐户或者不想登录,在其它地方下载相同的包也可以,如果不想在其它地方找又没有Oracle帐户,顺便注册一个就可以了。
如果嫌麻烦,也可一个FTP站点下载,里面包含了几乎所有的mysql版本。
3、安装mysql
进入到安装包所在目录
rpm -ivh MySQL-client-5.6.21-1.el7.x86_64.rpm
rpm -ivh MySQL-server-5.6.21-1.el7.x86_64.rpm
也可从源代码安装,不过先得安装cmake,软件包为mysql-5.6.24.tar.gz
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc
make
make install
4、生成mysql系统数据库
如果你马上登录mysql会提示找不到/var/lib/mysql/下的sock文件,因为还没有生成系统数据库。
mysql_install_db –user=mysql –basedir=/usr/share/mysql
###生成mysql系统数据库
5、登录mysql
mysql_install_db –random-passwords
###生成随机密码
随机密码保存在$HOME/.mysql_secret文件中,打开这个文件,找到密码。
mysql -u=root -p
###登录mysql,输入随机密码
6、修改root密码
mysql> SET PASSWORD FOR root@localhost=PASSWORD(‘yourpassword’);
###这时不要想着运行其它语句,初次登录时只能改密码
退出mysql
7、添加用户和数据库
用新密码重新登录数据库,创建用户和数据库

荷兰极有可能又是第二

看了一下巴西世界杯淘汰赛赛程,发现在决赛前,唯一对荷兰有威胁的是阿根廷,极有可能在1/4决赛中遭遇,但感觉阿根廷球风比较飘,远没有荷兰狠,荷兰拿下阿根廷应该没有问题。另外一边,巴西强劲的对手有很多,法国、德国乌拉圭,甚至智利都会对巴西构成威胁,但因为是东道主,按照传统,应该会“保送”到至少半决赛,所以我估计决赛很可能是巴西和荷兰对阵,但要想荷兰击败巴西,只能靠天照顾了,但要知道,老天是不怎么喜欢荷兰当老大的,所以荷兰又只能屈居老二了。

基因注释

很多人觉得基因注释很高深,特别对于那些不太懂编程的来说,感到无从下手,去年我也折腾了差不多半年,最后发现也就那么回事。一开始我是找各种基因注释的工具,例如研究geneontology自带的perl程序,里面涉及了众多模板,而且是模块里面又有模块,运行时不是少了这个模块就是那个模块有问题,最后折腾了两三个月也没有得到理想结果。后来用了blast2go这个程序用起来是没有问题,可实在是太慢,几个小时下去,泡都不冒一个。最后默默在躺在床上反思,我的目的是什么,注释的原理是什么。按照这个思路,慢慢的去找这些问题的答案,最后终于开窍了,想明白了真的好简单,现将思路简单归纳如下:
1、基因注释方法
1)根据已注释的信息,利用序列相似性原则,去注释未知序列。
2)查找文献资料注释基因功能。
基因批量注释的话都是采用第一种。
2、所需资料
1)将需要注释的序列翻译成氨基酸序列;
2)下载现有的已注释的蛋白序列(uniprot_sprot.fasta.gz,文件大小为78MB);
3)下载联系蛋白序号和注释号(GO的accession)的文件(idmapping.td.gz,文件大小为2.17G);
4)下载最新的GO数据库文件assocdb-data.gz
3、注释方法
1)利用formatdb格式化已注释的蛋白序列为blast库;
2)将需要注释的序列与blast库做blast;
3)找到与需注释序列相似度高的蛋白序列号;
4)找到这些蛋白序列号对应的注释号(GO号);
5)用GO号在GO数据库文件中的term表中找到注释信息或者在geneontology官网用GO号就可以查到详细的注释信息;

如果用NCBI数据库,方法也差不多,先下载已注释的蛋白序列,格式化数据成blast库,将需注释的序列与这个blast库比对,找到相似度高的已注释的蛋白序列号,用此序列号用NCBI中gene_info.gz和gene2access找到蛋白序列的gene号,然后将此号用gene2go数据找到go号,最后用go号找到其注释信息就行了。

如果按照以上方法操作的话,其实基因注释非常简单,几乎只要做个blast,然后将信息对应过来就可以了,远没有那么复杂。

迷茫

日志

最近断断续续花了半年时间写的一篇文章被拒,使我最近一个星期来心情非常的糟糕,做什么事情也提不起精神,对于做实验也有点灰心。文章的评审意见非常中肯,自己也并不觉得太冤,主要问题是研究内容太过单薄,没有创新,回过来看文章也确实如此,也就是按照别人的方法克隆了一个植物抗逆中比较重要的基因而以。我想主要原因是思维方法还没有转变过来。在公司做生物信息时,主要是客户提供问题,我们负责找到问题的答案或者相关资料就可以了,就像做工程,采用合适的方法找到合适的材料放在恰当的地方就可以,例如写代码时将别人的代码复制过来再根据需要自己修改一下就变成了自己的代码了,而搞研究的话这种行为就被称人“没有创新”。就拿我的这个文章做个例子吧,采用同源克隆获得基因序列,然后测序验证,最后分析序列结构和功能。实验确实做了很多,但没有一点方法是新的,没有一个发现是新的,就像公司做克隆一样,可以程序化生产。在做试验之间没有先行搞明白这个基因是主要功能是什么,有什么特性,现在已经研究到什么阶段了,还有哪些需要解决的问题,我又能做些什么,预计多长时间,可以做到什么程度,而不是简单的按照吩咐克隆这个基因就可以了。觉得需要把这些弄清楚再开始做试验,再在试验发现新问题,新思想。如果这样做了也不会导致现在文章都写完了,心里还一点底都没有。可是说起来简单,要做到那些是非常难的,以我现在的速度,看一篇文章得花一天,把那些前期工作做完, 一年时间就过去了,在这一年时间里,如果一点产出都没有,你就会受到别人质疑,年终评审也会产生问题,但如果不按照这个程序来做的话,就导致这个结局,做了一年的实验,最后还不知道自己在做什么,做出来有什么用,心里感觉非常的虚,非常踌躇迷茫,但时间又一天天过去,自己却还什么也没有,我到底要怎么办呢!

Perl输出函数传递的二维数组

最近用DBI模块写个了mysql接入函数,但得到的return一直不能输出结果,后来经过思考,原来是二维数组传递的问题,终于解决了,特此为记。

下面这个是mysql接入函数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
sub mysql_connect(){
        use DBI;
	my ($sql,$db)=@_;
	my $usr="selectonly";
	my $passwd="yuyin_110";
	my $dbh=DBI->connect("DBI:mysql:$db",$usr,$passwd);
 
	if(!$dbh){
		print "connect lost\n";
	}else{
		my $sth=$dbh->prepare($sql)or die "Can’t prepare $sql: $dbh->errstr\n";
		$sth->execute()or die "Can’t execute the query: $sth->errstr";
		my $data=$sth->fetchall_arrayref();
		$sth->finish;
		return $data;
	}
}

现在的问题是输出$data的内容,而$data返回的是一个二维数组的引用地址,可以用以下方法分层输出这个数组:

1
2
3
4
5
6
7
8
9
10
11
	my $sql="select * from test limit 1000";
	my $b=mysql_connect($sql,"test");
	my @r=@$b;    #####因为$b获得的只是一个引用地址,可以用@变成数组,这个数组这储存了一系列一维数组地址
	foreach(@r){
		my @each=@$_;            ######道理与获得二维地址一样
		foreach(@each){
			print  $_."\t";
		}
		print  "\n";
 
	}