*SELENOPROTEINES EN PROTISTES*

MATERIALS I MÈTODES

Tot seguit veurem els passos que hem realitzat per tal d'identificar la presència de selenoproteïnes en els catorze genomes dels diferents protistes. Per tal d'agilitzar els processos i poder obtenir uns resultats més acurats afegint major quantitat de queries, hem creat una sèrie de programes que anirem veient a continuació. El sistema operatiu que hem fet servir és Linux, en concret la distribució Fedora Core 14 (Laughlin).

OBTENCIÓ DE DADES

Query

La query o seqüència model és la proteïna o regió protèica coneguda que intentarem relacionar amb els genomes en estudi. En el nostre cas seran seqüències de múltiples selenoproteïnes que ja s'han trobat en altres organismes, i les farem servir per a realitzar una comparació a partir de la qual inferirem si, degut a la homologia entre genomes, hem trobat una selenoproteïna en un nou microorganisme.

Aquestes queries s'han obtingut majoritàriament de la base de dades SelenoDB, de la qual hem seleccionat la cadena polipeptídica. A més a més hem buscat organismes en els quals ja s'havien trobat les proteïnes en treballs d'altres anys. Totes elles s'han importat en format fasta per tal d'evitar problemes de compatibilitat.

És important tenir en compte que molts programes bioinformàtics no poden interpretar el símbol "U", que indica una selenoproteïna, amb un codó STOP. Per això en tots els casos hem hagut de substituir les "U" que anàvem trobant per "X".

Genomes

Els genomes dels protistes que analitzem han estat facilitats pel departament de Bioinformàtica de la Universitat Pompeu Fabra, a través del seu cluster de docència, accessible des de la següent ruta: /cursos/BI/genomes/protists/2012.



BLAST: alineament de seqüències

