/
practicas_aln_multiples_clustal.cmds
218 lines (152 loc) · 7.94 KB
/
practicas_aln_multiples_clustal.cmds
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
###################
# >>> TIB2024 <<< #
###################
# Practicas de alineamiento multiple usando programas de la familia clustal
# Autor: Pablo Vinuesa; CCG-UNAM; https://www.ccg.unam.mx:/~vinuesa/ @pvinmex
# https://github.com/vinuesa/TIB-filoinfo
# V5: 2024-01-26
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#======================================================================================
# uso basico de clustalw
# imprime la ayuda
man clustalw
clustalw -help
clustalw -fullhelp
# línea de invocación estándar
clustalw -infile=fasta_no_alineado -align -output=fasta -outfile=archivo_cluwaln.fasta
# con modificación de parámetros
clustalw -infile=archivo.fasta -align -pwmatrix=blosum -pwgapopen=12
-pwgapext=0.2 -matrix=blosum -gapopen=12 -gapext=0.2 -outorder=aligned
-convert -outfile=archivo_aln1.phy -output=phylip
#======================================================================================
##############################
>>> Descarga de archivos <<< #
##############################
# 0. Prapara tu directorio de trabajo para esta sesión
mkdir ~/sesion4_alineamientos && cd sesion4_alineamientos
# 1. Descarga de los archivos de secuencias desde el directorio sesion4_alineamientos y desempaca el tarro comprimido
wget -c https://github.com/vinuesa/TIB-filoinfo/raw/master/docs/sesion4_alineamientos/sequences_for_alingment.tgz
if [ -s sequences_for_aligments.tgz ]
then
if file sequences_for_alingment.tgz | grep gzip &> /dev/null
then
echo "unpacking sequences_for_aligments.tgz ..."
tar -xzf sequences_for_aligments.tgz
else
echo "ERROR: This is not a gzip file"
fi
else
echo "ERROR: sequences_for_aligments.tgz not found"
fi
# 2. Descarga de scripts en ~/bin haciendo uso de un bucle for
base_url=https://github.com/vinuesa/TIB-filoinfo/raw/master
cd ~/bin
for f in split_fasta.pl translate_fastas.pl prot2cdnAlns.pl convert_alnFormats_using_clustalw.sh convert_aln_format_batch_bp.pl
do
wget -c "$base_url"/"$f"
done
# cd - nos regresa al directorio sesion4_alineamientos, para poder seguir trabajando desde él
cd -
##################################
#>>> I) ejemplos con clustalw <<<#
##################################
# 1) alineamiento estandar de aminoacidos
clustalw -infile=4_GDP_procar_ualn.faa -outfile=4_GDP_procar_cluAln.faa -output=fasta
clustalw -infile=6_GDP_eucar_ualn.faa -outfile=6_GDP_eucar_cluAln.faa -output=fasta
# 2) Ahora un alineamiento de perfil contra perfil
clustalw -profile -profile1=6_GDP_eucar_cluAln.faa -profile2=4_GDP_procar_cluAln.faa -outfile=10_GDP_eucar_prokar.aln
# 3) visualizacion de alineamientos
# i) un alineamiento en formato fasta
less 4_GDP_procar_ualn.faa
# ii) un alineamiento en formato clustal
less 10_GDP_eucar_prokar.aln
# iii) usando seaview, un paquete multiplataforma para filogenetica
seaview 10_GDP_eucar_prokar.aln &
# 4) Alineamiento de CDSs
clustalw -infile=leuA-Bacillales.fas -outfile=leuA-Bacillales.aln
# exploren el alineamiento. Notan algún problema
seaview leuA-Bacillales.aln &
# ahora hagamoslo bien:
# 4.1 traducir fasta de CDSs a proteinas, asumiendo que todos los CDSs estan en el marco de lectura +1!!!
translate_fastas.pl -e fas -t 11
less leuA-Bacillales_translated.faa
# 4.2 alinear los productos de traduccion (secuencias de proteinas)
# NOTA: es crítico pedirle a clustalw que escriba el alineamiento
# con las secuencias en el mismo orden que el archivo de entrada !!!
clustalw -infile=leuA-Bacillales_translated.faa -outfile=leuA-Bacillales_translated_clu.faa -output=fasta -OUTORDER=input
# 4.3 usar el alineamiento multiple de proteinas para guiar el alineamiento de codones
./prot2cdnAlns.pl leuA-Bacillales.fas leuA-Bacillales_translated_clu.faa
# compara el resultado con el de leuA-Bacillales_cdnaln.fas con leuA-Bacillales.aln
seaview leuA-Bacillales_cdnaln.fas &
#======================================================================================
# opciones de clustalo
#======================================================================================
clustalo --help
Clustal Omega - 1.2.4 (AndreaGiacomo)
Check http://www.clustal.org for more information and updates.
- Usage:
clustalo [-hv] [-i {<file>,-}]
[--hmm-in=<file>]... [--hmm-batch=<file>]
[--dealign] [--profile1=<file>] [--profile2=<file>]
[--is-profile] [-t {Protein, RNA, DNA}] [--infmt={a2m=fa[sta],clu[stal],msf,phy[lip],selex,st[ockholm],vie[nna]}]
[--distmat-in=<file>] [--distmat-out=<file>] [--guidetree-in=<file>] [--guidetree-out=<file>] [--pileup] [--full] [--full-iter]
[--cluster-size=<n>] [--clustering-out=<file>] [--trans=<n>] [--posterior-out=<file>] [--use-kimura] [--percent-id]
[-o {file,-}] [--outfmt={a2m=fa[sta],clu[stal],msf,phy[lip],selex,st[ockholm],vie[nna]}] [--residuenumber] [--wrap=<n>]
[--output-order={input-order,tree-order}]
[--iterations=<n>] [--max-guidetree-iterations=<n>] [--max-hmm-iterations=<n>]
[--maxnumseq=<n>] [--maxseqlen=<l>] [--auto]
[--threads=<n>] [--pseudo=<file>] [-l <file>]
[--version] [--long-version] [--force] [--MAC-RAM=<n>]
###################################
#>>> II) ejemplos con clustalo <<<#
###################################
# 1) generacion de alineamientos estandar usando un bucle for
for file in *ualn.faa; do clustalo -i $file -o ${file%.*}_cluOaln.phy --outfmt phy --output-order input-order; done
# 2) generacion de un alineamiento de perfiles
clustalo --profile1 6_GDP_eucar_ualn_cluOaln.phy --profile2 4_GDP_procar_ualn_cluOaln.phy --infmt phy --outfmt fa -o 10_GDP_eucar_prokar_cluO_prof2prof.faa
# 3) genera alineamiento de codones a partir de los archivos leuA-Bacillales.fas y leuA-Bacillales_translated.faa
# 3.1 traducir archivo multifasta de nucleotidos a proteina
translate_fastas.pl -e fas -t 11
cat leuA-Bacillales_translated.faa
# 3.2 alinea el archivo de proteinas, manteniendo el orden del archivo de entrada
clustalo -i leuA-Bacillales_translated.faa -o leuA-Bacillales_translated_cluo.faa --output-order input-order
# 3.3 usar el alineamiento multiple de proteinas para guiar el alineamiento de codones
./prot2cdnAlns.pl leuA-Bacillales.fas leuA-Bacillales_translated_cluo.faa
# 3.2 visualiza el resultado
seaview leuA-Bacillales_cdnaln.fas &
# 4) por ultimo, genera un alineamiento multiple de CDS con clustalo directamente
clustalo -i leuA-Bacillales.fas -o leuA-Bacillales_cluoAln.fas
seaview leuA-Bacillales_cluoAln.fas &
# compara los tres alineamientos:
leuA-Bacillales_cdnaln.fas
leuA-Bacillales_cluoAln.fas
######################################
#>>> III) Conversión de formatos <<< #
######################################
# NOTA: el script convert_alnFormats_using_clustalw.sh require que esté instalado el módulo Bio::AlignIO de BioPerl
# explora el script ./convert_alnFormats_using_clustalw.sh para que entiendas lo que hace
./convert_alnFormats_using_clustalw.sh leuA-Bacillales_cdnaln.fas nexus
# una solucion mas genral y poderosa
convert_aln_format_batch_bp.pl
Usage: /home/vinuesa/bin/convert_aln_format_batch_bp.pl inputformat infile_ext outputformat outputfile_ext
Supported formats include:
bl2seq Bl2seq Blast output
clustalw clustalw (.aln) format
emboss EMBOSS water and needle format
fasta FASTA format
maf Multiple Alignment Format
mase mase (seaview) format
mega MEGA format
meme MEME format
msf msf (GCG) format
nexus Swofford et al NEXUS format
pfam Pfam sequence alignment format
phylip Felsenstein PHYLIP format
prodom prodom (protein domain) format
psi PSI?BLAST format
selex selex (hmmer) format
stockholm stockholm format
# ejemplo
convert_aln_format_batch_bp.pl fasta fas phylip phy
ls *phy
head leuA-Bacillales_cdnaln.phy