static void Main(string[] args)
        {
            if (args.Length < 1)
            {
                Console.WriteLine("usage: PrintExample archive-file");
                return;
            }
            var archive = new CombineArchive();

            if (!archive.initializeFromArchive(args[0]))
            {
                Console.WriteLine("Invalid Combine Archive");
                return;
            }

            PrintMetaDataFor(archive, ".");

            Console.WriteLine("Num Entries: {0}", archive.getNumEntries());

            for (int i = 0; i < archive.getNumEntries(); ++i)
            {
                CaContent entry = archive.getEntry(i);

                Console.WriteLine(" {0}: location: {1} format: {2}", i, entry.getLocation(), entry.getFormat());
                PrintMetaDataFor(archive, entry.getLocation());

                // the entry could now be extracted via
                // archive.extractEntry(entry.getLocation(), <filename or folder>)

                // or used as string
                // string content = archive.extractEntryToString(entry.getLocation());
            }

            archive.cleanUp();
        }
Пример #2
0
        static void Main(string[] args)
        {
            if (args.Length < 1)
            {
                Console.WriteLine("usage: CreateArchiveExample sbml-file");
                return;
            }
            var archive = new CombineArchive();

            archive.addFile(
                args[0],                           // filename
                "./models/model.xml",              // target file name
                KnownFormats.lookupFormat("sbml"), // look up identifier for SBML models
                true                               // mark file as master
                );

            var description = new OmexDescription();

            description.setAbout("."); // about the archive itself
            description.setDescription("Simple test archive including one SBML model");
            description.setCreated(OmexDescription.getCurrentDateAndTime());

            var creator = new VCard();

            creator.setFamilyName("Bergmann");
            creator.setGivenName("Frank");
            creator.setEmail("*****@*****.**");
            creator.setOrganization("Caltech");

            description.addCreator(creator);

            archive.addMetadata(".", description);

            archive.writeToFile("out.omex");
        }
Пример #3
0
        private static List <PrimaryModelWData> read(string filename, string uri)
        {
            CombineArchive combineArchive = CombineArchive.FromFile(filename);

            List <PrimaryModelWData> models = new List <>();

            // Gets data entries

            // ...
        }
Пример #4
0
        private static List <ExperimentalData> read(string filename)
        {
            CombineArchive          combineArchive = CombineArchive.FromFile(filename);
            List <ExperimentalData> dataRecords    = new List <ExperimentalData>();

            foreach (Entry entry in combineArchive.GetEntriesWithFormat(URI.NUML))
            {
                string       docName = entry.GetLocalFileName();
                NuMLDocument doc     = NuMLReader.read(docName);
                dataRecords.Add(new ExperimentalData(docName, doc));
            }

            return(dataRecords);
        }
Пример #5
0
        public static void write(string filename, List <ExperimentalData> dataRecords)
        {
            CombineArchive combineArchive = new CombineArchive();

            combineArchive.ArchiveFileName = filename;

            // Add data records
            foreach (ExperimentalData ed in dataRecords)
            {
                // TODO: give tmpFile the ed.docName instead of random file name
                string tmpFile = System.IO.Path.GetTempFileName();
                NuMLWriter.write(ed.doc, tmpFile);
                combineArchive.AddEntry(tmpFile, URI.NUML, null);
            }
        }
        static void PrintMetaDataFor(CombineArchive archive, string location)
        {
            OmexDescription desc = archive.getMetadataForLocation(location);

            if (desc.isEmpty())
            {
                Console.WriteLine("  no metadata for '{0}'", location);
                return;
            }
            Console.WriteLine("  metadata for '{0}':", location);
            Console.WriteLine("     Created : {0}", desc.getCreated().getDateAsString());
            for (int i = 0; i < desc.getNumModified(); ++i)
            {
                Console.WriteLine("     Modified : {0}", desc.getModified(i).getDateAsString());
            }

            Console.WriteLine("     # Creators: {0}", desc.getNumCreators());
            for (int i = 0; i < desc.getNumCreators(); ++i)
            {
                VCard creator = desc.getCreator(i);
                Console.WriteLine("       {0} {1}", creator.getGivenName(), creator.getFamilyName());
            }
        }