CracTools
view release on metacpan or search on metacpan
lib/CracTools/Config.pm view on Meta::CPAN
41424344454647484950515253545556575859606162636465666768697071727374757677787980
"/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
567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283}
# ABSTRACT: A set of useful functions
$CracTools::Utils::VERSION
=
'1.251'
;
use
strict;
use
warnings;
use
Carp;
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.241 second using v1.01-cache-2.11-cpan-94b05bcf43c )