diff --git a/docs/images/formats-relation.excalidraw b/docs/images/formats-relation.excalidraw index 5d80524..57795bd 100644 --- a/docs/images/formats-relation.excalidraw +++ b/docs/images/formats-relation.excalidraw @@ -5,8 +5,8 @@ "elements": [ { "type": "rectangle", - "version": 299, - "versionNonce": 505531031, + "version": 388, + "versionNonce": 523356917, "index": "b0j", "isDeleted": false, "id": "kogyQ_dFmcB1QuA7Rj_Sy", @@ -16,8 +16,8 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 1254.05078125, - "y": 946.8671875, + "x": 1241.4375, + "y": 858.88671875, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", "width": 190.35546875000009, @@ -32,16 +32,24 @@ { "type": "text", "id": "fnUmxyvPJ8WsslQe2f6rr" + }, + { + "id": "-WzaOqAjESqJQBK942oqx", + "type": "arrow" + }, + { + "id": "jpetSOXy9Tbm0RR-yRDEO", + "type": "arrow" } ], - "updated": 1725452878683, + "updated": 1732116665665, "link": null, "locked": false }, { "type": "text", - "version": 233, - "versionNonce": 920281015, + "version": 318, + "versionNonce": 1257544635, "index": "b0k", "isDeleted": false, "id": "fnUmxyvPJ8WsslQe2f6rr", @@ -51,8 +59,8 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 1266.6885522305965, - "y": 964.3671875, + "x": 1254.0752709805965, + "y": 876.38671875, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", "width": 165.07992678880692, @@ -62,7 +70,7 @@ "frameId": null, "roundness": null, "boundElements": [], - "updated": 1725452878683, + "updated": 1732116628892, "link": null, "locked": false, "fontSize": 20, @@ -77,8 +85,8 @@ }, { "type": "rectangle", - "version": 298, - "versionNonce": 302207191, + "version": 501, + "versionNonce": 77797845, "index": "b0l", "isDeleted": false, "id": "FLiLqV5CFbKGAtf3C165x", @@ -88,8 +96,8 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 1171.59375, - "y": 805.3828125, + "x": 1038.453125, + "y": 747.28125, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", "width": 121.78906250000003, @@ -104,20 +112,16 @@ { "type": "text", "id": "MREzh5ZHophlp9hnT9iu-" - }, - { - "id": "9eV90N1fgG3HoSXkflN6G", - "type": "arrow" } ], - "updated": 1725452878683, + "updated": 1732116643125, "link": null, "locked": false }, { "type": "text", - "version": 222, - "versionNonce": 959520247, + "version": 424, + "versionNonce": 556472117, "index": "b0m", "isDeleted": false, "id": "MREzh5ZHophlp9hnT9iu-", @@ -127,8 +131,8 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 1204.3582994118333, - "y": 817.568359375, + "x": 1071.2176744118333, + "y": 759.466796875, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", "width": 56.25996367633343, @@ -138,7 +142,7 @@ "frameId": null, "roundness": null, "boundElements": [], - "updated": 1725452878683, + "updated": 1732116643125, "link": null, "locked": false, "fontSize": 20, @@ -153,8 +157,8 @@ }, { "type": "arrow", - "version": 108, - "versionNonce": 589122615, + "version": 439, + "versionNonce": 1488722101, "index": "b0n", "isDeleted": false, "id": "7bLEbORyGicw3mPaKYxz4", @@ -164,12 +168,12 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 1303.9609375, - "y": 924.69921875, + "x": 1314.515625, + "y": 841.5546875, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", - "width": 33.00390625, - "height": 46.3671875, + "width": 137.17578125, + "height": 56.65625, "seed": 944916279, "groupIds": [], "frameId": null, @@ -177,7 +181,7 @@ "type": 2 }, "boundElements": [], - "updated": 1725452878683, + "updated": 1732116649075, "link": null, "locked": false, "startBinding": null, @@ -191,16 +195,16 @@ 0 ], [ - -33.00390625, - -46.3671875 + -137.17578125, + -56.65625 ] ], "elbowed": false }, { "type": "arrow", - "version": 368, - "versionNonce": 760141399, + "version": 1066, + "versionNonce": 351137947, "index": "b0o", "isDeleted": false, "id": "-WzaOqAjESqJQBK942oqx", @@ -210,12 +214,12 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 1364.73046875, - "y": 924.90234375, + "x": 1319.96484375, + "y": 845.9140625, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", - "width": 131.0779572109318, - "height": 200.62109375, + "width": 138.03570809237226, + "height": 120.14453125, "seed": 1168911353, "groupIds": [], "frameId": null, @@ -223,14 +227,19 @@ "type": 2 }, "boundElements": [], - "updated": 1725454888670, + "updated": 1732116656794, "link": null, "locked": false, - "startBinding": null, + "startBinding": { + "elementId": "kogyQ_dFmcB1QuA7Rj_Sy", + "focus": 0.24444575991342546, + "gap": 12.97265625, + "fixedPoint": null + }, "endBinding": { "elementId": "QTPM9iqbB1KYC2ZKjud9K", - "focus": -0.35585433938286815, - "gap": 9.509765625, + "focus": 0.3388799582606127, + "gap": 13.080078125, "fixedPoint": null }, "lastCommittedPoint": null, @@ -242,20 +251,20 @@ 0 ], [ - 36.03125, - -124.2265625 + -66.7890625, + -59.6328125 ], [ - 131.0779572109318, - -200.62109375 + -138.03570809237226, + -120.14453125 ] ], "elbowed": false }, { "type": "rectangle", - "version": 519, - "versionNonce": 1510233113, + "version": 935, + "versionNonce": 312948917, "index": "b0p", "isDeleted": false, "id": "QTPM9iqbB1KYC2ZKjud9K", @@ -265,8 +274,8 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 1444.859375, - "y": 665.400390625, + "x": 1107.0546875, + "y": 663.318359375, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", "width": 121.78906250000003, @@ -286,23 +295,19 @@ "id": "WDuRFw5mTit6BL7XvnevY", "type": "arrow" }, - { - "id": "1g6zvkY6NY6rKK7mxuP4M", - "type": "arrow" - }, { "id": "-WzaOqAjESqJQBK942oqx", "type": "arrow" } ], - "updated": 1725454498853, + "updated": 1732116102488, "link": null, "locked": false }, { "type": "text", - "version": 447, - "versionNonce": 455147417, + "version": 862, + "versionNonce": 358330363, "index": "b0q", "isDeleted": false, "id": "I6IvN7shtwQlRti5VD07Z", @@ -312,8 +317,8 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 1478.9639221429825, - "y": 677.5859375, + "x": 1141.1592346429825, + "y": 675.50390625, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", "width": 53.579968214035034, @@ -323,7 +328,7 @@ "frameId": null, "roundness": null, "boundElements": [], - "updated": 1725454498853, + "updated": 1732116032436, "link": null, "locked": false, "fontSize": 20, @@ -338,8 +343,8 @@ }, { "type": "rectangle", - "version": 632, - "versionNonce": 770679929, + "version": 780, + "versionNonce": 1282734901, "index": "b0r", "isDeleted": false, "id": "ZxZdZDAqD8skOebOD73Vw", @@ -349,8 +354,8 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 1165.59375, - "y": 666.451171875, + "x": 1264.57421875, + "y": 660.666015625, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", "width": 121.78906250000003, @@ -366,10 +371,6 @@ "type": "text", "id": "ZH7BkYezGYua65m63sQoC" }, - { - "id": "9eV90N1fgG3HoSXkflN6G", - "type": "arrow" - }, { "id": "zKZHj3FNSI49PWSqmc11P", "type": "arrow" @@ -378,23 +379,19 @@ "id": "VXL1YMfzzETjunPWId-q8", "type": "arrow" }, - { - "id": "VQJJlQhsDAjFfAgDtSeuv", - "type": "arrow" - }, { "id": "T0ytVke3Z134KofuMpiV8", "type": "arrow" } ], - "updated": 1725454498853, + "updated": 1732116095202, "link": null, "locked": false }, { "type": "text", - "version": 564, - "versionNonce": 1013069241, + "version": 710, + "versionNonce": 95259227, "index": "b0s", "isDeleted": false, "id": "ZH7BkYezGYua65m63sQoC", @@ -404,8 +401,8 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 1183.1583097577095, - "y": 678.63671875, + "x": 1282.1387785077095, + "y": 672.8515625, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", "width": 86.659942984581, @@ -415,7 +412,7 @@ "frameId": null, "roundness": null, "boundElements": [], - "updated": 1725454498854, + "updated": 1732116065820, "link": null, "locked": false, "fontSize": 20, @@ -430,8 +427,8 @@ }, { "type": "arrow", - "version": 525, - "versionNonce": 1568609943, + "version": 784, + "versionNonce": 1071493077, "index": "b0t", "isDeleted": false, "id": "T0ytVke3Z134KofuMpiV8", @@ -441,12 +438,12 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 1364.8578715007752, - "y": 927.0855061123613, + "x": 1324.1625590007752, + "y": 842.0776936123613, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", - "width": 135.30243513780806, - "height": 202.10546875, + "width": 5.871057680664535, + "height": 118.83203125, "seed": 1160460311, "groupIds": [], "frameId": null, @@ -454,14 +451,14 @@ "type": 2 }, "boundElements": [], - "updated": 1725454864794, + "updated": 1732116663707, "link": null, "locked": false, "startBinding": null, "endBinding": { "elementId": "ZxZdZDAqD8skOebOD73Vw", - "focus": 0.4702615504627924, - "gap": 9.157771737361259, + "focus": 0.12332671423048447, + "gap": 13.208552987361259, "fixedPoint": null }, "lastCommittedPoint": null, @@ -473,20 +470,20 @@ 0 ], [ - -45.95162150077522, - -139.44097486236126 + -5.256309000775218, + -54.43316236236126 ], [ - -135.30243513780806, - -202.10546875 + -5.871057680664535, + -118.83203125 ] ], "elbowed": false }, { "type": "arrow", - "version": 107, - "versionNonce": 1534354743, + "version": 264, + "versionNonce": 1519151253, "index": "b0u", "isDeleted": false, "id": "EK3pNXHHyJYEnrZFgIBu6", @@ -496,8 +493,8 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 1056.29296875, - "y": 830.05078125, + "x": 925.71875, + "y": 772.53125, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", "width": 97.96875, @@ -509,7 +506,7 @@ "type": 2 }, "boundElements": [], - "updated": 1725452878683, + "updated": 1732116643125, "link": null, "locked": false, "startBinding": null, @@ -531,8 +528,8 @@ }, { "type": "text", - "version": 223, - "versionNonce": 1549779255, + "version": 446, + "versionNonce": 1571103611, "index": "b0v", "isDeleted": false, "id": "e3MoZWKqDVrR7djVYd-pE", @@ -542,8 +539,8 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 932.1640625, - "y": 773.8125, + "x": 817.45703125, + "y": 782.41796875, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", "width": 194.39984130859375, @@ -553,7 +550,7 @@ "frameId": null, "roundness": null, "boundElements": [], - "updated": 1725455249229, + "updated": 1732116708995, "link": null, "locked": false, "fontSize": 20, @@ -568,64 +565,8 @@ }, { "type": "arrow", - "version": 516, - "versionNonce": 1029090649, - "index": "b0w", - "isDeleted": false, - "id": "9eV90N1fgG3HoSXkflN6G", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1219.9840678710489, - "y": 792.5667659085244, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "width": 0.5212990350564723, - "height": 66.35546875, - "seed": 440754039, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 2 - }, - "boundElements": [], - "updated": 1725454498853, - "link": null, - "locked": false, - "startBinding": { - "elementId": "FLiLqV5CFbKGAtf3C165x", - "focus": -0.2078215094605606, - "gap": 12.816046591475583, - "fixedPoint": null - }, - "endBinding": { - "elementId": "ZxZdZDAqD8skOebOD73Vw", - "focus": 0.09342783353199421, - "gap": 10.389031533524417, - "fixedPoint": null - }, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": "arrow", - "points": [ - [ - 0, - 0 - ], - [ - 0.5212990350564723, - -66.35546875 - ] - ], - "elbowed": false - }, - { - "type": "arrow", - "version": 650, - "versionNonce": 434443929, + "version": 706, + "versionNonce": 1511886261, "index": "b0x", "isDeleted": false, "id": "96ruHX_1f5_lshtBMSwg-", @@ -635,8 +576,8 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 1043.3208326554973, - "y": 695.2106366317719, + "x": 998.7192701554973, + "y": 689.2848553817719, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", "width": 93.4921875, @@ -648,7 +589,7 @@ "type": 2 }, "boundElements": [], - "updated": 1725454498854, + "updated": 1732116056955, "link": null, "locked": false, "startBinding": null, @@ -670,8 +611,8 @@ }, { "type": "text", - "version": 685, - "versionNonce": 2145793687, + "version": 857, + "versionNonce": 1974564757, "index": "b0y", "isDeleted": false, "id": "IWmDtY_0lGgKceiJtLRpi", @@ -681,34 +622,34 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 831.7532043457031, - "y": 651.6875, + "x": 853.3196105957031, + "y": 622.31640625, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", - "width": 330.2397155761719, - "height": 75, + "width": 159.01988220214844, + "height": 100, "seed": 536960471, "groupIds": [], "frameId": null, "roundness": null, "boundElements": [], - "updated": 1725455275250, + "updated": 1732116701145, "link": null, "locked": false, "fontSize": 20, "fontFamily": 5, - "text": "Peptidoforms/Peptides/Features \nidentification\nquantification", + "text": "PSMs/Features\n/ProteinGroups \nidentification\nquantification", "textAlign": "left", "verticalAlign": "top", "containerId": null, - "originalText": "Peptidoforms/Peptides/Features \nidentification\nquantification", + "originalText": "PSMs/Features\n/ProteinGroups \nidentification\nquantification", "autoResize": true, "lineHeight": 1.25 }, { "type": "rectangle", - "version": 798, - "versionNonce": 1011377879, + "version": 799, + "versionNonce": 1527274005, "index": "b12", "isDeleted": false, "id": "fMCzFiwAdBt75EurL_hUR", @@ -735,16 +676,12 @@ "type": "text", "id": "dNQC5Xxiof0jmRCwAr6qD" }, - { - "id": "1g6zvkY6NY6rKK7mxuP4M", - "type": "arrow" - }, { "id": "VXL1YMfzzETjunPWId-q8", "type": "arrow" } ], - "updated": 1725454512038, + "updated": 1732116102488, "link": null, "locked": false }, @@ -787,8 +724,8 @@ }, { "type": "rectangle", - "version": 830, - "versionNonce": 1279181655, + "version": 981, + "versionNonce": 1198370139, "index": "b14", "isDeleted": false, "id": "kSvDwE2Z-ruzXZANjZBlo", @@ -798,12 +735,12 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 1190.87890625, - "y": 476.06640625, + "x": 1143.34375, + "y": 482.078125, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", "width": 121.78906250000003, - "height": 60, + "height": 62.398437500000014, "seed": 887961497, "groupIds": [], "frameId": null, @@ -815,23 +752,19 @@ "type": "text", "id": "EkGh00NV2ybAEkXgXCwo2" }, - { - "id": "WDuRFw5mTit6BL7XvnevY", - "type": "arrow" - }, { "id": "zKZHj3FNSI49PWSqmc11P", "type": "arrow" } ], - "updated": 1725454512038, + "updated": 1732116153841, "link": null, "locked": false }, { "type": "text", - "version": 767, - "versionNonce": 255839927, + "version": 917, + "versionNonce": 631589371, "index": "b15", "isDeleted": false, "id": "EkGh00NV2ybAEkXgXCwo2", @@ -841,8 +774,8 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 1210.9634704589844, - "y": 481.06640625, + "x": 1163.4283142089844, + "y": 488.27734375, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", "width": 81.61993408203125, @@ -852,7 +785,7 @@ "frameId": null, "roundness": null, "boundElements": [], - "updated": 1725454512038, + "updated": 1732116153841, "link": null, "locked": false, "fontSize": 20, @@ -867,8 +800,8 @@ }, { "type": "arrow", - "version": 1435, - "versionNonce": 803200279, + "version": 1623, + "versionNonce": 222867771, "index": "b17", "isDeleted": false, "id": "VXL1YMfzzETjunPWId-q8", @@ -878,12 +811,12 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 1216.3564841188563, - "y": 653.4137616317721, + "x": 1320.29797540762, + "y": 647.6286053817721, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", - "width": 280.4670858664697, - "height": 101.9296875, + "width": 125.69356332770599, + "height": 94.97265625, "seed": 193771897, "groupIds": [], "frameId": null, @@ -891,19 +824,19 @@ "type": 2 }, "boundElements": [], - "updated": 1725454512038, + "updated": 1732116111708, "link": null, "locked": false, "startBinding": { "elementId": "ZxZdZDAqD8skOebOD73Vw", - "focus": -0.7007436353306958, + "focus": -0.5888519810524866, "gap": 13.037410243227896, "fixedPoint": null }, "endBinding": { "elementId": "fMCzFiwAdBt75EurL_hUR", - "focus": -0.9216589288786264, - "gap": 14.228214756772104, + "focus": -0.19643241109881765, + "gap": 15.400089756772104, "fixedPoint": null }, "lastCommittedPoint": null, @@ -915,16 +848,16 @@ 0 ], [ - 280.4670858664697, - -101.9296875 + 125.69356332770599, + -94.97265625 ] ], "elbowed": false }, { "type": "arrow", - "version": 1227, - "versionNonce": 977869207, + "version": 1528, + "versionNonce": 1610633883, "index": "b18", "isDeleted": false, "id": "zKZHj3FNSI49PWSqmc11P", @@ -934,12 +867,12 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 1232.167589336373, - "y": 654.0050820369272, + "x": 1296.5651431616748, + "y": 648.2199257869272, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", - "width": 0.2769495002223721, - "height": 106.2109375, + "width": 84.5907036706542, + "height": 94.89546034973932, "seed": 1865990103, "groupIds": [], "frameId": null, @@ -947,7 +880,7 @@ "type": 2 }, "boundElements": [], - "updated": 1725454512038, + "updated": 1732116153841, "link": null, "locked": false, "startBinding": { @@ -959,7 +892,7 @@ "endBinding": { "elementId": "kSvDwE2Z-ruzXZANjZBlo", "focus": 0.31522425110176183, - "gap": 11.727738286927206, + "gap": 8.847902937187902, "fixedPoint": null }, "lastCommittedPoint": null, @@ -971,16 +904,16 @@ 0 ], [ - 0.2769495002223721, - -106.2109375 + -84.5907036706542, + -94.89546034973932 ] ], "elbowed": false }, { "type": "arrow", - "version": 1608, - "versionNonce": 811221111, + "version": 2282, + "versionNonce": 399684149, "index": "b19", "isDeleted": false, "id": "WDuRFw5mTit6BL7XvnevY", @@ -990,12 +923,12 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 1519.8020653947833, - "y": 653.7531289119272, + "x": 1165.9160825784181, + "y": 655.9796914119272, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", - "width": 267.6173706420641, - "height": 103.16015625, + "width": 20.09444614566155, + "height": 93.44601513663292, "seed": 1227693239, "groupIds": [], "frameId": null, @@ -1003,128 +936,15 @@ "type": 2 }, "boundElements": [], - "updated": 1725454512038, - "link": null, - "locked": false, - "startBinding": { - "elementId": "QTPM9iqbB1KYC2ZKjud9K", - "focus": 0.7023568088672151, - "gap": 11.647261713072794, - "fixedPoint": null - }, - "endBinding": { - "elementId": "kSvDwE2Z-ruzXZANjZBlo", - "focus": 0.8297216409595038, - "gap": 14.526566411927206, - "fixedPoint": null - }, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": "arrow", - "points": [ - [ - 0, - 0 - ], - [ - -267.6173706420641, - -103.16015625 - ] - ], - "elbowed": false - }, - { - "type": "arrow", - "version": 1341, - "versionNonce": 1180922871, - "index": "b1A", - "isDeleted": false, - "id": "1g6zvkY6NY6rKK7mxuP4M", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1503.8436957747087, - "y": 657.1545751612633, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "width": 0.8891145458264873, - "height": 108, - "seed": 946813367, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 2 - }, - "boundElements": [], - "updated": 1725454512038, + "updated": 1732116142562, "link": null, "locked": false, "startBinding": { "elementId": "QTPM9iqbB1KYC2ZKjud9K", - "focus": -0.02859565727918771, - "gap": 8.245815463736676, + "focus": -0.13473072953967463, + "gap": 7.338667963072794, "fixedPoint": null }, - "endBinding": { - "elementId": "fMCzFiwAdBt75EurL_hUR", - "focus": -0.26648413983285396, - "gap": 11.898715786263324, - "fixedPoint": null - }, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": "arrow", - "points": [ - [ - 0, - 0 - ], - [ - -0.8891145458264873, - -108 - ] - ], - "elbowed": false - }, - { - "type": "arrow", - "version": 1009, - "versionNonce": 948738871, - "index": "b1B", - "isDeleted": false, - "id": "VQJJlQhsDAjFfAgDtSeuv", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1292.3828125, - "y": 691.03671875, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "width": 75.04668988516573, - "height": 304.2656657626387, - "seed": 1745752439, - "groupIds": [], - "frameId": null, - "roundness": null, - "boundElements": [], - "updated": 1725454535426, - "link": null, - "locked": false, - "startBinding": { - "elementId": "ZxZdZDAqD8skOebOD73Vw", - "focus": -0.004050953398212805, - "gap": 5, - "fixedPoint": [ - 1.0410545897748409, - 0.4979745233008936 - ] - }, "endBinding": null, "lastCommittedPoint": null, "startArrowhead": null, @@ -1135,20 +955,16 @@ 0 ], [ - 75.04668988516573, - 0 - ], - [ - 75.04668988516573, - -304.2656657626387 + 20.09444614566155, + -93.44601513663292 ] ], - "elbowed": true + "elbowed": false }, { "type": "rectangle", - "version": 1001, - "versionNonce": 1837021751, + "version": 1126, + "versionNonce": 1257784469, "index": "b1C", "isDeleted": false, "id": "TZC55ac2_LGYqBMK-JKD6", @@ -1158,8 +974,8 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 1184.875, - "y": 340.6640625, + "x": 1142.8515625, + "y": 374.625, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", "width": 121.78906250000003, @@ -1176,14 +992,14 @@ "id": "SeC86js9FUqSSa4mkzaDe" } ], - "updated": 1725454530912, + "updated": 1732116679894, "link": null, "locked": false }, { "type": "text", - "version": 963, - "versionNonce": 1480088407, + "version": 1088, + "versionNonce": 554494453, "index": "b1D", "isDeleted": false, "id": "SeC86js9FUqSSa4mkzaDe", @@ -1193,8 +1009,8 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 1190.5995788574219, - "y": 345.6640625, + "x": 1148.5761413574219, + "y": 379.625, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", "width": 110.33990478515625, @@ -1204,7 +1020,7 @@ "frameId": null, "roundness": null, "boundElements": [], - "updated": 1725454530912, + "updated": 1732116679894, "link": null, "locked": false, "fontSize": 20, @@ -1219,8 +1035,8 @@ }, { "type": "rectangle", - "version": 1064, - "versionNonce": 962648183, + "version": 1106, + "versionNonce": 203809621, "index": "b1E", "isDeleted": false, "id": "lwfZeTB5oGFBw7ETNeIDA", @@ -1230,8 +1046,8 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 1422.6171875, - "y": 339.76171875, + "x": 1425.48828125, + "y": 373.671875, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", "width": 121.78906250000003, @@ -1248,14 +1064,14 @@ "id": "dIWrWfh24C_zZc11_G1H6" } ], - "updated": 1725454530912, + "updated": 1732116679894, "link": null, "locked": false }, { "type": "text", - "version": 1033, - "versionNonce": 381464983, + "version": 1075, + "versionNonce": 278442165, "index": "b1F", "isDeleted": false, "id": "dIWrWfh24C_zZc11_G1H6", @@ -1265,8 +1081,8 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 1431.241756439209, - "y": 344.76171875, + "x": 1434.112850189209, + "y": 378.671875, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", "width": 104.53992462158203, @@ -1276,7 +1092,7 @@ "frameId": null, "roundness": null, "boundElements": [], - "updated": 1725454530912, + "updated": 1732116679894, "link": null, "locked": false, "fontSize": 20, @@ -1291,8 +1107,8 @@ }, { "type": "arrow", - "version": 779, - "versionNonce": 1233151671, + "version": 856, + "versionNonce": 202035733, "index": "b1G", "isDeleted": false, "id": "DqBgBLhJlH4T_Mk0OZeDZ", @@ -1302,8 +1118,8 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 1070.0275573113527, - "y": 369.6871991317719, + "x": 1036.8400573113527, + "y": 405.0270428817719, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", "width": 93.4921875, @@ -1315,7 +1131,7 @@ "type": 2 }, "boundElements": [], - "updated": 1725454530912, + "updated": 1732116679894, "link": null, "locked": false, "startBinding": null, @@ -1337,8 +1153,8 @@ }, { "type": "text", - "version": 804, - "versionNonce": 1534881271, + "version": 847, + "versionNonce": 192006005, "index": "b1H", "isDeleted": false, "id": "cfViOxIqmJGhDqqe_fhr6", @@ -1348,8 +1164,8 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 922.1363974883444, - "y": 342.70703125, + "x": 925.2379599883444, + "y": 376.38671875, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", "width": 195.4641101455688, @@ -1359,7 +1175,7 @@ "frameId": null, "roundness": null, "boundElements": [], - "updated": 1725455285877, + "updated": 1732116679894, "link": null, "locked": false, "fontSize": 19.92499999999999, @@ -1371,6 +1187,188 @@ "originalText": "Expression Matrices", "autoResize": true, "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 986, + "versionNonce": 1804403035, + "index": "b1I", + "isDeleted": false, + "id": "TUo57paPrkfg_O7MCeCpM", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1418.4625396728516, + "y": 654.98046875, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 121.78906250000003, + "height": 60, + "seed": 2010439291, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "ly243x02Y_iVTuylhEJGk" + }, + { + "id": "jpetSOXy9Tbm0RR-yRDEO", + "type": "arrow" + } + ], + "updated": 1732116672345, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 879, + "versionNonce": 1259617845, + "index": "b1J", + "isDeleted": false, + "id": "ly243x02Y_iVTuylhEJGk", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1443.4370933771133, + "y": 659.98046875, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 71.83995509147644, + "height": 50, + "seed": 1615419163, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1732116121474, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 5, + "text": "Protein\nGroups", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "TUo57paPrkfg_O7MCeCpM", + "originalText": "Protein\nGroups", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "arrow", + "version": 971, + "versionNonce": 829422555, + "index": "b1K", + "isDeleted": false, + "id": "jpetSOXy9Tbm0RR-yRDEO", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1333.5287830982727, + "y": 847.0745058257133, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 143.81263527384067, + "height": 117.328125, + "seed": 1109761723, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1732116672706, + "link": null, + "locked": false, + "startBinding": { + "elementId": "kogyQ_dFmcB1QuA7Rj_Sy", + "focus": -0.46739446700803516, + "gap": 11.812212924286655, + "fixedPoint": null + }, + "endBinding": { + "elementId": "TUo57paPrkfg_O7MCeCpM", + "focus": -0.43157171329191646, + "gap": 14.765912075713345, + "fixedPoint": null + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 97.94140625, + -65.74609375 + ], + [ + 143.81263527384067, + -117.328125 + ] + ], + "elbowed": false + }, + { + "type": "arrow", + "version": 1774, + "versionNonce": 263956693, + "index": "b1L", + "isDeleted": false, + "id": "BuNl4OFdeyJhAzsgN7rFH", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1478.0739660137563, + "y": 630.7807168025522, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 2.032999172294012, + "height": 73.73828125, + "seed": 1801562069, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1732116137607, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -2.032999172294012, + -73.73828125 + ] + ], + "elbowed": false } ], "appState": { diff --git a/docs/images/formats-relation.svg b/docs/images/formats-relation.svg index 817a802..7ef291d 100644 Binary files a/docs/images/formats-relation.svg and b/docs/images/formats-relation.svg differ diff --git a/quantmsio/core/common.py b/quantmsio/core/common.py index 8484aaa..215253c 100644 --- a/quantmsio/core/common.py +++ b/quantmsio/core/common.py @@ -64,7 +64,7 @@ "Stripped.Sequence": "sequence", "Modified.Sequence": "peptidoform", "Genes": "gg_names", - "Run": "run" + "Run": "run", } DIANN_USECOLS = list(DIANN_MAP.keys()) diff --git a/quantmsio/core/diann.py b/quantmsio/core/diann.py index 233b3a4..8e332ef 100644 --- a/quantmsio/core/diann.py +++ b/quantmsio/core/diann.py @@ -17,7 +17,9 @@ from quantmsio.utils.pride_utils import generate_scan_number from quantmsio.core.common import DIANN_MAP, DIANN_USECOLS -DIANN_SQL = ', '.join([f'"{name}"' for name in DIANN_USECOLS]) +DIANN_SQL = ", ".join([f'"{name}"' for name in DIANN_USECOLS]) + + class DiaNNConvert(DuckDB): def __init__(self, diann_report, sdrf_path, duckdb_max_memory="16GB", duckdb_threads=4): @@ -46,8 +48,7 @@ def get_report_from_database(self, runs: list) -> pd.DataFrame: from report where Run IN {} """.format( - DIANN_SQL, - tuple(runs) + DIANN_SQL, tuple(runs) ) ) report = database.df() @@ -190,7 +191,7 @@ def add_additional_msg(self, report: pd.DataFrame): "channel": rows["channel"], "additional_intensity": [ {"intensity_name": "normalize_intensity", "intensity_value": rows["normalize_intensity"]}, - {"intensity_name": "lfq", "intensity_value": rows["lfq"]} + {"intensity_name": "lfq", "intensity_value": rows["lfq"]}, ], } ], @@ -200,7 +201,7 @@ def add_additional_msg(self, report: pd.DataFrame): lambda row: [ {"score_name": "qvalue", "score_value": row["qvalue"]}, {"score_name": "pg_qvalue", "score_value": row["pg_qvalue"]}, - {"score_name": "global_qvalue", "score_value": row["global_qvalue"]} + {"score_name": "global_qvalue", "score_value": row["global_qvalue"]}, ], axis=1, ) @@ -208,7 +209,7 @@ def add_additional_msg(self, report: pd.DataFrame): lambda rows: [ {"cv_name": "precursor_quantification_score", "cv_value": str(rows["precursor_quantification_score"])} ], - axis=1 + axis=1, ) report.loc[:, "scan_reference_file_name"] = None report.loc[:, "gg_accessions"] = None diff --git a/quantmsio/core/mztab.py b/quantmsio/core/mztab.py index 0e47d62..0a3d1db 100644 --- a/quantmsio/core/mztab.py +++ b/quantmsio/core/mztab.py @@ -244,8 +244,8 @@ def get_mods_map(self): accession = values[1].strip() name = values[2].strip() line = f.readline() - site = line.replace("\n","").split("\t")[2] - mods_map[name] = [accession.upper(),site] + site = line.replace("\n", "").split("\t")[2] + mods_map[name] = [accession.upper(), site] mods_map[accession.upper().upper()] = [name, site] line = f.readline() f.close() diff --git a/quantmsio/core/psm.py b/quantmsio/core/psm.py index 673a1e4..5f6f98d 100644 --- a/quantmsio/core/psm.py +++ b/quantmsio/core/psm.py @@ -78,7 +78,9 @@ def extract_from_pep(self, chunksize=2000000): pep.reset_index(drop=True, inplace=True) if "opt_global_cv_MS:1000889_peptidoform_sequence" not in pep.columns: pep.loc[:, "opt_global_cv_MS:1000889_peptidoform_sequence"] = pep[["modifications", "sequence"]].apply( - lambda row: get_petidoform_msstats_notation(row["sequence"], row["modifications"], self._modifications), + lambda row: get_petidoform_msstats_notation( + row["sequence"], row["modifications"], self._modifications + ), axis=1, ) # check spectra_ref @@ -108,9 +110,9 @@ def extract_from_pep(self, chunksize=2000000): if key not in pep_map: pep_map[key] = value elif value[0] < pep_map[key][0]: - pep_map[key] = value + pep_map[key] = value return pep_map - + @staticmethod def slice(df, partitions): cols = df.columns