#!/usr/bin/perl -w use strict; use warnings; #El programa en perl ha estat elaborat per: Laura Cañadas, Clara "Alex" Farrés, Ariadna Pinar, Ana Portillo. print "Introdueix nom de la proteina del genoma de referència:"; my $proteina = ; chomp ($proteina); # FASTAFETCH print "Introdueix el nom del scaffold:"; my $scaffold = ; chomp ($scaffold); system ("mkdir $proteina.$scaffold"); # creem carpeta amb el nom del scaffold triat system ("fastafetch /cursos/20428/BI/genomes/2017/Sporophila_hypoxantha/genome.fa /cursos/20428/BI/genomes/2017/Sporophila_hypoxantha/genome.index $scaffold > $proteina.$scaffold.fastafetch.fa"); print "Fastafetch completat\n\n"; # FASTASUBSEQ print "Start:"; my $start = ; chomp ($start); $start = $start - 50000; print "L'inici és $start\n"; if ($start < 0) { $start = 1; # Fem que comenci per 1 } print "Final:"; my $final = ; chomp ($final); $final = $final + 50000; print "El final és $final\n"; #Fem un fastalength per saber la llargada del scaffold system ("fastalength $proteina.$scaffold.fastafetch.fa"); print "Aquesta es la llargada del scaffold\n"; print "Assegura't que els límits es troben dins la llargada del scaffold\n"; print "Introdueix la llargada del scaffold:"; my $lsca= ; #Introduim l'output del fastalenght if($lsca > $final){ print "Apreta enter per continuar"; <>; } else{ $final = $lsca; chomp ($final); print "la posició final es $final\n"; } my $lenght = $final - $start; system ("fastasubseq $proteina.$scaffold.fastafetch.fa $start $lenght > $proteina.$scaffold.fastasubseq.fa"); print "Fastasubseq fet\n"; # EXONERATE system ("exonerate -m p2g --showtargetgff -q $proteina -t $proteina.$scaffold.fastasubseq.fa --exhaustive yes > $proteina.$scaffold.exon.gff"); system ("emacs $proteina.$scaffold.exon.gff"); system ("egrep -w exon $proteina.$scaffold.exon.gff > $proteina.$scaffold.egrep.gff"); print "Exonerate fet\n"; # FASTASEQFROMGFF system ("fastaseqfromGFF.pl $proteina.$scaffold.fastasubseq.fa $proteina.$scaffold.egrep.gff > $proteina.$scaffold.nt.fa"); print "Fastasqfromgff fet\n"; # FASTATRANSLATE system ("fastatranslate -f $proteina.$scaffold.nt.fa -F 1 > $proteina.$scaffold.pep.fa"); print "Fastatranslate fet\n"; # TCOFFEE system ("t_coffee $proteina.$scaffold.pep.fa $proteina > $proteina.$scaffold.final.txt"); print "Tcoffee fet\n\n"; #Sed system ("cp $proteina.$scaffold.fastasubseq.fa $proteina.$scaffold.fastasubseq.fa.sed"); system ("sed -i 's/Y/N/g' $proteina.$scaffold.fastasubseq.fa.sed"); system ("sed -i 's/M/N/g' $proteina.$scaffold.fastasubseq.fa.sed"); system ("sed -i 's/W/N/g' $proteina.$scaffold.fastasubseq.fa.sed"); system ("sed -i 's/R/N/g' $proteina.$scaffold.fastasubseq.fa.sed"); system ("sed -i 's/S/N/g' $proteina.$scaffold.fastasubseq.fa.sed"); system ("sed -i 's/K/N/g' $proteina.$scaffold.fastasubseq.fa.sed"); print "S’ha fet el sed a l’arxiu fastasubseq.fa\n"; system ("mv $proteina.$scaffold.fastafetch.fa $proteina.$scaffold"); system ("mv $proteina.$scaffold.fastasubseq.fa $proteina.$scaffold"); system ("mv $proteina.$scaffold.exon.gff $proteina.$scaffold"); system ("mv $proteina.$scaffold.egrep.gff $proteina.$scaffold"); system ("mv $proteina.$scaffold.nt.fa $proteina.$scaffold"); system ("mv $proteina.$scaffold.pep.fa $proteina.$scaffold"); system ("mv $proteina.$scaffold.final.txt $proteina.$scaffold"); system ("mv $proteina.$scaffold.pep.aln $proteina.$scaffold"); system ("mv $proteina.$scaffold.pep.html $proteina.$scaffold"); system ("mv $proteina.$scaffold.fastasubseq.fa.sed $proteina.$scaffold"); system ("cp $proteina $proteina.$scaffold"); print "S'han passat tots els fitxers a la carpeta $proteina.$scaffold\n";