[InterMine Dev] Interesting problem

sergio contrino contrino at intermine.org
Fri Jan 31 17:13:04 GMT 2020


hi paulo,
from what i understand you seem to be defining twice (and with different 
names) the allele/gene relationship, i suppose one comes from
wormbase-acedb_additions.xml
can you try to 'unify' the relationship (i suppose you need to change it 
in one place to the more accurate one (1 to 1 or 1 to many rel).
if still problematic,can you point to a repo on github so we can have a 
look?
thanks and have a nice weekend
sergio


On 31/01/2020 15:52, Paulo Nuin wrote:
> Hi Daniela
> 
> My build process always include on a clean, even when there’s no model 
> changes.
> 
> I found more evidence of the error. Our “main” model comes from the 
> wormbase-acedb_additions.xml where we have the Allele and Gene class 
> linked. I am assuming the model when build, classes from this file end 
> up on build/resources/main/genomic_model.xm.
> 
> Grepping the dbmodel folder, I get the results below, where the 
> reference of the gene/allele connection gets modified from allele to 
> alleles (output below). Would that be due the fact we are not extending 
> the BioEntity class? I did add to the wormbase-acedb_additions.xml file 
> but I don’t see any difference (at leas on the allele/alleles issue below).
> 
> Thanks
> 
> Paulo
> 
> 
> 
> 
> 
> im-dev1 :: ip-10-0-1-237 :: 4.0/WormMine/dbmodel ‹im-275*› % grep -r -w 
> alleles *
> build/so_additions.xml: <reference name="gene" referenced-type="Gene" 
> reverse-reference="alleles"/>
> build/so_additions.xml: <collection name="alleles" 
> referenced-type="Allele" reverse-reference="gene"/>
> build/gen/org/intermine/model/bio/Gene.java:    public void 
> setAlleles(final java.util.Set<org.intermine.model.bio.Allele> alleles);
> build/gen/org/intermine/model/bio/GeneShadow.java:    // Col: 
> org.intermine.model.bio.Gene.alleles
> build/gen/org/intermine/model/bio/GeneShadow.java:    protected 
> java.util.Set<org.intermine.model.bio.Allele> alleles = new 
> java.util.HashSet<org.intermine.model.bio.Allele>();
> build/gen/org/intermine/model/bio/GeneShadow.java:    public 
> java.util.Set<org.intermine.model.bio.Allele> getAlleles() { return 
> alleles; }
> build/gen/org/intermine/model/bio/GeneShadow.java:    public void 
> setAlleles(final java.util.Set<org.intermine.model.bio.Allele> alleles) 
> { this.alleles = alleles; }
> build/gen/org/intermine/model/bio/GeneShadow.java:    public void 
> addAlleles(final org.intermine.model.bio.Allele arg) { alleles.add(arg); }
> build/gen/org/intermine/model/bio/GeneShadow.java:        if 
> ("alleles".equals(fieldName)) {
> build/gen/org/intermine/model/bio/GeneShadow.java:            return 
> alleles;
> build/gen/org/intermine/model/bio/GeneShadow.java:        if 
> ("alleles".equals(fieldName)) {
> build/gen/org/intermine/model/bio/GeneShadow.java:            return 
> alleles;
> build/gen/org/intermine/model/bio/GeneShadow.java:        } else if 
> ("alleles".equals(fieldName)) {
> build/gen/org/intermine/model/bio/GeneShadow.java:            alleles = 
> (java.util.Set) value;
> build/gen/org/intermine/model/bio/GeneShadow.java:        if 
> ("alleles".equals(fieldName)) {
> build/gen/org/intermine/model/bio/GeneShadow.java:        alleles = new 
> ProxyCollection<org.intermine.model.bio.Allele>(os, this, "alleles", 
> org.intermine.model.bio.Allele.class);
> build/gen/org/intermine/model/bio/GeneShadow.java:        } else if 
> ("alleles".equals(fieldName)) {
> build/gen/org/intermine/model/bio/GeneShadow.java:           
>   alleles.add((org.intermine.model.bio.Allele) element);
> build/gen/org/intermine/model/bio/GeneShadow.java:        if 
> ("alleles".equals(fieldName)) {
> build/resources/main/genomic_model.xml: <reference name="gene" 
> referenced-type="Gene" reverse-reference="alleles"/>
> build/resources/main/genomic_model.xml: <collection name="alleles" 
> referenced-type="Allele" reverse-reference="gene"/>
> Binary file 
> build/classes/java/main/org/intermine/model/bio/GeneShadow.class matches
> 
>> On Jan 30, 2020, at 3:28 AM, Daniela Butano <daniela at intermine.org 
>> <mailto:daniela at intermine.org>> wrote:
>>
>> Hi Paulo,
>>
>> when you change a class definition, you should see those changes in 
>> the model and then in the db (if you rebuild the db)
>>
>> When you did your changes, did you first run ./gradlew clean ? (This 
>> should delete the build directory and force gradle to regenerate the 
>> model)
>>
>> I have noticed that the wormine you sent me last November (via 
>> dropbox)  has Allele with primaryIdentifier.
>>
>> Daniela
>>
>> On 29/01/2020 22:47, Paulo Nuin wrote:
>>> HI Daniela
>>>
>>> We still have some legacy code that still doesn’t use the core 
>>> entities, which reminds me I need to update a couple of others and 
>>> strains.
>>>
>>> I gripped my whole code and I couldn’t find anything with Alleles, 
>>> results are below. Only templates have Alleles in them
>>>
>>>
>>> I also grepped my XPATH files and I am not loading anything with the 
>>> term, with the exception of TEXT entries in the middle of XML. 
>>> There’s no class or item called Alleles.
>>>
>>> I also tried extending the Allele class with BioEntity but nothing 
>>> changed in the model.
>>>
>>> Any ideas?
>>>
>>> Cheers
>>>
>>> Paulo
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> grep -r -w Alleles *
>>> intermine-scripts/bio/DataDownloader/lib/DataDownloader/Source/FlyBaseAlleles.pm: 
>>>    TITLE => 'FlyBase Alleles',
>>> intermine-scripts/bio/DataDownloader/lib/DataDownloader/Source/FlyBaseAlleles.pm: 
>>>    DESCRIPTION => 'Alleles from FlyBase',
>>> Binary file intermine-scripts/reports/data/templates matches
>>> WormMine/webapp/build/explodedWebApp/model/mouseAllelesDisplayer.jsp: 
>>>      <h3>Mouse Alleles </h3>
>>> WormMine/webapp/build/explodedWebApp/js/widgets/mouse-phenotype-dendrogram.js: 
>>>        'title': "Alleles phenotype terms for " + this.config.symbol
>>> Binary file 
>>> WormMine/webapp/build/explodedWebApp/WEB-INF/classes/org/intermine/bio/web/displayer/MetabolicGeneSummaryDisplayer.class 
>>> matches
>>> WormMine/support/acedb-dev/acedb/models.wrm:                Alleles 
>>> ?Variation
>>> WormMine/support/templates/original_su_templates:<template 
>>> name="gene_alleles" title="Gene --> Alleles " comment="">
>>> WormMine/support/templates/original_su_templates:<template 
>>> name="gene_to_alleles_old" title="Gene --> Alleles old" comment="">
>>> WormMine/support/templates/staff_templates:<template 
>>> name="gene_alleles" title="Gene --> Alleles " comment="">
>>> WormMine/support/templates/old/templates_superuser.txt:<template 
>>> name="gene_to_alleles" title="Gene --> Alleles" comment="">
>>> WormMine/support/templates/old/templates.txt: <template 
>>> name="gene_to_alleles" title="Gene --> Alleles" comment=""><query 
>>> name="gene_to_alleles" model="genomic" view="Gene.alleles.method 
>>> Gene.alleles.symbol Gene.alleles.primaryIdentifier" 
>>> longDescription="List *all* experimentally obtained alleles for a 
>>> given gene omitting polymorphisms and high-throughput alleles -- TWH" 
>>> sortOrder="Gene.alleles.method asc" constraintLogic="A and 
>>> B"><constraint path="Gene.symbol" code="A" editable="true" op="=" 
>>> value="unc-26"/><constraint path="Gene.alleles.method" code="B" 
>>> editable="true" op="ONE 
>>> OF"><value>Allele</value><value>Deletion_allele</value><value>Deletion_an_insertion_allele</value><value>Deletion_and_insertion_allele</value><value>Deletion_with_insertion</value><value>Deltion_allele</value><value>Insertion_allele</value><value>Substitution_allele</value><value>Transposon_insertion</value></constraint></query></template>
>>>
>>>
>>>> On Jan 29, 2020, at 4:14 AM, Daniela Butano <daniela at intermine.org 
>>>> <mailto:daniela at intermine.org>> wrote:
>>>>
>>>> Hi Paulo,
>>>>
>>>> I noticed that the Allele class doesn't extend BioEntity.....is it 
>>>> intentional?
>>>>
>>>> It might be possible that wormine loads other bio-sources which 
>>>> contain in their addionals.xml files a different definition of 
>>>> Allele (which extend BioEntity)?
>>>>
>>>> Daniela
>>>>
>>>> On 29/01/2020 03:37, Paulo Nuin wrote:
>>>>> Hi everyone
>>>>>
>>>>> We are stuck with a really interesting problem, that came back 2 or 
>>>>> 3 releases ago. We have a class in WormMine, Allele, that is 
>>>>> getting duplicated and showing up in the singular Allele and plural 
>>>>> Allele, with mostly identical items on the output. I grepped my 
>>>>> whole code and I don’t see anywhere the class/word Alleles showing 
>>>>> up (we have affectedByAlleles).
>>>>>
>>>>> An example of the result is attached (3 screen caps).
>>>>>
>>>>> The class Allele is below.
>>>>>
>>>>>
>>>>>         <class name="Allele" is-interface="true">
>>>>>           <attribute name="naturalVariant" type="java.lang.String" />
>>>>>           <attribute name="method" type="java.lang.String" />
>>>>>           <attribute name="type" type="java.lang.String" />
>>>>>           <attribute name="publicName" type="java.lang.String" />
>>>>>           <attribute name="otherName" type="java.lang.String" />
>>>>>           <attribute name="KOAllele" type="java.lang.String" />
>>>>>           <attribute name="NBPAllele" type="java.lang.String" />
>>>>>           <attribute name="nemaAllele" type="java.lang.String" />
>>>>>           <attribute name="amber_UAG" type="java.lang.String" />
>>>>>           <attribute name="ochre_UAA" type="java.lang.String" />
>>>>>           <attribute name="opal_UGA" type="java.lang.String" />
>>>>>           <attribute name="donorSpliceSite" type="java.lang.String" />
>>>>>           <attribute name="acceptorSpliceSite" 
>>>>> type="java.lang.String" />
>>>>>           <attribute name="productionMethod" type="java.lang.String" />
>>>>> <!--      <attribute name="sequenceDetails" type="java.lang.String" 
>>>>> /> -->
>>>>>           <attribute name="status" type="java.lang.String" />
>>>>> <!--      <attribute name="affects" type="java.lang.String" /> -->
>>>>>           <attribute name="NemaGENETAGConsortiumAllele" 
>>>>> type="java.lang.String" />
>>>>> <!--      <attribute name="missense" type="java.lang.String" /> -->
>>>>>           <attribute name="detectionMethod" type="java.lang.String" />
>>>>>           <attribute name="positiveClone" type="java.lang.String" />
>>>>>           <attribute name="typeOfMutation" type="java.lang.String" />
>>>>>           <attribute name="sequenceStatus" type="java.lang.String" />
>>>>>           <attribute name="KOConsortiumAllele" 
>>>>> type="java.lang.String" />
>>>>>           <attribute name="missenseChange" type="java.lang.String" />
>>>>>           <attribute name="mutagen" type="java.lang.String" />
>>>>>           <attribute name="natureOfVariation" 
>>>>> type="java.lang.String" />
>>>>>           <attribute name="interpolatedMapPosition" 
>>>>> type="java.lang.String" />
>>>>>           <attribute name="species" type="java.lang.String" />
>>>>>           <attribute name="rearrangement" type="java.lang.String" />
>>>>>           <attribute name="linkedTo" type="java.lang.String" />
>>>>>           <collection name="phenotype" referenced-type="Phenotype" 
>>>>> reverse-reference="phenotypeAllele" />
>>>>>           <collection name="phenotypeNotObserved" 
>>>>> referenced-type="Phenotype" 
>>>>> reverse-reference="phenotypeAlleleNotObserved" />
>>>>>           <collection name="affectsGenes" referenced-type="Gene" 
>>>>> reverse-reference="affectedByAlleles" />
>>>>>           <collection name="affectsCDSs" referenced-type="CDS" 
>>>>> reverse-reference="affectedByAlleles" />
>>>>>           <collection name="affectsTranscripts" 
>>>>> referenced-type="Transcript" reverse-reference="affectedByAlleles" />
>>>>>           <!--<collection name="strains" referenced-type="Strain" 
>>>>> reverse-reference="variations" /> -->
>>>>>           <collection name="fromLabs" referenced-type="Laboratory" 
>>>>> reverse-reference="variations" />
>>>>>           <collection name="geneClass" referenced-type="GeneClass" 
>>>>> reverse-reference="variations" />
>>>>>           <collection name="genes" referenced-type="Gene" 
>>>>> reverse-reference="allele" />
>>>>>         </class>
>>>>>
>>>>>
>>>>> I am at loss here. We have tried most things in our tool belt to 
>>>>> define why this is happening to no success. Any help appreciated.
>>>>>
>>>>> Thanks
>>>>>
>>>>> Paulo
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> <Screenshot 2020-01-28 20.32.45.png>\<Screenshot 2020-01-28 
>>>>> 19.42.02.png><Screenshot 2020-01-28 19.42.08.png>
>>>>>
>>>>> _______________________________________________
>>>>> dev mailing list
>>>>> dev at lists.intermine.org
>>>>> https://lists.intermine.org/mailman/listinfo/dev
>>>> _______________________________________________
>>>> dev mailing list
>>>> dev at lists.intermine.org <mailto:dev at lists.intermine.org>
>>>> https://lists.intermine.org/mailman/listinfo/dev
>>>
> 
> 
> _______________________________________________
> dev mailing list
> dev at lists.intermine.org
> https://lists.intermine.org/mailman/listinfo/dev
> 

-- 
sergio contrino                  InterMine, University of Cambridge
https://sergiocontrino.github.io           http://www.intermine.org


More information about the dev mailing list