[PYTHON] Entfernen oder Abrufen von Arrays aus Fasta gemäß der ID-Listendatei

Nachtrag: 29.06.2018

Sie können das gleiche mit seqkit grep tun

https://github.com/shenwei356/seqkit

Sequenzen aus fasta extrahieren und löschen

Löschen Sie das Array mit der ID-Listendatei oder extrahieren Sie nur dieses Array.

fasta_extract.py


#!/usr/bin/env python
# -*- coding: utf-8 -*-

#fasta_Setzen Sie das ID-Element auf key und senden Sie das Hit-Array an die Standardausgabe

import sys
from Bio import SeqIO


fasta_in = sys.argv[1]                            #Geben Sie im ersten Argument die Fasta-Datei an, die Sie ändern möchten.
query = sys.argv[2]                          #Geben Sie im zweiten Argument die Datei an, die die keyID für jede Zeile beschreibt


for record in SeqIO.parse(fasta_in, 'fasta'): #Öffnen Sie die Fasta-Datei Parse mit SeqIO(Lesen Sie jeweils einen Artikel.
    id_part = record.id                       #Lesen Sie den ID-Teil von fasta
    m_part = id_part.rstrip()        #chomp und m_Teilweise setzen
    description_part = record.description
    seq = record.seq                          #Lesen Sie den Array-Teil von Fastan
    for q in open(query, "r"):                     #Öffnen Sie die Anmerkungsinformationsdatei
        if m_part == q.rstrip():            #Wenn der ID-Teil der Fasta-Datei und der ID-Teil des Wechslerelements übereinstimmen. ..
            fasta_seq = '>' + description_part + '\n' + seq      #Im Fasta-Format anordnen
            print(fasta_seq)                  #Ausgabe fasta auf Standardausgabe

fasta_remove.py


#!/usr/bin/env python
# -*- coding: utf-8 -*-

#fasta_Setzen Sie das ID-Element auf den Schlüssel und geben Sie das Array aus, das nicht in der Standardausgabe getroffen wurde

import sys
from Bio import SeqIO


fasta_in = sys.argv[1]                            #Geben Sie im ersten Argument die Fasta-Datei an, die Sie ändern möchten.
query = sys.argv[2]                          #Geben Sie im zweiten Argument die Datei an, die die keyID für jede Zeile beschreibt
hit = 0

for record in SeqIO.parse(fasta_in, 'fasta'): #Öffnen Sie die Fasta-Datei Parse mit SeqIO(Lesen Sie jeweils einen Artikel.
    id_part = record.id                       #Lesen Sie den ID-Teil von fasta
    m_part = id_part.rstrip()        #chomp und m_Teilweise setzen
    description_part = record.description
    seq = record.seq                          #Lesen Sie den Array-Teil von Fastan
    for q in open(query, "r"):                     #Öffnen Sie die Anmerkungsinformationsdatei
        if m_part == q.rstrip():            #Wenn der ID-Teil der Fasta-Datei und der ID-Teil des Wechslerelements übereinstimmen. ..
            hit += 1
    if hit == 0:
        fasta_seq = '>' + description_part + '\n' + seq      #Im Fasta-Format anordnen
        print(fasta_seq)                  #Ausgabe fasta auf Standardausgabe
    hit = 0

fasta_extract_cont.py


#!/usr/bin/env python
# -*- coding: utf-8 -*-

#fasta_Setzen Sie das ID-Element auf key und senden Sie das Hit-Array an die Standardausgabe(Version entsprechend Teilübereinstimmung)

import sys
from Bio import SeqIO


fasta_in = sys.argv[1]                            #Geben Sie im ersten Argument die Fasta-Datei an, die Sie ändern möchten.
query = sys.argv[2]                          #Geben Sie im zweiten Argument die Datei an, die die keyID für jede Zeile beschreibt


for record in SeqIO.parse(fasta_in, 'fasta'): #Öffnen Sie die Fasta-Datei Parse mit SeqIO(Lesen Sie jeweils einen Artikel.
    id_part = record.id                       #Lesen Sie den ID-Teil von fasta
    m_part = id_part.rstrip()        #chomp und m_Teilweise setzen
    description_part = record.description
    seq = record.seq                          #Lesen Sie den Array-Teil von Fastan
    for q in open(query, "r"):                     #Öffnen Sie die Anmerkungsinformationsdatei
        if q.rstrip() in m_part:            #Einschließen oder suchen
            fasta_seq = '>' + description_part + '\n' + seq      #Im Fasta-Format anordnen
            print(fasta_seq)                  #Ausgabe fasta auf Standardausgabe

fasta_remove_cont.py


