amit hetawal <> wrote:
> Hello All,
> I really dont know whats causing this problem. Its like i have the
> input file which looks like: 
> 
>> set list on in vi
> 
> TGCAGAAGAGAGTGAGCAC$
> TGCAGAAGAGAGTGAGCAC $
> TGCAGAAGAGAGTGAGCAC $
> TGCAGAAGAGAGTGAGCAC $
> TGCAGAAGAGAGTGAGCAC $
> TGCAGAAGAGAGTGAGCAC $
> CGCAGAAGAGAGTGAGCACA$
> TTGCAGAAGAAAGAGAGCAC$
> TTGCAGAAGATAGAGAGCAC$
> 
> (there are some trailing spaces in above sequences.)
> 
> And when i use the below script:
> 
> $filename = $ARGV[0];
> open (FILE, "< $filename") or die "Cant open $filename : $!";
> 
> $sequence = '';
> while(<FILE>)
>  {
>     next if /^(\s)*$/;   # to skip  blank lines in file
>          chomp;
> 
>        $_=~s/\s+$//g;
> 
>        $sequence=$_;
>        $compliment=$sequence;
>        $compliment =~tr/aAtTcCgGuU/TTAAGGCCTT/;
>        $rev_compliment=reverse $compliment;
> 
>       print "sequence : $sequence\t";
>       print "rev_sequence : $rev_compliment\n";
> 
>      $sequence = ' ';
>             $compliment=' ';
>             $rev_compliment=' ';
> 
> }
> 
> 
> And when i see the output there is some difference in the tabs in
> displays. why is that so. Any ideas 
> 
> sequence : TTCAAGGACTTCTATTCAGAA        rev_sequence :
> TTCTGAATAGAAGTCCTTGAA 
> sequence : TCTTGATGAAGAGGAATGGGA        rev_sequence :
> TCCCATTCCTCTTCATCAAGA 
> sequence : GCTTGGCAATCTCATGTCAAA        rev_sequence :
> TTTGACATGAGATTGCCAAGC 
> sequence : CTAGACCAATGTTTAGTTAGT        rev_sequence :
> ACTAACTAAACATTGGTCTAG 
> sequence : TAGTTGTCGTCGTATCTTTGT        rev_sequence :
> ACAAAGATACGACGACAACTA 
> sequence : GAGTAAGGCGCTTATCTTCT rev_sequence : AGAAGATAAGCGCCTTACTC
> sequence : TCTGCAACCGGAAAGGGAGC rev_sequence : GCTCCCTTTCCGGTTGCAGA 
> 
> 
> last 2 outputs dont display my tabs why is that so.
> I checked the escape characters in the file but cant find much in
> them it look like : 
> sequence : TGCAGAAGAGAGTGAGCAC^Irev_sequence : GTGCTCACTCTCTTCTGCA$
> sequence : TGCAGAAGAGAGTGAGCAC^Irev_sequence : GTGCTCACTCTCTTCTGCA$
> sequence : TGCAGAAGAGAGTGAGCAC^Irev_sequence : GTGCTCACTCTCTTCTGCA$
> sequence : CGCAGAAGAGAGTGAGCACA^Irev_sequence : TGTGCTCACTCTCTTCTGCG$
> sequence : TTGCAGAAGAAAGAGAGCAC^Irev_sequence : GTGCTCTCTTTCTTCTGCAA$
> sequence : TTGCAGAAGATAGAGAGCAC^Irev_sequence : GTGCTCTCTATCTTCTGCAA$
> 
> Please advice.

My first advice is to always have "use strict; use warnings;" at the
start of your script.

If you use tabs for formatting then the appearance of your output will
depend on the tabs settings of whatever you use to view that output.
This is a good reason to use spaces tabs for layout purposes (assuming a
monospace font).

Perl has a fairly sophisticated formatting mechanism (see 'perldoc
perlform'), but [s]printf may be simpler for this example:

---------------------------------------------------------------
use strict;
use warnings;

while (<DATA>) {
    s/\s+$//;
    next if $_ eq "";

    my $sequence = $_;
    my $compliment = $sequence;
    $compliment =~ tr/aAtTcCgGuU/TTAAGGCCTT/;
    my $rev_compliment=reverse $compliment;

#    print "sequence : $sequence\t";
    printf "sequence : %-25s", $sequence;
    print "rev_sequence : $rev_compliment\n";
}

__DATA__
TGCAGAAGAGAGTGAGCAC
TGCAGAAGAGAGTGAGCAC 
TGCAGAAGAGAGTGAGCAC 
TGCAGAAGAGAGTGAGCAC 
TGCAGAAGAGAGTGAGCAC 
TGCAGAAGAGAGTGAGCAC 
CGCAGAAGAGAGTGAGCACA
TTGCAGAAGAAAGAGAGCAC
TTGCAGAAGATAGAGAGCAC
---------------------------------------------------------------

HTH

-- 
Brian Raven 

=========================================
Atos Euronext Market Solutions Disclaimer
=========================================

The information contained in this e-mail is confidential and solely for the 
intended addressee(s). Unauthorised reproduction, disclosure, modification, 
and/or distribution of this email may be unlawful.
If you have received this email in error, please notify the sender immediately 
and delete it from your system. The views expressed in this message do not 
necessarily reflect those of Atos Euronext Market Solutions.

Atos Euronext Market Solutions Limited - Registered in England & Wales with 
registration no. 3962327.  Registered office address at 25 Bank Street London 
E14 5NQ United Kingdom. 
Atos Euronext Market Solutions SAS - Registered in France with registration no. 
425 100 294.  Registered office address at 6/8 Boulevard Haussmann 75009 Paris 
France.

L'information contenue dans cet e-mail est confidentielle et uniquement 
destinee a la (aux) personnes a laquelle (auxquelle(s)) elle est adressee. 
Toute copie, publication ou diffusion de cet email est interdite. Si cet e-mail 
vous parvient par erreur, nous vous prions de bien vouloir prevenir 
l'expediteur immediatement et d'effacer le e-mail et annexes jointes de votre 
systeme. Le contenu de ce message electronique ne represente pas necessairement 
la position ou le point de vue d'Atos Euronext Market Solutions.
Atos Euronext Market Solutions Limited Société de droit anglais, enregistrée au 
Royaume Uni sous le numéro 3962327, dont le siège social se situe 25 Bank 
Street E14 5NQ Londres Royaume Uni.

Atos Euronext Market Solutions SAS, société par actions simplifiée, enregistré 
au registre dui commerce et des sociétés sous le numéro 425 100 294 RCS Paris 
et dont le siège social se situe 6/8 Boulevard Haussmann 75009 Paris France.
=========================================

_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to