- 博客(117)
- 资源 (9)
- 收藏
- 关注
原创 另一种blast2go的思路
blast2GO是用序列相似性得到go的信息,而网上很多软件要么针对某个蛋白的,要么就是只能网上运行的,还有就是只有windows的,烦- -但如果用名字对应会怎么样,尝试了一番记录如下:我们的序列先进行blast Nr库得到的是比对的蛋白序列,名字有gi号和refseq号;NCBI FTP里面有个gene2go的文件,发现是geneid对应go号;又从FTP里面发现了gene2r
2015-12-31 12:58:21 4232
原创 iTOL与netsurfp前期处理程序
#!perluse warnings;use strict;use List::Util qw(max);my (%hash);open RSA, $ARGV[0] or die $!;open SS, "> $ARGV[1].ss" or die $!;while(){ chomp; next if(/^#/); my @tmp = split; my $maxv =
2015-11-28 09:11:52 1304 1
原创 单置换检验,轮廓检验及其他程序
#单置换检验生成矩阵#!perluse warnings;use strict;my $n = $ARGV[1];open FA, $ARGV[0] or die $!;while(){ chomp; my ($id, @tmp) = split; my @s = @tmp[0..$n-1]; my @e = @tmp[$n..$#tmp]; my $n = 0; f
2015-10-27 11:19:24 1092
原创 多线程拆分bam文件
#!perluse warnings;#use strict;use threads;use Thread::Semaphore;use File::Basename qw(basename);die "perl $0 \n" if @ARGV != 2;my $semaphore = Thread::Semaphore->new($ARGV[1]);my $id = bas
2015-06-01 15:34:47 5255 1
原创 unmapbam to fastq和自己的annovar格式~~~
#!perluse warnings;use strict;die "perl $0 \n" if @ARGV != 2;my %hash;open BAM, "samtools view $ARGV[0] |" or die $!;while(){ chomp; my @tmp = split; push @{$hash{$tmp[0]}}, "$tmp[1]\t$tm
2015-05-31 19:01:11 1676
原创 kegg的某种svg展示图
#!perluse warnings;use strict;use SVG;use File::Basename qw(basename);die "perl $0 Note: support 24 colors to sample~" if @ARGV != 3;my (@file, @pwtmp, @pw2sp);my $i = 0;open PW, $ARGV[
2015-04-30 18:11:06 1882 1
原创 linux shell 统计项目目录存储信息
TIME=`date +%Y%m%d`ls -l | sed 1d | awk '{print $3"\t"$9}' | sort -k2 | grep -v hdtmp > hdtmp1ls -l | sed 1d | awk '{print $9}' | xargs du -h --max-depth=0 --time | sort -k4 | grep -v hdtmp > hdtmp2
2015-03-05 10:52:06 788
原创 perl 多线程及信号控制
#!/usr/bin/perluse strict;use warnings;use threads;use Thread::Semaphore;my $max_thread = 5;my $semaphore = Thread::Semaphore->new($max_thread);sub TestFun{ $semaphore->up();}for(my $ind
2015-02-04 11:09:41 2167
原创 linux perl——发送邮件及监控内存
#!perluse warnings;use strict;use Net::SMTP_auth;#&sendMail;while(1){ my ($sumMem, $freeMem, $rateMem); open MEM, "cat /proc/meminfo |" or die $!; while() { $sumMem = $1 if(/MemTotal:\s+
2015-01-30 09:29:51 1817
原创 无中间文件计算fdr和多组方差分析(无齐性检验)
无中间文件计算fdr#!perluse warnings;use strict;die "perl $0 \n" if @ARGV != 2;my (%va, %out);open FA, $ARGV[0] or die $!;while(){ chomp; my @tmp = split; $va{$tmp[0]} = $tmp[
2014-12-23 10:19:41 1344
原创 矩阵转数据框和余弦定理
矩阵转数据框#!perluse warnings;use strict;open FA, $ARGV[0] or die $!;my $head = ;chomp($head);my @out = (split /\s+/, $head)[1..12];print "family\tsample\tvalue\n";my %hash;while(){ chomp;
2014-12-17 13:57:32 1104
原创 perl格式化模板
#!/usr/bin/env perluse warnings;use strict;use Getopt::Long;use FindBin qw($Bin);use File::Basename qw(basename);use File::Spec::Functions qw(rel2abs);##### main program #####my $mainPL = bas
2014-11-29 10:54:08 1456
原创 xshell个人使用小结
博主用这个很久了,至于网上的十大技巧用到一些,不过也有自己的小理解:1. xming设置2. 在终端这一选项建议使用xterm,不然的话查看和编辑文本总是显示在屏幕上,很不好用3. 键盘退格键在某种模式下的使用4. 建议在高级选项禁用文本闪烁和提高文本文字大小5. 安装lrzsz,可以直接命令行上传下载文件,但文件大小和多
2014-10-29 16:32:11 5653
原创 GATK3.2.2小结
经过几天的摸索和网上资料的查询对GATK软件有点小心得,现总结如下:1. fasta文件最好用定位到染色体上的数据,可以不用注释VCF文件(GVF),但如果用VCF文件保证以下几个条件:1)VCF染色体必须和fasta的染色体数目一致,顺序一致2)VCF的位点必须从小到大排序3)VCF的碱基有可能有其他符号,如“~”等,要去除干净2. 做之前分别使用picard
2014-08-02 11:24:23 6139 5
原创 按文件数目拆分fasta——无事闲写
#!/usr/bin/env perluse warnings;use strict;die "Usage: perl $0 \n" if(@ARGV ne 3);open FA, $ARGV[0] or die $!;$/ = "\n>";my @fa;while(){chomp;s/^>//;push @fa, $_;}
2014-07-15 10:01:35 2588
原创 fasta统计——无事闲写
多发点无事之作得了:#!/usr/bin/env perluse warnings;use strict;die "Usage: perl $0 \n" if(@ARGV ne 1);open FA, $ARGV[0] or die $!;$/ = "\n>";my ($sl, $sg, $sc, %hash);while(){ chomp; s/^>//; my @
2014-07-11 09:48:03 1587
原创 R本月小总结,容易忘记的东西
布局分三块:整张图所占的布局、文字坐标轴所占的布局和图形内部所占布局。布局:1. par(mfrow/mcol(x,y))x行y列按行或列顺序2. layout(matrix(a, a, b, c), 2, 2, byrow/bycol) 2行2列,a两列,b,c两列趋势线: 直线型abline(lm(x~y)),拟合型lines(lowess(x, y))柱状图趋势线
2014-06-30 21:47:26 1276
原创 取转录本fasta最长的当作基因fasta
#!/usr/bin/env perluse warnings;use strict;use Bio::SeqIO;die "perl $0 > \n" if(@ARGV != 1);my @len = `fastalength $ARGV[0]`;my %xsh = map { chomp; my($length,$name)=split /\s+/; $name=>$leng
2014-03-28 15:27:21 3716 2
原创 SVG与perl SVG学习笔记
以前在861部队的时候学习的是特殊版本的SVG模块,一直以为使用的是正统的SVG,13年出来的时候才发现自己错的很离谱,所以重新学习了一下将笔记奉上~~~SVG是定义对象的,在perl里面就是个对象要先创建:my $svg = SVG->new(width=>300, height=>300);my $svg = SVG->new;对于矩形来说rect:x 属性定义矩形
2014-02-12 11:07:37 5265 1
原创 circos输入数据文件格式化——depth,GC,geneskew
写了一个小脚本用来格式化数据格式,必须有正负链的深度文件,得到gtf的基因高亮区域,并且计算gc含量和geneskew:#!/usr/bin/env perl use warnings;use strict;use Getopt::Long;my %opt;GetOptions(\%opt, "len=s");$opt{len} ||= 1000;die qq/Usage:
2014-01-21 16:19:58 4479
原创 ncbi的genome,gene序列转换和gb2gtf——链特异性转录组
ncbi下载的数据不一定符合链特异性转录组的格式,写个小脚本进行处理一下:#!perl use warnings;use strict;die qq/perl $0 [ ...] type: "gtf", "gene" and "genome".Note: "genome" need gtf.list of "gtf", and gtf.list must be the
2014-01-02 09:38:41 4060 2
原创 多个文件求交集并生成矩阵
博主觉得写得还是有点复杂,求再简单一些的方法!#!perluse warnings;use strict;my %hash;my %samp;foreach my $f(@ARGV){ my $id = $f; open FF, $f or die $!; while() { chomp; my @tmp = split; $hash{$tmp[0]} =
2013-12-17 10:16:33 1030
原创 过滤程序
一个C写的过滤程序,遇到的问题有:1. 没有装libboost1.422. exit没有进行定义安装libboost(竟然和boost是一样的?!),方法:1. ./bootstrap.sh --prefix=*/bin/boost_1_42_0/ --exec-prefix=*/bin/boost_1_42_0/2. ./bjam install修改编译程
2013-11-22 10:09:46 1075
原创 一点一点重学统计学(六.完)——抽样方法
抽样的容量必须估计出我们能够接受的误差大小,通常以样本平均数的95%置信区间内允许的误差,实际上自己根据经验或者需求来设置比较好:所需样本容量估计:n=4s*s/(L*L) s为标准差 L为允许误差所需样本百分比容量估计:n=4pq/(L*L)抽样方法:简单、分层随机、顺序、整体、典型抽样:对于以上抽样,博主认为基本没啥区别,只要能随机抽就行,不带人为偏向性的误差比如单
2013-10-15 14:44:29 930
原创 链特异性转录组
实验原理:信息分析方法trinity有该分析比对流程,下面博主就不用多说了吧,分析方法基本一致,只不过拆开了再玩的节奏~~~不过比对的时候有个问题链方向性的问题,解决方案如下:
2013-10-14 17:28:33 3609
原创 EST gb转fa格式(genebank和fasta)与提取gtf的noncoding区域
两个程序比较简单,高手免看了,就是想保存一下,以后说不定直接就用了。。。EST的数据库是genebank格式,找了一圈没发现转换的程序,就自己写了一个,还算可以,就是没有用多线程来做。。。#!/usr/bin/env perl use strict;use warnings;use Getopt::Long;my %opt;GetOptions(\%opt, "i=s",
2013-10-08 17:26:57 4643
原创 转录组resequencing流程
重测序流程就是有参考基因组的流程,如果是真核生物一般使用tophat和cufflinks的组合方式,得到比对文件,可变剪切文件,组装转录本结果;如果想得到某些条件下的新转录本,使用cuffmerge融合links得到的gtf文件,再用cuffcompare把融合的gtf跟参考gtf比较即可,但是!结果的classcode比较难以理解,需要比较强的生物学背景,博主理解的不一定对,也不想出糗就不写
2013-09-13 14:59:17 1480
原创 一点一点重学统计学(五)——回归与相关分析(小谈大数据)
博主这个小菜谈谈大数据吧,真正大数据分析并不是起源于人类基因组计划,而是很久之前的一位领航员画的大海路线图及相关信息(天气、风向、洋流等等),所以向他致敬!或许他都不知道这叫大数据分析。。。人类基因组计划之后,科学家们发现找到gene的因果关系很难,相反去找gene的相关关系相对容易一些,如果说一个基因缺失或重复导致一种疾病这种情况很少的,大部分人类所患的疾病都是有很多gene共同作用造成的,
2013-09-11 18:53:05 1309
原创 一点一点重学统计学(四)——卡方检验、方差分析、F检验
对于连续型的统计使用平均数或二项分布进行检验,而对于离散型统计通常采用卡方检验。有两种卡方检验类型:1是实际值与理论值的比较,2是观察两个(以上)的统计是否是相互独立的或是相互联系的,检验这种假设是否成立。O是观察值,E是理论值在对多个样本进行平均数差异显著性检验时,使用t检验提高了假阳性的概率,所以要使用方差分析;但方差分析只能估计随机误差,有顺序的抽样不能进行方差分析,
2013-09-11 16:44:39 8530 1
原创 一点一点重学统计学(三)——假设检验
我们检验生物实验的概率时,一般是总体方差已知,或者方差未知但n》30,用样本方差估计总体方差,用正态分布足够了。但是我们会遇到总体方差未知,n卡方分布为n个样本的平方和,F分布为两个独立样本的方差比值,但这两个分布的实际用法还没有想明白。。。假设检验的意义是为了区分差异是由抽样的随机误差造成的,还是由实验条件不同造成的;如果抽样结果使小概率事件发生,则拒绝假设;显著水平为小概率事件
2013-09-11 15:10:04 1642
原创 一点一点重学统计学(二)——二项、泊松和正态分布
贝努里大数定律:当试验在不变的条件下,重复次数无限大,抽样群体某一个概率与理论概率的差值,必定小于一个任意小的正数,所以这两者可以基本相等,也可以用线性模型来解释,随着抽样的总数增加误差的平均会越来越小。如果群体只有两种类型,则使用二项分布;随着n增大分布趋于对称;随着p趋于0.5分布趋于对称。如果某事件概率很小,而群体很大,即有很小的p值和很大的n值,则使用泊松分布;入为其平均数
2013-09-11 14:30:10 3197
原创 一点一点重学统计学(一)——平均数与方差
由于大学中对统计学老师的反感,所以就没去学习,这是一个很严重的后果;再加上高中学习纯粹是记忆加模仿,虽然分数很高,但是不求甚解,也造成了一定的后果。现在慢慢补回来吧。。。蛋疼。。。 最简单的是平均数和标准差,平均数反映集中情况,标准差反映离散情况也叫变异情况: n-1是自由度,那知道为什么不除以n而除以n-1么?因为有n个离均差,只有n-1是自由变换的,最后一
2013-08-29 11:58:49 1667
原创 Trinity组装学习
目前组装转录本遇到的挑战:1. 转录本表达高低差异大;2. Reads覆盖转录本不均匀;3. 测序错误;4. 相邻转录本组装时导致形成奇怪的转录本;5. 由于可变剪切所以要适应相应的不同转录本;6. 重复序列。 然后介绍了基于基因组的转录本组装方法Mapping-first(依赖于read比对的准确性,且大数据量reads导致判定错误)和直接组装方法Assembly-first,比
2013-08-29 10:26:20 4786 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人