CracTools
view release on metacpan or search on metacpan
lib/CracTools/Utils.pm view on Meta::CPAN
}
return $encoded_str;
}
# Decode base 64 error list
sub decodePosListInBase64 {
my $encoded_str = shift;
my @encoded_list = split "", $encoded_str;
my (@index,@decoded_list);
#Looking for index of each char
foreach my $j (@encoded_list) {
my @ind = grep { $Base64_ENCODING[$_] eq $j } 0 .. $#Base64_ENCODING;
push(@index,$ind[0]);
}
# Convert into list position
for (my $e = 0; $e < (0+@encoded_list);$e++) {
for(my $i=0; $i<$Base64_BITNESS; $i++) {
if ($index[$e] & (1 << $i)) {
my $pos = (int($i+$Base64_BITNESS*$e));
push(@decoded_list,$pos);
}
}
}
return @decoded_list;
}
sub seqFileIterator {
my ($file,$format) = @_;
croak "Missing file in argument of seqFileIterator" if !defined $file;
lib/CracTools/Utils.pm view on Meta::CPAN
Add the "chr" prefix to the given string
=head1 ENCODING
=head2 encodePosListToBase64
Encode a (0-based) list of increasing position to a string using Base64
encoding scheme : ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
my $encoded_list = CracTools::Utils::encodePosListToBase64(1,3,5,8,12,32);
my @decoded_list = CracTools::Utils::decodePosListInBase64($encoded_list);
=head2 decodePosListInBase64
Decode position list encoded by encodePosListToBase64.
=head1 PARSING
This are some tools that aim to read (bio) files like
=over
t/CracTools-Utils.t view on Meta::CPAN
is($cigar[2]->{nb}, 1);
is($cigar[3]->{op}, 'I');
is($cigar[3]->{nb}, 2);
is($cigar[4]->{op}, 'M');
is($cigar[4]->{nb}, 3);
}
# Encoding in Base64
{
my $encoded_list = CracTools::Utils::encodePosListToBase64(1,3,5,8,12,32);
my @decoded_list = CracTools::Utils::decodePosListInBase64($encoded_list);
is(@decoded_list,6);
is($decoded_list[0],1);
is($decoded_list[1],3);
is($decoded_list[2],5);
is($decoded_list[3],8);
is($decoded_list[4],12);
is($decoded_list[5],32);
}
__FASTQ__
@HWI-EAS209_0006_FC706VJ:5:58:5894:21141#ATCACG/1
TTAATTGGTAAATAAATCTCCTAATAGCTTAGATNTTACCTTNNNNNNNNNNTAGTTTCTTGAGATTTGTTGGGGGAGACATTTTTGTGATTGCCTTGAT
+HWI-EAS209_0006_FC706VJ:5:58:5894:21141#ATCACG/1
efcfffffcfeefffcffffffddf`feed]`]_Ba_^__[YBBBBBBBBBBRTT\]][]dddd`ddd^dddadd^BBBBBBBBBBBBBBBBBBBBBBBB
@SRR1107833.1 DHCDZDN1:5:1101:1102:1069 length=101
GTGGGGAAGGATCGCAGGCGAGATTACGAGGCGAGGCTCGCGCGCCCGCCCCCGCCCTGGCCCCCAGTGCCCACCCGGTCGGCCCGGCACAGCCATGATCA
( run in 0.350 second using v1.01-cache-2.11-cpan-26ccb49234f )