24 de enero de 2022

nuevo modo paralelo en BLAST+ 2.12.0

Hola,

BLAST+ es una de las pocas herramientas esenciales para cualquier persona que haga biología computacional, todos la hemos usado alguna vez. Simplificando, creo que el secreto es que hace una sola cosa (alinear localmente secuencias) y la hace bien. Eso, y que BLAST evoluciona, y de vez en cuando introduce novedades interesantes, que podemos repasar en las notas de publicación periódicas disponibles en https://www.ncbi.nlm.nih.gov/books/NBK131777

La versión 2.12.0 (28 de junio de 2021) incluye un nuevo modo de paralelización por lotes de secuencias input que beneficia entre otros a los algoritmos clásicos BLASTN, BLASTP y BLASTX. Los detalles puedes verlos en  https://www.ncbi.nlm.nih.gov/books/NBK571452 , aquí comparto un ejemplo de invocación, que requiere el argumento -mt_mode 1:

 
$ blastp –db swissprot -query BIGFASTA.fsa –out test.out -num_threads 32 -mt_mode 1


La siguiente figura muestra la ganancia en tiempo de cálculo en función del número de cores y hebras empleado:

Image ckbk_ThreadByQuery-Image001.jpg


Espero que os sea útil, hasta pronto,

Bruno

17 de enero de 2022

Get data from Ensembl Plants with scripts

Hi, I hope you are all well and healthy amidst the current COVID outbreak.

As we are back to business I would like to talk today about a recipe book to extract data from the genomic database Ensembl Plants from your own scripts. While Ensembl is primarily an interactive browser, some users might want to extract data from different species in one go, or perhaps some specific annotations for a complete chromosome. These recipes would allow to do just that, and make good use of the variety of entry points available at Ensembl: API (A), Biomart (B), FTP (F), SQL (S), REST (R), and Ensembl VEP (V). 

An Open Acess chapter which covers this topic has just been published at https://link.springer.com/protocol/10.1007%2F978-1-0716-2067-0_2 

The current recipes include:

## A1) Load the Registry object with details of genomes available
## A2) Check which analyses are available for a species
## A3) Get soft masked sequences from Arabidopsis thaliana
## A4) Get BED file with repeats in chr4
## A5) Find the DEAR3 gene
## A6) Get the transcript used in Compara analyses
## A7) Find all orthologues of a gene
## A8) Get markers mapped on chr1D of bread wheat
## A9) Find all syntelogues among rices
## A10) Print all translations for otherfeatures genes

## B1) Check plant marts and select dataset
## B2) Check available filters and attributes
## B3) Download GO terms associated to genes
## B4) Get Pfam domains annotated in genes
## B5) Get SNP consequences from a selected variation source

## C1) Find RNA-seq CRAM files for a genome assembly

## F1) Download peptide sequences in FASTA format
## F2) Download CDS nucleotide sequences in FASTA format
## F3) Download transcripts (cDNA) in FASTA format
## F4) Download soft-masked genomic sequences
## F5) Upstream/downstream sequences
## F6) Get mappings to UniProt proteins
## F7) Get indexed, bgzipped VCF file with variants mapped
## F8) Get precomputed VEP cache files
## F9) Download all homologies in a single TSV file, several GBs
## F10) Download UniProt report of Ensembl Plants, 
## F11) Retrieve list of new species in current release
## F12) Get current plant species tree (cladogram)

## S1) Check currently supported Ensembl Genomes (EG) core schemas,
## S2) Count protein-coding genes of a particular species
## S3) Get stable_ids of transcripts used in Compara analyses 
## S4) Get variants significantly associated to phenotypes
## S5) Get Triticum aestivum homeologous genes across A,B & D subgenomes
## S6) Count the number of whole-genome alignments of all genomes 
## S7) Extract all the mutations and consequences for a selected wheat line
## S8) Get FASTA of repeated sequences from selected species
## S9) Get GFF of repeated sequences from selected species

## R1) Create a HTTP client and a helper functions 
## R2) Get metadata for all plant species 
## R3) Find features overlapping genomic region
## R4) Fetch phenotypes overlapping genomic region
## R5) Find homologues of selected gene
## R6) Get annotation of orthologous genes/proteins
## R7) Fetch variant consequences for multiple variant ids
## R8) Check consequences of SNP within CDS sequence
## R9) Retrieve variation sources of a species
## R10) Get soft-masked upstream sequence of gene in otherfeatures track
## R11) Get all species under a given taxonomy clade
## R12) transfer coordinates across genome alignments between species

## V1) Download, install and update VEP
## V2) Unpack downloaded cache file & check SIFT support 
## V3) Predict effect of variants 
## V4) Predict effect of variants for species not in Ensembl

