CracTools
view release on metacpan or search on metacpan
lib/CracTools/Config.pm view on Meta::CPAN
"/etc/".$CracTools::PACKAGE_NAME
], # Not mandatory
"interactive" => 1, # Not mandatory
);
my $default_content = "# Default configuration file __VERSION__\n#\n\n";
$cfg->defaultContent($default_content);
sub PrintVersion() {
printf( "Script '%s' from %s v. %s (%s v. %s)\n",
basename($0),
$CracTools::PACKAGE_NAME, $CracTools::VERSION,
$CracTools::PACKAGE_NAME, $CracTools::VERSION);
}
sub LoadConfig(;$) {
my ($config_file) = @_;
if (!defined $config_file) {
$cfg->update();
$config_file = $cfg->getPath();
}
Config::Simple->import_from($config_file, \%config);
return $config_file;
}
sub getConfVar(;$) {
my $var_name = shift;
my $die = shift;
if(defined $config{$var_name}) {
return $config{$var_name};
} else {
if(defined $die && $die eq 1) {
croak("Config variable \"$var_name\" not found.");
} else {
return undef;
}
lib/CracTools/Utils.pm view on Meta::CPAN
}
# ABSTRACT: A set of useful functions
$CracTools::Utils::VERSION = '1.251';
use strict;
use warnings;
use Carp;
use Fcntl qw( SEEK_SET );
sub reverseComplement($) {
my $dna = shift;
# reverse the DNA sequence
my $revcomp = reverse $dna;
# complement the reversed DNA sequence
$revcomp =~ tr/ACGTacgt/TGCAtgca/;
return $revcomp;
}
sub reverse_tab($) {
my $string = shift;
my @tab = split(/,/,$string);
my $newString;
if(@tab > 0) {
for (my $i=$#tab ; $i > 0 ; $i--){
$newString .= $tab[$i];
$newString .= ",";
}
$newString .= $tab[0];
}
return $newString;
}
sub isVersionGreaterOrEqual($$) {
my ($v1,$v2) = @_;
my @v1_nums = split(/\./,$v1);
my @v2_nums = split(/\./,$v2);
for(my $i = 0; $i < @v1_nums; $i++) {
if($v1_nums[$i] >= $v2_nums[$i]) {
return 1;
}else {
return 0;
}
}
if(scalar @v2_nums > @v1_nums) {
return 0;
} else {
return 1;
}
}
my %conversion_hash = ( '+' => 1, '-' => '-1', '1' => '+', '-1' => '-');
sub convertStrand($) {
my $strand = shift;
return defined $strand? $conversion_hash{$strand} : undef;
}
sub removeChrPrefix($) {
my $string = shift;
$string =~ s/^chr//i;
return $string;
}
sub addChrPrefix($) {
my $string = shift;
return "chr".removeChrPrefix($string);
}
our $Base64_BITNESS = 6;
our @Base64_ENCODING = qw(A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9 + /);
# Encode error list into base64
sub encodePosListToBase64 {
( run in 0.278 second using v1.01-cache-2.11-cpan-a5abf4f5562 )