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");
}
}
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);
}
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);
}
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;
}
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;
}
Aggregations