[ensembl-dev] Unable to fetch slices from many species in vertebrates database

Caitlin Jagla (Affiliate) cjagla at associates.sigsci.com
Fri Oct 6 15:32:21 BST 2023


Hello all,

I have installed the perl API and am using it to query Ensembl for orthologs across all species in the main/vertebrates database. I can get a list of Ensembl ids for all the orthologs using the HomologyAdaptor and GeneMemberAdaptor. However, when I go to use these Ensembl ids to retrieve the gene sequence using SliceAdaptor->fetch_by_gene_stable_id($gene), many species (116 out of 166) give an error message as seen below. I can retrieve gene sequences for the remainder of the species, and I can't see any pattern or systematic differences in the ones that work vs. those that don't.

```
-------------------- WARNING ----------------------
MSG: Scophthalmus maximus is not a valid species name (check DB and API version)
FILE: Bio/EnsEMBL/Registry.pm LINE: 1334
CALLED BY: Bio/EnsEMBL/Registry.pm  LINE: 1109
Date (localtime)    = Fri Oct  6 09:47:29 2023
Ensembl API version = 110
---------------------------------------------------
```

I tested a selection of these species with the ping_ensembl.pl script and some of them ping while others don't:

```
[cjagla at mapp02 ~/homologuer]$ perl /data/users/cjagla/src/ensembl/misc-scripts/ping_ensembl.pl -species "Ovis aries"
Installation is good. Connection to Ensembl works and you can query the Ovis aries core database
[cjagla at mapp02 ~/homologuer]$ perl /data/users/cjagla/src/ensembl/misc-scripts/ping_ensembl.pl -species "Ovis aries" -ue
Installation is good. Connection to Ensembl works and you can query the Ovis aries core database
[cjagla at mapp02 ~/homologuer]$ perl /data/users/cjagla/src/ensembl/misc-scripts/ping_ensembl.pl -species "Anolis carolinensis" -ue

-------------------- WARNING ----------------------
MSG: Anolis carolinensis is not a valid species name (check DB and API version)
FILE: Bio/EnsEMBL/Registry.pm LINE: 1334
CALLED BY: Bio/EnsEMBL/Registry.pm  LINE: 636
Date (localtime)    = Fri Oct  6 09:30:41 2023
Ensembl API version = 110
---------------------------------------------------
ERROR: Error detected when connecting to Ensembl!
        Species was not found. You may have accidentally download the HEAD API version (found API release 110 & public FTP release is 110). Please consult http://www.ensembl.org/info/docs/api/api_installation.html
================================================================================
If the problem persists please send the following error message to helpdesk at ensembl.org<mailto:helpdesk at ensembl.org>

-------------------- EXCEPTION --------------------
MSG: Can not find internal name for species 'Anolis carolinensis'
STACK Bio::EnsEMBL::Registry::get_DBAdaptor /data/users/cjagla/src/ensembl/modules/Bio/EnsEMBL/Registry.pm:640
STACK (eval) /data/users/cjagla/src/ensembl/misc-scripts/ping_ensembl.pl:131
STACK toplevel /data/users/cjagla/src/ensembl/misc-scripts/ping_ensembl.pl:114
Date (localtime)    = Fri Oct  6 09:30:41 2023
Ensembl API version = 110
---------------------------------------------------
================================================================================
[cjagla at mapp02 ~/homologuer]$ perl /data/users/cjagla/src/ensembl/misc-scripts/ping_ensembl.pl -species "Scophthalmus maximus"

-------------------- WARNING ----------------------
MSG: Scophthalmus maximus is not a valid species name (check DB and API version)
FILE: Bio/EnsEMBL/Registry.pm LINE: 1334
CALLED BY: Bio/EnsEMBL/Registry.pm  LINE: 636
Date (localtime)    = Fri Oct  6 10:07:10 2023
Ensembl API version = 110
---------------------------------------------------
ERROR: Error detected when connecting to Ensembl!
        Species was not found. You may have accidentally download the HEAD API version (found API release 110 & public FTP release is 110). Please consult http://www.ensembl.org/info/docs/api/api_installation.html
================================================================================
If the problem persists please send the following error message to helpdesk at ensembl.org<mailto:helpdesk at ensembl.org>

-------------------- EXCEPTION --------------------
MSG: Can not find internal name for species 'Scophthalmus maximus'
STACK Bio::EnsEMBL::Registry::get_DBAdaptor /data/users/cjagla/src/ensembl/modules/Bio/EnsEMBL/Registry.pm:640
STACK (eval) /data/users/cjagla/src/ensembl/misc-scripts/ping_ensembl.pl:131
STACK toplevel /data/users/cjagla/src/ensembl/misc-scripts/ping_ensembl.pl:114
Date (localtime)    = Fri Oct  6 10:07:10 2023
Ensembl API version = 110
---------------------------------------------------
================================================================================
```

I also loaded the registry using the -verbose option and found that all the core databases are being loaded with version 110 of their databases, and I am using v110 of the API:

```
...
Species 'anolis_carolinensis' loaded from database 'anolis_carolinensis_core_110_2'
Species 'ovis_aries' loaded from database 'ovis_aries_core_110_31'
Species 'scophthalmus_maximus' loaded from database 'scophthalmus_maximus_core_110_1'
...
ensembl_compara_110 loaded
ensembl_ancestral_110 loaded
ensembl_ontology_110 loaded
ncbi_taxonomy_110 loaded
ensembl_metadata_110 loaded
No production database or adaptor found
ensembl_stable_ids_110 loaded
```

I have tried uninstalling and reinstalling the Ensembl API using the GitHub method, which did not resolve the issue.

The only thing of note that I can see from the -verbose output is the second-to-last line, "No production database or adaptor found" - I'm not sure what that's referring to, but it looks like the load_registry_from_db method is looking for something and not finding it, so it could be relevant?

Does anyone have any suggestions to resolve this issue? It's a major roadblock and I can't move forward in my research until I fix it.

Thank you,
Caitlin Jagla
Bioinformatics Data Scientist
Signature Science
cjagla at associates.signaturescience.com<mailto:cjagla at associates.signaturescience.com>




Output of requested commands from 'debugging ensembl API' page:

