Search in sources :

Example 91 with Taxon

use of ubic.gemma.model.genome.Taxon in project Gemma by PavlidisLab.

the class SimpleExpressionDataLoaderServiceTest method testLoadDuplicatedRow.

@Test(expected = IllegalArgumentException.class)
public final void testLoadDuplicatedRow() throws Exception {
    Taxon taxon = this.getTaxon("mouse");
    SimpleExpressionExperimentMetaData metaData = new SimpleExpressionExperimentMetaData();
    ArrayDesign ad = ArrayDesign.Factory.newInstance();
    ad.setShortName(RandomStringUtils.randomAlphabetic(5));
    ad.setName(RandomStringUtils.randomAlphabetic(5));
    ad.setPrimaryTaxon(taxon);
    ad.setTechnologyType(TechnologyType.ONECOLOR);
    Collection<ArrayDesign> ads = new HashSet<>();
    ads.add(ad);
    metaData.setArrayDesigns(ads);
    metaData.setTaxon(taxon);
    metaData.setName(RandomStringUtils.randomAlphabetic(5));
    metaData.setShortName(metaData.getName());
    metaData.setQuantitationTypeName("testing");
    metaData.setDescription("Simple expression data loader service test - load duplicate row");
    metaData.setGeneralType(GeneralType.QUANTITATIVE);
    metaData.setScale(ScaleType.LOG2);
    metaData.setType(StandardQuantitationType.AMOUNT);
    metaData.setIsRatio(true);
    try (InputStream data = this.getClass().getResourceAsStream("/data/testdata.duprow.txt")) {
        ee = service.create(metaData, data);
        fail("Should have gotten an exception about duplicated row");
    }
}
Also used : ArrayDesign(ubic.gemma.model.expression.arrayDesign.ArrayDesign) InputStream(java.io.InputStream) Taxon(ubic.gemma.model.genome.Taxon) SimpleExpressionExperimentMetaData(ubic.gemma.core.loader.expression.simple.model.SimpleExpressionExperimentMetaData) HashSet(java.util.HashSet) Test(org.junit.Test) BaseSpringContextTest(ubic.gemma.core.testing.BaseSpringContextTest)

Example 92 with Taxon

use of ubic.gemma.model.genome.Taxon in project Gemma by PavlidisLab.

the class NCBIGeneLoadingTest method testGeneLoader.

