Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
CATM
Manage
Activity
Members
Labels
Plan
Issues
0
Issue boards
Milestones
Iterations
Wiki
Code
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Deploy
Releases
Package Registry
Container Registry
Operate
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Rosen Lab 🔬
CATM
Commits
99d9b416
Commit
99d9b416
authored
6 months ago
by
Huabin Zhou
Browse files
Options
Downloads
Patches
Plain Diff
Add contrast control
parent
0fcb7c4f
Branches
Branches containing commit
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
src/config.py
+45
-48
45 additions, 48 deletions
src/config.py
src/file_handler.py
+2
-0
2 additions, 0 deletions
src/file_handler.py
with
47 additions
and
48 deletions
src/config.py
+
45
−
48
View file @
99d9b416
# config.py
# Path to the tomograms
import
os
"""
T
o do the template matching,the first stp is taking the input from the user
:
T
he input and configureation
:
1.The tomogram, should be black on white background
2.The templates, needs to be white on black background, to be consistent with normal convention
3.The coordinates of picked particles
4.The missing wedge information, default to [30,42], corresponding to [-60,+48] tilt range
5.The shrinkage factor, default to 0.3, this controls the contours of the template
6. There are more high leve
r
parameters, like the search depth, etc.
6. There are more high leve
l
parameters, like the search depth, etc.
"""
import
os
############################ input && output control ##################################
current_dir
=
os
.
getcwd
()
split_path
=
current_dir
.
split
(
"
/
"
)
tomoID
=
split_path
[
-
2
]
############################ input && output control ##################################
prefix
=
"
s
"
+
tomoID
+
"
.match
"
tomogram
=
"
s
"
+
tomoID
+
"
.lps25.mrc
"
# Paths to templates and
cor
r
e
sponding masks
# the templates need to have the same shape
templates
=
[
"
templates/mono-8Apx-lps30-box24-rot12-core.mrc
"
,
"
templates/pre-40s.mrc
"
,
"
templates/pre-60s
.mrc
"
,
prefix
=
tomoID
+
"
.test1
"
input_folder
=
"
inputs/
"
tomogram
=
input_folder
+
tomoID
+
"
.test1.lps25.mrc
"
black_on_white
=
1
# The constrast of tomogram, 0 if the particle has white contrast (positive values)
templates
=
[
input_folder
+
"
mono-8Apx-lps30-box30-rot12-
core
.mrc
"
]
contour_level
=
[
0.2
]
# Masks are required to be the same shape as the
templates
# One can create the mask in Relion with soft edges, extend 2 and soft 3 is recommended
masks
=
[
input_folder
+
"
mask-mono-8Apx-lps30-box30-rot12-ex2-s2
.mrc
"
,
]
contour_level
=
[
0.2
,
0.23
,
0.23
]
# this is an important parameter, find script_s1 to help if you need
# Masks are required to be the same shape as the templates, spherical masks or shape masks
# One can create the mask in Relion with soft edges, extend 3 and soft 3 is recommended
# Leave it blank if you don't are not sure what to use, the mask will be generated internally
masks
=
[]
# Coordinates of picked particles,you might also include the angles for local search
# coords = pd.read_csv("/path/to/coords.csv")
# Assuming the columns are x, y, z,change it if not
df
=
"
../cluster/s
"
+
tomoID
+
"
.unetn_4.5.csv
"
df
=
None
# input_folder+'s68.pick1.csv'#'../cluster/s'+str(tomoID)+'.unetn_4.5.csv'
# We need the missing wedge information or a CTF model
# You might create a CTF model via Relion or Warp, which should be generic for data collected with the microscope
# If a CTF model present, it will be use by default
ctf_model_file
=
"
s
"
+
tomoID
+
"
_0000000_ctf_8.00A.mrc
"
# path to the CTF model
ctf_model_file
=
(
input_folder
+
tomoID
+
"
_0000000_ctf_8.00A.mrc
"
)
# path to the CTF model
# output path
output_path
=
"
results/
"
write_models
=
True
# Generate a volume with assigned models
mpi_nn
=
-
1
# -1 will use all the availbe cpu
############################ Template Matching Control ##################################
# Missing wedge information, if CTF model is not found
missing_wedge
=
[
30
,
42
]
# [30,42] Corresponding to [-60, +48] tilt range
...
...
@@ -52,42 +51,40 @@ missing_wedge = [30, 42] # [30,42] Corresponding to [-60, +48] tilt range
# Shrinkage factor, which the counter level of the volume, can be determined in Chimera
# It's designed to control how close two objects are allowed to be
# only template 1 will be used for the cleaning of clashes
shrinkage_factor
=
0.9
# output path
output_path
=
"
results/
"
write_models
=
True
# Generate a volume with assigned models
shrinkage_factor
=
1
# Keep the following parameters as default for now
# Number of angles for global template matching
number_of_angles
=
2000
# The minimum CCCs
allowed for the
template matching
min_CCC
=
0.
2
# The minimum CCCs
kept after
template matching
min_CCC
=
0.
1
# Range of local search angles, only for local search, default to
Non
e for global search
# Range of local search angles, only for local search, default to
Fals
e for global search
# For local searchthe rough angles need to be provied in the coords.csv,
# with columns phi, theta, psi in intrinsic ZXZ convention
local_search_angles
=
False
# False or True
local_search_range
=
5
# in degrees, how far from the original position to search
local_search_step_interval
=
5
# set to zore if you don't want to have any refiment
# searching space
matching_space
=
3
# in pixels, how far from the original position to search
############################ Clash Resolver Control ##################################
# Search depth, control how many rotataions
search_depth
=
200
# for development
bypass_TM
=
Fals
e
bypass_TM
=
Tru
e
bypass_CR
=
False
sort_score
=
True
# this is useful if you don't want to mix up the index
mpi_nn
=
-
1
# -1 will use all the availbe cpu
pre_assigned_volume
=
None
# path to the pre-assigned volume
############################ For Development ##################################
pre_assigned_volume
=
(
None
#'s'+tomoID+'-pre-assigned-vol.mrc' # path to the pre-assigned volume
)
bypass_optimizer
=
False
# this will bypass the optimizer clash resolver
distance_tolerance
=
3
adjust_ccc
=
0.11111111
# max distance between two partles to be considered as the same particle
distance_tolerance
=
2
adjust_ccc
=
None
# max distance between two part
ic
les to be considered as the same particle
# option's for running only the general template matching
testTM
=
Fals
e
adjust_ccc_relion
=
0
testTM
=
Tru
e
chunk_size
=
None
# [304,776,776]#[152,194,194]
This diff is collapsed.
Click to expand it.
src/file_handler.py
+
2
−
0
View file @
99d9b416
...
...
@@ -164,6 +164,8 @@ def parse_input():
# print(json.dumps(user_inputs, indent=4))
# Processing and reading data
tomogram
=
read_mrc
(
user_inputs
[
"
tomogram
"
])
if
not
user_inputs
[
'
black_on_white
'
]:
tomogram
=
-
tomogram
dims
=
tomogram
.
shape
templates
=
[
read_mrc_permissive
(
template
)
for
template
in
user_inputs
[
"
templates
"
]]
if
user_inputs
[
"
masks
"
]:
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment