Hi Syed,

Thats exactly my point, what i am unable to understand is that where the 'F' comes from in the first place. Its not present in ensembl.

It is present in the Ensembl configuration files as an internal name, which is where biomaRt gets the information from. They don't have agilent_g2519F hardcoded anywhere in biomaRt. It is pulled out of our meta tables as far as I understand.
Hope that clarifies things a bit better,
Regards,
Rhoda


If its a typo during hard-coded procedure while naming the atts in biomaRt, then ensembl should not really be changing anything.



Rhoda Kinsella wrote:
Hi Syed,
If you do listAtributes(ensembl) in biomaRt you will see the 'F' (attribute number 3):
> listAttributes(ensembl)
name description 1 affy_zebrafish Affy zebrafish 2 agilent_g2518a Agilent g2518a 3 agilent_g2519F Agilent g2519f 4 agilent_probe Agilent Probe
etc...
So the capital F is in the internal name and the lowercase 'f' in the display name which we see on the mart interface. If I do the same query using agilent_g2518a (which has lowercase a in filter and attribute) I can pull out results. I agree it is not ideal to change these internal names, but in this case I think it will be necessary to fix the problem.
Regards,
Rhoda
On 15 Apr 2009, at 10:19, Syed Haider wrote:
Which ever is the case, the name even if with small 'f' still is not the same as with_*. What i see right now is that both att and filt have small 'f'. I wonder where is the capital 'F' is coming from ?

wwe also need to be careful in changing names since other clients also have saved queries which might break.

Syed


Damian Smedley wrote:
On Wed, Apr 15, 2009 at 9:31 AM, Syed Haider <[email protected] <mailto:[email protected] >> wrote:
  Hi Ruben,
  Have you tried executing your query getBM(...) with
  'agilent_gf2519f' ? biomaRt throws exception in both case
  (agilent_gf2519f and agilent_gf2519F). The real attribute is
  'agilent_gf2519f' which works fine from www.biomart.org
<http://www.biomart.org>. I am not sure how the new release is going to fix this bug, may be i am missing something here. By trying it on R, i feel that its a problem with R API of biomaRt, cc'ing Steffen
  who would know how to debug this.
Its a few years since I was involved with this but I have a feeling BioConductor hard codes the names of attributes and filters you can use and if these don't match the names in the EnsemblMart config then things break. At least that used to be the case. So it seems either Rhoda has to change the name back in the next ensembl release or the hard coded name in BioConductor will need changing. Steffen will know more
Cheers
Damian
   Best,
  Syed
  Ruben wrote:
      Hi Syed,
      in biomaRt from bioconductor the attribute name is
      'agilent_g2519F'. If I execute this code
       > ensembl = useMart("ensembl");
       > ensembl = useDataset("drerio_gene_ensembl", mart=ensembl);
       > atr <- listAttributes(ensembl)
       > atr$name[3]
      I get this:
       > [1] "agilent_g2519F"
It seems that there is a bug, but the new release will fix it.
      Thanks again,
      Rubén.
      Syed Haider wrote:
          Ruben,
the attribute name is: 'agilent_g2519f' not 'agilent_g2519F'
          hope this works.
          Best,
          Syed
          Rhoda Kinsella wrote:
              Hi Ruben,
              I suspect that there is inconsistency between the
              spelling of the internal name of the filter and the
              attribute. I will look into it and try to fix it for
release 54 (approx end of April). Many apologies for any
              inconvenience caused.
              Regards,
              Rhoda
              On 14 Apr 2009, at 12:27, Ruben wrote:
                  Hi to all,
                  I am trying to invoke the following R code,
                  ensembl = useMart("ensembl");
                  ensembl = useDataset("drerio_gene_ensembl",
                  mart=ensembl);
                  ids <- getBM(attributes =
                  c("ensembl_gene_id","agilent_g2519F"), filters =
"with_agilent_g2519f", values =TRUE,mart=ensembl);
                  but the result is always the same:
                  1 Query ERROR: caught BioMart::Exception::Usage:
                  Attribute agilent_g2519F NOT FOUND
                  Error en getBM(attributes = c("ensembl_gene_id",
                  "agilent_g2519F"), filters =
                  c("with_agilent_g2519f"),  :
Number of columns in the query result doesn't equal number of attributes in query. This is probably an
                  internal error, please report.
                  However, if I retrieve the list of available
attributes I can see "agilent_g2519F" in the list.
                  Can you help me? There is a mistake in my code or
                  there is something wrong in biomart?
                  Thanks in advance,
                  Rubén.
              Rhoda Kinsella Ph.D.
              Ensembl Bioinformatician,
              European Bioinformatics Institute (EMBL-EBI),
              Wellcome Trust Genome Campus,
              Hinxton
              Cambridge CB10 1SD,
              UK.
Rhoda Kinsella Ph.D.
Ensembl Bioinformatician,
European Bioinformatics Institute (EMBL-EBI),
Wellcome Trust Genome Campus,
Hinxton
Cambridge CB10 1SD,
UK.

Rhoda Kinsella Ph.D.
Ensembl Bioinformatician,
European Bioinformatics Institute (EMBL-EBI),
Wellcome Trust Genome Campus,
Hinxton
Cambridge CB10 1SD,
UK.

Reply via email to