diff --git a/uk/ac/sanger/artemis/io/PublicDBDocumentEntry.java b/uk/ac/sanger/artemis/io/PublicDBDocumentEntry.java index 50f3ae163e9c6e7f313c5dd86845e41bf9e0777d..cb1b78444e175542794cfa3aa720f0c9da829b57 100644 --- a/uk/ac/sanger/artemis/io/PublicDBDocumentEntry.java +++ b/uk/ac/sanger/artemis/io/PublicDBDocumentEntry.java @@ -232,7 +232,7 @@ public class PublicDBDocumentEntry extends SimpleDocumentEntry { final Feature protein = chadoGene.getProteinOfTranscript(transcriptName); if(protein != null) - combineQualifiers(qualifiers, protein.getQualifiers().copy()); + combineQualifiers(qualifiers, protein.getQualifiers().copy(), false); if(transcript != null) ntranscripts = handleTranscripts(qualifiers, transcript, ntranscripts, chadoGene); @@ -250,7 +250,7 @@ public class PublicDBDocumentEntry extends SimpleDocumentEntry addNewQualifier(qualifiers, newIDQualifier); geneQualifiers.removeQualifierByName("ID"); } - combineQualifiers(qualifiers, geneQualifiers); + combineQualifiers(qualifiers, geneQualifiers, true); } try @@ -359,15 +359,15 @@ public class PublicDBDocumentEntry extends SimpleDocumentEntry * @param newQualifiers */ private void combineQualifiers(final QualifierVector qualifiers, - final QualifierVector newQualifiers) + final QualifierVector newQualifiers, + final boolean isGene) { Qualifier qualifier; for(int i=0; i<newQualifiers.size(); i++) { Qualifier newQualifier = (Qualifier) newQualifiers.get(i); - if( newQualifier.getName().equals("ID") && - ((String)newQualifier.getValues().get(0)).indexOf(':') > -1 ) + if( newQualifier.getName().equals("ID") && !isGene ) { continue; } @@ -496,7 +496,7 @@ public class PublicDBDocumentEntry extends SimpleDocumentEntry ChadoCanonicalGene chadoGene) { QualifierVector transcriptQualifiers = transcript.getQualifiers().copy(); - combineQualifiers(qualifiers, transcriptQualifiers); + combineQualifiers(qualifiers, transcriptQualifiers, false); ntranscripts = chadoGene.getTranscripts().size(); if(ntranscripts > 1) {