Hi Jarod, I'm not sure if you have received an answer to your question.
It might help if you use a subject line that describes your question. See below for my answer: On Wed, Aug 05, 2015 at 10:33:01PM +0200, jarod_v6--- via Tutor wrote: > Thanks so much fro the help. What I want to do is to obtain a selection of > the > function I want to run. > > ena = Rnaseq(options.configura, options.rst, options.outdir) > cmdset = [ ena.trimmomatic, > ena.star, > ena.merge_trimmomatic_stats > ] > ena.show() > 1 ena.trimmomatic > 2 ena.star > 3 ena.merge_trimmomatic_stats > The class RNaseq have multiple function. I want a way to run or from 1 to 3 > or > from 2 to 3 or only the 2 o 3 step. > > ... > parser.add_option("-s", "--step",action="store", > dest="steps",type="string", > help=" write input file: %prg -o : directory of results ") > > python myscript -s 1,3 ... > > At the moment the only way I found is this: > for cmd in cmdset: > step = cmd() > for i in step: > print i.command > > but is not elegant so I want to know more what is the right way to generate a > execution f the function of the class by select which is the step we want to > start. This is hard to answer since you don't tell us directly what cmdset is, but I think I can guess. Something similar to this should work: cmdset = ena.cmdset options = "1,3" # for example options = options.replace(",", " ").split() # options now has ["1", "3"] options = [int(s) for s in options] # options now has [1, 3], integers, not strings for opt in options: cmd = cmdset[i-1] # remember Python starts counting at 0, not 1 print cmd() Does that help? -- Steve _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor