Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

Error at the mapping stage

yfu
2014-07-09
2014-07-09
  • yfu
    yfu
    2014-07-09

    Hi Adam,

    I have tried both the test data and my own data. Jelly.py will always output the following error message (for the test data):

    2014-07-09 15:48:51,775 [INFO] Running /home/fuy2/src/PBSuite_14.6.24/bin/m4pie.py /home/fuy2/src/PBSuite_14.6.24/docs/jellyExample/testoutput/mapping/filtered_subreads.fastq.m4 /home/fuy2/src/PBSuite_14.6.24/docs/jellyExample/data/reads/filtered_subreads.fastq /home/fuy2/src/PBSuite_14.6.24/docs/jellyExample/data/reference/lambda.fasta --nproc 4 -i
    Traceback (most recent call last):
    File "/home/fuy2/src/PBSuite_14.6.24/bin/m4pie.py", line 206, in <module>
    run(sys.argv[1:])
    File "/home/fuy2/src/PBSuite_14.6.24/bin/m4pie.py", line 168, in run
    aligns = M4File(args.m4)
    File "/home/fuy2/src/PBSuite_14.6.24/pbsuite/utils/FileHandlers.py", line 484, in init
    file = open(file,'r')
    IOError: [Errno 2] No such file or directory: '/home/fuy2/src/PBSuite_14.6.24/docs/jellyExample/testoutput/mapping/filtered_subreads.fastq.m4'

    It seems that a .m4 file is needed at this stage. Should I generate this m4 file by myself?

    I have seen a similar question at http://sourceforge.net/p/pb-jelly/discussion/pbjtiks/thread/d694df44/#dc45 , but I do not see any reply.

    Thanks!

     
  • Adam English
    Adam English
    2014-07-09

    Hi

    1) Are you running "Jelly.py mapping Protocol.xml"
    2) If so there should be more information in the .err/.out - please reply with that information
    3) Ensure blasr is installed and in your environment.
    4) Can you also post your protocol.xml and the results of "ls mapping/" from your output directory

    Thanks,
    ~/Adam

     
  • yfu
    yfu
    2014-07-09

    Hi Adam,

    Thank you for your reply!

    1) Yes. And here is the output:
    fuy2@ummsres17:~/src/PBSuite_14.6.24/docs/jellyExample$ Jelly.py mapping Protocol.xml
    2014-07-09 16:27:06,686 [INFO] Running /home/fuy2/src/PBSuite_14.6.24/bin/Jelly.py mapping Protocol.xml
    2014-07-09 16:27:06,688 [INFO] Executing Stage: mapping
    2014-07-09 16:27:06,688 [INFO] Running blasr
    2014-07-09 16:27:07,104 [INFO] Finished Running Stage: mapping

    2) *.err:
    2014-07-09 16:27:07,073 [INFO] Running /home/fuy2/src/PBSuite_14.6.24/bin/m4pie.py /home/fuy2/src/PBSuite_14.6.24/docs/jellyExample/testoutput/mapping/filtered_subreads.fastq.m4 /home/fuy2/src/PBSuite_14.6.24/docs/jellyExample/data/reads/filtered_subreads.fastq /home/fuy2/src/PBSuite_14.6.24/docs/jellyExample/data/reference/lambda.fasta --nproc 4 -i
    Traceback (most recent call last):
    File "/home/fuy2/src/PBSuite_14.6.24/bin/m4pie.py", line 206, in <module>
    run(sys.argv[1:])
    File "/home/fuy2/src/PBSuite_14.6.24/bin/m4pie.py", line 168, in run
    aligns = M4File(args.m4)
    File "/home/fuy2/src/PBSuite_14.6.24/pbsuite/utils/FileHandlers.py", line 484, in init
    file = open(file,'r')
    IOError: [Errno 2] No such file or directory: '/home/fuy2/src/PBSuite_14.6.24/docs/jellyExample/testoutput/mapping/filtered_subreads.fastq.m4'

    *.out:
    ['/home/fuy2/src/PBSuite_14.6.24/docs/jellyExample/testoutput/mapping/filtered_subreads.fastq.m4', '/home/fuy2/src/PBSuite_14.6.24/docs/jellyExample/data/reads/filtered_subreads.fastq', '/home/fuy2/src/PBSuite_14.6.24/docs/jellyExample/data/reference/lambda.fasta', '--nproc', '4', '-i']

    3) Yes. blasr is installed.
    fuy2@ummsres17:~/src/PBSuite_14.6.24/docs/jellyExample/testoutput/mapping$ which blasr
    /home/fuy2/bin/blasr
    fuy2@ummsres17:~/src/PBSuite_14.6.24/docs/jellyExample/testoutput/mapping$ blasr -version
    blasr 1.3.1

    4) Protocol.xml:
    <jellyProtocol>
    <reference>/home/fuy2/src/PBSuite_14.6.24/docs/jellyExample/data/reference/lambda.fasta</reference>
    <outputDir>/home/fuy2/src/PBSuite_14.6.24/docs/jellyExample/testoutput</outputDir>
    <blasr>-minMatch 8 -minPctIdentity 70 -bestn 5 -nCandidates 20 -maxScore -500 -nproc 4 -noSplitSubreads</blasr>

    <job>filtered_subreads.fastq</job>

    </jellyProtocol>

    ls mapping/:

    fuy2@ummsres17:~/src/PBSuite_14.6.24/docs/jellyExample/testoutput$ ls -1 mapping/
    filtered_subreads.fastq.err
    filtered_subreads.fastq.out

    Thank you!
    Yu

     
  • yfu
    yfu
    2014-07-09

    Oh... I forgot to post setup.out and setup.err:

    setup.out is empty.

    setup.err:
    2014-07-09 16:03:16,951 [INFO] Running /home/fuy2/src/PBSuite_14.6.24/bin/Setup.py /home/fuy2/src/PBSuite_14.6.24/docs/jellyExample/data/reference/lambda.fasta -g /home/fuy2/src/PBSuite_14.6.24/docs/jellyExample/data/reference/lambda.gapInfo.bed -i
    2014-07-09 16:03:16,951 [INFO] Creating reference sequence index names and identifying gaps
    2014-07-09 16:03:17,015 [INFO] Creating .sa indexes for references
    2014-07-09 16:03:17,026 [INFO] Finished!

    Thanks!
    Yu

     
  • yfu
    yfu
    2014-07-09

    Hi Adam,

    I think I figure out the reason... I have blasr in my $PATH but sawriter is not in my path. I figure this out by using -x "--debug". Thank you Adam. Sorry for my stupidness.

    Best,
    Yu

     
  • Adam English
    Adam English
    2014-07-09

    First off - you should have -bestn set to 1. in your blasr parameters

    As for the more immediate problem, I can't tell from the logs why, but blasr isn't being run. Your *.err file should start with something like

    [INFO] 2014-07-09T15:56:24 [blasr] started.
    [INFO] 2014-07-09T15:56:24 [blasr] finished.

    This is why you're m4pie is failing. Try running blasr manually to "blasr filtered_subreads.fastq reference.fasta"

     
  • yfu
    yfu
    2014-07-09

    Hi Adam,

    I have solved the problem. Jelly.py depends on sawriter to work properly, I think. And, although I put blasr into my $PATH, I forgot to put sawriter in my $PATH. Sorry for my stupidness and thank you for you help!

    Yu