config.json文件(configjson報錯)

本文目錄一覽:

config.json是什麼文件

config.json文件用於工程配置初始化,在程序運行之前配置好。

以下是 cocos2d-x lua 工程的 config.json的文件實例:

{

“init_cfg”:{

“isLandscape”: true,

“isWindowTop”: false,

“name”: “CocosLuaGame”,

“width”: 960,

“height”: 640,

“entry”: “src/main.lua”,

“consolePort”: 6010,

“uploadPort”: 6020,

“debugPort”: 10000,

“forwardConsolePort”: 10089,

“forwardUploadPort”: 10091

},

“simulator_screen_size”: [

{

“title”: “iPhone 3Gs (480×320)”,

“width”: 480,

“height”: 320

},

{

“title”: “iPhone 4 (960×640)”,

“width”: 960,

“height”: 640

},

….

]

}

詳細解釋如下:

“init_cfg”

“isLandscape”

布爾類型

橫豎屏配置,如果為true為橫屏,如果為false為豎屏

“isWindowTop”

布爾類型

窗口置頂配置,如果為true則窗口默認置頂,反之默認不置頂

“entry”

字符串類型

腳本啟動入口文件相對工程根目錄的文件路徑,如:”src/main.lua”

“name”

字符串類型

工程名,顯示在窗口標題中

注:這個參數只在桌面系統下生效

“width”

正整型

窗口寬

注:這個參數只在桌面系統下生效

“height”

正整型

窗口高

注:這個參數只在桌面系統下生效

“consolePort”

正整型

console端口

“uploadPort”

正整形

接收IDE上傳文件的端口

“debugPort”

正整型

調試端口

“forwardConsolePort””

正整形

Android ADB 模式調試時,將這個端口映射到 Android 設備的 consolePort 上

“forwardUploadPort””

正整形

Android ADB 模式調試時,將這個端口映射到 Android 設備的 uploadPort 上

注意事項:所有的端口配置都只在桌面平台下生效。

服務器參數配置文件config.json該怎麼設置

代碼如下:請導入 System.XML命名空間

string file = Server.MapPath(@”~\web.config”);

XmlDocument xmlDoc = new XmlDocument();

xmlDoc.Load(file);

string s1 = “aaa”;

string s2 = “bbb”;

string h = “ccc”;

string user = “ddd”;

string pass = “eee”;

XmlNodeList nodeList = null;

