2016-06-11 30 views
0

ich installiert und Prägungs konfiguriert und kann die einfachen Befehlszeilenargumente für das Erhalten der Konsens von einer vorher ausgerichtet MultiFASTA-Datei ausführen:Emboss Nachteile für viele Dateien Konsensus-Sequenz immer, nicht nur eine

% Nachteile

erstellen einer Consensus-Sequenz aus einem multiplen Alignment

Input (ausgerichtet) -Sequenz set: dna.msf

Ausgabesequenz [dna.fasta]: aligned.cons

Dies ist perfekt für den Umgang mit einer Datei zu einer Zeit, aber ich habe Hunderte zu verarbeiten. Ich habe angefangen, ein Perl-Skript mit einer foreach-Schleife zu schreiben, um zu versuchen, dies für jede Datei zu verarbeiten, aber ich denke, ich muss außerhalb des Skripts sein, um diese Befehle auszuführen. Irgendwelche Hinweise darauf, wie ich ein Kommandozeilen-freundliches Programm ausführen kann, um eine einzige Consensus-Sequenz im Fasta-Format aus einer zuvor ausgerichteten Multifasta-Datei zu erhalten, für viele Dateien nacheinander? Ich brauche keine Prägung - ich könnte ein anderes Programm verwenden. Hier ist mein Code so weit:

#!/usr/bin/perl 
    use warnings; 
    use strict; 

    my $dir = ("/Users/roblogan/Documents/Clustered_Barcodes_Aligned"); 

    my @ArrayofFiles = glob "$dir/*"; #put all files in the directory into an array 

    #print join("\n", @ArrayofFiles), "\n"; #diagnostic print 

    foreach my $file (@ArrayofFiles){ 
      print 'cons', "\n"; 
      print "/Users/roblogan/Documents/Clustered_Barcodes_Aligned/Clustered_Barcode_Number_*.*.Sequences.txt.out", "\n"; 
      print "*.*.Consensus.txt", "\n"; 
    } 
+0

Ihre 'print' Anweisungen - ist das wie ein Befehl aussieht? Mit anderen Worten, was genau ist der Befehl, den Sie für nur einen Pop von Hand ausführen? – zdim

+0

können Sie bitte angeben, welches EMBOSS-Tool Sie verwenden möchten? – Arijit

+0

Hallo Arijit- Ich benutze EMBOSS CONS, wie im Titel der Frage. Hallo zdim, die genauen Befehle, die ich erfolgreich von Hand ausführen, sind: 1) Nachteile 2) Name der ausgerichteten Datei-Eingabe 3) Name der Konsensus-Datei Ausgabe, wie in dem Beispiel in der Frage gegeben (in Fettdruck). Die Namen können sich ändern, die Aufforderung "Nachteile" kann nicht. Die Dateien, die ich in den Arbeitsablauf einfügen möchte, variieren nach Nummern, die in meiner Druckanweisung mit * angegeben sind. – Rob

Antwort

1

EMBOSS Nachteile hat zwei obligatorische Qualifier:

  1. - Sequenz (die Eingangssequenz zur Verfügung zu stellen)

  2. - outseq (für die Ausgabe).

so müssen Sie das obige Feld zur Verfügung stellen.

Jetzt ist Ihr Code wenig ändern mehrere Programm auszuführen:

my $count=1; 
foreach my $file (@ArrayofFiles){ 
      $output_path= "/Users/roblogan/Documents/Clustered_Barcodes_Aligned/"; 
      my $output_file = $output_path. "out$count";# please change here to get your desired output filename 
      my $command = "cons -sequence '$file' -outseq '$output_file' "; 
      system($command); 
      $count ++; 
} 

Hoffe, dass die oben genannte Code wird für Sie arbeiten.

+0

Super Arbeit Arijit. Vielen Dank! :) – Rob