BioJava:CookbookFrench:SeqIO:GBToFasta
From BioJava
Comment extraire les Sequences à partir de fichiers en format GenBank/ EMBL/ SwissProt etc., pour ensuite les écrire en format Fasta?
Pour accomplir cette tâche de conversion, nous allons modifier le lecteur de base de la démo précédente pour y inclure la possibilité d'écrire les données de séquence en format FASTA. L'exmple fourni fonctionne à partir de la version 1.3 de BioJava.
import java.io.*; import org.biojava.bio.*; import org.biojava.bio.seq.*; import org.biojava.bio.seq.io.*; public class GeneralReader { /** * Ce programme lira n'importe quel fichier dans un format supporté par SeqIOTools. * Il prend trois arguments: le 1er est le nom du fichier, le 2ème le format et le 3ème * est le type de molecule qui est lu. Les combinaisons illégales (par ex. séquence d'ADN * en SwissProt) lancera une exception. * * Formats permis: (minuscule ou majuscule). * * FASTA * EMBL * GENBANK * SWISSPROT (or swiss) * GENPEPT * * Types de séquence permises: (minuscule ou majuscule). * * DNA * AA (or Protein) * RNA * */ public static void main(String[] args) { try { //prépare un BufferedReader pour lecture du fichier BufferedReader br = new BufferedReader(new FileReader(args[0])); //le format du fichier String format = args[1]; //l'Alphabet String alpha = args[2]; /* * créer un SequenceIterator pour parcourir toutes les séquences du fichier. * SeqIOTools.fileToBiojava() retourne un Object. Si le fichier lu est un * alignment, tel que MSF, un objet Alignment est retourné, sinon un * SequenceIterator est retourné. */ SequenceIterator iter = (SequenceIterator)SeqIOTools.fileToBiojava(format, alpha, br); // faire quelque chose avec les séquences SeqIOTools.writeFasta(System.out, iter); } catch (FileNotFoundException ex) { //ne trouve pas le fichier spécifié en args[0] ex.printStackTrace(); }catch (BioException ex) { //nom de format de fichier invalide ex.printStackTrace(); }catch (IOException ex){ //erreur d'écriture du format fasta ex.printStackTrace(); } } }

