For this conversion, the main drawback of the MAGE-stk is that all entities will be present in memory.
Usually, there are a lot of entities in MAGE-ML files, which are not related to array description. This is an important point to keep in mind for the application, because it only use a subset of all the MAGE objects. So, the application will try to not comsume a large quantity of memory to avoid to run out of memory.
There is more information represented in MAGE-ML than it appears in the ADF tabular format. The difficulty is to find the right balance between data capture and ease of use, making a MAGE-ML file to hold enough needed information to be MIAME compliant, but not to overload submitters with too many field when generating the ADF.
From MAGE-ML file to ADF, not all entities will be convert, only data corresponding to the array design, others entities will be skipped.
For every file given as parameter (ADF or MAGE-ML file), the tool will check its compliance to the specifications[adfa][magf]. For example, for some fields, only ontology terms (controlled vocabulary) can be used to fill it in. Or, they have to respect some format rules (i.e. database accession number). The tool must be flexible to allow usual mistakes and error cases.