How to use perl script to generate reverse complementary sequences in batches
This article will explain in detail how to use perl scripts to generate reverse complementary sequences in batches. The editor thinks it is very practical, so I share it with you as a reference. I hope you can get something after reading this article.
Sometimes we need to get the reverse complementary sequence of the sequence, and we can use the script below to batch process the sequence.
Usage:
Perl fasta_Reverse_complementary.pl-fa input.fa-out out.fa
Input.fa is the input file, and out.fa is the reverse complementary sequence.
Enter the file format as shown below:
> bta-26a-2GGCUGUGGCUGGAUUCAAGUAAUCCAGGAUAGGCUGUUUCCAUCUGUGAGGCCUAUUCUUGAUUACUUGUUUCUGGAGGCAGCU > bta-18bCUUGUGUUAAGGUGCAUCUAGUGCAGUUAGUGAAGCAGCUCAGAAUCUACUGCCCUAAAUGCUCCUUCUGGCACA > bta-29aAUGACUGAUUUCUUUUGGUGUUCAGAGUCAAUAUAAUUUUCUAGCACCAUCUGAAAUCGGUUAU > bta-7f-2UGUGGGAUGAGGUAGUAGAUUGUAUAGUUUUAGGGUCAUACCCCAUCUUGGAGAUAACUAUACAGUCUACUGUCUUUCCCACG
The code is as follows:
#! / usr/bin/perl-wuse strict;use Getopt::Long;use Config::General;use Bio::SeqIO;use Bio::Seq;my $version = "1.3" # # prepare parameters #- -# # GetOptionsmy% opts GetOptions (\% opts, "fa=s", "out=s", "h"); if (! defined ($opts {out}) | |! defined ($opts {fa}) | | defined ($opts {h}) {print "$opts {fa}",-format = > 'Fasta'); open (OUT, "> $opts {out}") | die "open file $opts {out} faild.\ n"; while (my $seq = $in- > next_seq () {my ($id,$sequence) = ($seq- > id,$seq- > id,$seq-) $sequence = & reverse_complement_IUPAC ($sequence); print OUT "> $id\ n$sequence\ n";} sub reverse_complement_IUPAC {my $dna = shift; # reverse the DNA sequence my $revcomp = reverse ($dna); # complement the reversed DNA sequence $revcomp = ~ tr/ABCDGHMNRSTUVWXYabcdghmnrstuvwxy/TVGHCDKNYSAABWXRtvghcdknysaabwxr/; return $revcomp;} sub reverse_complement {my $dna = shift # reverse the DNA sequence my $revcomp = reverse ($dna); # complement the reversed DNA sequence $revcomp = ~ tr/ACGTacgt/TGCAtgca/; return $revcomp } this is the end of the article on "how to use perl scripts to generate reverse complementary sequences in batches". I hope the above content can be of some help to you, so that you can learn more knowledge. if you think the article is good, please share it for more people to see.