QIIME.biobacter.sh
El script QIIME.biobacter.sh, está escrito en bash y contiene los siguientes análisis:
BASENAME=$(echo $1 | rev | cut -f 2- -d '.' | rev) # Variable para extraer solo el nombre del archivo de las secuencias sin la extension
# Seleccion de OTUs
pick_otus.py -i $1 -m cdhit -o qiime/otus/cdhit_picked_otus_filter/ -n 100 --threads 24 # Metodo cdhit, filtrando secuencias repetidas al 100%
# Obtencion de secuencias representativas de cada cluster
pick_rep_set.py -i qiime/otus/cdhit_picked_otus_filter/$BASENAME"_otus.txt" -f $1 -o qiime/otus/rep_set.fna
# Asigna taxonomias a las secuencias representativas
assign_taxonomy.py -i qiime/otus/rep_set.fna -r /databases/prokaryota/greengenes/gg_13_8_otus/rep_set/97_otus.fasta -t /databases/prokaryota/greengenes/gg_13_8_otus/taxonomy/97_otu_taxonomy.txt -o qiime/otus/
# Crea la tabla de OTUs
make_otu_table.py -i qiime/otus/cdhit_picked_otus_filter/$BASENAME"_otus.txt" -t qiime/otus/rep_set_tax_assignments.txt -o qiime/otus/otu_table.biom
# Crea un resumen
summarize_taxa.py -i qiime/otus/otu_table.biom -o qiime/taxa_summary/
# Estimacion del microbioma nucleo
compute_core_microbiome.py -i qiime/otus/otu_table.biom -o qiime/core_microbiome/
# Conversion de tablas----------------------------------------------------
otu_table_parser () # Variable para limpiar la tabla otus
{
sed 's/# Constructed from biom file//'
sed 's/taxonomy/Domain;Phylum;Class;Order;Family;Genus;Species/'
sed 's/denovo/otu_/'
sed 's/k__//g;s/\sp__//g;s/\sc__//g;s/\so__//g;s/\sf__//g;s/\sg__//g;s/\ss__//g;s/;/\t/g'
#print unless $. == 1;
}
biom convert -i qiime/otus/otu_table.biom -o qiime/otus.txt --table-type="OTU table" --to-tsv --header-key taxonomy;
biom_parser qiime/otus.txt > qiime/otus.xls;
L5_parser qiime/taxa_summary/otu_table_L5.txt > qiime/families.xls; # genera tabla a nivel familia
L6_parser qiime/taxa_summary/otu_table_L6.txt > qiime/genera.xls; # genera tabla a nivel genero
biom summarize-table -i qiime/otus/otu_table.biom -o qiime/otus_summary.txt; # resumen de otus encontradas
# Alineamiento y filogenia------------------------------------------------
# Alineamiento de secuencias contra una referencia
parallel_align_seqs_pynast.py -i qiime/otus/rep_set.fna --jobs_to_start 12 -t /databases/prokaryota/greengenes/gg_13_8_otus/rep_set_aligned/85_otus.fasta -o qiime/otus/pynast_aligned/ #A wrapper for the align_seqs.py PyNAST option, intended to make use of multicore/multiprocessor environments to perform analyses in parallel.
# Filtra los alineamientos para regiones altamente repetitivas
filter_alignment.py -i qiime/otus/pynast_aligned/rep_set_aligned.fasta -o qiime/otus/filtered_alignment/
# Crea un arbol filogenetico de las secuencias reprentativas filtradas
make_phylogeny.py -i qiime/otus/filtered_alignment/rep_set_aligned_pfiltered.fasta -o qiime/otus/rep_phylo.tre -l qiime/otus/phylogeny.log
# Alfa analisis de diversidad
parallel_multiple_rarefactions.py -i qiime/otus/otu_table.biom --jobs_to_start 12 -m 100 -x 1000 -s 100 -o qiime/alpha_div/arare100-1000/
parallel_alpha_diversity.py -i qiime/alpha_div/arare100-1000/ --jobs_to_start 12 -o qiime/alpha_div/alpha_rare/ -t qiime/otus/rep_phylo.tre #This script performs like the alpha_diversity.py script, but is intended to make use of multicore/multiprocessor environments to perform analyses in parallel.
collate_alpha.py -i qiime/alpha_div/alpha_rare/ -o qiime/alpha_div/alpha_collated/
alpha_rarefaction.py -i qiime/otus/otu_table.biom -o qiime/alpha_div/arare_max100/ -t qiime/otus/rep_phylo.tre -m $2 -a -O 8
# Beta analisis de diversidad
parallel_beta_diversity.py -i qiime/otus/otu_table.biom --jobs_to_start 12 -m weighted_unifrac -o qiime/beta_div/ -t qiime/otus/rep_phylo.tre
jackknifed_beta_diversity.py -i qiime/otus/otu_table.biom -o qiime/beta_div/jackknifed_beta_diversity/ -e 100 -m $2 -t qiime/otus/rep_phylo.tre
dissimilarity_mtx_stats.py -i qiime/beta_div/jackknifed_beta_diversity/unweighted_unifrac/rare_dm/ -o qiime/unweighted_unifrac_stats
upgma_cluster.py -i qiime/beta_div/weighted_unifrac_otu_table.txt -o qiime/beta_div/beta_div.tre # Arbol de relaciones entre muestras
Los siguientes comandos no están en el script por ser demasiado lentos, pero se pueden correr independientemente una vez que termine el script:
beta_significance.py -i qiime/otus/otu_table.biom -t qiime/otus/rep_set.tre -s p-test -o qiime/beta_div/beta_p-test.txt # proceso muy tardado