gff_diff 0.1.1

A tool to generate a diff (in JSON format) between two GFF3 files.
Documentation
{
  "changes": [
    {
      "action": "add",
      "id": "E0009",
      "key": "Parent",
      "value": "M0001",
      "what": "attribute"
    },
    {
      "action": "remove",
      "id": "E0009",
      "key": "Parent",
      "value": "M0002",
      "what": "attribute"
    },
    {
      "action": "add",
      "id": "E0009",
      "key": "Parent",
      "value": "M0001",
      "what": "attribute"
    },
    {
      "action": "add",
      "id": "C0007",
      "key": "Parent",
      "value": "M0001",
      "what": "attribute"
    },
    {
      "action": "remove",
      "id": "C0007",
      "key": "Parent",
      "value": "M0002",
      "what": "attribute"
    },
    {
      "action": "add",
      "id": "C0007",
      "key": "Parent",
      "value": "M0001",
      "what": "attribute"
    },
    {
      "action": "add",
      "id": "C0008",
      "key": "Parent",
      "value": "M0001",
      "what": "attribute"
    },
    {
      "action": "remove",
      "id": "C0008",
      "key": "Parent",
      "value": "M0002",
      "what": "attribute"
    },
    {
      "action": "add",
      "id": "C0008",
      "key": "Parent",
      "value": "M0001",
      "what": "attribute"
    },
    {
      "action": "add",
      "id": "E0007",
      "key": "Parent",
      "value": "M0001",
      "what": "attribute"
    },
    {
      "action": "remove",
      "id": "E0007",
      "key": "Parent",
      "value": "M0002",
      "what": "attribute"
    },
    {
      "action": "add",
      "id": "E0007",
      "key": "Parent",
      "value": "M0001",
      "what": "attribute"
    },
    {
      "action": "add",
      "id": "E0008",
      "key": "Parent",
      "value": "M0001",
      "what": "attribute"
    },
    {
      "action": "remove",
      "id": "E0008",
      "key": "Parent",
      "value": "M0002",
      "what": "attribute"
    },
    {
      "action": "add",
      "id": "E0008",
      "key": "Parent",
      "value": "M0001",
      "what": "attribute"
    },
    {
      "action": "add",
      "id": "C0009",
      "key": "Parent",
      "value": "M0001",
      "what": "attribute"
    },
    {
      "action": "remove",
      "id": "C0009",
      "key": "Parent",
      "value": "M0002",
      "what": "attribute"
    },
    {
      "action": "add",
      "id": "C0009",
      "key": "Parent",
      "value": "M0001",
      "what": "attribute"
    },
    {
      "action": "add",
      "id": "E0006",
      "key": "Parent",
      "value": "M0001",
      "what": "attribute"
    },
    {
      "action": "remove",
      "id": "E0006",
      "key": "Parent",
      "value": "M0002",
      "what": "attribute"
    },
    {
      "action": "add",
      "id": "E0006",
      "key": "Parent",
      "value": "M0001",
      "what": "attribute"
    },
    {
      "action": "add",
      "id": "E0010",
      "key": "Parent",
      "value": "M0001",
      "what": "attribute"
    },
    {
      "action": "remove",
      "id": "E0010",
      "key": "Parent",
      "value": "M0002",
      "what": "attribute"
    },
    {
      "action": "add",
      "id": "E0010",
      "key": "Parent",
      "value": "M0001",
      "what": "attribute"
    },
    {
      "action": "add",
      "id": "C0010",
      "key": "Parent",
      "value": "M0001",
      "what": "attribute"
    },
    {
      "action": "remove",
      "id": "C0010",
      "key": "Parent",
      "value": "M0002",
      "what": "attribute"
    },
    {
      "action": "add",
      "id": "C0010",
      "key": "Parent",
      "value": "M0001",
      "what": "attribute"
    },
    {
      "action": "add",
      "id": "C0006",
      "key": "Parent",
      "value": "M0001",
      "what": "attribute"
    },
    {
      "action": "remove",
      "id": "C0006",
      "key": "Parent",
      "value": "M0002",
      "what": "attribute"
    },
    {
      "action": "add",
      "id": "C0006",
      "key": "Parent",
      "value": "M0001",
      "what": "attribute"
    },
    {
      "action": "remove",
      "id": "G0002",
      "removed_element": {
        "attributes": {
          "ID": [
            "G0002"
          ],
          "Name": [
            "Gene2"
          ],
          "status": [
            "Finished"
          ]
        },
        "end": 1900,
        "feature_type": "gene",
        "frame": ".",
        "score": ".",
        "seqname": "Scaffold0",
        "source": ".",
        "start": 1000,
        "strand": "+"
      },
      "what": "row"
    },
    {
      "action": "remove",
      "id": "M0002",
      "removed_element": {
        "attributes": {
          "ID": [
            "M0002"
          ],
          "Name": [
            "mRNA2"
          ],
          "Parent": [
            "G0002"
          ],
          "status": [
            "Finished"
          ]
        },
        "end": 1900,
        "feature_type": "mRNA",
        "frame": ".",
        "score": ".",
        "seqname": "Scaffold0",
        "source": ".",
        "start": 1000,
        "strand": "+"
      },
      "what": "row"
    }
  ]
}