diff --git a/gemma-core/src/main/java/ubic/gemma/core/loader/genome/gene/ncbi/NcbiGeneConverter.java b/gemma-core/src/main/java/ubic/gemma/core/loader/genome/gene/ncbi/NcbiGeneConverter.java index 111964de09..be61d9dbcc 100644 --- a/gemma-core/src/main/java/ubic/gemma/core/loader/genome/gene/ncbi/NcbiGeneConverter.java +++ b/gemma-core/src/main/java/ubic/gemma/core/loader/genome/gene/ncbi/NcbiGeneConverter.java @@ -109,6 +109,7 @@ public Gene convert( NCBIGeneInfo info ) { gene.setOfficialSymbol( info.getDefaultSymbol() ); gene.setOfficialName( info.getDescription() ); gene.setEnsemblId( info.getEnsemblId() ); + gene.setType(info.getGeneType().toString()); /* * NOTE we allow multiple discontinued or previous ids, separated by commas. This is a hack to account for cases diff --git a/gemma-core/src/main/java/ubic/gemma/model/genome/Gene.java b/gemma-core/src/main/java/ubic/gemma/model/genome/Gene.java index 17f8e0153b..2e40a862c1 100644 --- a/gemma-core/src/main/java/ubic/gemma/model/genome/Gene.java +++ b/gemma-core/src/main/java/ubic/gemma/model/genome/Gene.java @@ -18,6 +18,7 @@ */ package ubic.gemma.model.genome; +import ubic.gemma.core.loader.genome.gene.ncbi.model.NCBIGeneInfo; import ubic.gemma.model.association.phenotype.PhenotypeAssociation; import ubic.gemma.model.common.description.DatabaseEntry; import ubic.gemma.model.genome.gene.GeneAlias; @@ -47,6 +48,7 @@ public class Gene extends ChromosomeFeature { private Set accessions = new HashSet<>(); private Multifunctionality multifunctionality; private Set phenotypeAssociations = new HashSet<>(); + private NCBIGeneInfo.GeneType type; /** * No-arg constructor added to satisfy javabean contract @@ -54,6 +56,14 @@ public class Gene extends ChromosomeFeature { public Gene() { } + public String getType() { + return type.toString(); + } + + public void setType( String type ) { + this.type = NCBIGeneInfo.typeStringToGeneType( type ); + } + @Override public boolean equals( Object object ) { if ( this == object ) { diff --git a/gemma-core/src/main/resources/ubic/gemma/model/genome/ChromosomeFeature.hbm.xml b/gemma-core/src/main/resources/ubic/gemma/model/genome/ChromosomeFeature.hbm.xml index 0ce5c63354..000117a270 100644 --- a/gemma-core/src/main/resources/ubic/gemma/model/genome/ChromosomeFeature.hbm.xml +++ b/gemma-core/src/main/resources/ubic/gemma/model/genome/ChromosomeFeature.hbm.xml @@ -64,6 +64,10 @@ + + + diff --git a/gemma-core/src/test/java/ubic/gemma/core/loader/genome/gene/ncbi/NCBIGeneParserTest.java b/gemma-core/src/test/java/ubic/gemma/core/loader/genome/gene/ncbi/NCBIGeneParserTest.java index e478dcbacc..7d81d5c250 100644 --- a/gemma-core/src/test/java/ubic/gemma/core/loader/genome/gene/ncbi/NCBIGeneParserTest.java +++ b/gemma-core/src/test/java/ubic/gemma/core/loader/genome/gene/ncbi/NCBIGeneParserTest.java @@ -20,6 +20,7 @@ import junit.framework.TestCase; import org.springframework.core.io.ClassPathResource; +import ubic.gemma.core.loader.genome.gene.ncbi.model.NCBIGeneInfo; import java.io.InputStream; import java.util.HashMap; @@ -45,6 +46,8 @@ public void testParseGeneInfo() throws Exception { ncbiGeneInfoParser.setFilter( false ); ncbiGeneInfoParser.parse( is ); TestCase.assertEquals( 99, ncbiGeneInfoParser.getResults().size() ); + NCBIGeneInfo n = ncbiGeneInfoParser.getResults().iterator().next(); + assertNotNull( n.getGeneType() ); } }