四时宝库

程序员的知识宝库

PCR十大常用网站,必收藏之!(pcr china)

作者:子非鱼

PCR作为老生常谈的一种实验技术,对实验新手而言却仍是一个不小的挑战,比如引物的设计、预测脱靶效率、PCR中的疑难杂症等等,其中任何一个问题都会让他们头疼一阵了。而本文推荐的十个常用网站基本囊括了PCR全方位攻略,你想知道的都可以在这里找到答案。

1.Primer3

网址:http://primer3.sourceforge.net/webif.php

Primer3是一个非常简单却高效的引物设计在线软件。你只需在目标序列中粘贴DNA序列后点击搜索即可。其中,可通过多种方式来对结果进行筛选,包括PCR产物的大小、引物大小、Tm范围和其他参数。同样,还可使用Primer3来设计用于PCR-ELISA的杂交探针和其他基于探针的PCR引物设计。

利用C#访问注册表获取软件的安装路径

绝大多数软件,基本上都会在注册表中记录自己的名字和安装路径信息。

在注册表中记录这些信息的位置是:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths

因此,我们只要能访问到注册表的这个位置,就可以获取到某些软件的名称和安装路径信息。

本博文使用C#访问注册表获取软件的安装路径并进行显示。

1 示例程序主画面说明

示例程序主画面如下图所示。

如何提升注册页面的用户转化?这几个因素必须要考虑

在设计网站或者APP的注册页面时,需要考虑的因素比较多,一个优秀的登录页面设计,能够在很大程度上提升用户的转化,本文将从用户体验、交互、安全等各个方面谈一下我的看法,欢迎大家批评指正。

二、对手机号进行343分隔
对用户输入的手机号进行343分隔,便于用户对号码进行核对,减少出错几率。

[干货]光纤通信之缩略语英汉对照表

A

ADM(Add Drop Multiplexer):上/下复用器,插/分复用器

ADM(ADD-Drop Multiplexer):分插复用器

AGC(Automatic Gain Control):自动增益控制

AOLS(All Optical Label Switching):全光标签交换

AON (Active Optical Network):有源光网络

APD(Avalanche Photo Diode):雪崩光电二极管

5G CCE-to-REG 资源映射(lte资源映射)

关于CCE到REG的时间和频率映射,时间优先(time-first)还是频率优先(frequency-first)是两个主要选项。对于CORESET的单个OFDM符号的情况,只有频率优先CCE到REG映射是更好的,因此显然应该支持频率优先映射。对于频率优先CCE到REG映射,CCE可以经历更高的频率选择性信道,从而获得频率分集增益。此外,可以在一个符号中容纳PDCCH候选 ,这将促进快速HARQ A/N或CSI报告,尤其适用于URLLC的服务类型。对于时间优先映射,它可以使CORESET的频率资源适合于较小的带宽,这可以为同一载波中不同服务的复用提供更大的灵活性,例如使用不同numerology的不同服务。此外,时间优先映射可以在PDCCH上分配更多功率,尤其是在每个OFDM符号中的PDCCH候选的dmrs上,即在dmrs上提高功率,同时可以启用时域中的REG bundling。这两种机制都将提高PDCCH性能,尤其是在低信噪比区域。因此,NR PDCCH应支持频率优先和时间优先CCE到REG的映射,并且可以配置。如下所述,频率优先映射和时间优先映射可以通过配置REG bundling模式来配置。

CAE二次开发---Tcl语法介绍(1)(tc二次开发入门到精通)

仿真软件二次开发目前着手解决,标准化,重复性工作,时间成本,经验固化在软件上等几方面,学习仿真软件的二次开发,可以节约仿真的时间及人力成本,并且不容易触犯低级错误。

1.4.2变量和表达式

变量分为两种,简单变量和数组变量

1)简单变量,使用set定义

TCL/TK 8.6版 TCL语言内置命令列表

对照官方文档:tcl.tk/man/tcl8.6/TclCmd/contents.htm


特殊条目

tcl - TCL语言基础语法

mathop - 数学操作符

env - TCL语言环境变量或称默认变量

filename - TCL命令支持的文件名规格

字符串操作


append - 在变量当前值(字符串)后面追加值

binary - 操作二进制字符串

Python 数据可视化之matplotlib(python做数据可视化)

绘图是数据分析最重要的工作之一,也是探索数据的过程之一。我们平常可能使用excel、spss、stata、matlab,或者echarts、D3等等进行可视化。虽然基于web的可视化是现在的主流趋势,但在分析过程中,利用python探索数据仍然不可或缺。Python有许多可视化库,这里介绍最常用的matplotlib。

Matplotlib API函数都位于matplotlib.pyplot模块中,我们需要引入matplotlib.pyplot包。直接利用函数就可以绘图:

如何给ECharts柱状图设置一个高亮色

在项目开发中用到echarts有这样的需求,比如要给一个星期的某个一天设置一个高亮色与其他天不同的颜色来区分开,那么我来演示一下如何达到这样的需求,我知道的方法有两种,也可能有其他方法,欢迎来吐槽

方法一

