精华内容
下载资源
问答
  • Perl编程

    2020-02-15 23:39:25
    一、Perl编程优势 1.强大的文本处理能力; 2.快速上手; 3.借鉴其它语言优点; 4.大量的公共模块资源。 二、文件操作&变量的概念

    一、Perl编程优势
    1.强大的文本处理能力;
    2.快速上手;
    3.借鉴其它语言优点;
    4.大量的公共模块资源。
    二、文件操作&变量的概念
    1.第一个perl程序的编写

    vim 1.hello.pl
    

    2.完整的程序格式

    #!/usr/bin/perl -w use strict
    #An example of Perl print "Hello World\n"
    

    /usr/bin/perl 代表的是perl在程序当中的安装路径
    -w use strict代表的是提示错误信息
    #开头没有!代表的是注释说明作用,不是代码。
    3.文件2.readFile.pl的具体操作
    (1).test.fa中的文件信息

    >t00001 953571
    TGTATAGTT
    >t00002 781632
    TAGCTTATCAGACTGATGTT
    >t00003 657683
    ACTCGACGCGATATACGTG
    

    (2).具体的函数

    #!/usr/bin/perl -w use strict
    #Read files
    my $file="test.fa";
    open(FH,$file) or die $!;
    while(<FH>){
            print $_;
    }
    close FH;
    

    在这里插入图片描述
    3.常见的变量赋值
    在这里插入图片描述
    三、文件处理
    1.文件信息处理一

    #!/usr/bin/perl -w use strict
    #Read files
    my $file="test.fa";
    open(FH,$file) or die $!;
    while(<FH>){
     		#当读取到某行,匹配行首(^)有">"时,  则跳过这一行不读。 
            if($_=~/^>/) {next;} 
            print $_;
    }
    close FH;
    

    文件程序的运行结果

    lhj@lhj-virtual-machine:~$ vim 3.readSeq.pl 
    lhj@lhj-virtual-machine:~$ perl 3.readSeq.pl 
    TGTATAGTT
    TAGCTTATCAGACTGATGTT
    ACTCGACGCGATATACGTG
    

    设计的知识点
    正则表达式
    正则表达式是在标准格式下,计算机能够匹配的一种模式。
    符号: =~//(//内是匹配的内容) =~表示匹配
    在这里插入图片描述
    2.文件信息处理二
    (1).统计GC含量

    #!/usr/bin/perl -w use strict
    #Read files
    my $file="test.fa";
    open(FH,$file) or die $!;
    my $G_num=0;
    my $C_num=0;
    my $bases=0;
    while(<FH>){
            if($_=~/^>/) {next;}
            #分别计算文件每一行中碱基G,C,以及所有碱基的数目。
            if(/C/) {$C_num+=1;}
            if(/G/) {$G_num+=1;}
            #length($_),计算当前行的长度,这里即每一行的碱基数目。
            $bases+=length($_);
    }
    close FH;
    my $GC=($G_num+$C_num)/$bases;
    #printf是直接打印双引号中的所有内容
    #sprintf则是对于变量进行格式化转变。
    $GC=sprintf"%0.2f",$GC;  #保留计算结果小数位后两位。
    printf "GC content is:$GC\n";
    

    程序运行结果为:
    在这里插入图片描述
    (2).统计每一行基因序列的长度

    #!/usr/bin/perl -w use strict
    
    my $file="test.fa";
    my %hash;
    my $id=0;
    open(FH,$file) or die $!;
    while(<FH>){
            chomp;#代表将每一行后的换行符去掉 
            if($_=~/^>/) {next;}
            #将行的ID和序列长度一一对应存在哈希表%hash
            $hash{$id}=length($_);
            $id++;
    }
    close FH;
    foreach my $k(sort keys %hash){
    		#按照ID(sort keys),输出hash。
            print $k,"\t",$hash{$k},"\n";
    }
    
    

    代码结果:
    在这里插入图片描述
    涉及的知识点:

    #!/usr/bin/perl -w 
    use strict;
    #Hash example.
    #定义hash时,采用的()切记!
    my %hash=(
            "Alice"=>100,
            "Bill"=>99,
            "Cindy"=>79
    );
    #同数组类似,用foreach循环对hash来读取每个元素。
    #keys hash代表的是hash中所有key的集合,每次循环赋值给$k.
    foreach my $k(sort keys %hash){
            print $k,"\t","$hash{$k}","\n";
    }
    #读取hash中Alice对应的value值100,表示为$hash{"Alice"}.
    print "\nAlice's score is:",$hash{"Alice"},"\n";
    
    

    在这里插入图片描述
    程序的运行结果:
    在这里插入图片描述
    (3).代码操作的文件从命令行输入

    #!/usr/bin/perl -w use strict
    #Read files
    my $file=shift;
    open(FH,$file) or die $!;
    while(<FH>){
    chomp;
            my @a=split(/\s+/,$_);
            if($a[14]<0.5){
                    print $a[0],"\t",$a[2],"\t",$a[5],"\t",$a[14],"\n";
            }
    }
    close FH;
    

    输入文件为SOAPsnp.out
    在这里插入图片描述
    涉及的知识点:
    数组是可以存储多个变量元素(包括字符串、数组),以@为标示符。

    数组表示方法:
    @bases=("A","C","G","T")         @bases=qw(A C G T)
    @numbers=(1,2,3,4,5,6,7,8,9)     @numbers=(1..10)
    
    数组元素表示:
    $base[0]="A"
    

    在这里插入图片描述
    三、Perl中 调用其它软件
    1.比对、基因分析、功能注释
    2.使用perl调用其它软件的意义
    在这里插入图片描述
    数据过滤、比对、富集分析、突变检测分析这几个模块,如果要组成一个pipeline一个流程,则需要使用perl将相关的脚本、软件(bwa、soapSNP、GTAK、Samtools)连接起来。
    具有如下功能:连接各个模块的功能形成一个pipeline流程,处理这些通用的软件(bwa、soapSNP、GTAK、Samtools),得到下一步的结果。
    补充知识点:在linux下运行R
    (1).R的代码

    #! /usr/lib/R/bin/Rscript --vanilla
    c<-scan("5.lengthDist.out")
    hist(c)
    

    #options:默认–restore – save --no-readline;–help 查看帮助信息;–version 查看R版本;–slave只打印R脚本的输出,而不显示脚本具体执行情况;–no-timing 去除输出文档结束的运行时间输出。
    (2).终端赋予执行权限
    $ chmod +x test.r
    (3).终端执行脚本
    Rscript test.r
    如果需要后台挂起可以使用nohup命令
    nohup Rscript ./test.r &

    在perl下运行R
    代码为:

    #!/usr/bin/perl -w 
    use strict;
    system("R <test.R --vanilla");
    

    在这里插入图片描述

    展开全文
  • perl编程

    2007-07-03 14:41:17
    比较详细的介绍perl编程
  • 高级Perl编程高级Perl编程高级Perl编程高级Perl编程高级Perl编程高级Perl编程高级Perl编程高级Perl编程
  • perl编程指南perl编程指南perl编程指南perl编程指南perl编程指南
  • Perl编程思想 Perl编程思想 Perl编程思想
  • 高级perl编程

    2019-07-22 18:35:44
    资源名称:高级perl编程资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
  • perl编程语言介绍

    2018-11-27 17:25:39
    perl编程语言介绍
  • Perl编程思想

    2013-08-05 20:13:36
    Perl编程思想
  • 高级Perl编程

    2013-03-30 18:13:34
    高级Perl编程
  • Perl编程起步 perl 教程

    2009-08-22 17:57:30
    Perl编程起步 perl 教程 Perl编程起步 perl 教程
  • perl编程金典

    2012-03-23 08:57:16
    perl编程金典,介绍PERL编程的书,挺有价值的
  • PERL编程24学时教程

    2018-04-27 06:32:20
    PERL编程24学时教程
  • Perl编程金典

    2012-07-26 20:59:09
    Perl编程金典.pdf, 学习perl必备。
  • perl:Perl编程语言中所有▲l算法的实现
  • Linux下的Perl编程

    2018-04-04 08:56:41
    Linux下的Perl编程,讲解了Perl语言的基本概念,基本数据结构和语法规则,探讨了使用Perl语言进行CGI编程技术,还讲述了如何使用Perl语言进行书库的开发,最后介绍了Perl语言在网络中的应用,讲解如何使用Perl语言...
  • 精通PERL编程

    2013-03-15 18:39:29
    非常好的PERL编程电子书。文档格式及内容都非常好。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,674
精华内容 3,069
关键字:

perl编程