/// <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(); }
/// <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(); }
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)); }