也是在官网上看到的,就是直接在data数据的数组上设置颜色,也就是说在数组的某一段需要添加对象值来达到这种效果

echart象形图-三角锥形/山峰形/三角形柱子渐变色

效果图:

<div id="divChart" :style="{ width: '100%', height: '100%' }"></div>
<script>
export default {
    name: "echartDiv",
    data() {
        return {
            option: {
                tooltip: {
                    trigger: "axis",
                    axisPointer: {
                        type: "none",
                    },
                    formatter: function (params) {//hover到某一柱子时显示单位,例如:“1号商店进货:60个”
                        return params[0].name + ": " + params[0].value + "个";
                    },
                },
                grid: {
                    width: "85%",
                    height: "65%",
                    top: "17%",
                    left: "12%",
                },
                xAxis: {
                    data: ["1号商店进货", "2号商店进货", "3号商店进货", "4号商店进货"],
                    axisTick: { show: false },
                    axisLine: {
                        lineStyle: {
                            color: "#483D8B",
                        },
                    },
                    axisLabel: {
                        color: "#483D8B",
                        interval: 0,//隔几个显示一次,0表示全部显示
                        fontSize: "12",//x轴字体大小
                        itemSize: "",
                        formatter: function (params) {
                            var newParamsName = ""; // 最终拼接成的字符串
                            var paramsNameNumber = params.length; // 实际标签的个数
                            var provideNumber = 4; // 每行能显示的字的个数
                            var rowNumber = Math.ceil(paramsNameNumber / provideNumber); // 换行的话,需要显示几行,向上取整
                            /**
                            * 判断标签的个数是否大于规定的个数, 如果大于,则进行换行处理 如果不大于,即等于或小于,就返回原标签
                            */
                            // 条件等同于rowNumber>1
                            if (paramsNameNumber > provideNumber) {
                                /** 循环每一行,p表示行 */
                                for (var p = 0; p < rowNumber; p++) {
                                    var tempStr = ""; //表示每一次截取的字符串
                                    var start = p * provideNumber; // 开始截取的位置
                                    var end = start + provideNumber; // 结束截取的位置
                                    // 此处特殊处理最后一行的索引值
                                    if (p == rowNumber - 1) {
                                        // 最后一次不换行
                                        tempStr = params.substring(start, paramsNameNumber);
                                    } else {
                                        // 每一次拼接字符串并换行
                                        tempStr = params.substring(start, end) + "\n";
                                    }
                                    newParamsName += tempStr; // 最终拼成的字符串
                                }
                            } else {
                                // 将旧标签的值赋给新标签
                                newParamsName = params;
                            }
                            //将最终的字符串返回
                            return newParamsName;
                        },
                    },
                    axisPointer: {
                        type: "shadow",
                    },
                },
                yAxis: {
                    name: "单位:个",
                    type: "value",
                    //设置Y轴坐标最大、最小值
                    min: 0,
                    max: 100,
                    interval: 20,
                    axisLabel: {
                        color: "#483D8B",
                    },
                    axisTick: { show: false },
                    axisLine: {
                        show: false,
                        lineStyle: {
                            color: "#483D8B",
                        },
                    },
                    splitLine: {
                        show: true,
                        lineStyle: {
                            color: "rgba( 72,61,139,0.7)",
                            type: "dashed",
                        },
                    },
                },
                series: [
                    {
                        name: "hill",
                        type: "pictorialBar",
                        barCategoryGap: "5%",
                        symbol:
                            "path://M0,10 L10,10 C5.5,10 5.5,5 5,0 C4.5,5 4.5,10 0,10 z",
                        //要改成山峰图就改成< symbol: 'path://path://M10 600 Q 95 0 180 600' >
                        //要改成三角图就改成< symbol: 'triangle' >
                        itemStyle: {
                            opacity: 1,
                            color: {//设置渐变颜色
                                type: "linear",
                                //x 和 y 表示起始的坐标,x2 和 y2 表示终点坐标, 所以也就是向下渐变
                                x: 0,
                                y: 0,
                                x2: 0,
                                y2: 1,
                                colorStops: [
                                    {
                                        offset: 0,
                                        color: "red", // 0% 处的颜色
                                    },
                                    {
                                        offset: 0.3,
                                        color: "rgba(123,104,238, .8)", // 30% 处的颜色
                                    },
                                    {
                                        offset: 1,
                                        color: "rgba(123,104,238, .1)", // 100% 处的颜色
                                    },
                                ],
                                global: false, // 缺省为 false
                            },
                        },
                        emphasis: {
                            itemStyle: {
                                opacity: 1,
                            },
                        },
                        data: [60, 95, 70, 52],
                        z: 10,
                    },
                    {
                        name: "glyph",
                        type: "pictorialBar",
                        barGap: "-100%",//设置图的大小,越大底部重叠的越多
                        symbolPosition: "end",
                        symbolSize: 0,
                        symbolOffset: [0, "100%"],
                        data: [],
                    },
                ],
            },
        };
    },
    mounted() {
        this.divChart = this.$echarts.init(document.getElementById("divChart"));
        this.divChart.setOption(this.option);
    },
};
</script>
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接