flass / pantagruel

a pipeline for reconciliation of phylogenetic histories within a bacterial pangenome
GNU General Public License v3.0
46 stars 7 forks source link

Task 0 failed : Cannot assign requested address #13

Closed Sebastien-Raguideau closed 5 years ago

Sebastien-Raguideau commented 5 years ago

Hello,

I just installed pantagruel and trying the minimal test.

I ran the initialisation :

./pantagruel_pipeline/pantagruel/pantagruel -d testPTGdatabase -r ./ -f PANTAGFAM -I  s.raguideau@warwick.ac.uk -L ./pantagruel_pipeline/pantagruel/data/NCBI_Assembly_accession_ids_test_10Brady -a ./pantagruel_pipeline/pantagruel/data/custom_genomes init
./pantagruel_pipeline/pantagruel/pantagruel -i ./testPTGdatabase/environ_pantagruel_testPTGdatabase.sh all

and then the actual test : /pantagruel_pipeline/pantagruel/pantagruel -i ./testPTGdatabase/environ_pantagruel_testPTGdatabase.sh all I get the following error which look like a weird ftp connection faillure. Any idea on how to fix that?

did not find the relevant taxonomy flat files in '/mnt/gpfs/seb/Applications/NCBI/Taxonomy_2019-07-30/'; download the from NCBI Taxonomy FTP
cd: Cannot assign requested address                      
mget: taxcat.tar.gz*: Cannot assign requested address
mget: taxdump.tar.gz*: Cannot assign requested address            
mget: taxcat_readme.txt: Cannot assign requested address  
mget: taxdump_readme.txt: Cannot assign requested address  
ls: cannot access '*.tar.gz': No such file or directory
/home/sebr/seb/Applications
fetch assembly data from NCBI FTP accordng to list '/mnt/gpfs/seb/Applications/pantagruel_pipeline/pantagruel/data/NCBI_Assembly_accession_ids_test_10Brady'
ls: ls /genomes/all/GCF/000/296/215/GCF_000296215.2_ASM29621v2*: Cannot assign requested address
could not find folder of accession 'GCF_000296215.2_ASM29621v2' on NCBI FTP when looking for folder matching '/genomes/all/GCF/000/296/215/GCF_000296215.2_ASM29621v2*' ; exit now
ERROR: could not fetch all the genomes ; exit now
ERROR: Pantagrel pipeline task 0: failed.
flass commented 5 years ago

Hi Sebastien,

nice to see that the insterest for Pantgruel is gaining momentum! only annoying it fails that close to the start of the test run...

this seems to be an issue with lftp client. I don't know much about it, but a quick internet search suggest it might be an issue of domain name resolution due to the address being under the new protocol IPv6, see https://github.com/debian-pi/raspbian-ua-netinst/issues/495. That apprently is fixable by setting the dns:order variable in the ~/.lftprc configuration file as:

set dns:order "inet inet6"

this is the default in my version of lftp (4.8.1) that comes with a basic Ubuntu 18.04.1 distribution, but maybe not in yours. I can only suggest you try that see what it says, and please let me know the outcome.

this is one of the few errors reported lately that relate to dependence issues, and indeed the scope for such issues is wide given the large set of dependences of Pantgruel... but rejoice! with @pveber we're working right now to finalize the docker image that would provide a container with everything needed and stable in it for Panagruel runtime.

Bestwishes, Florent

Sebastien-Raguideau commented 5 years ago

Hi Florent,

I had a look and my lftp was a bit old. After upgrading it works fine.

Though I still had an issue after that. Somehow during installation homebrew managed to add the wrong path in .bash_profile here is the content of my .bash_profile. So the correct path should start with "/home/sebr/"....

. "$HOME/.profile"
export PATH="/home/linuxbrew/.linuxbrew/bin:$PATH"
export MANPATH="/home/linuxbrew/.linuxbrew/share/man:$MANPATH"
export INFOPATH="/home/linuxbrew/.linuxbrew/share/info:$INFOPATH"

Also, just realised that on my ubuntu (16.04) servers, bash_profile is never loaded. And indeed save for newly installed brew paths, nothing is present in bash_profile. So anything installed via brew was somehow not seen...

I'm now somehow stuck with prokka. It does not work for some reason and basically does not find any CDS and this crash the pipeline. Bradyrhizobium_sp_cf659.log

I am not sure you can help with that, I'll write an issue on prokka. Fun fact is that the 2 servers I'm using, both set in the same way do produce this same issue with prokka.

Anyway thanks for the swift answer, I'll update if I finally make it works :)

Best,

Seb

flass commented 5 years ago

hi Seb,

if you installed linuxbrew with sudo, it is normal for it to create a separate user (called linuxbrew) from which it will operate and in which home directory it will install the brew recipes (in /home/linuxbrew/.linuxbrew/); otherwise the linuxbrew recipes will indeed be installed in $USER/.linuxbrew/ (see https://docs.brew.sh/Homebrew-on-Linux). The latter is actually less flexible so I would encourage you to re-install brew with sudo instead; the easiest way is to use:

sudo apt install linuxbrew-wrapper

If you don't want to do that, what you can do instead is to manually change the lines that were written to your ~/.bash_profile. Also there are several reasons why your .bash_profile files are not read when you start a session, for instance if your using ssh -X (or -Y from a Mac) (see this thread) instead of connecting to a plain login shell with bash. So with the linuxbrew user setting, the .bash_profile file would be read because it runs with a login shell.... at least that's my coarse understanding.

I hope that helps. Let me know if you face more issues. (and also remember that the docker image alternative is on its way very soon - just testing task 05 with it now)

Cheers Florent

Sebastien-Raguideau commented 5 years ago

Hi Florent,

Linuxbrew basically installed itself with pantagruel. The thing that is non consistent is indeed the fact that while referring to /home/linuxbrew/.linuxbrew/ in ~/.bash_profile, no such folder was created during installation. I did the path changing already which allowed me to run pantagruel :)

Yes I am indeed by default connecting with -X so I can see figs and pdf. Good to know, thanks.

Well, I'll be sure to go for the docker image once it's available, it'll save me a lot of time.

Cheers, Seb

flass commented 5 years ago

Hi Seb, nice to know this can be fixed. However the fact that you used the normal procedure to install Homebrew and that it was not working lead me to make the installation script more robust (commit 39866fe). let me know if anything else goes wrong! Cheers Florent