| |
Site WWW de Laurent Bloch
Slogan du site

ISSN 2271-3905
Cliquez ici si vous voulez visiter mon autre site, orienté vers des sujets moins techniques.

Pour recevoir (au plus une fois par semaine) les nouveautés de ce site, indiquez ici votre adresse électronique :

Forum de l’article

Codage de séquences biologiques avec Rust

modération a priori

Ce forum est modéré a priori : votre contribution n’apparaîtra qu’après avoir été validée par un administrateur du site.

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Lien hypertexte

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d’informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)

Rappel de la discussion
Codage de séquences biologiques avec Rust
Martin Larralde - le 15 juin 2021

On peut même faire encore mieux, et encoder efficacement une séquence sur 2 bits (voir lien, en anglais) !

Mais dans les deux cas, une implémentation propre serait de créer un wrapper de Vec, et d’implémenter soi-mếme les traits Display et Debug, de manière à pouvoir visualiser la séquence sous forme de texte (ce qui se fait de façon triviale avec std::str::from_utf8_unchecked, si on respecte l’invariant que le Vec ne contient que des caractères alphanumériques).

Dans les faits en bioinformatique de plus en plus de méthodes se basent sur des k-mers et des tableaux associatifs pour éviter de calculer des alignements sur l’ensemble du génome. Cela permet aussi de ne plus avoir besoin de charger l’intégralité de la séquence en mémoire, puisqu’on peut analyser les k-mers bloc par bloc, et donc drastiquement réduire la mémoire utilisée. Cependant charger la séquence sous forme d’octets permet quand même d’accélerer le calcul du hash des k-mers !

(Petit détail d’implémentation : il me semble que tu te compliques la vie avec fasta_read_seq, je pense que tu peux juste utiliser std::fs::read)

Derniers commentaires

L’informatique, tentative d’explication
Allez, encore un petit effort ! un gros vous concernant je crois ... la question est (...)

L’informatique, tentative d’explication
Après réflexion : même ce bon vieux Pascal, avec ses types ensembles, permet de définir des types (...)

L’informatique, tentative d’explication
Et pour ce qui est des flux de données peu typés : certes, et Python est là pour ça, mais quand on (...)

L’informatique, tentative d’explication
Oui, c’est bien pour cela que Python n’est pas un très bon langage général, et qu’il ne faut (...)

L’informatique, tentative d’explication
merci Laurent ; ma compétence en informatique est trop limitée, je sais juste que je ne saurais (...)