本文整理汇总了C#中BasicLib.Param.Parameters.GetStringParam方法的典型用法代码示例。如果您正苦于以下问题:C# Parameters.GetStringParam方法的具体用法?C# Parameters.GetStringParam怎么用?C# Parameters.GetStringParam使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BasicLib.Param.Parameters
的用法示例。
在下文中一共展示了Parameters.GetStringParam方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ProcessDataRename
private static void ProcessDataRename(IMatrixData mdata, Parameters param)
{
int groupColInd = param.GetSingleChoiceParam("Numerical row").Value;
string newName = param.GetStringParam("New name").Value;
string newDescription = param.GetStringParam("New description").Value;
mdata.NumericRowNames[groupColInd] = newName;
mdata.NumericRowDescriptions[groupColInd] = newDescription;
}
示例2: ProcessData
public void ProcessData(IMatrixData data, Parameters param, ref IMatrixData[] supplTables,
ref IDocumentData[] documents, ProcessInfo processInfo)
{
bool falseAreIndicated = param.GetSingleChoiceParam("Indicated are").Value == 0;
int catCol = param.GetSingleChoiceParam("In column").Value;
string word = param.GetStringParam("Indicator").Value;
int[] scoreColumns = param.GetMultiChoiceParam("Scores").Value;
if (scoreColumns.Length == 0){
processInfo.ErrString = "Please specify at least one column with scores.";
return;
}
bool largeIsGood = param.GetBoolParam("Large values are good").Value;
int[] showColumns = param.GetMultiChoiceParam("Display quantity").Value;
if (showColumns.Length == 0){
processInfo.ErrString = "Please select at least one quantity to display";
return;
}
bool[] indCol = GetIndicatorColumn(falseAreIndicated, catCol, word, data);
List<string> expColNames = new List<string>();
List<float[]> expCols = new List<float[]>();
foreach (int scoreColumn in scoreColumns){
double[] vals = scoreColumn < data.NumericColumnCount
? data.NumericColumns[scoreColumn]
: ArrayUtils.ToDoubles(data.GetExpressionColumn(scoreColumn - data.NumericColumnCount));
string name = scoreColumn < data.NumericColumnCount
? data.NumericColumnNames[scoreColumn] : data.ExpressionColumnNames[scoreColumn - data.NumericColumnCount];
int[] order = GetOrder(vals, largeIsGood);
CalcCurve(ArrayUtils.SubArray(indCol, order), showColumns, name, expCols, expColNames);
}
float[,] expData = ToMatrix(expCols);
data.SetData(data.Name, expColNames, expData, new List<string>(), new List<string[]>(), new List<string>(),
new List<string[][]>(), new List<string>(), new List<double[]>(), new List<string>(), new List<double[][]>());
}
示例3: ProcessData
public void ProcessData(IMatrixData mdata, Parameters param, ref IMatrixData[] supplTables, ProcessInfo processInfo)
{
string[][] col = mdata.CategoryColumns[param.GetSingleChoiceParam("Indicator column").Value];
string term = param.GetStringParam("Value").Value;
List<int> inds = new List<int>();
for (int i = 0; i < col.Length; i++){
if (Contains(col[i], term)){
inds.Add(i);
}
}
float[][] profiles = new float[inds.Count][];
for (int i = 0; i < profiles.Length; i++){
profiles[i] = mdata.GetExpressionRow(inds[i]);
float mean = (float) ArrayUtils.Mean(profiles[i]);
for (int j = 0; j < profiles[i].Length; j++){
profiles[i][j] -= mean;
}
}
float[] totalProfile = new float[mdata.ExpressionColumnCount];
for (int i = 0; i < totalProfile.Length; i++){
List<float> vals = new List<float>();
foreach (float[] t in profiles){
float val = t[i];
if (float.IsNaN(val) || float.IsInfinity(val)){
continue;
}
vals.Add(val);
}
totalProfile[i] = vals.Count > 0 ? ArrayUtils.Median(vals) : float.NaN;
}
for (int i = 0; i < mdata.RowCount; i++){
for (int j = 0; j < mdata.ExpressionColumnCount; j++){
mdata[i, j] -= totalProfile[j];
}
}
}
示例4: ProcessDataCreate
private static void ProcessDataCreate(IMatrixData mdata, Parameters param)
{
string name = param.GetStringParam("Row name").Value;
double[] groupCol = new double[mdata.ExpressionColumnCount];
for (int i = 0; i < mdata.ExpressionColumnCount; i++){
string ename = mdata.ExpressionColumnNames[i];
double value = param.GetDoubleParam(ename).Value;
groupCol[i] = value;
}
mdata.AddNumericRow(name, name, groupCol);
}
示例5: ProcessDataCreate
private static void ProcessDataCreate(IMatrixData mdata, Parameters param)
{
string name = param.GetStringParam("Row name").Value;
string[][] groupCol = new string[mdata.ExpressionColumnCount][];
for (int i = 0; i < mdata.ExpressionColumnCount; i++){
string ename = mdata.ExpressionColumnNames[i];
string value = param.GetStringParam(ename).Value;
groupCol[i] = value.Length > 0 ? value.Split(';') : new string[0];
}
mdata.AddCategoryRow(name, name, groupCol);
}
示例6: ProcessData
public void ProcessData(IMatrixData mdata, Parameters param, ref IMatrixData[] supplTables,
ref IDocumentData[] documents, ProcessInfo processInfo)
{
int colInd = param.GetSingleChoiceParam("Column").Value;
string searchString = param.GetStringParam("Search string").Value;
if (string.IsNullOrEmpty(searchString)){
processInfo.ErrString = "Please provide a search string";
return;
}
bool remove = param.GetSingleChoiceParam("Mode").Value == 0;
bool matchCase = param.GetBoolParam("Match case").Value;
bool matchWholeWord = param.GetBoolParam("Match whole word").Value;
string[] vals = mdata.StringColumns[colInd];
List<int> valids = new List<int>();
for (int i = 0; i < vals.Length; i++){
bool matches = Matches(vals[i], searchString, matchCase, matchWholeWord);
if (matches && !remove){
valids.Add(i);
} else if (!matches && remove){
valids.Add(i);
}
}
PerseusPluginUtils.FilterRows(mdata, param, valids.ToArray());
}
示例7: ProcessData
public void ProcessData(IMatrixData mdata, Parameters param, ref IMatrixData[] supplTables, ProcessInfo processInfo)
{
int colInd = param.GetSingleChoiceParam("Column").Value;
string value = param.GetStringParam("Find").Value;
bool remove = param.GetSingleChoiceParam("Mode").Value == 0;
string[][] cats = mdata.CategoryColumns[colInd];
List<int> valids = new List<int>();
for (int i = 0; i < cats.Length; i++){
bool valid = true;
foreach (string w in cats[i]){
if (w.Equals(value)){
valid = false;
break;
}
}
if ((valid && remove) || (!valid && !remove)){
valids.Add(i);
}
}
mdata.ExtractExpressionRows(valids.ToArray());
}
示例8: ProcessData
public void ProcessData(IMatrixData mdata, Parameters param, ref IMatrixData[] supplTables,
ref IDocumentData[] documents, ProcessInfo processInfo)
{
SingleChoiceWithSubParams p = param.GetSingleChoiceWithSubParams("Row");
int colInd = p.Value;
if (colInd < 0) {
processInfo.ErrString = "No categorical rows available.";
return;
}
MultiChoiceParam mcp = p.GetSubParameters().GetMultiChoiceParam("Values");
int[] inds = mcp.Value;
if (inds.Length < 1) {
processInfo.ErrString = "Please select at least two terms for merging.";
return;
}
string newTerm = param.GetStringParam("New term").Value;
if (newTerm.Length == 0){
processInfo.ErrString = "Please specify a new term.";
return;
}
string[] values = new string[inds.Length];
for (int i = 0; i < values.Length; i++) {
values[i] = mdata.GetCategoryRowValuesAt(colInd)[inds[i]];
}
HashSet<string> value = new HashSet<string>(values);
string[][] cats = mdata.GetCategoryRowAt(colInd);
string[][] newCat = new string[cats.Length][];
for (int i = 0; i < cats.Length; i++){
string[] w = cats[i];
bool changed = false;
for (int j = 0; j < w.Length; j++){
if (value.Contains(w[j])){
w[j] = newTerm;
changed = true;
}
}
if (changed){
Array.Sort(w);
}
newCat[i] = w;
}
mdata.SetCategoryRowAt(newCat, colInd);
}
示例9: ProcessData
public void ProcessData(IMatrixData mdata, Parameters param, ref IMatrixData[] supplTables,
ref IDocumentData[] documents, ProcessInfo processInfo)
{
int colIndex = param.GetSingleChoiceParam("Column with second last AA").Value;
string aas = param.GetStringParam("Amino acids").Value;
string[][] col = mdata.GetCategoryColumnAt(colIndex);
List<int> validRows = new List<int>();
for (int i = 0; i < mdata.RowCount; i++){
string[] x = col[i];
for (int j = 0; j < x.Length; j++){
if (x[j].Length != 1){
processInfo.ErrString = "Some of the entries in column " + mdata.CategoryColumnNames[colIndex] +
" do not contain amino acids";
return;
}
}
bool keep = JudgeIfKept(aas, x);
if (keep){
validRows.Add(i);
}
}
mdata.ExtractExpressionRows(validRows.ToArray());
}
示例10: ProcessData
public void ProcessData(IMatrixData mdata, Parameters param, ref IMatrixData[] supplTables,
ref IDocumentData[] documents, ProcessInfo processInfo)
{
string regexStr = param.GetStringParam("Regular expression").Value;
Regex regex = new Regex(regexStr);
for (int i = 0; i < mdata.ExpressionColumnCount; i++){
string newName = regex.Match(mdata.ExpressionColumnNames[i]).Groups[1].ToString();
if (string.IsNullOrEmpty(newName)){
processInfo.ErrString = "Applying parse rule to '" + mdata.ExpressionColumnNames[i] +
"' results in an empty string.";
return;
}
mdata.ExpressionColumnNames[i] = newName;
}
}
示例11: ProcessData
public void ProcessData(IMatrixData mdata, Parameters param, ref IMatrixData[] supplTables,
ref IDocumentData[] documents, ProcessInfo processInfo)
{
string regexStr = param.GetStringParam("Regular expression").Value;
Regex regex = new Regex(regexStr);
int[] inds = param.GetMultiChoiceParam("Columns").Value;
foreach (int ind in inds){
ProcessCol(mdata.StringColumns[ind], regex);
}
}
示例12: ProcessData
public void ProcessData(IMatrixData mdata, Parameters param, ref IMatrixData[] supplTables,
ref IDocumentData[] documents, ProcessInfo processInfo)
{
int minCount = param.GetIntParam("Min. count").Value;
int selCol = param.GetSingleChoiceParam("Selection").Value;
string value = param.GetStringParam("Value").Value;
int[] catIndices = param.GetMultiChoiceParam("Categories").Value;
bool[] selection = null;
if (selCol < mdata.CategoryColumnCount){
selection = new bool[mdata.RowCount];
string[][] x = mdata.GetCategoryColumnAt(selCol);
for (int i = 0; i < selection.Length; i++){
if (x[i] != null){
for (int j = 0; j < x[i].Length; j++){
if (x[i][j].Equals(value)){
selection[i] = true;
break;
}
}
}
}
}
CountingResult result = CountCategories(mdata, selection, selCol, catIndices);
CreateMatrixData(result, mdata, minCount, selection);
}
示例13: ProcessData
public void ProcessData(IMatrixData mdata, Parameters param, ref IMatrixData[] supplTables,
ref IDocumentData[] documents, ProcessInfo processInfo)
{
List<string> expressionColumnNames = new List<string>();
HashSet<string> taken = new HashSet<string>();
for (int i = 0; i < mdata.ExpressionColumnCount; i++){
string newName = param.GetStringParam(mdata.ExpressionColumnNames[i]).Value;
if (taken.Contains(newName)){
processInfo.ErrString = "Name " + newName + " is contained multiple times";
return;
}
taken.Add(newName);
expressionColumnNames.Add(newName);
}
mdata.ExpressionColumnNames = expressionColumnNames;
taken = new HashSet<string>();
List<string> numericColumnNames = new List<string>();
for (int i = 0; i < mdata.NumericColumnCount; i++){
string newName = param.GetStringParam(mdata.NumericColumnNames[i]).Value;
if (taken.Contains(newName)){
processInfo.ErrString = "Name " + newName + " is contained multiple times";
return;
}
taken.Add(newName);
numericColumnNames.Add(newName);
}
mdata.NumericColumnNames = numericColumnNames;
taken = new HashSet<string>();
List<string> categoryColumnNames = new List<string>();
for (int i = 0; i < mdata.CategoryColumnCount; i++){
string newName = param.GetStringParam(mdata.CategoryColumnNames[i]).Value;
if (taken.Contains(newName)){
processInfo.ErrString = "Name " + newName + " is contained multiple times";
return;
}
taken.Add(newName);
categoryColumnNames.Add(newName);
}
mdata.CategoryColumnNames = categoryColumnNames;
taken = new HashSet<string>();
List<string> stringColumnNames = new List<string>();
for (int i = 0; i < mdata.StringColumnCount; i++){
string newName = param.GetStringParam(mdata.StringColumnNames[i]).Value;
if (taken.Contains(newName)){
processInfo.ErrString = "Name " + newName + " is contained multiple times";
return;
}
taken.Add(newName);
stringColumnNames.Add(newName);
}
mdata.StringColumnNames = stringColumnNames;
taken = new HashSet<string>();
List<string> multiNumericColumnNames = new List<string>();
for (int i = 0; i < mdata.MultiNumericColumnCount; i++){
string newName = param.GetStringParam(mdata.MultiNumericColumnNames[i]).Value;
if (taken.Contains(newName)){
processInfo.ErrString = "Name " + newName + " is contained multiple times";
return;
}
taken.Add(newName);
multiNumericColumnNames.Add(newName);
}
mdata.MultiNumericColumnNames = multiNumericColumnNames;
}
示例14: ProcessData
public void ProcessData(IMatrixData mdata, Parameters param, ref IMatrixData[] supplTables,
ref IDocumentData[] documents, ProcessInfo processInfo)
{
string colName = param.GetStringParam("Name of new column").Value;
int[] columns = param.GetMultiChoiceParam("Categories").Value;
bool inverse = param.GetBoolParam("Inverse").Value;
int[] catCols;
int[] stringCols;
Split(columns, out catCols, out stringCols, mdata.CategoryColumnCount);
string[] word1 = param.GetMultiStringParam("Search terms").Value;
if (word1.Length == 0){
processInfo.ErrString = "Please specify one or more search terms.";
return;
}
if (string.IsNullOrEmpty(colName)){
colName = word1[0];
}
string[] word = new string[word1.Length];
for (int i = 0; i < word.Length; i++){
word[i] = word1[i].ToLower().Trim();
}
bool[] indicator = new bool[mdata.RowCount];
foreach (int col in catCols){
string[][] cat = mdata.GetCategoryColumnAt(col);
for (int i = 0; i < cat.Length; i++){
foreach (string s in cat[i]){
foreach (string s1 in word){
if (s.ToLower().Contains(s1)){
indicator[i] = true;
break;
}
}
}
}
}
foreach (string[] txt in stringCols.Select(col => mdata.StringColumns[col])){
for (int i = 0; i < txt.Length; i++){
string s = txt[i];
foreach (string s1 in word){
if (s.ToLower().Contains(s1)){
indicator[i] = true;
break;
}
}
}
}
string[][] newCol = new string[indicator.Length][];
for (int i = 0; i < newCol.Length; i++){
bool yes = inverse ? !indicator[i] : indicator[i];
newCol[i] = yes ? new[]{"+"} : new string[0];
}
mdata.AddCategoryColumn(colName, "", newCol);
}
示例15: ProcessData
public void ProcessData(IMatrixData mdata, Parameters param, ref IMatrixData[] supplTables, ProcessInfo processInfo)
{
List<string> expressionColumnNames = new List<string>();
for (int i = 0; i < mdata.ExpressionColumnCount; i++){
expressionColumnNames.Add(param.GetStringParam(mdata.ExpressionColumnNames[i]).Value);
}
mdata.ExpressionColumnNames = expressionColumnNames;
List<string> numericColumnNames = new List<string>();
for (int i = 0; i < mdata.NumericColumnCount; i++){
numericColumnNames.Add(param.GetStringParam(mdata.NumericColumnNames[i]).Value);
}
mdata.NumericColumnNames = numericColumnNames;
List<string> categoryColumnNames = new List<string>();
for (int i = 0; i < mdata.CategoryColumnCount; i++){
categoryColumnNames.Add(param.GetStringParam(mdata.CategoryColumnNames[i]).Value);
}
mdata.CategoryColumnNames = categoryColumnNames;
List<string> stringColumnNames = new List<string>();
for (int i = 0; i < mdata.StringColumnCount; i++){
stringColumnNames.Add(param.GetStringParam(mdata.StringColumnNames[i]).Value);
}
mdata.StringColumnNames = stringColumnNames;
}