From dddeaffc6146a23aa52b98384ef01515ebe77a23 Mon Sep 17 00:00:00 2001
From: Steve Trevanion <st3@sanger.ac.uk>
Date: Wed, 11 Feb 2009 16:25:03 +0000
Subject: [PATCH] date format method added

---
 .../Bio/EnsEMBL/Utils/ConversionSupport.pm    | 110 ++++++++++++------
 1 file changed, 75 insertions(+), 35 deletions(-)

diff --git a/modules/Bio/EnsEMBL/Utils/ConversionSupport.pm b/modules/Bio/EnsEMBL/Utils/ConversionSupport.pm
index 12402bce84..b195e2d223 100644
--- a/modules/Bio/EnsEMBL/Utils/ConversionSupport.pm
+++ b/modules/Bio/EnsEMBL/Utils/ConversionSupport.pm
@@ -238,8 +238,10 @@ sub get_common_params {
 
 =head2 get_loutre_params
 
-  Example     : my @allowed_params = $self->get_loutre_params, 'extra_param';
-  Description : Returns a list of commonly used parameters in for working with a loutre db
+  Arg         : (optional) return a list to parse or not
+  Example     : $support->parse_extra_options($support->get_loutre_params('parse'))
+  Description : Returns a list of commonly used loutre db parameters - parse option is
+                simply used to distinguish between reporting and parsing parameters
   Return type : Array - list of common parameters
   Exceptions  : none
   Caller      : general
@@ -247,13 +249,25 @@ sub get_common_params {
 =cut
 
 sub get_loutre_params {
-	return qw(
-			  loutrehost
-			  loutreport
-			  loutreuser
-			  loutrepass
-			  loutredbname
-		  );
+	my ($self,$p) = @_;
+	if ($p) {
+		return qw(
+				  loutrehost=s
+				  loutreport=s
+				  loutreuser=s
+				  loutrepass=s
+				  loutredbname=s
+			  );
+	}
+	else {
+		return qw(
+				  loutrehost
+				  loutreport
+				  loutreuser
+				  loutrepass
+				  loutredbname
+			  );
+	}
 }
 
 =head2 remove_vega_params
@@ -293,9 +307,9 @@ sub confirm_params {
     print "Running script with these parameters:\n\n";
     print $self->list_all_params;
 
-	if ($self->param('host') eq 'web-4-11') {
+	if ($self->param('host') eq 'ensdb-1-10') {
 		# ask user if he wants to proceed
-		exit unless $self->user_proceed("**************\n\n You're working on web-4-11! Is that correct and you want to continue ?\n\n**************");
+		exit unless $self->user_proceed("**************\n\n You're working on ensdb-1-10! Is that correct and you want to continue ?\n\n**************");
 	}
 	else {
 		# ask user if he wants to proceed
@@ -362,7 +376,6 @@ sub create_commandline_options {
     if ($settings->{'allowed_params'}) {
         # exclude params explicitly stated
         my %exclude = map { $_ => 1 } @{ $settings->{'exclude'} || [] };
-        
         foreach my $param ($self->allowed_params) {
             unless ($exclude{$param}) {
                 my ($first, @rest) = $self->param($param);
@@ -387,7 +400,6 @@ sub create_commandline_options {
     foreach my $param (keys %param_hash) {
         $options_string .= sprintf("--%s %s ", $param, $param_hash{$param});
     }
-    
     return $options_string;
 }
 
@@ -689,8 +701,17 @@ sub get_database {
             -dbname => $self->param("${prefix}dbname"),
             -group  => $database,
     );
-
-    # explicitely set the dnadb to itself - by default the Registry assumes
+	#can use this approach to get dna from another db
+#	my $dna_db = $adaptors{$database}->new(
+#			-host => 'otterlive',
+#            -port => '3301',
+#			-user => $self->param("${prefix}user"),
+#			-pass => $self->param("${prefix}pass"),
+#            -dbname => 'loutre_human',
+#		);
+#	$dba->dnadb($dna_db);
+
+    # otherwise explicitely set the dnadb to itself - by default the Registry assumes
     # a group 'core' for this now
     $dba->dnadb($dba);
 
@@ -928,26 +949,25 @@ sub get_chrlength {
 =cut
 
 sub get_ensembl_chr_mapping {
-    my ($self, $dba, $version) = @_;
-    $dba ||= $self->dba;
-    throw("get_ensembl_chr_mapping should be passed a Bio::EnsEMBL::DBSQL::DBAdaptor\n") unless ($dba->isa('Bio::EnsEMBL::DBSQL::DBAdaptor'));
-
-    my $sa = $dba->get_SliceAdaptor;
-    my @chromosomes = map { $_->seq_region_name } 
-                            @{ $sa->fetch_all('chromosome', $version) };
-
-    my %chrs;
-    foreach my $chr (@chromosomes) {
-        my $sr = $sa->fetch_by_region('chromosome', $chr, undef, undef, undef, $version);
-        my ($ensembl_name_attr) = @{ $sr->get_all_Attributes('ensembl_name') };
-        if ($ensembl_name_attr) {
-            $chrs{$chr} = $ensembl_name_attr->value;
-        } else {
-            $chrs{$chr} = $chr;
-        }
+  my ($self, $dba, $version) = @_;
+  $dba ||= $self->dba;
+  throw("get_ensembl_chr_mapping should be passed a Bio::EnsEMBL::DBSQL::DBAdaptor\n") unless ($dba->isa('Bio::EnsEMBL::DBSQL::DBAdaptor'));
+
+  my $sa = $dba->get_SliceAdaptor;
+  my @chromosomes = map { $_->seq_region_name } 
+    @{ $sa->fetch_all('chromosome', $version) };
+
+  my %chrs;
+  foreach my $chr (@chromosomes) {
+    my $sr = $sa->fetch_by_region('chromosome', $chr, undef, undef, undef, $version);
+    my ($ensembl_name_attr) = @{ $sr->get_all_Attributes('ensembl_name') };
+    if ($ensembl_name_attr) {
+      $chrs{$chr} = $ensembl_name_attr->value;
+    } else {
+      $chrs{$chr} = $chr;
     }
-
-    return \%chrs;
+  }
+  return \%chrs;
 }
 
 =head2 get_taxonomy_id
@@ -1186,7 +1206,7 @@ sub log {
 
   Arg[1]      : String $txt - the warning text to log
   Arg[2]      : Int $indent - indentation level for log message
-  Arg[2]      : Bool - add a line break before warning if true
+  Arg[3]      : Bool - add a line break before warning if true
   Example     : my $log = $support->log_filehandle;
                 $support->log_warning('Log foo.\n', 1);
   Description : Logs a message via $self->log and increases the warning counter.
@@ -1438,6 +1458,26 @@ sub date {
     return strftime "%Y-%m-%d %T", localtime;
 }
 
+=head2 format_time
+
+  Example     : print $support->format_time($gene->modifed_date) . "\n";
+  Description : Prints timestamps from the database
+  Return type : String - nicely formatted time stamp
+  Exceptions  : none
+  Caller      : general
+
+=cut
+
+
+sub date_format { 
+  my( $self, $time, $format ) = @_;
+  my( $d,$m,$y) = (localtime($time))[3,4,5];
+  my %S = ('d'=>sprintf('%02d',$d),'m'=>sprintf('%02d',$m+1),'y'=>$y+1900);
+  (my $res = $format ) =~s/%(\w)/$S{$1}/ge;
+  return $res;
+}
+
+
 =head2 mem
 
   Example     : print "Memory usage: " . $support->mem . "\n";
-- 
GitLab