コード例 #1
0
        public void RankScoreParamResources()
        {
            var methodName = MethodBase.GetCurrentMethod().Name;

            Utils.ShowStarting(methodName);

            const int ranks      = 20;
            var       rankScorer = new RankScore(ActivationMethod.HCD, Ms2DetectorType.Iontrap, Enzyme.Trypsin,
                                                 Protocol.Standard);

            for (var charge = 1; charge < 4; charge++)
            {
                var ionTypes = rankScorer.GetIonTypes(charge, 0);
                foreach (var ionType in ionTypes)
                {
                    for (var r = 0; r <= ranks; r++)
                    {
                        if (r < 4 || r > ranks - 4)
                        {
                            Console.WriteLine(@"Charge: {0}, Ion Type: {1}, Rank: {2}, Score: {3:F4}",
                                              charge, ionType.Name, r, rankScorer.GetScore(ionType, r, charge, 0.0));
                        }
                        else if (r == 4)
                        {
                            Console.WriteLine("  ...");
                        }
                    }
                    Console.WriteLine();
                }
                Console.WriteLine();
            }
        }
コード例 #2
0
ファイル: StudentRow.cs プロジェクト: ischoolinc/JHEvaluation
 internal void Clear()
 {
     CourseScoreList.Clear();
     CourseIDs.Clear();
     Scores.Clear();
     RankResult = new RankScore(decimal.Zero, null);
 }
コード例 #3
0
        public void RankScore()
        {
            var methodName = MethodBase.GetCurrentMethod().Name;

            Utils.ShowStarting(methodName);

            const int ranks = 20;

            const string filePath = @"\\protoapps\UserData\Wilkins\DIA\DIA.txt";

            if (!File.Exists(filePath))
            {
                Assert.Ignore(@"Skipping test {0} since file not found: {1}", methodName, filePath);
            }

            var rankScorer = new RankScore(filePath);

            for (var charge = 1; charge < 4; charge++)
            {
                var ionTypes = rankScorer.GetIonTypes(charge, 0);
                foreach (var ionType in ionTypes)
                {
                    for (var r = 0; r <= ranks; r++)
                    {
                        Console.WriteLine("Charge: {0}, Ion Type: {1}, Rank: {2}, Score: {3}",
                                          charge, ionType.Name, r, rankScorer.GetScore(ionType, r, charge, 0.0));
                    }
                }
            }
        }
コード例 #4
0
    private static uint FlushDraw(int[] cards, int[] hole)
    {
        //各スートの枚数
        int[] suitCount = RankScore.CountSuit(cards);

        //フラッシュドロー、ナッツフラドロの検査
        for (int i = 0; i < suitCount.Length; i++)
        {
            //フラドロ以上
            if (suitCount[i] >= 4)
            {
                //手札と与えられたカード全体から指定のスートを抽出してカードランクをフラグに変換
                uint flag_cards = RankScore.HighCard(cards.Where(id => id / 13 == i).ToArray());
                uint flag_hand  = RankScore.HighCard(hole.Where(id => id / 13 == i).ToArray());

                //繰り上がりで15ビット目が立つならナッツフラドロ
                if (flag_cards + flag_hand >= 0x4000)
                {
                    return(NUTS_FLUSH_DRAW);
                }
                else
                {
                    return(FLUSH_DRAW);
                }
            }
        }

        return(NO_DRAW);
    }
コード例 #5
0
ファイル: ScoredSpectrum.cs プロジェクト: javamng/GitHUB
 public ScoredSpectrum(Spectrum spec, RankScore scorer, int charge, double massWithH2O, Tolerance tolerance)
 {
     _rankedSpec   = new RankedSpectrum(spec);
     _scorer       = scorer;
     _charge       = charge;
     _sequenceMass = massWithH2O;
     _tolerance    = tolerance;
 }