#!/usr/bin/env python
# -*- coding: utf-8 -*-

#fasta_Setzen Sie das ID-Element auf key und senden Sie das Hit-Array an die Standardausgabe(Version entsprechend Teilübereinstimmung)

import sys
from Bio import SeqIO


fasta_in = sys.argv[1]                            #Geben Sie im ersten Argument die Fasta-Datei an, die Sie ändern möchten.
query = sys.argv[2]                          #Geben Sie im zweiten Argument die Datei an, die die keyID für jede Zeile beschreibt
hit = 0


for record in SeqIO.parse(fasta_in, 'fasta'): #Öffnen Sie die Fasta-Datei Parse mit SeqIO(Lesen Sie jeweils einen Artikel.
    id_part = record.id                       #Lesen Sie den ID-Teil von fasta
    m_part = id_part.rstrip()        #chomp und m_Teilweise setzen
    description_part = record.description
    seq = record.seq                          #Lesen Sie den Array-Teil von Fastan
    for q in open(query, "r"):                     #Öffnen Sie die Anmerkungsinformationsdatei
        if q.rstrip() in m_part:            #Einschließen oder suchen
            hit += 1
    if hit == 0:
        fasta_seq = '>' + description_part + '\n' + seq      #Im Fasta-Format anordnen
        print(fasta_seq)                  #Ausgabe fasta auf Standardausgabe
    hit = 0

Wenn der Beschreibungsteil durchsucht wird

fasta_remove_V3.py



#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
from Bio import SeqIO


fasta_in = sys.argv[1]                            #Geben Sie im ersten Argument die Fasta-Datei an, die Sie ändern möchten.
query = sys.argv[2]                          #Geben Sie im zweiten Argument die Datei an, die das Suchschlüsselwort für jede Zeile beschreibt
hit = 0

for record in SeqIO.parse(fasta_in, 'fasta'): #Öffnen Sie die Fasta-Datei Parse mit SeqIO(Lesen Sie jeweils einen Artikel.
    id_part = record.description                       #Lesen Sie den Beschreibungsteil von fasta
    m_part = id_part.rstrip()        #chomp und m_Teilweise setzen
    description_part = record.description
    seq = record.seq                          #Lesen Sie den Array-Teil von Fastan
    for q in open(query, "r"):                     #Öffnen Sie die Anmerkungsinformationsdatei
        if  q.rstrip() in m_part:            #Wenn der ID-Teil der Fasta-Datei und der ID-Teil des Wechslerelements übereinstimmen. ..
            hit += 1
    if hit == 0:
        fasta_seq = '>' + description_part + '\n' + seq      #Im Fasta-Format anordnen
        print(fasta_seq)                  #Ausgabe fasta auf Standardausgabe
    hit = 0

Recommended Posts

Entfernen oder Abrufen von Arrays aus Fasta gemäß der ID-Listendatei
[Python] So entfernen Sie doppelte Werte aus der Liste
Verwenden Sie Boto3, um über 1000 Präfixe aus der Dateiliste von S3 abzurufen
Farbpunkte entsprechend dem Abstand von der Regressionskurve
Python - Lesen Sie Daten aus einer numerischen Datendatei, um die verteilte, gemeinsam verteilte Matrix, Eigenwerte und Eigenvektoren zu finden
Zu beachtende Punkte beim Löschen mehrerer Elemente aus der Liste
Extrahieren Sie den Wert, der einem Wert am nächsten kommt, aus einem Listenelement in Python
Lesen Sie das alte Gakushin DC-Antragsformular Word-Datei (.doc) von Python und versuchen Sie, es zu bedienen
Punkt entsprechend dem Bild
Entfernen Sie den Rahmen aus dem Bild
Geben Sie die in S3 Bucket enthaltene Schlüsselliste in eine Datei aus
Das Hinzufügen ist schneller als das Hinzufügen und Erweitern der Liste, oder?
Wiederholen Sie mit While. Skript zum Twittern oder Suchen vom Terminal aus
So vergleichen Sie Listen und rufen allgemeine Elemente in einer Liste ab
Wenn Sie die Liste entfernen, die geloopt werden soll, werden Sie schrecklich.
So erhalten Sie mithilfe der Mastodon-API Follower und Follower von Python
[EC2] So installieren und laden Sie chromedriver über die Befehlszeile herunter
Lernen Sie die M-H- und HMC-Methoden, indem Sie die Bayes'schen Statistiken anhand der Grundlagen lesen
Durchsuchen Sie das Verzeichnis und erstellen Sie eine Liste mit Verzeichnispfaden und Dateinamen
So entfernen Sie Duplikate aus einer Python-Liste unter Beibehaltung der Reihenfolge.