@Test
public void testGeneLoader() throws Exception {
    NcbiGeneLoader loader = new NcbiGeneLoader(persisterHelper);
    loader.setTaxonService(taxonService);
    String geneInfoTestFile = "/data/loader/genome/gene/gene_info.human.sample";
    String gene2AccTestFile = "/data/loader/genome/gene/gene2accession.human.sample";
    String geneHistoryFile = "/data/loader/genome/gene/gene_history.human.sample";
    // threaded load
    Taxon ta = taxonService.findByCommonName("human");
    assertNotNull(ta);
    loader.load(FileTools.resourceToPath(geneInfoTestFile), FileTools.resourceToPath(gene2AccTestFile), FileTools.resourceToPath(geneHistoryFile), null, ta);
    // wait until the loader is done.
    while (!loader.isLoaderDone()) {
        Thread.sleep(100);
    }
    // loader is done.
    // check if it loaded elements to the database
    log.debug("Loader done with number of elements: " + loader.getLoadedGeneCount());
    assertEquals(51, loader.getLoadedGeneCount());
    // grab one gene and check its information
    // (depends on information in gene_info and gene2accession file
    // gene_info
    Collection<Gene> geneCollection = geneService.findByOfficialSymbol("A2M");
    assertEquals(1, geneCollection.size());
    g = geneCollection.iterator().next();
    g = geneService.thaw(g);
    Collection<GeneProduct> products = g.getProducts();
    Collection<String> expectedAccessions = new ArrayList<>();
    Collection<String> hasAccessions = new ArrayList<>();
    expectedAccessions.add("AB209614.2");
    expectedAccessions.add("AK307832.1");
    for (GeneProduct product : products) {
        Collection<DatabaseEntry> accessions = product.getAccessions();
        for (DatabaseEntry de : accessions) {
            String accession = de.getAccession();
            String accVersion = de.getAccessionVersion();
            hasAccessions.add(accession + "." + accVersion);
            log.debug(accession + "." + accVersion);
        }
    }
    assertEquals(12, hasAccessions.size());
    assertTrue(hasAccessions.containsAll(expectedAccessions));
    Taxon t = g.getTaxon();
    assertEquals(9606, t.getNcbiId().intValue());
    assertEquals(new Integer(2), g.getNcbiGeneId());
    /*
         * Test history change. One gene has been updated, from 7003 to 44444 (fake), and mimic adding ensembl
         */
    geneInfoTestFile = "/data/loader/genome/gene/gene_info.human.changed.sample";
    gene2AccTestFile = "/data/loader/genome/gene/gene2accession.human.changed.sample";
    String updatedHistory = "/data/loader/genome/gene/gene_history.human.changed.sample";
    String geneEnsemblFile = "/data/loader/genome/gene/gene2ensembl.human.sample";
    loader.load(FileTools.resourceToPath(geneInfoTestFile), FileTools.resourceToPath(gene2AccTestFile), FileTools.resourceToPath(updatedHistory), FileTools.resourceToPath(geneEnsemblFile), ta);
    // wait until the loader is done.
    while (!loader.isLoaderDone()) {
        Thread.sleep(100);
    }
    Collection<Gene> updatedTestGene = geneService.findByOfficialSymbol("TEAD1");
    assertEquals(1, updatedTestGene.size());
    g = updatedTestGene.iterator().next();
    assertEquals("7003", g.getPreviousNcbiId());
    assertEquals(new Integer(44444), g.getNcbiGeneId());
    g = geneService.findByNCBIId(1);
    assertEquals("ENSG00000121410", g.getEnsemblId());
    // test remove...
    geneProductService.remove(products);
}
Also used : GeneProduct(ubic.gemma.model.genome.gene.GeneProduct) Gene(ubic.gemma.model.genome.Gene) Taxon(ubic.gemma.model.genome.Taxon) ArrayList(java.util.ArrayList) DatabaseEntry(ubic.gemma.model.common.description.DatabaseEntry) Test(org.junit.Test) BaseSpringContextTest(ubic.gemma.core.testing.BaseSpringContextTest)

Example 93 with Taxon

use of ubic.gemma.model.genome.Taxon in project Gemma by PavlidisLab.

the class ExperimentalDesignImportDuplicateValueTest method setup.

@Before
public void setup() throws Exception {
    SimpleExpressionExperimentMetaData metaData = new SimpleExpressionExperimentMetaData();
    Taxon human = taxonService.findByCommonName("human");
    metaData.setShortName(randomName());
    metaData.setDescription("bar");
    metaData.setIsRatio(false);
    metaData.setTaxon(human);
    metaData.setQuantitationTypeName("rma");
    metaData.setScale(ScaleType.LOG2);
    metaData.setType(StandardQuantitationType.AMOUNT);
    ArrayDesign ad = ArrayDesign.Factory.newInstance();
    ad.setShortName("gfoobly_" + randomName());
    ad.setName("foobly doo loo");
    ad.setPrimaryTaxon(human);
    ad.setTechnologyType(TechnologyType.ONECOLOR);
    metaData.getArrayDesigns().add(ad);
    try (InputStream data = this.getClass().getResourceAsStream("/data/loader/expression/expdesign.import.testfull.data.txt")) {
        ee = s.create(metaData, data);
    }
    ee = this.eeService.thawLite(ee);
}
Also used : ArrayDesign(ubic.gemma.model.expression.arrayDesign.ArrayDesign) InputStream(java.io.InputStream) Taxon(ubic.gemma.model.genome.Taxon) SimpleExpressionExperimentMetaData(ubic.gemma.core.loader.expression.simple.model.SimpleExpressionExperimentMetaData) Before(org.junit.Before)