コード例 #6
0
ファイル: StudentRow.cs プロジェクト: ischoolinc/JHEvaluation
 public StudentRow(StudentScore studentScore)
 {
     RawScoreList    = new List <HC.JHSCETakeRecord>();
     CourseScoreList = new List <CourseScore>();
     CourseIDs       = new List <string>();
     Scores          = new FinalScores();
     RankResult      = new RankScore(decimal.Zero, null);
     StudentScore    = studentScore;
 }
コード例 #7
0
 public InformedBottomUpScorer(LcMsRun run, AminoAcidSet aaSet, int minProductCharge, int maxProductCharge, Tolerance tolerance)
 {
     Run              = run;
     AminoAcidSet     = aaSet;
     MinProductCharge = minProductCharge;
     MaxProductCharge = maxProductCharge;
     Tolerance        = tolerance;
     _rankScorer      = new RankScore(ActivationMethod.HCD, Ms2DetectorType.Orbitrap, Enzyme.Trypsin, Protocol.Standard);
     _scoredSpectra   = new Dictionary <int, ScoredSpectrum>();
 }
コード例 #8
0
    private void RankCheck(ulong lost, List <int[]> holecard, int a, int b, int c)
    {
        List <int> cards = new List <int>();

        cards.Add(holecard[0][0]);
        cards.Add(holecard[0][1]);
        cards.Add(a);
        cards.Add(b);
        cards.Add(c);


        count++;
        switch (RankScore.Score(cards.ToArray()) & 0xF0000000)
        {
        case RankScore.STFL:
            straight_flush++;
            return;

        case RankScore.QUADS:
            quads++;
            return;

        case RankScore.FULL:
            full_house++;
            return;

        case RankScore.FLUSH:
            flush++;
            return;

        case RankScore.STRAIGHT:
            straight++;
            return;

        case RankScore.THREE:
            three_card++;
            return;

        default:
            break;
        }

        uint draw_flag = DrawOuts.Draw(cards.ToArray(), holecard[0]);

        if ((draw_flag & (DrawOuts.FLUSH_DRAW | DrawOuts.NUTS_FLUSH_DRAW)) != 0)
        {
            flush_draw++;
            return;
        }
        if ((draw_flag & DrawOuts.OPEN_END) != 0)
        {
            straight_draw_2_open++;
            return;
        }
        if ((draw_flag & DrawOuts.DOUBLE_BELLY) != 0)
        {
            straight_draw_2_belly++;
            return;
        }
        if ((draw_flag & DrawOuts.GUT_SHOT) != 0)
        {
            straight_draw_1++;
            return;
        }
    }
コード例 #9
0
    private static uint StraightDraw(int[] cards)
    {
        //ランクごとに存在するかフラグに変換
        uint flag = RankScore.HighCard(cards);

        {
            //オープンエンドとダブルベリー検出用のマスクと終了条件
            uint mask, end;

            //オープンエンド
            mask = 0x1E00;
            end  = 0x001E;
            while (mask >= end)
            {
                if ((flag & mask) == mask)
                {
                    return(OPEN_END);
                }

                //右に1ビットシフト
                mask = mask >> 1;
            }

            //ダブルベリー
            mask = 0x2E80;
            end  = 0x005D;
            while (mask >= end)
            {
                if ((flag & mask) == mask)
                {
                    return(DOUBLE_BELLY);
                }

                //右に1ビットシフト
                mask = mask >> 1;
            }
        }

        //A-4,J-A
        if ((flag & 0x3C00) == 0x3C00 || (flag & 0x000F) == 0x000F)
        {
            return(GUT_SHOT);
        }

        //ガットショット
        //マスクと終了条件が3種類存在 {10111,11011,11101}
        uint[] masks = { 0x2E00, 0x3600, 0x3A00 };
        uint[] ends  = { 0x0017, 0x001B, 0x001D };
        for (int i = 0; i < masks.Length; i++)
        {
            //マスクを取得
            uint mask = masks[i];

            while (mask >= ends[i])
            {
                if ((flag & mask) == mask)
                {
                    return(GUT_SHOT);
                }

                //右に1ビットシフト
                mask = mask >> 1;
            }
        }

        return(NO_DRAW);
    }