Intro
Nous avons eu des histogrammes et des comptages , mais pas tous.
Chaque année, Dyalog Ltd. organise un concours étudiant. Le défi consiste à écrire un bon code APL. Il s'agit d'une édition de code-golf indépendante du langage du sixième problème de cette année.
J'ai l'autorisation explicite de publier ce défi ici de l'auteur original du concours. N'hésitez pas à vérifier en suivant le lien fourni et en contactant l'auteur.
Problème
Le terme k-mer fait généralement référence à toutes les sous-chaînes possibles de longueur k contenues dans une chaîne. En génomique computationnelle, les k-mers font référence à toutes les sous-séquences possibles (de longueur k ) d'une lecture obtenue par séquençage d'ADN. Écrivez une fonction / programme qui prend une chaîne et k (la longueur de la sous-chaîne) et retourne / sort un vecteur des k-mers de la chaîne d'origine.
Exemples
[4,"ATCGAAGGTCGT"]
→ ["ATCG","TCGA","CGAA","GAAG","AAGG","AGGT","GGTC","GTCG","TCGT"]
k > longueur de chaîne? Ne rien retourner / aucun résultat vide:
[4,"AC"]
→ []
ou ""
ou[""]
['A', 'T', 'C', 'G']
au lieu de "ATCG"
?