> Modules non standards > Autres package Bio > gffutils
gffutils
Permet de créer une base sqlite à partir d'un gff3 (ou gtf) et de l'utiliser (faire import gffutils)
Création de la base :
- db = gffutils.create_db('myFile.gff3', 'output.db')
- on peut ensuite l'utiliser avec db = gffutils.FeatureDB('sample.db')
Boucler sur toutes les features (i.e. lignes du gff) :
- for feat in gffutils.DataIterator(db) ...
- ou aussi : feat in db.all_features()) ...
Features :
- sont de type de type gffutils.feature.Feature
- on peut faire print(feat) pour voir toute la feature.
- feat.chrom, feat.start, feat.end, feat.featuretype, feat.id, feat.strand (strand est '+', -' ou '.')
- feat.attributes :
- récupération de la séquence correspondant à une feature : one donne le fichier fasta de la séquence complète correspondante :
- feat.sequence('sequence.fas')
- feat.sequence('sequence.fas', use_strand = True) : la séquence est reverse-complémentée si elle est sur le brin moins (c'est le défaut)
Tous les types de feature du fichier :
for featureType in db.featuretypes():
print(featureType)
Hierarchie des features :
Récupérer les features sur une région :
- for feat in db.region(('chr1', 15000, 20000)) ... : récupère les features overlappantes.
- on peut aussi faire db.region(seqid = 'chr1', start = 15000, end = 20000) (si start ou end vaut None, pas de limite de ce côté-là)
- db.region(seqid = 'chr1', start = 15000, end = 20000, completely_within = True) : la feature doit être complètement incluse. Beaucoup plus rapide.
basic :
- les features qui sont bien caractérisées ont un ag "basic" dans la liste de leurs tags
- mais c'est seulement valale pour les features de type transcript, CDS, exon, start_codon, stop_codon, five_prime_UTR et three_prime_UTR
Copyright python-simple.com

programmer en python, tutoriel python, graphes en python, Aymeric Duclert