Example 94 with Taxon

use of ubic.gemma.model.genome.Taxon in project Gemma by PavlidisLab.

the class LinkAnalysisPersisterImpl method getLinkCreator.

private LinkCreator getLinkCreator(LinkAnalysis la) {
    Taxon taxon = la.getTaxon();
    LinkCreator c;
    c = new LinkCreator(taxon);
    return c;
}
Also used : LinkCreator(ubic.gemma.persistence.service.association.coexpression.LinkCreator) Taxon(ubic.gemma.model.genome.Taxon)

Example 95 with Taxon

use of ubic.gemma.model.genome.Taxon in project Gemma by PavlidisLab.

the class WhatsNewServiceImpl method getExpressionExperimentIdsByTaxon.

/**
 * Give breakdown by taxon. "Private" experiments are not included.
 */
private Map<Taxon, Collection<Long>> getExpressionExperimentIdsByTaxon(Collection<ExpressionExperiment> ees) {
    /*
         * Sort taxa by name.
         */
    TreeMap<Taxon, Collection<Long>> eesPerTaxon = new TreeMap<>(new Comparator<Taxon>() {

        @Override
        public int compare(Taxon o1, Taxon o2) {
            if (o1 == null) {
                return 1;
            } else if (o2 == null) {
                return -1;
            } else {
                return o1.getScientificName().compareTo(o2.getScientificName());
            }
        }
    });
    if (ees.isEmpty())
        return eesPerTaxon;
    Collection<ExpressionExperiment> publicEEs = securityService.choosePublic(ees);
    Map<ExpressionExperiment, Taxon> taxa = expressionExperimentService.getTaxa(publicEEs);
    // invert the map.
    for (ExpressionExperiment ee : taxa.keySet()) {
        Taxon t = taxa.get(ee);
        Collection<Long> ids;
        if (eesPerTaxon.containsKey(t)) {
            ids = eesPerTaxon.get(t);
        } else {
            ids = new ArrayList<>();
        }
        ids.add(ee.getId());
        eesPerTaxon.put(t, ids);
    }
    return eesPerTaxon;
}
Also used : Taxon(ubic.gemma.model.genome.Taxon) ExpressionExperiment(ubic.gemma.model.expression.experiment.ExpressionExperiment)

Aggregations

Taxon (ubic.gemma.model.genome.Taxon)161 Gene (ubic.gemma.model.genome.Gene)34 Test (org.junit.Test)31 BaseSpringContextTest (ubic.gemma.core.testing.BaseSpringContextTest)29 HashSet (java.util.HashSet)23 ArrayDesign (ubic.gemma.model.expression.arrayDesign.ArrayDesign)23 InputStream (java.io.InputStream)17 Before (org.junit.Before)16 BioSequence (ubic.gemma.model.genome.biosequence.BioSequence)15 ExpressionExperiment (ubic.gemma.model.expression.experiment.ExpressionExperiment)14 CompositeSequence (ubic.gemma.model.expression.designElement.CompositeSequence)12 StopWatch (org.apache.commons.lang3.time.StopWatch)11 Transactional (org.springframework.transaction.annotation.Transactional)11 ArrayList (java.util.ArrayList)10 File (java.io.File)9 SimpleExpressionExperimentMetaData (ubic.gemma.core.loader.expression.simple.model.SimpleExpressionExperimentMetaData)9 Chromosome (ubic.gemma.model.genome.Chromosome)8 Collection (java.util.Collection)7 Element (org.w3c.dom.Element)7 PhysicalLocation (ubic.gemma.model.genome.PhysicalLocation)7