Skip to content

Commit

Permalink
5.0.6.3 +lis-map and other tweaks
Browse files Browse the repository at this point in the history
  • Loading branch information
sammyjava committed Apr 26, 2022
1 parent 6fb254a commit f10f31f
Show file tree
Hide file tree
Showing 16 changed files with 504 additions and 302 deletions.
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ ext {

subprojects {
group = 'org.intermine'
version = '5.0.6.2'
version = '5.0.6.3'

apply plugin: 'java'
apply plugin: 'maven'
Expand Down
4 changes: 2 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
systemProp.imVersion=5.0.6.2
systemProp.bioVersion=5.0.6.2
systemProp.imVersion=5.0.6.3
systemProp.bioVersion=5.0.6.3
Original file line number Diff line number Diff line change
Expand Up @@ -458,6 +458,7 @@ void processGFF3File() throws IOException, RuntimeException {
String dbxref = featureI.getAttribute("Dbxref");
String ontology_term = featureI.getAttribute("Ontology_term");
String alleles = featureI.getAttribute("alleles");
String symbol = featureI.getAttribute("symbol");
// check that id exists and matches collection
if (id==null) {
throw new RuntimeException("GFF line does not include ID: "+featureI.toString());
Expand Down Expand Up @@ -487,9 +488,11 @@ void processGFF3File() throws IOException, RuntimeException {
feature.setAttribute("length", String.valueOf(location.length()));
}
// Name=GlymaLee.02G198600;
if (name!=null) {
feature.setAttribute("name", name);
}
if (name!=null) feature.setAttribute("name", name);
// Note=Cytochrome P450 superfamily protein%3B IPR001128 (Cytochrome P450)%3B GO:0005506 (iron ion binding)%2C GO:0020037 (heme binding)%2C ...
if (note!=null) feature.setAttribute("description", note);
// Symbol=RGB4
if (symbol!=null) feature.setAttribute("symbol", symbol);
// Dbxref=Gene3D:G3DSA:1.10.630.10,InterPro:IPR001128,InterPro:IPR002401,InterPro:IPR017972,PANTHER:PTHR24298,...
if (dbxref!=null) {
String[] terms = dbxref.split(",");
Expand All @@ -508,10 +511,6 @@ void processGFF3File() throws IOException, RuntimeException {
}
}
}
// Note=Cytochrome P450 superfamily protein%3B IPR001128 (Cytochrome P450)%3B GO:0005506 (iron ion binding)%2C GO:0020037 (heme binding)%2C ...
if (note!=null) {
feature.setAttribute("description", note);
}
// Parent is not required but must already be loaded if present
if (parent!=null) {
Item parentItem = features.get(parent);
Expand Down
Binary file modified lis-datastore/libs/ncgr-datastore.jar
Binary file not shown.

Large diffs are not rendered by default.

81 changes: 28 additions & 53 deletions lis-genetic/src/main/resources/lis-genetic_additions.xml
Original file line number Diff line number Diff line change
@@ -1,67 +1,40 @@
<?xml version="1.0"?>
<classes>

<!-- extends Annotatable: primaryIdentifier, ontologyAnnotations, publications -->
<!-- NOTE: some maps do not have linkage groups, so we must have GeneticMap.qtls as well -->
<class name="GeneticMap" extends="Annotatable" is-interface="true">
<!-- a LinkageGroup is a component of a GeneticMap, loaded in lis-map, keyed by identifier -->
<class name="LinkageGroup" extends="Annotatable" is-interface="true" term="http://purl.obolibrary.org/obo/SO:0000018">
<collection name="qtls" referenced-type="QTL" reverse-reference="linkageGroup"/>
</class>

<!-- a QTLStudy represents a particular QTL study from a DataSet/Publication -->
<class name="QTLStudy" extends="Annotatable" is-interface="true">
<attribute name="synopsis" type="java.lang.String"/>
<attribute name="description" type="java.lang.String"/>
<attribute name="genotypes" type="java.lang.String"/>
<attribute name="genotypingPlatform" type="java.lang.String"/>
<attribute name="genotypingMethod" type="java.lang.String"/>
<attribute name="geneticMap" type="java.lang.String"/>
<reference name="organism" referenced-type="Organism"/>
<collection name="linkageGroups" referenced-type="LinkageGroup" reverse-reference="geneticMap"/>
<collection name="qtls" referenced-type="QTL" reverse-reference="geneticMap"/>
<collection name="dataSets" referenced-type="DataSet"/>
</class>

<!-- a linkage group is a part of a genetic map and is related to markers and QTLs -->
<!-- marker names are stored in a |-delimited markerNames string; markers are loaded by a post-processor -->
<!-- marker reverse reference is via LinkageGroupPosition-->
<class name="LinkageGroup" is-interface="true" term="http://purl.obolibrary.org/obo/SO:0000018">
<attribute name="identifier" type="java.lang.String"/>
<attribute name="number" type="java.lang.Integer"/>
<attribute name="length" type="java.lang.Double"/>
<attribute name="markerNames" type="java.lang.String"/>
<reference name="geneticMap" referenced-type="GeneticMap" reverse-reference="linkageGroups"/>
<collection name="markers" referenced-type="GeneticMarker"/>
<collection name="qtls" referenced-type="QTL" reverse-reference="linkageGroup"/>
<collection name="dataSets" referenced-type="DataSet"/>
</class>

<!-- a genetic marker is a sequence feature mapped to a genome assembly; these gives its cM position on linkage groups -->
<class name="GeneticMarker" extends="SequenceFeature" is-interface="true" term="http://purl.obolibrary.org/obo/SO:0001645" >
<collection name="linkageGroupPositions" referenced-type="LinkageGroupPosition"/>
<collection name="qtls" referenced-type="QTL" reverse-reference="markers"/>
<collection name="gwasResults" referenced-type="GWASResult" reverse-reference="markers"/>
</class>

<!-- a marker's position (in cM) on a linkage group, referenced by name -->
<class name="LinkageGroupPosition" is-interface="true">
<attribute name="markerName" type="java.lang.String"/>
<attribute name="position" type="java.lang.Double"/>
<reference name="linkageGroup" referenced-type="LinkageGroup"/>
<reference name="dataSet" referenced-type="DataSet"/>
<collection name="qtls" referenced-type="QTL" reverse-reference="qtlStudy"/>
</class>

<!-- QTL references a trait, resides on a linkage group (on a genetic map), and has associated markers -->
<!-- marker names are stored in a |-delimited markerNames string; markers are loaded by a post-processor -->
<!-- NOTE 1: some maps do not have linkage groups, so we must have QTL.geneticMap reference here -->
<!-- NOTE 2: genes are populated by a post-processor -->
<class name="QTL" is-interface="true" term="http://purl.obolibrary.org/obo/SO:0001645">
<attribute name="identifier" type="java.lang.String"/>
<!-- QTL references a trait, resides on a linkage group, and has associated markers -->
<!-- marker names are stored here in a |-delimited markerNames string; -->
<!-- QTL.markers are loaded by a post-processor from markerNames -->
<!-- QTL.genes are populated by a post-processor -->
<class name="QTL" extends="Annotatable" is-interface="true" term="http://purl.obolibrary.org/obo/SO:0001645">
<attribute name="lod" type="java.lang.Double"/>
<attribute name="likelihoodRatio" type="java.lang.Double"/>
<attribute name="markerR2" type="java.lang.Double"/>
<attribute name="peak" type="java.lang.Double"/>
<attribute name="start" type="java.lang.Double"/>
<attribute name="end" type="java.lang.Double"/>
<attribute name="markerNames" type="java.lang.String"/>
<reference name="qtlStudy" referenced-type="QTLStudy" reverse-reference="qtls"/>
<reference name="trait" referenced-type="Trait" reverse-reference="qtls"/>
<reference name="linkageGroup" referenced-type="LinkageGroup" reverse-reference="qtls"/>
<reference name="geneticMap" referenced-type="GeneticMap" reverse-reference="qtls"/>
<collection name="markers" referenced-type="GeneticMarker" reverse-reference="qtls"/>
<collection name="genes" referenced-type="Gene" reverse-reference="qtls"/>
<collection name="dataSets" referenced-type="DataSet"/>
<reference name="linkageGroup" referenced-type="LinkageGroup" reverse-reference="qtls"/>
<reference name="dataSet" referenced-type="DataSet"/>
<collection name="genes" referenced-type="Gene"/>
</class>

<!-- A Trait is an experimentally measured phenotype for a QTL, which has ontology annotations -->
Expand All @@ -73,32 +46,34 @@
<collection name="gwasResults" referenced-type="GWASResult" reverse-reference="trait"/>
</class>

<!-- Annotatable for Publication support -->
<!-- GWAS is a study from a publication containing GWASResults, one per marker association -->
<class name="GWAS" extends="Annotatable" is-interface="true">
<attribute name="genotypes" type="java.lang.String"/>
<attribute name="synopsis" type="java.lang.String"/>
<attribute name="description" type="java.lang.String"/>
<attribute name="genotypingPlatform" type="java.lang.String"/>
<attribute name="genotypingMethod" type="java.lang.String"/>
<reference name="organism" referenced-type="Organism"/>
<reference name="dataSet" referenced-type="DataSet"/>
<collection name="results" referenced-type="GWASResult" reverse-reference="gwas"/>
<collection name="dataSets" referenced-type="DataSet"/>
</class>

<!-- GWASResult relates a marker to a measured trait with a p-value -->
<!-- Since a marker may have several genomic mappings, we store markerName here and populate markers with a post-processor -->
<!-- Since a marker may have several genomic mappings, we store markerName here -->
<!-- GWASResult.markers is populated with a post-processor -->
<class name="GWASResult" is-interface="true">
<attribute name="markerName" type="java.lang.String"/>
<attribute name="pValue" type="java.lang.Double"/>
<reference name="gwas" referenced-type="GWAS" reverse-reference="results"/>
<reference name="trait" referenced-type="Trait" reverse-reference="gwasResults"/>
<collection name="markers" referenced-type="GeneticMarker" reverse-reference="gwasResults"/>
<collection name="dataSets" referenced-type="DataSet"/>
<reference name="dataSet" referenced-type="DataSet"/>
</class>

<!-- Genes can be associated with QTLs that span them, via overlapping markers, found in a post-processor -->
<class name="Gene" is-interface="true">
<collection name="qtls" referenced-type="QTL" reverse-reference="genes"/>
<!-- GeneticMarker collections populated by post-processors -->
<class name="GeneticMarker" is-interface="true">
<collection name="qtls" referenced-type="QTL" reverse-reference="markers"/>
<collection name="gwasResults" referenced-type="GWASResult" reverse-reference="markers"/>
</class>

</classes>
8 changes: 3 additions & 5 deletions lis-genetic/src/main/resources/lis-genetic_keys.properties
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,7 @@ Publication.key_doi=doi

## Annotatable
Trait.key_primaryidentifier_dataset=primaryIdentifier,dataSet
GeneticMap.key_primaryidentifier=primaryIdentifier
LinkageGroup.key_primaryidentifier=primaryIdentifier
QTLStudy.key_primaryidentifier=primaryIdentifier
QTL.key_primaryidentifier_qtlstudy=primaryIdentifier,qtlStudy
GWAS.key_primaryidentifier=primaryIdentifier

## Other
LinkageGroup.key_identifier_geneticmap=identifier,geneticMap
QTL.key_identifier_linkagegroup=identifier,linkageGroup
28 changes: 28 additions & 0 deletions lis-map/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
sourceSets {
main {
java {
srcDirs = ['src/main/java', 'build/gen']
}
resources {
srcDirs = ['src/main/resources']
}
}
test {
java {
srcDirs = ['src/test/java']
}
resources {
srcDirs = ['src/test/resources']
}
}
}

dependencies {
compile group: 'org.intermine', name: 'bio-model', version: bioVersion //to read genomic_keyDefs.properties
bioModel group: 'org.intermine', name: 'bio-model', version: bioVersion, transitive: false
compile fileTree(dir: 'libs', include: '*.jar')
}

processResources {
from('.') { include ("*.properties")}
}
6 changes: 6 additions & 0 deletions lis-map/lis-map.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
compile.dependencies = intermine/objectstore/main,bio/core/main,\
intermine/integrate/main

have.file.custom.tgt = true

converter.class = org.intermine.bio.dataconversion.MapFileConverter
Loading

0 comments on commit f10f31f

Please sign in to comment.