diff --git a/uk/ac/sanger/artemis/io/PublicDBDocumentEntry.java b/uk/ac/sanger/artemis/io/PublicDBDocumentEntry.java index 933188b0a1eeaa05bdeb9f133c8145e02d83427c..3ca06a356b0e6d5651b5d4d3b4b169be2d8ea0c0 100644 --- a/uk/ac/sanger/artemis/io/PublicDBDocumentEntry.java +++ b/uk/ac/sanger/artemis/io/PublicDBDocumentEntry.java @@ -20,7 +20,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - * $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/io/PublicDBDocumentEntry.java,v 1.16 2008-07-16 10:12:44 tjc Exp $ + * $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/io/PublicDBDocumentEntry.java,v 1.17 2008-09-16 14:42:12 tjc Exp $ */ package uk.ac.sanger.artemis.io; @@ -41,7 +41,7 @@ import java.util.Vector; * entry. * * @author Kim Rutherford - * @version $Id: PublicDBDocumentEntry.java,v 1.16 2008-07-16 10:12:44 tjc Exp $ + * @version $Id: PublicDBDocumentEntry.java,v 1.17 2008-09-16 14:42:12 tjc Exp $ **/ public class PublicDBDocumentEntry extends SimpleDocumentEntry @@ -57,6 +57,7 @@ public class PublicDBDocumentEntry extends SimpleDocumentEntry // database qualifiers to ignore when converting to embl private static Object[] DATABASE_QUALIFIERS_TO_REMOVE; + public static boolean IGNORE_OBSOLETE_FEATURES = true; /** * Create a new PublicDBDocumentEntry object associated with the given @@ -157,6 +158,18 @@ public class PublicDBDocumentEntry extends SimpleDocumentEntry Key key = feature.getKey(); QualifierVector qualifiers = feature.getQualifiers().copy(); + // ignore if obsolete + if(IGNORE_OBSOLETE_FEATURES) + { + Qualifier isObsoleteQualifier = qualifiers.getQualifierByName("isObsolete"); + if(isObsoleteQualifier != null) + { + String value = (String)isObsoleteQualifier.getValues().get(0); + if(Boolean.parseBoolean(value)) + return null; + } + } + key = map(key, qualifiers); if(getEntryInformation().isValidQualifier((String) DATABASE_QUALIFIERS_TO_REMOVE[0])) { @@ -189,12 +202,22 @@ public class PublicDBDocumentEntry extends SimpleDocumentEntry final String name = GeneUtils.getUniqueName(feature); final String transcriptName = chadoGene.getTranscriptFromName(name); - // add protein qualifiers to CDS + StringVector sv = new StringVector(); + sv.add(transcriptName); + final Feature transcript = chadoGene.containsTranscript(sv); + + if(transcript != null && GeneUtils.isNonCodingTranscripts(transcript.getKey())) + return null; + + // add transcript & protein qualifiers to CDS try { final Feature protein = chadoGene.getProteinOfTranscript(transcriptName); if(protein != null) combineQualifiers(qualifiers, protein.getQualifiers().copy()); + + if(transcript != null) + combineQualifiers(qualifiers, transcript.getQualifiers().copy()); } catch(NullPointerException npe){}