美文网首页R语言 生信
perl:测序数据fastq格式转成fasta

perl:测序数据fastq格式转成fasta

作者: 胡童远 | 来源:发表于2019-11-12 19:41 被阅读0次

    导读:

    第一个perl脚本,简单却好用。

    一、目的

    fastq格式:
    第一行:@序列名称
    第二行:碱基序列
    第三行:+序列名称
    第四行:碱基质量

    @DRR110568.16 16 length=150
    TGACTTCCTTCACGGGAAGGTAAC
    +DRR110568.16 16 length=150
    FAGGGG5FGGFGHC?EGCGGAFGH
    
    

    fasta格式:
    第一行:>序列名称
    第二行:碱基序列

    >DRR110568.16 16 length=150
    TGACTTCCTTCACGGGAAGGTAAC
    
    

    目的就是:1. 取fastq的前两行;2. @ 换成 >

    二、perl脚本

    vi fastq2fasta.pl  # 创建文件,并编辑
    
    
    #!/usr/bin/perl -w
    # 指定脚本解释程序
    # -w:检查语法和声明上的错误
    
    # @ARGV(数组)存放命令行参数列表$ARGV[]:
    # open:打开文件句柄
    
    open IN,$ARGV[0];
    # 命令行中脚本后第一个文件:输入文件
    open OUT,">$ARGV[1]";
    # 命令行中脚本后第二个文件:输出文件
    
    my($readid, $sequence);
    # 创建私有变量
    
    while ($readid=<IN>){
    # 读取第一行,给$readid
        chomp($readid);  # 去换行符
        chomp($sequence=<IN>);  # 读取第二行,给$sequence
        <IN>;  # 读取第三行
        <IN>;  # 读取第四行
        $readid=~s/@/>/;   # 正则表达式:> 替换 @
        print OUT "$readid\n$sequence\n";  # 打印输出前两行
       
     # 下一轮(再来四行)👇
    }
    
    close IN;
    close OUT;
    # 关闭文件句柄
    
    

    三、运行脚本

    perl fastq2fasta input.file > output.file
    # 标准输出
    
    

    ...

    \color{green}{😀😀原创文章,随便码字,转载请注明出处😀😀}

    相关文章

      网友评论

        本文标题:perl:测序数据fastq格式转成fasta

        本文链接:https://www.haomeiwen.com/subject/qzwqictx.html