nodeList = xmlDoc.SelectSingleNode(“configuration//connectionStrings”).ChildNodes;

//遍歷所有子節點

foreach (XmlNode xn in nodeList)

{

//將子節點類型轉換為XmlElement類型

XmlElement xe = xn as XmlElement;

if (xe.Name == “add”)

{

if (xe.GetAttribute(“name”) == “acountConnectionString”)

{

xe.SetAttribute(“connectionString”, s1);

}

if (xe.GetAttribute(“name”) == “mailaddress”)

{

xe.SetAttribute(“connectionString”, s2);

}

}

}

nodeList = xmlDoc.SelectSingleNode(“configuration//system.net//mailSettings//smtp”).ChildNodes;

foreach (XmlNode xn in nodeList)

{

//將子節點類型轉換為XmlElement類型

XmlElement xe = xn as XmlElement;

if (xe.Name == “network”)

{

xe.SetAttribute(“host”, h);

xe.SetAttribute(“userName”, user);

xe.SetAttribute(“password”, pass);

break;

}

}

xmlDoc.Save(file);

但實際上通過代碼修改web.config的操作微乎其微

1. web.config的修改可能會導致session等服務器變量的丟失

2. 如果你的頁面是發佈在IIS下面,要通過頁面修改web.config,必須給web.config這個文件添加 Network service (IIS6)或 ASPNET (IIS)用戶的寫權限,這在實際操作中是不可想像的

微信小程序(上)

註冊開發者賬號:

安裝小程序開發工具:

創建項目

pages目錄:用於存放所有的頁面。

utils目錄:用於存放工具類文件。

app.js:是入口文件,程序在運行時,首先要執行該文件。

app.json:是全局配置文件,用於配置小程序的信息(它裏面配置的是全局信息)。

app.wxss:是全局樣式文件。全局樣式文件裏面定義的選擇器,在所有的頁面中生效。

project.config.json:是項目配置文件。

sitemap.json:是SEO配置文件,方便用戶搜索到該小程序。

(1)pages配置項

pages裏面註冊的是視圖。用於指定小程序由哪些頁面組成,每一項都對應一個頁面的路徑(含文件名)信息

(2)window配置項

window 是全局窗口配置。

backgroundTextStyle 設置文本樣式(下拉loading的樣式),僅支持 dark / light。

navigationBarBackgroundColor 設置導航欄背景。

navigationBarTitleText 設置導航欄文本。

navigationBarTextStyle 設置導航欄標題顏色,僅支持 black / white。

(3)style

style 設置樣式級別,默認是v2。

(4)sitemapLocation

sitemapLocation 指明sitemap.json 的位置;默認為 ‘sitemap.json’ 即在 app.json 同級目錄下名字的 sitemap.json 文件。

每一個頁面由四個文件組成:xxx.wxml文件、xxx.wxss文件、 xxx.js文件和xxx.json文件。

(1)xxx.wxml文件

xxx.wxml文件,就相當於一個html文件。在wxml文件中,不能寫傳統的html標籤,只能寫微信提供的組件。

① view組件

相當於div標籤。

② text組件

相當於span標籤。

③ swiper

swiper是滑塊視圖容器,它裏面只能放swiper-item組件。

swiper組件的常用屬性:

circular是銜接滑動

autoplay是自動切換

interval是自動切換時間間隔

indicator-dots是否顯示面板指示點

indicator-color指示點顏色

indicator-active-color當前選中的指示點顏色

④ image

image是圖片組件,最好全部採用網絡圖片,因為小程序的總體積不允許超過2MB。

(2)xxx.wxss文件

xxx.wxss文件,就相當於一個css文件。在wxss文件中,最好不要寫標籤選擇器和id選擇器,統一寫類選擇器。

為了讓小程序裏面的內容在各種設備上能夠自適應顯示,微信推出了響應式單位:rpx。在iphone6中,2rpx=1px。

(3)xxx.js文件

xxx.js文件,是交互文件(核心文件)。

Page()函數,返回頁面對象,該函數需要傳一個配置參數,這個配置參數是一個對象。在這個配置對象中,定義當前頁面的所有內容。

① data

定義頁面的數據。

② 自定義函數

開發者可以添加任意的函數或數據到Object 參數中,在頁面的函數中用this可以訪問。

(4)xxx.json文件

xxx.json文件,是頁面的配置文件(它裏面配置的是當前頁面信息)。

WXML 中的動態數據均來自對應 Page 的 data。

(1)獲取data中數據

通過插值表達式{{}},可以顯示js裏面定義的data裏面的數據。

(2)組件屬性(需要在雙引號之內)

(3)運算

可以在{{}} 內進行簡單的運算。

① 三元運算

② 邏輯判斷

bindtap是觸屏事件,其實就是相當於網頁中的點擊事件。

小程序中bindtap綁定方法時不能傳參數。所以組件通過data-xxx傳遞數據。

注意: 自定義屬性的命名用駝峰或者大寫命名,小程序內部會自動轉成小寫。

8、setData()方法

setData()方法,更新頁面中數據。頁面數據更新後,調用setData()方法重新渲染到頁面。

wx:for指令用於循環數組數據,生成組件。

循環出來的每一項通過item返回,每一項對應的索引,通過index返回。

wx:key=””,設置每一項唯一的標識。循環列表時,添加wx:key的好處是,將來列表發生變化時重新渲染列表的損耗為更低。

條件渲染可以使用wx:if或hidden。

一般來說,wx:if 有更高的切換消耗而 hidden 有更高的初始渲染消耗。因此,如果需要頻繁切換的情景下,用 hidden 更好,如果在運行時條件不大可能改變則 wx:if 較好。

wx:if用於條件渲染:條件為真生成裏面的內容,條件為假不會生成裏面的內容。(每次重新生成內容)

也可以用wx:elif 和 wx:else 來添加一個 else 塊。

hidden用於條件渲染:條件為真隱藏裏面的內容,條件為假顯示裏面的內容。(每次切換樣式)

在app.json文件中添加tabBar節點。tabBar是小程序客戶端底部或頂部tab欄的實現。

color:tab上的文字默認顏色,僅支持十六進制顏色。

selectedColor:tab上的文字選中時的顏色,僅支持十六進制顏色。

backgroundColor:tab的背景色,僅支持十六進制顏色。

borderStyle:tabbar上邊框的顏色, 僅支持 black / white。

position:tabBar的位置,默認值是: bottom,僅支持 bottom / top。當 position 為 top 時,不顯示 icon。

custom:自定義tabBar。

(2)list

list:tab的列表。

list 接受一個數組,只能配置最少 2 個、最多 5 個 tab。

pagePath:頁面路徑,必須在pages 中先定義。

text:tab 上按鈕文字。

iconPath:圖片路徑,icon 大小限制為 40kb,建議尺寸為 81px * 81px,不支持網絡圖片。selectedIconPath:選中時的圖片路徑,icon 大小限制為 40kb,建議尺寸為 81px * 81px,不支持網絡圖片。

(1)跳轉普通頁面

方法① navigator組件

方法② navigateTo()方法

navigateTo()方法,用於跳轉普通頁面。

(2)跳轉tabBar頁面

方法① navigator組件

如果要使用navigator組件跳轉tabBar頁面,需要設置open-type=”switchTab”。

方法② switchTab()方法

switchTab()方法,用於跳轉tabBar頁面。

title:提示的標題

content:提示的內容

success:接口調用成功的回調函數。回調函數中的confirm屬性返回true,表示點擊的是確定按鈕,否則是取消按鈕。

title:提示的內容

icon:圖標

duration:消息提示框的顯示時間

mask:是否顯示透明蒙層,防止觸摸穿透

模塊化語法有兩種:① commonjs規範,② es6規範。

nodejs環境採用的就是commonjs規範。採用exports 或 module.exports 導出成員,採用require() 導入成員。

微信小程序支持commonjs規範,同時還支持官方的ES6規範。ES6規範採用export 導出成員,採用import 導入成員。

將封裝的方法放到util目錄下的js文件中。可以新建js文件,也可以寫在直接util.js文件中。

(1)確認框方法

定義確認框方法,並導出

(2)消息框方法

定義消息框方法,並導出

(3)獲取事件參數的方法

import是ES6的導入語句。

wx對象是微信小程序的全局對象,在任何地方都可以使用。

(1) 註冊語句

(2) 在app.js入口文件中導入

注意: 註冊給wx對象的方法,需要在app.js文件中導入,才可使用。

(3) 調用方法

wx.方法名(參數)

python中四種配置文件

常用的配置文件後綴是.ini、.conf、.py,當然還有使用.json、.txt的,推薦使用常用的.ini、.py,配置文件的名字一般是config便於理解和使用。

ini配置文件,這類配置文件我們使用內置configparser庫來使用,它可以實現配置文件的寫入、更新、刪除、讀取等操作非常方便,建議使用這種方式。

新建一個config.ini的配置文件內容如下,編碼格式要是 utf-8 以免出錯。:

其中[]中的是section節點,該節點下的等式是option即鍵=值

然後每一行寫一個option ,每個選項就是一個option。直接寫名字,後面加 ” = ” 再加上它的值就行,字符串的表示不要加引號,否則引號也會被解析出來。

可以在配置文件中加入注釋 ,但是注釋必須是單獨的一行,且以 「#」 開頭。只是每次運行時不會讀入注釋,只要運行一次,寫入文件後,所有的注釋都會消失。

config.json文件

使用python內置的 json 標準庫進行解析ini文件。

load() 從json文件中讀取json格式數據

loads() 將字符串類型數據轉化為json格式數據

dump() 將json格式數據保存到文件

dumps() 將json格式數據保存為字符串類型

TOML的語法廣泛地由key = “value”、[節名]、#注釋構成。

支持以下數據類型:字符串、整形、浮點型、布爾型、日期時間、數組和圖表。

config.toml文件

使用外部庫 toml 解析toml文件。

安裝:pip install toml

讀取文件

安裝:

YAML是目前最推薦的配置文件格式。優秀的配置文件標準它幾乎都有:

容易閱讀和修改,支持注釋。

支持豐富的數據類型。

不同格式的明確表達。

yaml使用時需要注意:

yaml強制縮進。雖然不規定具體縮進幾個空格,但是同一級的內容要保持相同的縮進。

冒號後面一定要加空格, 否則無法解析。

python解析 yaml 可以使用pyyaml庫,操作和標準的文件操作非常類似:

得到的data就是解析後的數據,在python當中,它是一個嵌套的字典:

想獲取某一項配置,再通過字典的操作獲取:

config.yaml文件

讀取

OrthoFinder尋找同源基因並建樹(1)

一、OrthoFinder的安裝

使用之前記得查看幫助文檔:

二、OrthoFinder的使用

OrthoFinder需要蛋白編碼的Fasta(fa)文件作為輸入,所以首先我們準備好要比對的物種的蛋白序列(至少要2個),存入一個文件夾。

我這裡有9個需要比對的物種的fa文件:

1.典型用法:

其中:

-f 指定蛋白序列所在的文件夾(這裡我的文件夾名為orthofinder)

此命令僅需指定輸入文件夾,其餘為默認參數。

2.進階用法:

在OrthoFinder中我們可以通過不同的參數指定比對過程中使用的方法和其他參數設置,下面列出常用的幾個參數:

常用參數:-t 序列搜索使用的線程數 (默認值為16)

-a 序列分析使用的線程數 (默認值為1)

-M 基因樹推斷方法(默認為dendroblast)可選:dendroblast ,msa

-S 序列比對使用的程序 (默認為Blast)可選:blast, mmseqs, blast_gz, diamond(推薦使用diamond,比對速度快)

-A 多序列聯配方式,該選項僅當 -M msa 選項時才有效(默認為mafft)可選:muscle, mafft

-T 建樹方式,該選項僅當 -M msa 選項時才有效 (默認為fasttree)可選:iqtree, raxml-ng, fasttree, raxml

-s 輸入特定的根物種樹

-I 設定MCL的膨脹係數(默認為1.5)

我做的研究,一般數據較多較大,比對我選擇Diamond,建樹選擇fasttree,多序列比對msa,線程數由於設備限制,設置為16

3.高級用法:

通過上面的參數,我們可以做一個從蛋白序列到同源基因建樹的流程,但是仍然有一些參數無法設置,比如建樹過程中的bootstrap。這時候,我們就要修改程序的config.json文件。

如果你是用anaconda安裝的orthofinder,那麼config.json文件在你安裝這個軟件的conda環境裏面的bin文件里:

首先我們打開config.json文件

文件開頭介紹了修改方法,你可以添加任何你想在流程中使用的軟件,只要按照其格式進行命令修改就行。這裡主要說一下對其中緣由參數的修改。

如要修改比對過程中的E-value值,那麼在相應比對命令里修改數值,blast_gz 里的 -evalue ,diamond 里的 -e 。

如要在iqtree建樹過程中增加bootstrap, 則在iqtree的”cmd_line”:中添加

-bb 1000 (iqtree的超快bootstrap)或 -b 1000(傳統bootstrap)

raxml-ng類似,你可以添加任何你想修改的參數,大家可以在熟悉各軟件的的參數後,根據自己的需求更改。

三、OrthoFinder的結果解讀

程序運行結束後,會在你指定的蛋白序列文件夾中生成一個Results_*** 文件夾,其中***是運行日期

(1) Results Files: Orthogroups

對於Orthogroups.GeneCount.tsv的結果,我們可以提取出來

我們選出各個物種中基因數大於0的基因家族,首先看物種1

我們不要第一行,然後看物種1,也就是$2,選出大於0的,然後我們需要的是基因家族編號,也即是第一列

(2) Results Files: Gene Trees and Species Tree

(3)Results Files: Orthogroup Statistics

四: 高級用法

(1)添加新物種到之前的分析(previous_orthofinder_directory指的是包含「SpeciesIDs.txt」的目錄)

(2)從之前的分析中移除物種

從輸出目錄下找到工作目錄「WorkingDirectory」中的「SpeciesIDs.txt」文件,在要移除的物種那一行最前面加上一個「#」並保存,然後運行(previous_orthofinder_directory指的是包含「SpeciesIDs.txt」的目錄):

(3)同時添加和刪除物種

編輯好「SpeciesIDs.txt」後,運行:

(4)更多高級功能請閱讀官方文檔,主要包括「Inferring MSA Gene Trees」、並行計算、單獨運行BLAST、使用預先計算的BLAST結果以及回歸檢測。

原創文章,作者:OCGAK,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/317687.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
OCGAK的頭像OCGAK
上一篇 2025-01-11 16:27
下一篇 2025-01-11 16:27

相關推薦

發表回復

登錄後才能評論