annotate catchsequence/catchsequence.pl @ 0:c30eb2050ef5 draft default tip

Uploaded
author mgarnier
date Thu, 26 Aug 2021 13:41:33 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
1 #!/usr/bin/perl
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
2
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
3 use strict;
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
4 use warnings;
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
5
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
6 #INPUTS_
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
7 # my $Result_RES = $ARGV[0];
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
8 my $sequences = $ARGV[0];
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
9
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
10 #OUTPUT_
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
11 #my $output = $ARGV[1];
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
12
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
13 #my @list_seq = split(/,/,$sequences);
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
14 my @list_seq = @ARGV;
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
15
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
16 ##########################################################################################
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
17
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
18 #open (OUT, ">$output");
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
19 print "SEQUENCE\tRESISTANCE GENES\tPLASMIDS\tVIRULENCE GENES\tMLST NUMBER\tGENE(ALLELE)\n";
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
20
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
21 foreach my $sequence (@list_seq) {
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
22 my $Result_RES = `abricate --db resfinder $sequence > $sequence.RES.txt`; #appel système de la commande abricate avec la BDD ResFinder
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
23 my $Result_PLA = `abricate --db plasmidfinder $sequence > $sequence.PLA.txt`; #appel système de la commande abricate avec la BDD PlasmidFinder
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
24 my $Result_VIR = `abricate --db vfdb $sequence > $sequence.VIR.txt`;
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
25 my $Result_MLST = `mlst $sequence > $sequence.MLST.txt`;
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
26
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
27 open (RES, "$sequence.RES.txt");
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
28 print "$sequence\t";
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
29
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
30 while (<RES>) {
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
31
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
32 chomp();
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
33 if ($_ !~ m/^#/) {
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
34 my @infos = split(/\t/,$_);
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
35 my $geneRes = $infos[5]; # resistance gene name (ancienne valeur $infos[4])
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
36 my $identity = $infos[10]; # identity % (ancienne valeur $infos[9])
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
37
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
38 if ($identity > 90.000) {
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
39 print "$geneRes;";
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
40 }
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
41 }
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
42
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
43 }
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
44
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
45 close (RES);
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
46 print "\t";
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
47
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
48
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
49 open (PLA, "$sequence.PLA.txt") or die "could not open $!";
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
50
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
51 while (<PLA>) {
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
52 chomp();
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
53 if ($_ !~ m/^#/) {
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
54 my @infos = split(/\t/,$_);
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
55 my $plasmid = $infos[5]; # plasmid name
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
56 my $identity = $infos[10]; # identity %
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
57
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
58 if ($identity > 90.000) {
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
59 print"$plasmid;";
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
60 }
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
61 }
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
62
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
63 }
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
64 close (PLA);
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
65 print "\t";
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
66
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
67 open (VIR, "$sequence.VIR.txt") or die "could not open $!";
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
68
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
69 while (<VIR>) {
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
70 chomp();
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
71
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
72 if ($_ !~ m/^#/) {
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
73 my @infos = split(/\t/,$_);
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
74 my $geneVir = $infos[5]; # virulence gene name
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
75 my $identity = $infos[10]; # identity %
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
76
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
77 if ($identity > 80.000) {
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
78 print "$geneVir;";
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
79 }
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
80 }
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
81
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
82 }
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
83 close (VIR);
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
84 print "\t";
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
85
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
86
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
87 open (MLST, "$sequence.MLST.txt") or die "could not open $!";
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
88
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
89 while (<MLST>) {
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
90 chomp();
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
91
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
92 my @infos = split(/\t/,$_);
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
93 my $numMLST = $infos[2];
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
94 print "$numMLST\t";
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
95
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
96 for (my $i=3; $i <= $#infos; $i++){
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
97 print "$infos[$i];";
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
98 }
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
99
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
100 }
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
101 close (MLST);
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
102 print "\n";
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
103 }
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
104
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
105 #close (OUT);
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
106
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
107 unlink glob ('*.VIR.txt');
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
108 unlink glob ('*.PLA.txt');
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
109 unlink glob ('*.RES.txt');
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
110 unlink glob ('*.MLST.txt');
c30eb2050ef5 Uploaded
mgarnier
parents:
diff changeset
111