Come estrarre le voci da più Fasta-Perl Files

November 8

Come estrarre le voci da più Fasta-Perl Files


Il formato di file FASTA viene utilizzato per memorizzare i dati della sequenza di acidi nucleici o peptidi. sequenze multiple possono essere memorizzate in un unico file, denominato file multi-FASTA. dati Sequenze è formattato come una breve riga di intestazione identificare la sequenza e dei dati di sequenza a seguito di una nuova linea. Posizionando le intestazioni di sequenza in un file multi-FASTA con comandi Perl, è possibile estrarre singole sequenze da un file multi-FASTA.

istruzione

1 Aprire un editor di testo con un file di testo vuoto per iniziare un nuovo programma Perl.

2 Iniziare il programma specificando la posizione del Perl sul vostro sistema. Questo è normalmente "/ usr / bin / perl" o "/ usr / local / bin / perl."

! / usr / bin / perl

3 Importare le "rigide" e librerie "File :: basename". La libreria "File :: Basename" supporta l'analisi dei percorsi di file ed estensioni. La libreria "rigorosa" limita costrutti non sicuri, gettando un errore durante la compilazione, piuttosto che in fase di esecuzione.

use strict
usare File :: Basename

4 Leggere la variabile argomento dalla riga di comando. Il vostro programma, si dovrebbe scegliere di nome "fasta_extract.pl," si aspettano di essere data la posizione di un file FASTA e parametri di scegliere le sequenze da estrarre. Il primo parametro sarà un nome di file FASTA e il secondo sarà una stringa per pattern matching. Argomento variabile sono accessibili dalla matrice "$ ARGV".

il mio $ fasta_file = $ ARGV [0];
il mio $ pattern = $ ARGV [1];

5 Aprire il file FASTA utilizzando il ") aperta (" la funzione. Potrai specificare il programma di smettere se non è possibile aprire il file con il comando "morire".

open (INPUT, $ fasta_file) || die "Impossibile aprire il file FASTA. \ n";

6 Assegnare variabile per contenere la sequenza e l'intestazione come si analizza il file FASTA.

la mia ($ sequenza, $ prev_header) = (0, "", '');

7 Loop attraverso le linee del file FASTA per identificare linea di intestazione che inizia con ">" che corrisponde alla tua modello specificato.

while (<INPUT>) {
il mio $ questa

linea = $;

ritorno della linea Formato, togliere finale a capo

$ This_line = ~ s / \ r \ n / \ n /;
chomp $ this_line;

aggiungere la sequenza se la fine del file

. $ Sequenza = un ($ this_line) se (EOF (INPUT));

Se la linea è un colpo di testa che inizia con ">" o fine del file

if (/>(.*)/ || eof (INPUT)) {

my $header = $1;
#If all of sequence read, and header matches, export sequence
print &quot;>$prev_header\n$sequence\n&quot; if($prev_header =~ /$pattern/);
$prev_header = $header;
$sequence = '';

} altro {

#append sequence
$sequence .= $this_line;

}
}

8 Chiudere il file FASTA aperto.

close (INPUT);

9 Eseguire il vostro script Perl e corrispondenti esportazioni sequenze di file eseguendo e reindirizzando uscita.

fasta_extract.pl my_file.fasta my_seq *> extracted_seq.fasta

Consigli e avvertenze

  • Alcuni file FASTA possono iniziare righe di intestazione con il carattere "@".