Re: make feature to create embl or genbank file

George Waldon <[email protected]>
Newsgroups gmane.comp.java.bio.general
Message-ID <[email protected]>
Hi Hedwig,

The problem holds with StrandedFeature. The strandeness of a feature  
is the transdeness of its location. StrandedFeature should be  
eliminated from bj1. Use biojavaX instead, something like this, once  
you have created a RichLocation on the appropriate strand:

public Feature.Template getFeatureTemplate(RichSequence  
parent,RichLocation loc) {
         RichFeature.Template templ = new RichFeature.Template();
         RichAnnotation rans = new SimpleRichAnnotation();
	templ.annotation = rans;
         templ.sourceTerm = // find an appropriate term
         templ.typeTerm =  
RichObjectFactory.getDefaultOntology().getOrCreateTerm("CDS");
         templ.featureRelationshipSet = new TreeSet();
         templ.rankedCrossRefs = new TreeSet();
         templ.location = loc;

         // add notes if any you'd like

         return templ;
}

That should make it into the output file.

Regards,
George


Quoting Hedwig Kurka <[email protected]>:

> Hello all,
>
> I have a problem concerning creating EMBL or Genbank files.
> Below is a fragment of my code and an example of how the EMBL file looks
> like.
>
>        String name = "test genome";
>        String seqString = pFasta.getSequence(1, pFasta.getLength());
>        Sequence seq = DNATools.createDNASequence(seqString, name);
>        Alphabet dna =  AlphabetManager.alphabetForName("DNA");
>        RichSequence rs =
> Tools.createRichSequence(RichObjectFactory.getDefaultNamespace(), name,
> seqString, dna);
>        Set<Feature> rfeatSet = new HashSet<Feature>();
>        StrandedFeature.Template t = new StrandedFeature.Template();
>        for(int i=0; i<annotierten.size(); i++){
>                    int start = (int) Math.abs(anno.get(i).getStart());
>                    int stop = (int) Math.abs(anno.get(i).getStop());
>                    t.type = "CDS";
>                    if(start < stop){
>                        t.location = new RangeLocation(start, stop);
>                        t.strand = StrandedFeature.POSITIVE;
>                    }
>                    if(start > stop){
>                        t.location = new RangeLocation(stop, start);
>                        t.strand = StrandedFeature.NEGATIVE;
>                    }
>                    Feature f = seq.createFeature(t);
>                    RichFeature rf = RichFeature.Tools.enrich(f);
>                    rfeatSet.add(rf);
>        }
>        rs.setFeatureSet(rfeatSet);
>        rs = RichSequence.Tools.enrich(rs);
>        RichSequence.IOTools.writeEMBL(output, rs,
> RichObjectFactory.getDefaultNamespace());
>
> EMBL file:
> FT   any             1889536..1890903
> FT   any             134636..136987
> FT   any             3727110..3727625
> FT   any             2812636..2813517
> FT   any             580648..581643
> FT   any             2330962..2331921
> FT   any             1012371..1013513
> FT   any             1260854..1261720
> FT   any             1602858..1603706
> FT   any             4108079..4108999
> FT   any             346637..347731
> FT   any             4073395..4074549
>
> I wonder where the information of plus and minus strand is, why is there
> "any" in the file and not "CDS" and so on.
>
> As tutorial I found that:
> http://www.biojava.org/wiki/BioJava:Cookbook:Locations:Feature. Is there
> another one?
>
> Thank you for your help!
>
> And any help is appreciated,
>
> Hedwig
>
> _______________________________________________
> Biojava-l mailing list  -  [email protected]
> http://lists.open-bio.org/mailman/listinfo/biojava-l
>



_______________________________________________
Biojava-l mailing list  -  [email protected]
http://lists.open-bio.org/mailman/listinfo/biojava-l
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.