#!/usr/bin/perl -w #use warnings; use strict; use DBI; use DBD::mysql; use BeginPerlBioinfo; # #use Test::More tests=> 15 use Exporter; OUR @ISA = qw(EXPORTER); OUR @EXPORT=qw(get_file_data get_accession get_gene get_origin get_translation); sub connect_to_db { my ($dbh, $sth, $...., $..., $..., $...); my $dbname = "1"; my $dbserver = ""; my $datasource = "dbi:mysql:database=$dbname;host = $dbserver"; my $username = ""; my $password = "p"; my $dbh= DBI->connect($datasource,$username, $password,{ PrintError=>0, #disable PrintError RaiseError=>1 #enable RaiseError }) || die "Error opening database: $DBI::errstr\n"; return ($dbh); } $sth = $dbh-> prepare("INSERT INTO Chrom_4_AC (AC_number, Gene_id) VALUES (? ,? )"); # use placeholders #Declare and initialize variables my $genbank='chrom_CDS-4.txt'; my record=""; my $gene_id=""; my $AC_number=""; my $DNA_seq=""; my $start_stop_cs=""; my aa_seq=""; my $transl_start_site=""; my $protein_prod_names=""; my $chromosomal_location=""; #Open the Genbank file #unless (open (GBFILE, $genbank)) { # print "CANNOT open Genbank file \n"; # exit; # # $/="//\n'; #set input separator and read in arecord to scalar #$record = #reset input separator #$/=$save_input_separator; #$record = ~/^(LOCUS.**ORIGIN\s*\n)(.*)\/\/\n/s); #print $record; sub get_file_data { my ($filename) = @_; my @filedata =(); unless (open(GET_FILE_DATA, $filename)) { print STDERR "CANNOT open file\n"; exit; } @filedata = ; close GET_FILE_DATA; return @filedata; } sub get_accession { my $genbank = shift; if ($genbank = ~/ACCESSION\s*(\w+)/) { return $1; } else { return "error"; } } sub get_gene { my $genbank= shift; if($genbank=/gene="(.*?)"/s) { return $1; } else { return "error"; } } sub get_origin { my $seq; chop $seq; if($genbank =~/ORIGIN|s*(.*)\/\//s) { $seq = $1; } else { return "error"; } $seq =~s/[\s\d]//g; return uc($seq); } sub get_translation { my $genbank=shift; my $pro; if($genbank=~/translation="(.*?)"/s) { $pro = $1; } else { return "error"; } $pro=~s/[\s]//g; return uc($pro); }