perl -V
```
Summary of my perl5 (revision 5 version 32 subversion 1) configuration:

  Platform:
    osname=linux
    osvers=4.18.0-425.3.1.el8.x86_64
    archname=x86_64-linux-thread-multi
    uname='linux 70a103858837433dbfc3ed5de4202b9b 4.18.0-425.3.1.el8.x86_64 #1 smp tue nov 8 14:08:25 est 2022 x86_64 x86_64 x86_64 gnulinux '
    config_args='-des -Doptimize=none -Dccflags=-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Dldflags=-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Dccdlflags=-Wl,--enable-new-dtags -Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Dlddlflags=-shared -Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Dshrpdir=/usr/lib64 -DDEBUGGING=-g -Dversion=5.32.1 -Dmyhostname=localhost -Dperladmin=root at localhost -Dcc=gcc -Dcf_by=Red Hat, Inc. -Dprefix=/usr -Dvendorprefix=/usr -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl5/5.32 -Dsitearch=/usr/local/lib64/perl5/5.32 -Dprivlib=/usr/share/perl5 -Dvendorlib=/usr/share/perl5/vendor_perl -Darchlib=/usr/lib64/perl5 -Dvendorarch=/usr/lib64/perl5/vendor_perl -Darchname=x86_64-linux-thread-multi -Dlibpth=/usr/local/lib64 /lib64 /usr/lib64 -Duseshrplib -Dusethreads -Duseithreads -Dusedtrace=/usr/bin/dtrace -Duselargefiles -Dd_semctl_semun -Di_db -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio -Dinstallusrbinperl=n -Ubincompat5005 -Uversiononly -Dpager=/usr/bin/less -isr -Dd_gethostent_r_proto -Ud_endhostent_r_proto -Ud_sethostent_r_proto -Ud_endprotoent_r_proto -Ud_setprotoent_r_proto -Ud_endservent_r_proto -Ud_setservent_r_proto -Dscriptdir=/usr/bin -Dusesitecustomize -Duse64bitint'
    hint=recommended
    useposix=true
    d_sigaction=define
    useithreads=define
    usemultiplicity=define
    use64bitint=define
    use64bitall=define
    uselongdouble=undef
    usemymalloc=n
    default_inc_excludes_dot=define
    bincompat5005=undef
  Compiler:
    cc='gcc'
    ccflags ='-D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
    optimize='  -g'
    cppflags='-D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fwrapv -fno-strict-aliasing -I/usr/local/include'
    ccversion=''
    gccversion='11.3.1 20221121 (Red Hat 11.3.1-4)'
    gccosandvers=''
    intsize=4
    longsize=8
    ptrsize=8
    doublesize=8
    byteorder=12345678
    doublekind=3
    d_longlong=define
    longlongsize=8
    d_longdbl=define
    longdblsize=16
    longdblkind=3
    ivtype='long'
    ivsize=8
    nvtype='double'
    nvsize=8
    Off_t='off_t'
    lseeksize=8
    alignbytes=8
    prototype=define
  Linker and Libraries:
    ld='gcc'
    ldflags ='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -fstack-protector-strong -L/usr/local/lib'
    libpth=/usr/local/lib64 /lib64 /usr/lib64 /usr/local/lib /usr/lib /lib/../lib64 /usr/lib/../lib64 /lib
    libs=-lpthread -lresolv -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat
    perllibs=-lpthread -lresolv -ldl -lm -lcrypt -lutil -lc
    libc=/lib/../lib64/libc.so.6
    so=so
    useshrplib=true
    libperl=libperl.so
    gnulibc_version='2.34'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs
    dlext=so
    d_dlsymun=undef
    ccdlflags='-Wl,--enable-new-dtags -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 '
    cccdlflags='-fPIC'
    lddlflags='-lpthread -shared -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -L/usr/local/lib -fstack-protector-strong'


Characteristics of this binary (from libperl):
  Compile-time options:
    HAS_TIMES
    MULTIPLICITY
    PERLIO_LAYERS
    PERL_COPY_ON_WRITE
    PERL_DONT_CREATE_GVSV
    PERL_IMPLICIT_CONTEXT
    PERL_MALLOC_WRAP
    PERL_OP_PARENT
    PERL_PRESERVE_IVUV
    USE_64_BIT_ALL
   USE_64_BIT_INT
    USE_ITHREADS
    USE_LARGE_FILES
    USE_LOCALE
    USE_LOCALE_COLLATE
    USE_LOCALE_CTYPE
    USE_LOCALE_NUMERIC
    USE_LOCALE_TIME
    USE_PERLIO
    USE_PERL_ATOF
    USE_REENTRANT_API
    USE_SITECUSTOMIZE
    USE_THREAD_SAFE_LOCALE
  Locally applied patches:
    Fedora Patch1: Removes date check, Fedora/RHEL specific
    Fedora Patch2: support for libdir64
    Fedora Patch3: use libresolv instead of libbind
    Fedora Patch4: USE_MM_LD_RUN_PATH
    Fedora Patch5: Provide MM::maybe_command independently (bug #1129443)
    Fedora Patch6: Dont run one io test due to random builder failures
    Fedora Patch8: Define SONAME for libperl.so
    Fedora Patch9: Install libperl.so to -Dshrpdir value
    Fedora Patch10: Make *DBM_File desctructors thread-safe (RT#61912)
    Fedora Patch11: Replace EU::MakeMaker dependency with EU::MM::Utils in IPC::Cmd (bug #1129443)
    Fedora Patch12: Link XS modules to pthread library to fix linking with -z defs
    Fedora Patch13: Pass the correct CFLAGS to dtrace
    Fedora Patch14: Do not use C compiler reserved identifiers
    Fedora Patch15: Fix SvUV_nomg() macro definition
    Fedora Patch16: Fix SvTRUE() documentation
    Fedora Patch17: Fix ext/XS-APItest/t/utf8_warn_base.pl tests
    Fedora Patch18: Fix IO::Handle::error() to report write errors (GH#6799)
    Fedora Patch19: Fix IO::Handle::error() to report write errors (GH#6799)
    Fedora Patch21: Fix setting a non-blocking mode in IO::Socket::UNIX (GH#17787)
    Fedora Patch22: Fix running actions after stepping in a debugger (GH#17901)
    Fedora Patch23: Fix running actions after stepping in a debugger (GH#17901)
    Fedora Patch24: Fix running actions after stepping in a debugger (GH#17901)
    Fedora Patch25: Fix a buffer size for asctime_r() and ctime_r() functions
    Fedora Patch26: Prevent from an integer overflow in RenewDouble() macro
    Fedora Patch28: Fix a number of arguments passed to a BOOT XS subroutine (GH#17755)
    Fedora Patch29: Fix an IO::Handle spurious error reported for regular file handles (GH#18019)
    Fedora Patch30: Fix inheritance resolution of lexial objects in a debugger (GH#17661)
    Fedora Patch35: Fix sorting with a block that calls return (GH#18081)
    Fedora Patch38: Fix sv_collxfrm macro to respect locale
    Fedora Patch39: Fix an iterator signedness in handling an mro exception (GH#18155)
    Fedora Patch40: Fix a code flow in Perl_sv_inc_nomg()
    Fedora Patch41: Fix an undefined behavior in Perl_custom_op_get_field()
    Fedora Patch42: Fix Config variable names in in t/op tests
    Fedora Patch43: Fix fetching a magic on the stacked file test operators
    Fedora Patch44: Fix a crash in optimizing split() (GH#18232)
    Fedora Patch45: Fix a crash in optimizing split() (GH#18232)
    Fedora Patch46: Fix a crash in optimizing split() (GH#18232)
    Fedora Patch47: Fix a crash in optimizing split() (GH#18232)
    Fedora Patch48: Make accessing environment by DynaLoader thread-safe
    Fedora Patch49: Use duplocale() if available
    Fedora Patch50: Fix fc() in Turkish locale
    Fedora Patch51: Fix croaking on "my $_" when "use utf8" is in effect (GH#18449)
    Fedora Patch52: Fix PERL_UNUSED_ARG() definition in XSUB.h
    Fedora Patch53: Add missing entries to perldiag (GH#18276)
    Fedora Patch54: Protect locale tests from LANGUAGE environment variable
    Fedora Patch55: Prevent the number of buckets in a hash from getting too large
    Fedora Patch56: Fix a memory leak when compiling a regular expression (GH#18604)
    Fedora Patch57: Fix dumping a hash entry of PL_strtab type
    Fedora Patch57: Fix an arithmetic left shift of a minimal integer value (GH#18639)
    Fedora Patch200: Link XS modules to libperl.so with EU::CBuilder on Linux
    Fedora Patch201: Link XS modules to libperl.so with EU::MM on Linux
    Fedora Patch202: Add definition of OPTIMIZE to .ph files (bug #2159759)
  Built under linux
  Compiled at Jan 18 2023 00:00:00
  %ENV:
    PERL5LIB=":/data/users/cjagla/src/bioperl-1.6.924:/data/users/cjagla/src/ensembl/modules:/data/users/cjagla/src/ensembl-compara/modules:/data/users/cjagla/src/ensembl-variation/modules:/data/users/cjagla/src/ensembl-funcgen/modules:/data/users/cjagla/src/ensembl-metadata/modules:/data/users/cjagla/src/ensembl-taxonomy/modules"
  @INC:
    /data/users/cjagla/src/bioperl-1.6.924
    /data/users/cjagla/src/ensembl/modules
    /data/users/cjagla/src/ensembl-compara/modules
    /data/users/cjagla/src/ensembl-variation/modules
    /data/users/cjagla/src/ensembl-funcgen/modules
    /data/users/cjagla/src/ensembl-metadata/modules
    /data/users/cjagla/src/ensembl-taxonomy/modules
    /usr/local/lib64/perl5/5.32
    /usr/local/share/perl5/5.32
    /usr/lib64/perl5/vendor_perl
    /usr/share/perl5/vendor_perl
    /usr/lib64/perl5
    /usr/share/perl5
```


perl -MDBI -e 'warn $DBI::VERSION'
```
1.643 at -e line 1.
```

perl -MDBD::mysql -e 'warn $DBD::mysql::VERSION'
```
4.050 at -e line 1.
```
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.ensembl.org/pipermail/dev_ensembl.org/attachments/20231006/33deef83/attachment-0001.html>


More information about the Dev mailing list