用Perl打印序列


azalea用Python漂亮地打印序列:http://i.azpala.com/2010/07/15/print-sequence-beatifully-using-python/

我也用perl玩玩,不怎么漂亮的打印序列。

代码写得不咋得。

#!/usr/bin/perl

$seq = 'ATGGAGCCTAATGATAGTACCAGTACCGCTGTGGAGGAGCCTGACAGCTTGGAGGTGTTGGTGAAGACCTTGGACTCTCAAACTCGTACCTTTATTGTGGGGGCCCAGATGAATGTAAAAGAGTTTAAGGAGCACATTGCTGCCTCTGTCAGCATCCCAT';

$step = 10;

$group = 5;

$count = 0;

for ($i=0; $i*$step<length($seq); $i++) {

    $count++;

    print substr($seq, $i*$step, $step);

    if ($count == $group){

        print "\n";

        $count = 0;

    }else{

       print " ";

    }

}

结果:

atggagccta atgatagtac cagtaccgct gtggaggagc ctgacagctt
ggaggtgttg gtgaagacct tggactctca aactcgtacc tttattgtgg
gggcccagat gaatgtaaaa gagtttaagg agcacattgc tgcctctgtc

用php也神奇地相似。把perl的length函数换为php的strlen函数就得了。

<?php

$seq = 'ATGGAGCCTAATGATAGTACCAGTACCGCTGTGGAGGAGCCTGACAGCTTGGAGGTGTTGGTGAAGACCTTGGACTCTCAAACTCGTACCTTTATTGTGGGGGCCCAGATGAATGTAAAAGAGTTTAAGGAGCACATTGCTGCCTCTGTCAGCATCCCAT';

$step = 10;

$group = 5;

$count = 0;

for ($i=0; $i*$step<strlen($seq); $i++) {

    $count++;

    print substr($seq, $i*$step, $step);

    if ($count == $group){

        print "\n";

        $count = 0;

    }else{

       print " ";

    }

}

?>

~完


61条回应:“用Perl打印序列”

  1. 怎么黄君大哥收到礼物了已经 貌似是自己去选的啊 我还在这等着你送呢 哇咔咔 我理解错了? 我的礼物啊 ! [流泪]