Recherche de tag: python3
Parseur de csv basique [Python]

- Délimiteur réglable
- Pas de limite de colonnes, mais nécessite des lignes "complètes" ET une ligne d'en-têtes de colonnes
- Retourne un générateur, théoriquement plus léger en mémoire. Mais itérable une seule fois !
import csv as L
def readCSV(file):
with open(file) as csvfile:
readCSV = L.reader(csvfile, delimiter=";")
firstRow=True
columnName=[]
for row in readCSV:
if firstRow:
firstRow=False
for col in row:
columnName.append(col)
else:
aRow={}
i=0
for col in columnName:
aRow[col]=row[i]
i+=1
yield aRow
2/5 - [3 ratings]
Parseur de fichier gff3 basique [Python]

{ numéro de l'ORF : [start, stop, strand ], ... }
Les print en commentaire permettent d'afficher le contenue du gff3 sur le terminal
contentGFF = ["seqid", "source", "type", "start", "end", "score", "strand", "phase", "attributes"]
def gff3parser (filename, dictOrf):
""" parser de gff3 """
with open(filename) as f:
for line in f:
if line.startswith("#"):
continue
content = line.strip().split("\t")
if len(content) == len(contentGFF):
value = [content[3], content[4], content[6]]
#print(value)
#print(content[8])
numORF = content[8].strip().split(";")
#print(numORF)
for product in numORF:
if re.search(r"^product=ORF\d{0,3}", product):
keys = product[11:]
dictOrf[keys] = value
return {}
# Usage :
orf = {}
gff3parser(gffname,orf) #avec gffname le nom du fichier gff3 à parser
1/5 - [1 rating]