Skip to content

Latest commit

 

History

History
81 lines (56 loc) · 2.4 KB

File metadata and controls

81 lines (56 loc) · 2.4 KB
title BioJava:CookBookItaliano:Sequence:SubSequence
permalink wiki/BioJava%3ACookBookItaliano%3ASequence%3ASubSequence

Come posso ottenere una parte di una Sequenza?

In genere, data una sequenza, che sia nucleotidica o proteica, noi potremmo essere solamente interessati ad esaminare o le prime 10 basi o una regione compresa fra 2 punti. Come è possibile stampare una sotto-sequenza su un OutputStream come lo StdOut?

Biojava utilizza un sistema di coordinate biologiche per identificare le basi. La prima base ha indice 1 e l'ultima ha indice uguale alla lunghezza totale della sequenza; a differenza degli indici assegnati ai caratteri di una stringa che partono da 0 fino a (lunghezza totale - 1). Se si cerca di accedere ad una regione al di fuori di (1..lunghezza totale) viene sollevata una eccezione di tipo IndexOutOfBoundsException.

Ottenere una Sub - Sequence

`   SymbolList symL = null;`

`   //codice per generare una SymbolList`

`   //prendo il primo simbolo`  
`   Symbol sym = symL.symbolAt(1);`

`   //le prime tre basi`  
`   SymbolList symL2 = symL.subList(1,3);`

`   //le ultime tre basi`  
`   SymbolList symL3 = symL.subList(symL.length() - 3symL.length());`

Stampa una Sub - Sequence

`   //stampo le ultime tre basi di una SymbolList o di una Sequence`  
`   String s = symL.subStr(symL.length() - 3symL.length());`  
`   System.out.println(s);`

Codice completo

public class SubSequencing {

` public static void main(String[] args) {`  
`   SymbolList symL = null;`

`   //creo una RNA SymbolList`  
`   try {`  
`     symL = RNATools.createRNA("auggcaccguccagauu");`  
`   }`  
`   catch (IllegalSymbolException ex) {`  
`     ex.printStackTrace();`  
`   }`

`   //prendo il primo simbolo`  
`   Symbol sym = symL.symbolAt(1);`

`   //prendo le prime tre basi`  
`   SymbolList symL2 = symL.subList(1,3);`

`   //prendo le ultime tre basi`  
`   SymbolList symL3 = symL.subList(symL.length() - 3symL.length());`

`   //stampo le ultime tre basi`  
`   String s = symL.subStr(symL.length() - 3symL.length());`  
`   System.out.println(s);`  
` }`

} ```