The recipes are written in different scripting languages (Python, R, Perl, Bash) and can be cloned from https://github.com/Ensembl/plant-scripts . Moreover, you can fork the repo and suggest new recipes with a pull request.

Have a great week,

Bruno


17 de diciembre de 2021

Elimina ficheros borrados del historial de git

Hola,

cuando trabajas sobre repositorios GitHub, como los de nuestro grupo, te puede pasar que en un momento dado agregas mediante commit ficheros de gran tamaño que finalmente no necesitas. Aunque luego los elimines con git rm esos ficheros quedan para siempre en la historia del repo y pueden hacer que clonarlo sea más pesado de lo que realmente necesitas. En esta entrada muestro una manera de eliminar este tipo de ficheros que a nosotros nos ha funcionado bien, basándonos en esta documentación.

1) Para empezar debes obtener la lista de ficheros y su tamaño del historial, deberás obtener el valor de $hash en cada caso:

ls  .git/objects/pack/pack-* 
#set hash=
git verify-pack -v  .git/objects/pack/pack-${hash}.idx | \
    sort -k 3 -n > packs

2) A continuación debes obtener los nombres y paths de esos ficheros:

perl -lane 'system("git rev-list --objects --all | \
    grep $F[0]")' packs > packs.log

3) Finalmente debes revisar packs.log y elegir qué ficheros o directorios quieres eliminar del historial. Debes asegurarte de que ya no los necesitas, porque después ya no podrás recuperarlos. Puede ser buena idea hacer una copia/fork del repositorio por seguridad.

4) Para eliminar, por ejemplo, una carpeta y su contenido, se hace así:

git filter-branch -f --index-filter \
    'git rm --cached --ignore-unmatch carpeta/*' \
    --tag-name-filter cat -- --all

5) Finalmente, para propagar estos cambios al repositorio remoto alojado en GitHub, se haría así:

git push origin --force --all

En posteriores clonados el repositorio será ya de menor tamaño.

Hasta pronto,

Bruno


15 de diciembre de 2021

CRISPR con lego duplo y DeepMind

Hola,

hoy comparto este vídeo donde Helena González Burón explica en el programa Órbita Laika el fundamento de la edición genética con CRISPR/Cas9 (del que habíamos hablado en el blog y en estos apuntes) y las enormes posibilidades y los dilemas éticos que nos presenta:

En el mismo programa Alfonso Valencia explica en términos sencillos lo que ha significado Alphafold2, del que ya hemos hablado recientemente aquí, podéis verlo a partir del minuto 40 en https://www.rtve.es/play/videos/orbita-laika/made-in-spain/6234612

Hasta pronto,

Bruno



12 de noviembre de 2021

Barleymap MorexV3 2021 release

Barleymap (https://floresta.eead.csic.es/barleymap), a Web tool for mapping the position of genetic markers along the physical and genetic maps of the barley genome, has been updated and now it supports the Morex V3 genome.

Previous maps, including the IBSC Barley Physical Map,the POPSEQ map and the 2017 Morex Genome, are still available linked to their mapped datasets. The current version adds to these the recently released MorexV3 genome, as taken from the INSDC archives (GCA_904849725.1) and Ensembl Plants, with slightly modified chromosome names for convenience:

>chr1H_LR890096.1
>chr2H_LR890097.1
>chr3H_LR890098.1
>chr4H_LR890099.1
>chr5H_LR890100.1
>chr6H_LR890101.1
>chr7H_LR890102.1
 

The unplaced contigs have unchanged names such as:

>CAJHDD010000001.1

The following new datasets are available for MorexV3:

  • PGSB genes: 35,826 HC and 45,849 LC genes (e.g.: HORVU.MOREX.r3.1HG0000030).
  • BaRT 1.0 gene models: 45,619 genes (e.g.: BART1_0-u00002) lifted-over with litfoff
  • NCBI Entrez CDS: 292 sequences clustered with GET_HOMOLOGUES-EST
  • Illumina 50K markers: 43,078 sequences with positions provided by JHI
  • centromeric regions
  • The server now works through a secure HTTPS connection using a Let's Encrypt certificate. The web code and the standalone version are available at https://github.com/Cantalapiedra/barleymap_web and https://github.com/Cantalapiedra/barleymap respectively.


     Table. Sample output of "Align" search with dataset features decorating the region of interest. Note that by default gmap and BLASTN are used as alignment engines, supporting the alignment of genomic sequences and transcripts. Read more at https://link.springer.com/article/10.1007/s11032-015-0253-1


    Please get in touch at compbio@eead.csic.es if you find anything broken,
    Bruno