SebastianMeyer1989 / UltraPlexer

The UltraPlexer is a kmer-based tool that allows assigning non-barcoded long-read sequences generated by the Oxford Nanopore Technology to isolates, by matching them to barcoded short-read sequences generated by Illumina Technology.
MIT License
10 stars 2 forks source link

UltraPlexer.pl fails at line 1324 #5

Closed ccskas6 closed 1 year ago

ccskas6 commented 3 years ago

Hello! I am very eager to try UltraPlexer, however I have run into an issue with the UltraPlexer.pl script. I am using the Docker image to run the pipeline in a container. When I run the UltraPlexer.pl script with the --action classify flag, it creates an empty cortex_temp folder and prints "at UltraPlexer.pl line 1324." to the console. I am fairly new to bioinformatics and would greatly appreciate any insight into whether this is a known failure and what could be causing it. (I am running the command in the same directory as the UltraPlexer and sequencing files, I have tried both to supply the full-length path to the data files or just the file names.)

Thank you very much in advance!

SebastianMeyer1989 commented 3 years ago

Hello there. Thanks for contacting me. I have not yet run into this explicit problem, but I will try to help fixing it. From the error line you gave me (1324), it looks like the program can open the sample file, but can not open/find the Illumina files which paths should be inside of the sample file and thus does not create any files in the cortex_temp folder

First of all, so I can check for any possible formatting errors and stuff like this:

If you give me the answers to these questions I may already be able to help you.

ccskas6 commented 3 years ago

Thank you so much for your quick reply!

Here is a screenshot showing some of the program calls I have tried, the output that is printed to the console and the first few lines of the two sample files I have tried:

Screen Shot 2021-03-30 at 9 47 25 AM

And here is a screenshot of the first few lines of one of the Illumina fastq files:

Screen Shot 2021-03-30 at 9 47 57 AM

And last, after reading through your message, I changed the permissions of the "Isolate" directory, fastq files and the cortex_temp folder, but the program still fails (the screenshots from above are from after changing the permissions).

Screen Shot 2021-03-30 at 9 49 25 AM

A couple of other things I have tried were to delete the cortex_temp file in case the program fails if a folder already exists and I have freed up space on my computer in case it needed more disk space (I currently have ~16Gb available).

Again thank you so much for your help!

SebastianMeyer1989 commented 3 years ago

Thanks for providing the screenshots. So far I can not make out a any obvious formatting error. It is weird, that it only tells you "at UltraPlexer .pl line 1324." and not even a whole sentence like "Died at ...". 16gb space should be enough. Even if not, the program technically should start creating files until there is no more space. Deleting the cortex_temp folder should also not be necessary, since the program should save files of multiple runs in it. Deleting some contents of it sometimes is needed, if you want to use the same prefix again. But until now there are no files in that folder, so that cant be the issue.

I see, that the "UltraPlexer.pl" and the R files (.R) are not executable. I don't believe that this will change anything, but you can try. In your "IsolateSamples_withpaths.tsv", the space between the paths is actually a tab, right? It probably just looks that short, because of tab-formatting stuff. Are the paths there really the full paths to the files? Mine always start with "/home/", so I was just wondering.

I will further look into it and see if I find something.

ccskas6 commented 3 years ago

Thank you for your reply and for taking time to look into this some more! I really appreciate it.

Yes, the space between the paths is a tab. In an earlier attempt to run this program there was something wrong with the sample file and I actually got an error that I didn't provide the expected tab-separated file with three entries per row so I would guess this sample file is fine since I don't get that error?

Regarding the paths to the files: I have never used Docker before so it is completely possible that I am missing something. When I go into the folder with the sequencing files and program scripts and use pwd I get /opt/UltraPlexer/Isolates and then in the sample file (IsolateSamples_withpaths.tsv) I provide that path in front of the file name. When I run readlink -f CS_2A_1.fastq I get /opt/UltraPlexer/Isolates/CS_2A_1.fastq (identical to the path I provide in the samples file). I did notice that the user and group codes are not root. Could that have anything to do with it? Again, I am completely new to Docker so I apologize if those are naive questions.

I made the .pl and .R files executable, but it still failed.

Screen Shot 2021-03-31 at 9 35 42 AM
SebastianMeyer1989 commented 3 years ago

Good morning.

You are right. Since there is no error regarding tabs in your sample file, that should be formatted alright. I also normally don't use docker. We included it so people could run the the UltraPlexer without the need to tediously install every single sub program/library needed. Since you are using docker and used pwd to get the paths, they should be alright. I don't believe that it is a root problem, but then again, I mainly run the program outside of docker. So this could be a docker specific thing. You can try running them as root.

I will try to get back to you early next week. I hope until then I found something in the code, that explains this error. Have a nice weekend.

ccskas6 commented 3 years ago

Sounds good! I will try to run them as root and I will also try again to install the required dependencies to run it outside of Docker (I was having issues with the installation of the perl modules which is why I tried the Docker).

Thank you again for your help! Have a great weekend, too!

SebastianMeyer1989 commented 3 years ago

Hi again. Yes, it would be nice to know, if it works for you outside of docker. This could narrow down the error source. I parsed the script again and tried to find out where the issue could be, but I was not able to find something. I am sorry for that. I will forward this issue to the person who wrote the script and with whom I worked on the tool. Maybe he can help.

ccskas6 commented 3 years ago

Thank you for looking into it some more! In the meantime I tried to change the user/group to root as well as increase the amount of memory I am allocating to Docker, but unfortunately neither of those things fixed the issue.