Le but de la fonction createDesign sera de préparer des tableaux de design à partir du résultat d'une requête searchEncode ou queryEncode.
Le but des tableaux de design est de représenter la structure des fichiers d'une expérience: les réplicats sont représentés par défaut par 1 et les contrôle par 2. On met des 0 pour dire qu'un fichier ne doit pas être utilisé pour une expérience.
Les tableaux de design pourront être en 2 formats:
Wide
Long
À titre d'exemple, supposons que le design contient deux expériences. Chaque expérience contient 2 réplicats et un contrôle:
En format wide:
Fichier
Exp1
Exp2
exp1_fichier1.bam
1
0
exp1_fichier2.bam
1
0
exp1_ctrl.bam
2
0
exp2_fichier1.bam
0
1
exp2_fichier2.bam
0
1
exp2_ctrl.bam
0
2
En format long:
Fichier
Expérience
Valeur
exp1_fichier1.bam
Exp1
1
exp1_fichier2.bam
Exp1
1
exp1_ctrl.bam
Exp1
2
exp2_fichier1.bam
Exp2
1
exp2_fichier2.bam
Exp2
1
exp2_ctrl.bam
Exp2
2
Voir l'article sur les tidy data pour plus d'information sur les 2 formats.
La fonction createDesign doit remplir les conditions suivantes:
Prendre le résultat de searchEncode ou de queryEncode comme premier paramètre.
Avoir une option pour regrouper par dataset ou par experiment (by).
Avoir une option pour spécifier le format de design à générer (long (défaut) ou wide).
Avoir une option pour spécifier le type de tableau à retourner (data.frame (défaut), tbl_df ou data.table).
Avoir une option pour spécifier d'autres valeurs que 1 pour les réplicats et 2 pour les contrôles.
TODO:
[x] Coder la fonction.
[x] Ajouter les tests unitaires.
[x] Optimiser le code.
[x] Mettre à jour le fichier NEWS.
[x] Il faudrait modifier la section @return de la documentation pour mentionner que la valeur dans la colonne Experiment du design ne correspond pas à l'accession des contrôles, mais bien à l'accession de l'expérience qui utilise ce contrôle.
[x] Dans les stopifnot du début de la fonction, il ne faudrait pas que les dataset_type soient hard codés.
Le but de la fonction
createDesign
sera de préparer des tableaux de design à partir du résultat d'une requêtesearchEncode
ouqueryEncode
.Le but des tableaux de design est de représenter la structure des fichiers d'une expérience: les réplicats sont représentés par défaut par 1 et les contrôle par 2. On met des 0 pour dire qu'un fichier ne doit pas être utilisé pour une expérience.
Les tableaux de design pourront être en 2 formats:
À titre d'exemple, supposons que le design contient deux expériences. Chaque expérience contient 2 réplicats et un contrôle:
En format wide:
En format long:
Voir l'article sur les tidy data pour plus d'information sur les 2 formats.
La fonction
createDesign
doit remplir les conditions suivantes:searchEncode
ou dequeryEncode
comme premier paramètre.by
).data.frame
(défaut),tbl_df
oudata.table
).TODO:
@return
de la documentation pour mentionner que la valeur dans la colonne Experiment du design ne correspond pas à l'accession des contrôles, mais bien à l'accession de l'expérience qui utilise ce contrôle.stopifnot
du début de la fonction, il ne faudrait pas que lesdataset_type
soient hard codés.