随笔分类 -  perl

摘要:perl 模块Getopt::Long使用示例 use strict; use warnings; use Getopt::Long; my @ARGV2 = @ARGV; my $leng =10; my $data ="x.txt"; my $verb; my $help; die("error 阅读全文
posted @ 2023-10-26 14:04 un-define 阅读(34) 评论(0) 推荐(0)
摘要:跳过空行: next if /^\s*$/; 变量内插: my $x = 1; my $y = 2; print "$x + $y = @{[ $x + $y ]}" 根据值对数组下标排序: my $max_ele_index = (sort {$data[$b] <=> $data[$a]} 0. 阅读全文
posted @ 2023-02-15 14:20 un-define 阅读(59) 评论(0) 推荐(0)
摘要:今天尝试用perl来画一个简单的图,根据数据我们这里画线图。使用的模块是SVG::TT::Graph,两年前更新过,相比perl模块动不动十几年没有新版本,这个模块算不错了,出图格式为SVG格式。 cpan仓库地址: https://metacpan.org/pod/SVG::TT::Graph:: 阅读全文
posted @ 2022-12-24 22:33 un-define 阅读(362) 评论(0) 推荐(0)
摘要:perl脚本加密 这里只针对单个文件的perl程序做展示。 pp:https://metacpan.org/pod/pp PAR:https://metacpan.org/pod/PAR 模块安装: cpanm pp cpanm PAR::Filter::Crypto 编译加密: linux: pp 阅读全文
posted @ 2022-12-22 10:38 un-define 阅读(955) 评论(2) 推荐(0)
摘要:这里是指数组作为hash的value,即一个key对应多个值 这里利用perl中的特殊句柄DATA做示例用以备忘{perl 数据结构一旦复杂点,可读性急剧下降,坑🕳}。 demo: use strict; use warnings; my %ha; while(<DATA>){ chomp; my 阅读全文
posted @ 2022-08-31 21:48 un-define 阅读(401) 评论(0) 推荐(0)
摘要:samtools flags 分解bam文件的第二列的flag值,代表了当前read比对到基因组序列的基本情况。flag值由2的0次方到2的11次方这11个数字组成,即1,2,4,8,16,32,64,128,256,512,1024,2048。每个数字表示的比对情况这里不赘述,当获得当前read的flag值时,如何拆解成flag最 阅读全文
posted @ 2022-03-06 22:03 un-define 阅读(391) 评论(0) 推荐(0)
摘要:这里就用perl自带的DATA句柄做示例。 1 #!/usr/bin/perl 2 use strict; 3 use warnings; 4 5 my %hash; 6 my @arr; 7 while(<DATA>){ 8 chomp; 9 my @line = split /\s+/,$_; 阅读全文
posted @ 2022-03-03 22:32 un-define 阅读(372) 评论(0) 推荐(0)
摘要:linux 下fasta序列按碱基显色 1 use strict; 2 use warnings; 3 4 my $black = "\033[0;30m"; 5 my $dary_gray = "\033[1;30m"; 6 my $light_gray = "\033[0;37m"; 7 my 阅读全文
posted @ 2021-06-08 16:35 un-define 阅读(126) 评论(0) 推荐(0)
摘要:打开多个文件时必备啊 1 use FileHandle; 2 3 my (%index,%fh); 4 # 创建句柄,这里利用gzip 压缩下 5 foreach my $k(keys %index){ 6 $fh{$k}=FileHandle->new("| gzip -c > ${k}_1.tx 阅读全文
posted @ 2021-04-23 16:30 un-define 阅读(198) 评论(0) 推荐(0)
摘要:substr EXPR,OFFSET,LENGTH,REPLACEMENT substr EXPR,OFFSET,LENGTH substr EXPR,OFFSET Extracts a substring out of EXPR and returns it. First character is 阅读全文
posted @ 2021-04-21 11:13 un-define 阅读(180) 评论(0) 推荐(0)
摘要:perl中的引用和C中的指针一样,用"\"标识,引用后可使用符号“->”取值。解引用则在对应的数据类型前加$,@ 或%。 这里这里用两数组求和做示例,引用传递的子函数的用法。 1 use strict; 2 3 my @s1=(1,13,4,25,6,27,8,22); 4 my @s2=(11,2 阅读全文
posted @ 2020-11-20 15:42 un-define 阅读(652) 评论(0) 推荐(0)
摘要:1 #!/usr/bin/perl -w 2 use strict; 3 use FindBin qw($Bin $Script); 4 5 my $rp=$Bin; 6 print "the script dir:$rp\nscript name:$Script\n"; 7 8 use Cwd q 阅读全文
posted @ 2020-11-20 11:34 un-define 阅读(188) 评论(0) 推荐(0)
摘要:perl : while(defined(my $f1=<FQ1>) && defined(my $f2=<FQ2>)){ condition } python3 : for line1,line2 in zip(fileHandle1,fileHandle2): condition 阅读全文
posted @ 2020-09-28 16:54 un-define 阅读(145) 评论(0) 推荐(0)
摘要:去除基因组序列中的未定位的scaffold、Contig序列和线粒体序,主要针对NCBI提供refseq基因组序列,组装到染色体级别的物种基本都通用。将所有碱基统一成大写字母,并计算每条染色体长度,每80个字符换行。处理脚本如下: 1 use strict; 2 open A,"$ARGV[0]"; 3 open B,">$ARGV[1]"; 4 open C,">$ARGV[2]... 阅读全文
posted @ 2020-01-08 10:02 un-define 阅读(422) 评论(0) 推荐(0)
摘要:目标如题,有多个fasta文件和一个文件名列表,将文件名列表中包含的文件匹配出来并提取第一条序列合并成一个fa文件。这个采用perl实现,用法和代码如下: 1 #!/usr/bin/perl -w 2 use strict; 3 4 sub usage{ 5 die "usage:perl $0 \n",unless(@ARGV==3); 6 } 7 usage(); 8 ... 阅读全文
posted @ 2019-12-28 20:59 un-define 阅读(796) 评论(0) 推荐(0)
摘要:这里记录两种perl数组去重的办法,一种利用哈希(hash),一种直接利用perl自带的模块List::MoreUtils内部的函数uniq。一、利用hash去重示例代码如下: 1 #!/usr/bin/perl -w 2 use strict; 3 4 my @list=qw /1 2 3 2 1 4 aa a bb c b bb d/; 5 foreach (@list){pri... 阅读全文
posted @ 2019-12-02 15:16 un-define 阅读(8439) 评论(0) 推荐(0)
摘要:这里提供一个转置矩阵的perl脚本,R语言中的t()函数同样也能实现转置 1 use strict; 2 3 open A,"$ARGV[0]"; 4 5 my %ha; 6 my $head=<A>; 7 chomp($head); 8 my @tag=split /\s+/,$head; 9 1 阅读全文
posted @ 2019-11-18 17:23 un-define 阅读(850) 评论(0) 推荐(0)