BioJava:CookBookItaliano:SeqIO:GBtoFasta
Come posso leggere una sequenza GenBank/EMBL/Swissprot e convertirla nel formato FASTA?
Per effettuare questa conversione estendiamo l’esempio precedente (clicca qui) aggiungendo la funzionalità di scrivere la sequenza in formato FASTA. Di seguito è mostrato un esempio:
```java import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.FileReader;
import org.biojavax.Namespace; import org.biojavax.RichObjectFactory; import org.biojavax.bio.seq.RichSequence; import org.biojavax.bio.seq.RichSequenceIterator;
public class ReadWriteGES_BJ1_6{
public static void main(String[] args) {
BufferedReader br = null;
Namespace ns = null;
//questo è il path utilizzato anche per il file in formato fasta
String filePath= "/whereYourFileIs/sequences";
String insdExt=".gbc";
String fastaExt=".FASTA";
try{
br = new BufferedReader(new FileReader(filePath+insdExt));
ns = RichObjectFactory.getDefaultNamespace();
// Si può utilizzare uno qualsiasi dei metodi presenti nelle BioJava 1.6 API
RichSequenceIterator rsi = RichSequence.IOTools.readINSDseqDNA(br, ns);
//Se un file contiene più sequenze è possibile utilizzare un iteratore per leggerle tutte
while (rsi.hasNext()) {
RichSequence seq = rsi.nextRichSequence();
RichSequence.IOTools.writeFasta(new
FileOutputStream(new File(filePath+fastaExt)), seq, ns);
System.out.println(
seq.toString() +
" has " + seq.countFeatures() +
" features");
}
}
catch(Exception be){
be.printStackTrace();
System.exit(-1);
}
}
} ```