Mercurial > repos > iuc > circos
view tiles-from-gff3.py @ 11:31a35811dda6 draft
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit b9ec351920dbc83fa14bd1f8cfdd0a6a19b89473"
author | iuc |
---|---|
date | Tue, 16 Nov 2021 09:20:08 +0000 |
parents | 740057a5126d |
children |
line wrap: on
line source
#!/usr/bin/env python import logging import sys from BCBio import GFF logging.basicConfig(level=logging.INFO) log = logging.getLogger() if __name__ == "__main__": attr = sys.argv[2] for record in GFF.parse(sys.argv[1]): if len(record.features) == 0: continue for feature in sorted(record.features, key=lambda x: x.location.start): # chrom chromStart chromEnd # name score strand # thickStart thickEnd itemRgb kv = { "strand": 0 if not feature.location.strand else feature.location.strand, "name": feature.qualifiers.get(attr, ["None"])[0] or feature.id, "value": feature.qualifiers.get("score", [0])[0], "type": feature.type, } line = [ record.id, str(int(feature.location.start)), str(int(feature.location.end)), ",".join(["%s=%s" % x for x in sorted(kv.items())]), ] sys.stdout.write("\t".join(line)) sys.stdout.write("\n")