iobio / bam.iobio.io

http://bam.iobio.io
MIT License
47 stars 19 forks source link

Connection refused #112

Closed cangfengzhe closed 5 years ago

cangfengzhe commented 5 years ago

Hi @chmille4

iobio is the best excellent tool that i have used.

when I load a file in the server which run the iobio, there are many error.

samtools Error: EyoIP1hnS: stderr - [E::hts_open_format] Failed to open file http://127.0.0.1:8080/part.bam

samtools view: failed to open "http://127.0.0.1:8081/part.bam" for reading: Connection refused

bam.iobio.js:477 samtools Error: EyoIP1hnS: prog process exited with code 1

http://127.0.0.1:8080/part.bam can be downloaded.

yiq commented 5 years ago

Hi @cangfengzhe

The error is due to the fact you are using an URL that is only valid on your own computer.

127.0.0.1 is the loopback ip address that is only valid if you are accessing a file on your computer FROM your computer. The IOBIO backend, when see a URL like that, will actually try to contact itself, instead of your computer, which would ultimately fail.

You have two options to make it work. 1) Use "choose bam file" instead of "choose bam URL", and then use the file selection dialog to pick the file on your computer. 2) Put your bam file on a server that has a public routable IP address, such as a public S3 bucket on Amazon.

Hope it helps

cangfengzhe commented 5 years ago

@yiq thanks for your reply.

Actually, I want to use iobio to load the server-side file, but I cant find a way to load server-side file by using javascript, so use the http://127.0.0.1:8080/part.bam. So I want to known the method to solve the problem, other than "choose bam file" or "choose bam URL"

yiq commented 5 years ago

@cangfengzhe by "server-side file", do you mean you have a files that exist on your server? Judging from your URL, which has an ip address 127.0.0.1, this "part.bam" must exist on the same computer you are using to access the URL. Again 127.0.0.1 really mean 'the current computer'. The URL is not portable outside of the computer running the http server on port 8080. One way to see it in action is to email the link to your friend, and ask them to download the file. They should not be able to do so

If your server has a public ip address, try to make it so that you can access your file via the public ip (it shouldn't fall inside 10.0.0.0/8, 172.16.0.0/16 - 172.31.0.0/16, 192.168.0.0/24 - 192.168.255.0/24, or 127.0.0.0/8). Once that's working, you can then try to plug that URL into bam.iobio.

Wish you all the luck.