get_randomSQ.py
Cet script python récupère aléatoirement un nombre de séquences demandées dans un fichier fasta nommé obligatoirement query.fasta
Exemple de ligne de commande:
python get_randomSQ.py [Nombre de séquences demandées]
#! /usr/bin/env python
# -*- coding: UTF8 -*-
#Get random SQ
import sys
import os
import numpy
from Bio import SeqIO
nbre = int(sys.argv[-1])
#nbre = 10
os.system("""grep -c ">" query.fasta > total.txt""")
r = file("./total.txt")
nbretotal = int(r.readline())
print "total sequences: " + str(nbretotal)
trig = int(nbretotal/nbre)
result = file("./out.fasta", "w")
count = 0
counttrig = 0
for record in SeqIO.parse("./query.fasta", "fasta") :
sq = ""
count +=1
if counttrig == trig :
counttrig = 0
for k in record :
sq = sq + k
result.write(">" + str(record.id) + "\n" + sq + "\n")
counttrig += 1
result.close()
r.close()
os.system("rm -rf total.txt")