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 )