Пример #1
0
            public static int GetQueryCount(NHibernate.ISession session, DataFilter dataFilter)
            {
                if (dataFilter.Spectrum != null && dataFilter.Spectrum.Count == 1)
                {
                    dataFilter = new DataFilter(dataFilter)
                    {
                        AminoAcidOffset = null,
                        Modifications = null,
                        ModifiedSite = null,
                        Cluster = null,
                        Protein = null
                    };
                }

                string sql = SqlQueryCount + dataFilter.GetFilteredSqlWhereClause();
                lock (session)
                    return Convert.ToInt32(session.CreateSQLQuery(sql).UniqueResult());
            }
Пример #2
0
            public static NHibernate.IQuery GetQuery(NHibernate.ISession session, DataFilter dataFilter)
            {
                if (dataFilter.Spectrum != null && dataFilter.Spectrum.Count == 1 ||
                    dataFilter.Peptide != null && dataFilter.Peptide.Count == 1 ||
                    dataFilter.DistinctMatchKey != null && dataFilter.DistinctMatchKey.Count == 1)
                {
                    var basicFilter = new DataFilter(dataFilter)
                    {
                        AminoAcidOffset = null,
                        Cluster = null,
                        Protein = null
                    };

                    if (dataFilter.Spectrum != null)
                    {
                        basicFilter.Modifications = null;
                        basicFilter.ModifiedSite = null;
                    }

                    string sql = String.Format(SqlQueryFormat, basicFilter.GetFilteredSqlWhereClause());
                    return session.CreateSQLQuery(sql)
                        .AddEntity("s", typeof (Spectrum))
                        .AddEntity("ss", typeof (SpectrumSource))
                        .AddEntity("ssg", typeof (SpectrumSourceGroup))
                        .AddEntity("a", typeof (Analysis))
                        .AddScalar("Id", NHibernate.NHibernateUtil.Int64)
                        .AddScalar("Rank", NHibernate.NHibernateUtil.Int32)
                        .AddScalar("Charge", NHibernate.NHibernateUtil.Int32)
                        .AddScalar("QValue", NHibernate.NHibernateUtil.Double)
                        .AddScalar("ObservedNeutralMass", NHibernate.NHibernateUtil.Double)
                        .AddScalar("MonoisotopicMassError", NHibernate.NHibernateUtil.Double)
                        .AddScalar("MolecularWeightError", NHibernate.NHibernateUtil.Double)
                        .AddScalar("DistinctMatchKey", NHibernate.NHibernateUtil.String)
                        .AddScalar("Sequence", NHibernate.NHibernateUtil.String);
                }
                
                string hql = HqlQueryFormat +
                             dataFilter.GetFilteredQueryString(DataFilter.FromPeptideSpectrumMatch,
                                                               DataFilter.PeptideSpectrumMatchToPeptideInstance,
                                                               DataFilter.PeptideSpectrumMatchToModification,
                                                               DataFilter.PeptideSpectrumMatchToSpectrumSourceGroup,
                                                               DataFilter.PeptideSpectrumMatchToAnalysis) +
                             "GROUP BY psm.Id";
                return session.CreateQuery(hql);
            }