1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
|
#!/usr/local/bin/perl
use strict;
use FileHandle;
use DBI;
my $driver = "mysql";
my $server = "localhost";
my $database = "bacteries";
my $url = "DBI:$driver:$database:$server";
my $user = "";
my $password = "";
my $DBconnect;
my $File="C_Bot";
my $Table="c_botulinum";
my($OutFileDB) = FileHandle->new (">P:/Perl/CreerDB/Files/Informations$File.txt");
my $i=0;
my $j=0;
PASS();
$DBconnect=DBI->connect( $url, $user, $password ) or die "Failure!\n";
print $OutFileDB "CONNECTE A LA BASE DE DONNEES $database \n------------------------------------------\n\n\n";
print $OutFileDB "\nInformation sur les Séquences\n";
print $OutFileDB "--------------------------------\n";
#SELECT Acc, Description, SousEspece, Souche, Taxon, ProtProduit FROM `cbotulinum` WHERE description like '%type%' or SousEspece like '%type%' or NoteADN like '%type%' or ProtProduit like '%bont%'
my @row;
my $Select=" Acc, Description, Souche, Taxon, ProtProduit ";
my $Where="description like '%type%' or SousEspece like '%type%' or NoteADN like '%type%' or ProtProduit like '%bont%'";
#Donne les Acc les longueurs de séquence et les produits de toutes les entrées ordonnées en fonction de la taille de la séquence
my $sql = "SELECT $Select FROM $Table WHERE $Where ;";
print $OutFileDB "\n\n REQUETE: $sql\n\n\n";
my $sth = $DBconnect->prepare($sql) or print "erreur de preparation SQL\n";
$sth->execute or die "Could not execute SQL statement ... maybe invalid?";
while (@row=$sth->fetchrow_array)
{
print $OutFileDB "\n Acc = $row[0]\t Description = $row[1]\n";
print $OutFileDB " Souche = $row[2] \t Taxon = $row[3] \t Produit = $row[4] \n";
$i+=1;
}
print $OutFileDB "\n => Nombres de séquences = $i\n\n";
print "Requete effectuee: Total d'Acc = $i\n";
print $OutFileDB "Acc total = $i\n";
#$DBconnect->disconnect();
close;
sub PASS
{
my $InFilePass = "P:/Perl/InfoPass.txt";
my $Ligne;
my $u;
open (File,"$InFilePass") or die "Can't open file\n";
while ($Ligne=<File>)
{
if ($Ligne =~ /^user/)
{
($user)=($Ligne =~ /^user = (\w+)\s/)
}
if($Ligne =~ /^password = (\w+)\s/)
{
($password)=($Ligne =~ /^password = (\w+)\s/)
}
}
close (File);
} |
Partager