Vous pouvez faire la même chose avec seqkit grep
https://github.com/shenwei356/seqkit
Supprimez le tableau contenant le fichier de liste d'ID ou extrayez uniquement ce tableau.
fasta_extract.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#fasta_Définissez l'élément id sur clé et envoyez le tableau de résultats à la sortie standard
import sys
from Bio import SeqIO
fasta_in = sys.argv[1] #Dans le premier argument, spécifiez le fichier fasta que vous souhaitez modifier.
query = sys.argv[2] #Spécifiez le fichier qui décrit le keyID pour chaque ligne dans le deuxième argument
for record in SeqIO.parse(fasta_in, 'fasta'): #Ouvrez Fasta File Parse à l'aide de SeqIO(Lire un élément à la fois)
id_part = record.id #Lire la partie ID de fasta
m_part = id_part.rstrip() #chomp et m_Mettre en partie
description_part = record.description
seq = record.seq #Lire la partie tableau de fastan
for q in open(query, "r"): #Ouvrez le fichier d'informations d'annotation
if m_part == q.rstrip(): #Si la partie id du fichier fasta et la partie id de l'élément de changeur correspondent. ..
fasta_seq = '>' + description_part + '\n' + seq #Organiser au format fasta
print(fasta_seq) #Sortie fasta vers sortie standard
fasta_remove.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#fasta_Définissez l'élément id sur la clé et affichez le tableau qui n'a pas été atteint dans la sortie standard
import sys
from Bio import SeqIO
fasta_in = sys.argv[1] #Dans le premier argument, spécifiez le fichier fasta que vous souhaitez modifier.
query = sys.argv[2] #Spécifiez le fichier qui décrit le keyID pour chaque ligne dans le deuxième argument
hit = 0
for record in SeqIO.parse(fasta_in, 'fasta'): #Ouvrez Fasta File Parse à l'aide de SeqIO(Lire un élément à la fois)
id_part = record.id #Lire la partie ID de fasta
m_part = id_part.rstrip() #chomp et m_Mettre en partie
description_part = record.description
seq = record.seq #Lire la partie tableau de fastan
for q in open(query, "r"): #Ouvrez le fichier d'informations d'annotation
if m_part == q.rstrip(): #Si la partie id du fichier fasta et la partie id de l'élément de changeur correspondent. ..
hit += 1
if hit == 0:
fasta_seq = '>' + description_part + '\n' + seq #Organiser au format fasta
print(fasta_seq) #Sortie fasta vers sortie standard
hit = 0
fasta_extract_cont.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#fasta_Définissez l'élément id sur clé et envoyez le tableau de résultats à la sortie standard(Version correspondant à une correspondance partielle)
import sys
from Bio import SeqIO
fasta_in = sys.argv[1] #Dans le premier argument, spécifiez le fichier fasta que vous souhaitez modifier.
query = sys.argv[2] #Spécifiez le fichier qui décrit le keyID pour chaque ligne dans le deuxième argument
for record in SeqIO.parse(fasta_in, 'fasta'): #Ouvrez Fasta File Parse à l'aide de SeqIO(Lire un élément à la fois)
id_part = record.id #Lire la partie ID de fasta
m_part = id_part.rstrip() #chomp et m_Mettre en partie
description_part = record.description
seq = record.seq #Lire la partie tableau de fastan
for q in open(query, "r"): #Ouvrez le fichier d'informations d'annotation
if q.rstrip() in m_part: #Inclure ou rechercher
fasta_seq = '>' + description_part + '\n' + seq #Organiser au format fasta
print(fasta_seq) #Sortie fasta vers sortie standard
fasta_remove_cont.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#fasta_Définissez l'élément id sur clé et envoyez le tableau de résultats à la sortie standard(Version correspondant à une correspondance partielle)
import sys
from Bio import SeqIO
fasta_in = sys.argv[1] #Dans le premier argument, spécifiez le fichier fasta que vous souhaitez modifier.
query = sys.argv[2] #Spécifiez le fichier qui décrit le keyID pour chaque ligne dans le deuxième argument
hit = 0
for record in SeqIO.parse(fasta_in, 'fasta'): #Ouvrez Fasta File Parse à l'aide de SeqIO(Lire un élément à la fois)
id_part = record.id #Lire la partie ID de fasta
m_part = id_part.rstrip() #chomp et m_Mettre en partie
description_part = record.description
seq = record.seq #Lire la partie tableau de fastan
for q in open(query, "r"): #Ouvrez le fichier d'informations d'annotation
if q.rstrip() in m_part: #Inclure ou rechercher
hit += 1
if hit == 0:
fasta_seq = '>' + description_part + '\n' + seq #Organiser au format fasta
print(fasta_seq) #Sortie fasta vers sortie standard
hit = 0
fasta_remove_V3.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
from Bio import SeqIO
fasta_in = sys.argv[1] #Dans le premier argument, spécifiez le fichier fasta que vous souhaitez modifier.
query = sys.argv[2] #Spécifiez le fichier qui décrit le mot-clé de recherche pour chaque ligne dans le deuxième argument
hit = 0
for record in SeqIO.parse(fasta_in, 'fasta'): #Ouvrez Fasta File Parse à l'aide de SeqIO(Lire un élément à la fois)
id_part = record.description #Lire la partie description de fasta
m_part = id_part.rstrip() #chomp et m_Mettre en partie
description_part = record.description
seq = record.seq #Lire la partie tableau de fastan
for q in open(query, "r"): #Ouvrez le fichier d'informations d'annotation
if q.rstrip() in m_part: #Si la partie id du fichier fasta et la partie id de l'élément de changeur correspondent. ..
hit += 1
if hit == 0:
fasta_seq = '>' + description_part + '\n' + seq #Organiser au format fasta
print(fasta_seq) #Sortie fasta vers sortie standard
hit = 0
Recommended Posts