Ejemplo n.º 1
0
        /// <summary>
        /// Writes current data to a mzid file
        /// </summary>
        /// <param name="xml">
        /// A <see cref="System.String"/> with the output file name
        /// </param>
        public void Save(string xml)
        {
            Data.creationDate = DateTime.UtcNow;

            // CommonOntology
            Data.cvList = ListOntology.ToArray();

            // AnalysisSoftwareList
            Data.AnalysisSoftwareList = ListSW.ToArray();

            // Provider
            Data.Provider = Provider;

            // AuditCollection
            Data.AuditCollection              = new FuGECollectionAuditCollectionType();
            Data.AuditCollection.Person       = ListPeople.ToArray();
            Data.AuditCollection.Organization = ListOrganizations.ToArray();

            // SequenceCollection
            SequenceCollectionType seq = new SequenceCollectionType();

            seq.DBSequence          = ListProteins.ToArray();
            seq.Peptide             = ListPeptides.ToArray();
            Data.SequenceCollection = seq;

            // Serialization
            XmlSerializer serializer = new XmlSerializer(typeof(PSIPIMainmzIdentMLType));
            TextWriter    writer     = new StreamWriter(xml);

            serializer.Serialize(writer, Data);
            writer.Close();

            System.GC.Collect();
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Reads data from a mzid file
        /// </summary>
        /// <param name="xml">
        /// A <see cref="System.String"/> with the input file name
        /// </param>
        public void Load(string xml)
        {
            Default();

            // Deserialization
            XmlSerializer serializer = new XmlSerializer(typeof(MzIdentMLType));
            TextReader    reader     = new StreamReader(xml);

            Data = (MzIdentMLType)serializer.Deserialize(reader);
            reader.Close();
            //Data = MzIdentMLType.LoadFromFile( xml );

            // Parse data
            if (Data.AnalysisSoftwareList != null)
            {
                ListSW = new List <AnalysisSoftwareType>(Data.AnalysisSoftwareList);
            }
            if (Data.AuditCollection != null)
            {
                ListOrganizations.Clear();
                ListPeople.Clear();
                foreach (IdentifiableType contact in Data.AuditCollection)
                {
                    if (contact is OrganizationType)
                    {
                        ListOrganizations.Add(contact as OrganizationType);
                    }
                    else if (contact is PersonType)
                    {
                        ListPeople.Add(contact as PersonType);
                    }
                }
            }
            if (Data.SequenceCollection == null || Data.SequenceCollection.DBSequence == null ||
                Data.SequenceCollection.Peptide == null || Data.SequenceCollection.PeptideEvidence == null)
            {
                throw new ApplicationException("mzIdentML file without identification sequences");
            }
            ListProteins  = new List <DBSequenceType>(Data.SequenceCollection.DBSequence);
            ListPeptides  = new List <PeptideType>(Data.SequenceCollection.Peptide);
            ListEvidences = new List <PeptideEvidenceType>(Data.SequenceCollection.PeptideEvidence);

            System.GC.Collect();
        }
Ejemplo n.º 3
0
        public Task <IEnumerable <Organization> > Execute(ListOrganizations query,
                                                          CancellationToken cancellationToken = new CancellationToken())
        {
            if (query == null)
            {
                throw new ArgumentNullException("query");
            }
            if (string.IsNullOrWhiteSpace(query.UserId))
            {
                throw new AggregateException("UserId must be specfiied");
            }

            CloudTable cloudTable = _tableProvider.GetTable(_settings.UserOrganizationIndexTableName);

            TableQuery <UserOrganizationIndexEntity> indexQuery = new TableQuery <UserOrganizationIndexEntity>()
                                                                  .Where(TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, query.UserId));

            return(cloudTable.ExecuteQueryAsync(indexQuery, x => (Organization) new OrganizationResult(x.OrganizationId, x.OrganizationName),
                                                cancellationToken));
        }