tetomonti / Hydra

A flexible RNASeq pipeline
Apache License 2.0
4 stars 1 forks source link

pipeline.py issues #31

Closed ericreed closed 7 years ago

ericreed commented 7 years ago

I'm having trouble getting a bowtie2 module (bowtie2.py).

Among the other necessary changes to pipeline.py, I've added...

        **elif param['aligner'] == 'bowtie2':
            #running the aligner
            HELPER.submit_job(param,
                              'run_bowtie2',
                              input_files='fastq_files',
                              output_files='bam_files',
                              cores=param['qsub_num_processors'],
                              mem_free='32G')**

After running python setup.py install, I can see that run_bowtie2 has been added to the dev_env/bin directory. However, when I try to run the updated version of Hydra, I get the error:

The selected aligner does not exist.

In my parameter file I have set the aligner to:

aligner = bowtie2

Any thoughts to what could be preventing pipeline.py from updating?

Eric

vkartha commented 7 years ago

Where are you pointing to the executive that's being called for this module?

On Fri, Nov 11, 2016 at 2:29 PM, Eric Reed notifications@github.com wrote:

I'm having trouble getting a bowtie2 module (bowtie2.py).

Among the other necessary changes to pipeline.py, I've added...

    **elif param['aligner'] == 'bowtie2':
        #running the aligner
        HELPER.submit_job(param,
                          'run_bowtie2',
                          input_files='fastq_files',
                          output_files='bam_files',
                          cores=param['qsub_num_processors'],
                          mem_free='32G')**

After running python setup.py install, I can see that run_bowtie2 has been added to the dev_env/bin directory. However, when I try to run the updated version of Hydra, I get the error:

The selected aligner does not exist.

In my parameter file I have set the aligner to:

aligner = bowtie2

Any thoughts to what could be preventing pipeline.py from updating?

Eric

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/montilab/Hydra/issues/31, or mute the thread https://github.com/notifications/unsubscribe-auth/AJK5clhYVrPR8dYcJaqjMS_xNmme6mC3ks5q9MIdgaJpZM4KwD-_ .

Vinay Kartha Ph.D. Candidate and NIH Ruth L. Kirschstein fellow Bioinformatics Program Boston University

ericreed commented 7 years ago

I'm not 100% sure what you mean, but in the setup.py I've added the entry point:

run_bowtie2=hydra_pkg.bowtie2:main.

The module itself calls bowtie2.

I've attached the module, parameter file, and modded pipeline.py if it helps (had to add .txt so it would attach).

Hope that makes things clearer. pipeline.py.txt bowtie2.py.txt parameters_test.txt

gusef commented 7 years ago

There is a parameter check in the initialization step that allows only a specific set of values for the aligner parameter. Add bowtie2 to that.

At a conference right now, but if you cannot find it let me know and I'll dig it out for you. Dan

On Nov 11, 2016 2:40 PM, "vkartha" notifications@github.com wrote:

Where are you pointing to the executive that's being called for this module?

On Fri, Nov 11, 2016 at 2:29 PM, Eric Reed notifications@github.com wrote:

I'm having trouble getting a bowtie2 module (bowtie2.py).

Among the other necessary changes to pipeline.py, I've added...

**elif param['aligner'] == 'bowtie2':

running the aligner

HELPER.submit_job(param, 'run_bowtie2', input_files='fastq_files', output_files='bam_files', cores=param['qsub_num_processors'], mem_free='32G')**

After running python setup.py install, I can see that run_bowtie2 has been added to the dev_env/bin directory. However, when I try to run the updated version of Hydra, I get the error:

The selected aligner does not exist.

In my parameter file I have set the aligner to:

aligner = bowtie2

Any thoughts to what could be preventing pipeline.py from updating?

Eric

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/montilab/Hydra/issues/31, or mute the thread https://github.com/notifications/unsubscribe- auth/AJK5clhYVrPR8dYcJaqjMS_xNmme6mC3ks5q9MIdgaJpZM4KwD-_ .

Vinay Kartha Ph.D. Candidate and NIH Ruth L. Kirschstein fellow Bioinformatics Program Boston University

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/montilab/Hydra/issues/31#issuecomment-260038475, or mute the thread https://github.com/notifications/unsubscribe-auth/AERmNGTcZ_DIvDPEmz7C0X9pmo2xbpjIks5q9MSNgaJpZM4KwD-_ .

ericreed commented 7 years ago

Is this in the pipeline.py file?

In addition to the code in my initial post, I've edited the top lines in pipeline.py to:

def initialize_all(param): """this function calls the initialize functions of every module

:Parameter param: dictionary that contains all general RNASeq pipeline parameters
"""
hydra_pkg.cutadapt.init(param)
hydra_pkg.fastqc.init(param)
hydra_pkg.bamqc.init(param)
hydra_pkg.cufflinks.init(param)
hydra_pkg.htseq.init(param)
hydra_pkg.featureCount.init(param)

if param['aligner'] == 'tophat':
    hydra_pkg.tophat.init(param)
elif param['aligner'] == 'star':    
    hydra_pkg.star.init(param)
elif param['aligner'] == 'bowtie2':
    hydra_pkg.bowtie2.init(param)

and

hydra_pkg.cutadapt.init(param)
hydra_pkg.fastqc.init(param)
hydra_pkg.bamqc.init(param)
hydra_pkg.cufflinks.init(param)
hydra_pkg.htseq.init(param)
hydra_pkg.featureCount.init(param)

if param['aligner'] == 'tophat':
    hydra_pkg.tophat.init(param)
elif param['aligner'] == 'star':    
    hydra_pkg.star.init(param)
elif param['aligner'] == 'bowtie2':
    hydra_pkg.bowtie2.init(param)
gusef commented 7 years ago

hm... just checks, there is an aligner initialization, but that checks only if its a string. The code you wrote should work and the error message that you get means it doesn't recognize the elif. Can you try changing the error message, reinstall and see if you get your error message or a different one?

ericreed commented 7 years ago

I changed the error string in pipeline.py, but it doesn't change the error string. I thought it might be helpful to show the log from setup.py (attached).

setup.py.log.txt

gusef commented 7 years ago

So that means the version you are compiling is not installed in the Conda environment that you are using. Can't remember the exact details on how to install it, but I don't recall it being too complicated.

ericreed commented 7 years ago

I've pushed my changes to a new branch 'EReed'. Hopefully this helps. I'm still having the same issue. I've tried deleting starting over from scratch from the dev_env and Hydra/ repository with no luck.

ericreed commented 7 years ago

I figured it out. Deleting dev_env/bin/hydra-rnaseq prior to running python setup.py install fixes this.