BLAST és un programa informàtic que s'encarrega de cercar regions de similitud entre seqüències. Compara seqüències nucleotídiques o proteiques (el que anomena "query") amb una base de dades que conté les seqüències amb les quals es vol trobar l'homologia (l'anomenat "subject"). A més, calcula la significància estadística de tots els resultats o hits .

Per tal de cercar els possibles alineaments entre el nostre genoma i les selenoproteïnes conegudes, vam utilitzar el programa tBLASTn, un dels flavours de BLAST, que ens compara DNA (seqüència nucleotídica dels genomes disponibles a la base de dades) contra proteïnes (seqüència aminoacídica de la nostra query). Aquest programa, doncs, serveix per trobar una seqüència d'aminoàcids dins d'un genoma.

A la pràctica, podrem executar-lo amb la comanda:

blastall -p tblastn -i fitxerquery.fa -d nombbddBLAST -o fitxerdesortida

On fitxerquery.fa ha de ser el fitxer que contingui la seqüència query, nombbddBLAST ha de ser el nom de la base de dades BLAST en la qual volem fer la cerca, i fitxerdesortida ha de ser el nom d'un fitxer dins el qual volem que BLAST ens emmagatzemi els resultats de la cerca.

El fitxer de sortida contindrà una comparació o alineament de les dues seqüències i un e-value que és el valor que ens indicarà la significança estadística d'aquest. A més, també disposarem de les posicions del genoma en el qual troba la nostra query. D'aquesta manera, el BLAST ens ha servit per orientar-nos en el genoma del microorganisme i saber a quina regió es troba la possible selenoproteina que estem buscant.

Per a interpretar el resultat, hem considerat l'e-value, hem filtrat els valors superiors a 0.0001 i ens hem quedat amb els inferiors. A més, hem comprovat que la regió de la U correspongui amb la zona alineada del genoma. Si les seqüències no s'alineen correctament cal buscar queries alternatives i tornar a començar.

En resum, utilitzant tblastn hem comparat les seqüències query i la base de dades amb els genomes de protistes (/cursos/BI/genomes/protists/2012/nom_protists). No obstant, hem fet servir el següent programa blast.bash per tal de facilitar la feina.

Codi:

#!/bin/bash 

# Contacte: xian.weng01@estudiant.upf.edu
# Aqui estan els permisos per executar els programes

export PATH=/cursos/BI/bin/ncbiblast/bin:$PATH
cp /cursos/BI/bin/ncbiblast/.ncbirc ~/

# Aixo es per a detectar les queries que s'utilitzaran

for proteines_fa in ./queries/*; do {
basename_fa=`basename $proteines_fa`
proteina=${basename_fa%.fa}
proteines=$proteines" $proteina"
} done

# Aquests comandes serveix generar noves carpetes buides d'on treballara el programa
rm -r out_blast mkdir out_blast rm -r output_blast mkdir output_blast rm -r blast_selec mkdir blast_selec # Les comandes següents serveix per obtenir el tblastn de cada query contra cada genoma: rm resultats_blast.txt 2> error.temp for protein in $proteines ; do { for genomes in A.laibachii_Nc14 A.rara C.fasciculata D.discoideum_AX4 D.fasciculatum F.cylindrus G.niphandrodes L.donovani_BPK282A1 L.tarentolae P.capsici P.polycephalum S.arctica T.congolense I.multifiliis_strain_G5; do { patro1=`cat ./queries/$protein.fa | egrep ">"` patro2=${patro1#*>} echo $patro2 > temppatro patro=`cut -f 1 -d " " temppatro` rm temppatro #el primer tblastn ens dóna resultats resumits i filtre els resultats inferiors al e-value que hem determinat blastall -p tblastn -i ./queries/$protein.fa -d /cursos/BI/genomes/protists/2012/$genomes/genome.fa -o output_blast/$protein.$genomes.txt -m 9 -e 0.0001 # aquest segon tblastn ens dona resultats extesos blastall -p tblastn -i ./queries/$protein.fa -d /cursos/BI/genomes/protists/2012/$genomes/genome.fa -o out_blast/$protein.$genomes.txt -e 0.0001 echo ">${protein}_$genomes:" >> resultats_blast.txt egrep $patro output_blast/$protein.$genomes.txt | egrep e- >> resultats_blast.txt x=`egrep $patro ./output_blast/$protein.$genomes.txt | egrep e-` if [ "$x" != "" ]; then egrep $patro output_blast/$protein.$genomes.txt | egrep e- > arxiu.temp mkdir ./blast_selec/$protein 2> error.temp mkdir ./blast_selec/$protein/$genomes 2> error.temp ./ordenarhits.pl $protein $genomes < arxiu.temp fi echo ${protein}_$genomes fet } done } done rm ./*.temp

Codi "ordenarhits.pl":

#!/usr/bin/perl

# Codi perl que acompanya al programa blast.bash per tal d'ordenar els hits que apareixen en el tblastn
# Contacte: xian.weng01@estudiant.upf.edu

use strict;
my $contador=0;

while ()
{
    open (fitxersortida, ">./blast_selec/$ARGV[0]/$ARGV[1]/hit$contador.txt");
    chomp;
    print fitxersortida "$_";
    close (fitxersortida);
    $contador++;
} 



Extracció genomica

Fastaindex

A continuació s'ha d'extreure la regió genòmica on l'alineament amb el tBLASTn indicava que es podria trobar la selenoproteïna. Abans que res s'ha d'indexar el genoma. Per això es fa servir la comanda:

fastaindex genome.fa genome.index

On a genome.fa hem de d'escriure la localització en l'ordinador per trobar el genoma del protista i genome.index fa referència al fitxer de sortida. El que obtindrem serà el genoma indexat.

Fastafetch

La seqüenciació dels genomes es donen en fitxers amb format multifasta dels quals es necessari l'extracció de la regió d´interès. Això ho podem fer a partir de l'indexació del genoma. Això ho podem fer amb la següent comanda:

fastafetch ruta_fitxer_base_dades.fa genome.index nom_contig > fastafetch.fa

On hem de especificar la ruta a seguir per tal de trobar el genoma en la base de dades del departament de Bioinformàtica, el fitxer index creat, el nom del contig que vull exteure y per últim crear un fitxer que emmagatzemi la regió obtinguda pel programa fastafetch.

Fastasubseq

Un cop extret el contig s'ha utilitzat el programa fastasubseq per a extreure de forma més precisa el fragment que s'ha estimat que possiblement contindrà la selenoproteïna. És a dir, es pot tallar la regió per a obtenir la seqüència alineada en el tBLASTn. La comanda és la següent:

fastasubseq fastafetch.fa start length > fastasubseq.fa

Start correspon al número del nucleòtid on comença la nostra query i length a la longitud (posició final - posició inicial). En aquest pas d'extracció de la regió, per assegurar-nos que no tallem cap exó i que podrem incloure l´element SECIS, agafem 50000 nucleòtids. L'extracció la realitzem a partir del fitxer obtingut amb fastafetch. Per últim s'emmagatzema la regió tallada en un fitxer (fastasubseq.fa).

Aquests passos s'han automatitzat amb el programa boom.bash


Anotació genomica

Exonerate

El següent a realitzat és assegurar-nos que el nostre hit es troba dins d'un exó, i que per tant, codifica per una proteïna. Per això, es realitzen les anotacions dels gens que estem buscant amb Exonerate, alineant el fragment de DNA que hem extret amb Fastasubseq amb la seqüència de DNA de la proteïna inicial. Fem servir la comanda:

exonerate -m p2g --showtargetgff -q fitxerquery.fa -t fastasubseq.fa > exonerate.fa

En l'arxiu de sortida tindrem una representació de l'alineament entre la query i la regió extreta amb el fastasubseq. En aquest punt cal mirar si la X de la query està alineada amb un asterisc, cosa que indicaria un codó STOP o més probablement, en aquest cas, la presència d'una selenocisteïna. Alternativament, podem trobar una cisteïna si tractem amb un homòleg de cisteïna. Després d'això hem utilitzat la següent comanda per obtenir un fitxer amb format .gff que ens digui si tenim inclòs la regió en un exó:

egrep –w exon exonerate.fa > fitxer_resultat_exonerate.gff

Obtenció del cDNA en fasta

S'extreu la seqüència que s'ha alineat a l'exonerate amb format fasta, a partir del fitxer gff, utilitzant el programa fastaseqfromGFF.pl. Posteriorment, mitjançant fastatranslate es tradueix el cDNA obtingut a proteïna. Per fer això introduim la seguent comanda:

fastatranslate cdnacandidat > proteinacandidat

On cdnacandidat és la regió que volem traduir.

Aquests programes estan inclosos en boom.bash.

Codi:

#!/bin/bash

export PATH=/cursos/BI/bin/ncbiblast/bin:$PATH             
cp /cursos/BI/bin/ncbiblast/.ncbirc ~/ 
export PATH=/cursos/BI/bin/exonerate/i386/bin:$PATH 
export PATH=/cursos/BI/bin:$PATH 

rm resultats_exonerate.txt 2> error.temp

# Aquest programa inclou exonerate, fastaindex, fastafetch, fastasubseq, fastaseqfromGFF, fastatranslate.
# Contacte: xian.weng01@estudiant.upf.edu

adresa="/cursos/BI/genomes/protists/2012"

# Aqui es troba el fastaindex:
rm -r index
mkdir index

for genome in A.laibachii_Nc14 A.rara C.fasciculata D.discoideum_AX4 D.fasciculatum F.cylindrus G.niphandrodes L.donovani_BPK282A1 L.tarentolae P.capsici P.polycephalum S.arctica T.congolense I.multifiliis_strain_G5; 
	do {
   	fastaindex /cursos/BI/genomes/protists/2012/$genome/genome.fa ./index/$genome.index 

} done

# Això serveix per tenir noves carpetes buides:
rm -r exonerate_output
mkdir exonerate_output
rm -r regions
mkdir regions
rm -r subseq
mkdir subseq
rm -r cDNA
mkdir cDNA
rm -r translate
mkdir translate
for proteins in blast_selec/* ; do {
       for genome in $proteins/* ; do {
               for hit in $genome/*; do {

		### Assignem a les variables els noms sense rutes ni extensions (sense "/exemple/" ni ".etc")
		
		proteins=`basename $proteins`
        	genome=`basename $genome`
        	hit=`basename $hit`
		hit=${hit%.txt}

		echo ${proteins}_${genome}_${hit}:

		### Això és per a detectar l'identificador que apareix al fitxer fasta a la primera línea

		patro1=`cat ./blast_selec/$proteins/$genome/$hit.txt | egrep e-`
		patro2=${patro1#*>}
		echo $patro2 > temppatro
		patro=`cut -f 1 -d " " temppatro`
		rm temppatro       

		### Aixo serveix per saber amb quina regio treballarem
		
		regio=`cut -f 2 ./blast_selec/$proteins/$genome/$hit.txt`
		fastafetch $adresa/$genome/genome.fa ./index/$genome.index $regio > ./regions/$regio.fa

		### Això serveix per obtenir les posicions d'inici i final de la regio

		inici=`cut -f 9 ./blast_selec/$proteins/$genome/$hit.txt`
		final=`cut -f 10 ./blast_selec/$proteins/$genome/$hit.txt`

		if [ "$inici" -gt "$final" ]; then
		inici="$final"
		fi
		
		#definim l'inici 20000 nucleotids per davant de l'inici de l'alineament de blast i d'ençà agafarem 50000 nucleotids per asegurarnos que nos ens deixem res
		start=$(( $inici - 20000 ))
		length="50000"
		echo $start $length

		### fastasubseq : retalla la regió que hem delimitat

		fastasubseq ./regions/$regio.fa $start $length > ./subseq/${proteins}_${genome}_${hit}_genomic.fa 2> error_msg.temp

		### Això ens servirà per modificar variables en cas que no hi hagi prou bases en la regio o que l'inici estigui massa aprop
					
		error=`cat error_msg.temp`
		if [ "$error" != "" ]; then
			error_llarg=`cat error_msg.temp | egrep "before end"`
			error_curt=`cat error_msg.temp | egrep "Unknown flag"`
						
			### Si es passa de llarg, establim la llargada perquè arribi al final
			if [ "$error_llarg" != "" ]; then
				length=$error_llarg						
				length=${length##*(}
				length=${length%)}
				length=$(( $length - $start))
				fastasubseq ./regions/$regio.fa $start $length > ./subseq/${proteins}_${genome}_${hit}_genomic.fa
			fi
						
			### Si l'inici està massa aprop establim l'start en 0
			if [ "$error_curt" != "" ]; then
				start="0"
				fastasubseq ./regions/$regio.fa $start $length > ./subseq/${proteins}_${genome}_${hit}_genomic.fa 2> error_msg_2.temp
				error_2=`cat error_msg_2.temp`
				if [ "$error_2" != "" ]; then
					error_2_llarg=`cat error_msg_2.temp | egrep "before end"`
					if [ "$error_2_llarg" != "" ]; then
						length=$error_2_llarg						
						length=${length##*(}
						length=${length%)}
						length=$(( $length - $start))
						fastasubseq ./regions/$regio.fa $start $length > ./subseq/${proteins}_${genome}_${hit}_genomic.fa 2> error_msg_3.temp
					fi
				fi 
			fi
		fi

		
		### EXONERATE : Predicció de gens
		
		echo "	Iniciant exonerate:"

		exonerate -m p2g --showtargetgff -q ./queries/$proteins.fa -t ./subseq/${proteins}_${genome}_${hit}_genomic.fa --exhaustive > ./exonerate_output/exonerate_${proteins}_${genome}_${hit}.gff 2> error_de_substitucio.temp
	
		### Per si al fasta de sequencia hi ha Us, els substituirem i tornarem a fer l'exonerate.				

		Uenquery=`cat Uenquery.temp | egrep "Unknown amino acid"`
		echo $Uenquery
		if [ "$Uenquery" = "** FATAL ERROR **: Unknown amino acid [U]" ]; then
			if [ "$interruptor_UX" = "0" ]; then
				./changeu.pl < ./queries/$proteins.fa > ${protein}_temporal.txt
				interruptor_UX="1"
			fi
		#Sempre fem servir l'exonerate amb exhaustive tot i trigar més temps però ens dóna més resultats positius per continuar:
			exonerate -m p2g --showtargetgff -q ${proteins}_temporal.txt -t ./subseq/${proteins}_${genome}_${hit}_genomic.fa --exhaustive > ./exonerate_output/exonerate_${proteins}_${genome}_${hit}.gff 2> error_de_substitucio2.temp				
		fi
		gene=`grep gene ./exonerate_output/exonerate_${proteins}_${genome}_${hit}.gff`
		if [ "$gene" != "" ]; then
			echo ${proteins}_${genome}_${hit} : >> resultats_exonerate.txt
		fi

		echo "	Exonerate acabat"	

		#Extracció del cDNA i traducció a proteina				
		
		exon=`grep -w exon ./exonerate_output/exonerate_${proteins}_${genome}_${hit}.gff`
		grep -w exon ./exonerate_output/exonerate_${proteins}_${genome}_${hit}.gff > exon.temp
		if [ "$exon" != "" ]; then
			fastaseqfromGFF.pl ./subseq/${proteins}_${genome}_${hit}_genomic.fa exon.temp > ./cDNA/cDNA_${proteins}_${genome}_${hit}.fa
			fastatranslate ./cDNA/cDNA_${proteins}_${genome}_${hit}.fa > ./translate/aa_${proteins}_${genome}_${hit}.fa
		fi
	
		echo ${proteins}_${genome}_${hit} fet
		
		} done
	} done
} done

rm *.temp

Codi "changeu.pl":

#!/usr/bin/perl

# Aquest programa perl acompanya al programa boom.bash per tal de canviar les Xs per les Us quan correm l'exonerate
# Contacte: xian.weng01@estudiant.upf.edu

use strict;

my @v;
my $string;
my $counter = 0;

#la barra que engloba STDIN s'han de canviar per (més gran que i més petit que per funcionar)
while (/STDIN/)
{
    if ($counter == 0)
    {
	print $_;
    }
    if ($counter > 0)
    {

	@v=split(//,$_);
	
	while (<@v>)
	{
	    if ($_ eq "U")
	    {
		$string.= "X";
	    }
	    else
	    {
		$string.=$_;
	    }
	}
    }
    $counter++;
    $string.="\n";
}

print $string;

Genewise

De manera paral·lela a Exonerate, s'ha realitzat l'anàlisi per Genewise, per tal d’obtenir alineaments del hit de tblastn. A més, el genewise és capaç d'extreure la proteïna predita. Per tal fer fer servir el genewise, la comanda que emprem és:

$ genewise -pep -pretty -cdna -gff fitxerquery.fa genewise.fa

L'automatització del genewise es troba en genewise.bash.

Codi:

#!/bin/bash

#Contacte: xian.weng01@estudiant.upf.edu
#Permisos pels programes:

export WISECONFIGDIR=/cursos/BI/soft/wise-2.2.0/wisecfg
export PATH=/cursos/BI/bin:$PATH

#Per obtenir carpetes buides

rm -r genewise
mkdir genewise
rm -r SECIS
mkdir SECIS
rm -r gw
mkdir gw

#Bucles que escanejen tots els hits per a cada organisme i proteïna (igual que Exonerate)

for proteins in blast_selec/* ; do {
       for genome in $proteins/* ; do {
		for hit in $genome/*; do {
		
		proteins=`basename $proteins`
        	genome=`basename $genome`
        	hit=`basename $hit`
		hit=${hit%.txt}
		
		
		#Si tenim subseq per aquell hit
	
			#Realitzem l'anàlisi resumit per obtenir la proteïna en forward i en reverse
			genewise -pep -both queries/$proteins.fa subseq/${proteins}_${genome}_${hit}_genomic.fa > genewise/genewise_${proteins}_${genome}_${hit}.txt	
			#Realitzem l'anàlisi en versió "maco" per publicar els resultats de l'alineament
			genewise -pep -pretty -cdna -gff queries/$proteins.fa subseq/$subseq/${proteins}_${genome}_${hit}_genomic.fa > gw/gw_${proteins}_${genome}_${hit}.txt
	
			#Seleccionem la proteïna més llarga
			prot=`cat genewise/genewise_${proteins}_${genome}_${hit}.txt`
		
			if [ "$prot" != "" ]; then
		
				./longest.pl < genewise/genewise_${proteins}_${genome}_${hit}.txt > genewise/PEP_g_${proteins}_${genome}_${hit}.fa
		
			echo ${proteins}_${genome}_${hit} fet

		
		fi

		#SECIS search-Busca elements SECIS en la subseq que hem utilitzat per predir la proteïna
		
		SECISearch.pl < subseq/${proteins}_${genome}_${hit}_genomic.fa > SECIS/${proteins}_${genome}_${hit}.txt

		} done

		echo all hits of $genome done
	} done
} done

Codi "longest.pl":

#!/usr/bin/perl -w

#Aquest programa acompanya al programa genewise.bash que permet extreure la proteina predita i ens dona un fitxer preparat pel t_coffee

use strict;

my @v;
my $inici=0;
my $longv=0;
my $c1=0;
my $par1=0;
my $par2=0;
my $temp1="";
my $temp2="";

#la barra que engloba STDIN s'han de canviar per (més gran que i més petit que per funcionar)

while (/STDIN/)
{
    @v=split(//,$_);
    $longv=scalar(@v);
    $c1=0;
    while ($c1 < $longv)
    {
	if ($v[$c1] eq ">")
	{
	    $inici++;
	}
	
	if ($inici==2)
	{
	    $temp2.=$v[$c1];
	    $par2++;
	}
	else
	{
	    $temp1.=$v[$c1];
	    $par1++;
	}
	$c1++;
	
    }

}

if ($par1 > $par2)
{
    print $temp1;
}
else
{
    print $temp2;
}

T_coffee

Utilitzem el programa T_coffee per alinear la nostra seqüència query amb la seqüència de la proteïna obtinguda amb els passos anteriors amb la comanda:

t_coffee fitxer_query.fa prot.fa

Per realitzar-ho fem servir el programa T_coffee.bash.

Amb aquest arxiu, en el que ens mostra és l'alineament entre les dues proteïnes. Es podrà dir que tenim una possible selenoproteïna quan un guió (-) del genoma a analitzar s'alinea amb una selenocisteïna de la query. Si enlloc del guió, s'obté una cisteïna (C) llavors es conclourà que estem davant un d'un possible homòleg de cisteïna.

Codi:

#!/bin/bash

export WISECONFIGDIR=/cursos/BI/soft/wise-2.2.0/wisecfg

rm -r t_coffee_e
mkdir t_coffee_e
rm -r t_coffee_g
mkdir t_coffee_g

# Aquest programa serveix per obtenir els T_coffee dels peptids en exonerate (cal escollir la pauta de lectura manualment i guardar amb el prefix PEP_e_) i del genewise
# Contacte: xian.weng01@estudiant.upf.edu

for file in translate/PEP_e_* ; do {
name=`basename $file`
name=${name%.fa}
name=${name#PEP_e_}

protein=${name%%_*}
echo $name
echo $protein
t_coffee queries/$protein.fa $file > ./t_coffee_e/t_coffee_e_$name.txt 2> error.temp
mv $protein.aln ./t_coffee_e/t_coffee_e_$name.aln
mv $protein.html ./t_coffee_e/t_coffee_e_$name.html
echo $file done
} done

for file in genewise/PEP_g_* ; do {
name=`basename $file`
name=${name%.fa}
name=${name#PEP_g_}

protein=${name%%_*}
echo $name
echo $protein
t_coffee queries/$protein.fa $file > ./t_coffee_g/t_coffee_g_$name.txt 2> error.temp
mv $protein.aln ./t_coffee_g/t_coffee_g_$name.aln
mv $protein.html ./t_coffee_g/t_coffee_g_$name.html
echo $file done
} done

rm *.temp

Blastp

Un cop confirmat el correcte alineament entre la query i la regió del genoma que hem analitzat, realitzem un blastp per veure si la proteïna obtinguda té els dominis característics de la seva família de selenoproteïnes.

Recerca d'elements SECIS

Les selenoproteïnes necessiten elements SECIS en 3' per portar a terme la traducció. Es busquen aquests elements en els nostres contigs ja que seran indicatius de la presència de selenoproteïnes. Per a dur a terme aquesta tasca fem servir el programa SECISearch 2.19 .

SECISearch localitza els elements SECIS i en prediu l'estructura tridimensional. En una primera inst'ancia, el programa empra criteris m´es restrictius per`o si no d´ona resultats podem escollir criteris m´es permisius. En el nostre cas en particular, l'automatitzaci´o del SECISearch es troba en el mateix programa que el genewise.bash


Cerca de maquinària de traducció

La presència de les proteïnes que conformen la maquinària de traducció de selenoproteïnes en el genoma del microorganisme analitzat dona més fiabilitat a la hipòtesi que en efecte, el microorganisme determinat té selenoproteïnes. Per això, hem analitzat les proteïnes eEF-Sec, Pstk, SBP2, SEc43, Sec S, Sps 2 i tRNA-Sec. Si el resultat del blastp que hem realitzat és positiu, és a dir, troba una proteïna homòloga, significa que el microorganisme té la maquinària.

Maneig d'informació

Per tal de manejar les dades de manera eficient vàrem crear un compte Dropbox en el que hem anat treballant com a una carpeta dins de la nostra UXXXXX/Dropbox. Aquesta sessió del Dropbox s'hi accedia mitjançant la terminal de l'ordinador. A més, si descarregàvem el programa Dropbox amb dropbox.bash ens permetia treballar de manera simultània entre els diferents ordinadors com si fós una carpeta qualsevol en el mateix ordinador. Així aquest sistema ens ha proporcionat una avantatge per la seva contínua i automatica sincronització de carpetes que ens evitava la pèrdua de dades si l'ordinador es bloquejava.