-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support path in input URI #71
Comments
Okay, the awkward truth is this "always" works because Quilt automatically downloads the entire package ahead of time. Let me rename this to: "Download only path specified in input URI", as the goal is to NOT download more than necessary. I believe the desired result is "only download files which match this path prefix" |
Compare:
Interesting. Folder URIs always have a trailing slash, but nothing has a leading slash. We could be smart, and match exact if no trailing slash, but match prefix if it does. |
I could pair this with #72 to create a package with only a single file, as a test. |
Similarly, #path in an output package makes it easy to store the results of a run in its own subdirectory |
I wonder if I was wrong, and this actually never works correctly. Need to test... |
May-22 17:05:38.562 [main] DEBUG nextflow.quilt.nio.QuiltPath - Creating QuiltPath: interline-proteomics-analysis?Application=Enceladus&Author=Bianca&Comments=This+a+Package+imported+via+nextflow+quilt+plugin&Date=2023-03-16&Group=Bioinformatics&Program=SLC15A4#package=EDL%2fMSigDB_v7-5@cb598c1eb34c51559050a145efbedec696910caf074bd35cee180f33663d6946&path=raw%2fc2.cp.reactome.v7.5.symbols.gmt
May-22 17:05:38.564 [main] DEBUG nextflow.quilt.nio.QuiltFileSystem - QuiltFileSystem.getPath`[./]: []
May-22 17:05:38.564 [main] DEBUG nextflow.quilt.jep.QuiltParser - forURI[quilt+s3] for quilt+s3://./
May-22 17:05:38.565 [main] DEBUG nextflow.quilt.nio.QuiltPath - Creating QuiltPath: .
May-22 17:05:38.575 [main] DEBUG n.quilt.nio.QuiltFileSystemProvider - <A>BasicFileAttributes QuiltFileSystemProvider.readAttributes()
May-22 17:05:38.576 [main] DEBUG nextflow.quilt.nio.QuiltFileSystem - QuiltFileAttributes QuiltFileSystem.readAttributes(.)
May-22 17:05:38.576 [main] DEBUG nextflow.quilt.nio.QuiltPath - isAbsolute[null]
May-22 17:05:38.578 [main] DEBUG nextflow.Session - Session aborted -- Cause: Cannot invoke "nextflow.quilt.jep.QuiltPackage.packageDest()" because the return value of "nextflow.quilt.nio.QuiltPath.pkg()" is null
May-22 17:05:38.606 [main] ERROR nextflow.cli.Launcher - @unknown
java.lang.NullPointerException: Cannot invoke "nextflow.quilt.jep.QuiltPackage.packageDest()" because the return value of "nextflow.quilt.nio.QuiltPath.pkg()" is null
at nextflow.quilt.nio.QuiltPath.localPath(QuiltPath.groovy:75) |
@wosmanitx Is this actually (still) a problem, or is it currently working for you? |
resolved |
Re-opening. Have a reproducible failure. |
Sigh. Unit test success. Integration test fails. Is CHECK_INPUT doing something new?
|
|
Ah! Maybe this is because I am not always auto-loading the package. UPDATE: yes, that file is now downloaded before the "cp" -- but the "cp" still fails. |
Okay, this is weird. Is the filename just escaped wrongly?
Or is something more subtle happening? |
Okay, the structural issue is that Nextflow implicitly (and understandably) assumes that the part after the "/" is the filename. But we have a complex URI at the end, which is NOT the simplistic 'README.md' we expect So we need to supplement (since we can't replace):
With
Will this work in general? Heck if I know, but it is worth shot... |
Nope. The problem is that the filename assumption is deeply hardcoded in NextFlow, and it copies those files all over the place. :-( That implies we can try running the code and ask for "quilt-example#package=examples%2fhurdat2&path=README.md" but boy is that ugly. Still should check if it works, though... |
Doh. So, the real issue is simply that:
Of course it would be nice to avoid that, but I'm not sure how easy it is to munge |
Ah. This must be a "filename" method on QuiltPath that is doing something naive (and different than we did in Python). Let me see if I can isolate that... |
Released 0.7.7 -- so
But not for the customer. Odd. |
Weird. It looks like it is installing, but it is not completing and/or returning an error.
|
Current Hypothesis: TransferAware is a new feature, not supported in 23.10, so nf-quilt does not auto-install the package. |
NOTE: seems to install in Tower, but errors out with (hopefully irrelevant):
|
Works! |
such as:
quilt+s3://interline-quiltdemo#package=WDR5/EXP22000894@ed6ebf851478cf665ed435e0d718e78c9d519fd461717f0669c9538527f095f7&path=cf_out%2FO43353-432-523__O43353-432-523_relaxed_rank_1_model_2.pdb
The text was updated successfully, but these errors were encountered: