Commit 9963754e authored by Maria Bernard's avatar Maria Bernard
Browse files

No commit message

No commit message
parent 558f8a9d
Note:
# identifiant de base / projet
Dans chaque commande stacks on peut specifier un identifiant de base de donnee: option -b prŽsente dans cstacks sstacks populations et genotypes mais pas dans ustacks
A priori au moment de charger les donnŽes dans la base avec load_radtags.pl on lui specifie un identifiant de base et il va modifier tous les fichiers pour qu'ils correspondent ˆ cette identifiant.
A verifier donc si cela est utile de mettre -b ˆ l'ID du projet ou non.
Dans chaque commande stacks on peut specifier un identifiant de base de donnee: option -b pr�sente dans cstacks sstacks populations et genotypes mais pas dans ustacks
A priori au moment de charger les donn�es dans la base avec load_radtags.pl on lui specifie un identifiant de base et il va modifier tous les fichiers pour qu'ils correspondent � cette identifiant.
A verifier donc si cela est utile de mettre -b � l'ID du projet ou non.
# fichier de sequences sorties de sequenceurs.
Claire nous a indique que les fichiers brut sont splites en plusieurs morceaux pour pouvoir paralleliser ....
ajouter option "split" dans le composent splitbc.py qui va donc devoir se lancer autant de fois que de coupure avec le meme fichier de barcode,
puis faire un merge des fichiers correspondant au memes individus. Attention ˆ la gestion des duplicats! Normalement aucun probleme si
tous les individus ont des noms diffŽrents.
puis faire un merge des fichiers correspondant au memes individus. Attention � la gestion des duplicats! Normalement aucun probleme si
tous les individus ont des noms diff�rents.
# controle de la validifite du fichier de config
- verif que tous les names des individus sont differents.
......@@ -20,23 +20,24 @@ ajouter option "split" dans le composent splitbc.py qui va donc devoir se lancer
Ibou : completer le fichier splitbc.py fichier de tests dans data
fichier init du workflow
on peut tester sur ubuntu avec le fichier de conf dans data.(données de test)
on peut tester sur ubuntu avec le fichier de conf dans data.(donn�es de test)
python2.7 bin/ng6_cli.py radseq @workflows/radseq/data/radseq.cfg --admin-login toto_le_malefique
rmq : uniformiser dans workflow.properties les noms des parametres par rapport à touts les autres workflows => ibou voit avec jerome.
rmq : uniformiser dans workflow.properties les noms des parametres par rapport � touts les autres workflows => ibou voit avec jerome.
claire : process_radtags
maria : ustacks
ibou : cstacks ajouter un argument individu
donner un certain nombre d'indiv pour faire un catalogue de stacks : séparer l'analyse des familles ( individu des parents ex ) / analyse de population
donner un certain nombre d'indiv pour faire un catalogue de stacks : s�parer l'analyse des familles ( individu des parents ex ) / analyse de population
ajouter un argument pour les individus soit le type de population (sous-ensemble) soit pop1 soit F1! Il faut que ce soit un chiffre!!!!
du coup ce soit une liste d'identifiant d'individu à faire manuellement ou alors all ou identifiant de sous ensemble
commande : nb de mismatch entre les stacks des individu (par défaut 1)
du coup ce soit une liste d'identifiant d'individu � faire manuellement ou alors all ou identifiant de sous ensemble
commande : nb de mismatch entre les stacks des individu (par d�faut 1)
individu = nom d'individu + nom de flowcell
Option importante -b 1 => batch_1 pour pouvoir mettre dans une base de données.
-b project_id (cstacks - stacks - derniere étape)
\ No newline at end of file
Option importante -b 1 => batch_1 pour pouvoir mettre dans une base de donn�es.
-b project_id (cstacks - stacks - derniere �tape)
\ No newline at end of file
......@@ -60,7 +60,11 @@ class RADseq (BasicNG6Workflow):
self.args['trim'], self.args['forward']], component_prefix = pool_id)
#ustacks = self.add_component("Ustacks", [self.args["read_1"]])
# boucle sur les individus et lance ustacks
# SplitBC.output_read1 = list des des sorties read 1 de split
splitbc = self.add_component("SplitBC", [ pooldata['read1'], pooldata['read2'] if pooldata['read2'] else None,
indivs_by_name.keys(), barcode_file, self.args['enzyme'], self.args['mismatches'], self.args['tag_mismatch'],
self.args['trim'], self.args['forward']], component_prefix = pool_id)
ustacks = self.add_component("Ustacks" , [self.args["individu"], splitbc.output_read1, max_locus=2 ] , component_prefix = "ustacks")
#cstacks = self.add_component("Cstacks", [ustacks.alleles, ustacks.snps, ustacks.tags, self.args["catalog_mismatches"]])
......@@ -32,7 +32,8 @@ from ng6.utils import Utils
class Ustacks (Analysis):
def define_parameters(self, read1_files, min_cov=3, primary_mismatch=2, secondary_mismatch=4, max_locus=4, model_type="snp", alpha=0.05, bound_low=0, bound_high=1, bc_err_freq):
def define_parameters(self, indiv_dic, read1_files, min_cov=3, primary_mismatch=2, secondary_mismatch=4, max_locus=3, model_type="snp", alpha=0.05, bound_low=0, bound_high=1, bc_err_freq):
self.indiv_dic=indiv_dic
self.read1_files = InputFileList(read1_files, Formats.FASTQ)
self.min_cov = min_cov
self.primary_mismatch = primary_mismatch
......@@ -152,15 +153,15 @@ class Ustacks (Analysis):
return stderr.split()[1]
def process(self):
for i, input in enumerate(self.read1_files):
for input in self.read1_files:
indiv = os.path.splitext(os.path.basename(input))[0] if os.path.splitext(os.path.basename(input))[1] != ".gz" else os.path.splitext(os.path.splitext(os.path.basename(input))[0])[0]
### comment on accede au paramtre de
id=self.indiv_id_dic[indiv]
ustacks = ShellFunction(self.get_exec_path("ustacks") + " -t fastq -f $1 -d -r -o " + self.output_directory + " -i " + str(i) + \
### comment on accede au paramtre de
id=self.indiv_dic[indiv]["id"]
format="fastq" if os.path.splitext(os.path.basename(input))[1] != ".gz" else gzfastq
ustacks = ShellFunction(self.get_exec_path("ustacks") + " -t " + format + " -f $1 -d -r -o " + self.output_directory + " -i " + id + \
" -m " + str(self.min_cov) + " -M " + str(self.primary_mismatch) + " -N " + str(self.secondary_mismatch) + \
" 2> $2", cmd_format='{EXE} {IN} {OUT}')
ustacks(inputs = input, outputs = [self.stderrs[i], self.tags[i], self.alleles[i], self.snps[i]])
ustacks(inputs = input, outputs = [self.stderrs[id], self.tags[id], self.alleles[id], self.snps[id]])
def __parse_stderr(self, stderr):
nb_seq_tot, nb_seq_used = "", ""
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment