WITNESS LIST Agriculture & Livestock Committee April 10, 2003-8:00A HB 2510 For: Copeland, Chris (Texas Veterinary Medical Association; Texas Society for Biomedical Research) Orem, John (Self) Against: Harrell, Will (American Civil Liberties Union) Registering, but not testifying: For: Brady, Zach (Texas & Southwestern Cattle Raisers Assn.) Coghlan D.V.M., Lezlee G. (Self) Dippel, Donnie (Texas Ag Industries Association) Green, J. Kelley (Self and Texas Cotton Ginners' Assn) Hodges, Ken (Texas Farm Bureau) Hollbot, Lorraine (Texas Society for Biomedical Research) Horton, Ken (Texas Pork Producers Association) Kowalski, Tom (Texas Heatlhcare and Bioscience Institute) Marwitz, David (Monsanto) Sklar, Shane (Independent Cattlemen's Assoc. of Texas) Terrell, James (Select Milk Producers, Inc.) Turner, Bob (Texas Sheep & Goat Raisers Association) Woodard, Shayne (Texas Rice Producers) Against: de la Concha, Sandra (Self) Carroccio, Cindy (Austin Zoo) Cockcroft, Margaret (Self) Cupell, Robin (Self) Daniels, Jeanne (Self) Dickey, Pat (Self) Ford, Natalie (Self) Fratzo, K. (Self) Gilleland, Ellis (Self and "Texas-animals") Hancock, Faye (Self) Hendrix, Susan (Self) Kantor, Diana (Self) Lane, Lindsey (Self) Linder, Bethany (Self) Logsdon, Kristin (Self) McMurray, Heather (Self) Medicus/HSUS, Karen (Humane Society of the United States) Moore, Leila (Self) Morgan, Tara (Self) Murphy, Wendy (Self) Nash, Mary S. (Self) Nevks, Kathy (Self) Nordyke, Patricia M. (Texas Federation of Humane Societies) Parson, Blair (Self) Rudzki, Kimberly A. (Self) Rudzki, Michael (Self) Samudio, Ernest (Self) Sherrod, Kamber (Self) Timms, Graham (Self) Timms, Laurette (Self) Timms, Rick (Self) Van Bavel, Angelique (Self) VanPelt, Allison (Self) VanZant, Austin (Self) Verret, Timothy J. (Self) HB 2785 For: Zimmerman, Walter (Texas Shrimp Association) Registering, but not testifying: For: McCarthy, Ed (Texas Shrimp Association and Walter Zimmerman) Sputnik, Mr. (Self) On: Hubert, Martin A. (Tx. Dept. of Ag) HB 3061 On: Copeland, Chris (Texas Veterinary Medical Association) Hillman DVM, Bob (Texas Animal Health Commission) Rugeley D.V.M., William W. (Texas Veterinary Medical Association) Registering, but not testifying: For: Horton, Ken (Texas Pork Producers Assn) Rogers Jr., J.B. (Texas Veterinary Medical Assoc. of General Practioners) HB 3213 For: Copeland, Chris (Texas Veterinary Medical Association) Rugeley D.V.M., William W. (Texas Veterinary Medical Association) HB 3383 Registering, but not testifying: For: Turner, Bob (Texas Sheep & Goat Raisers Assoc) HB 3387 For: Drotman, Robert (Frito-Lay, Inc.) James, Reggie (Consumers Union SW Regional Office) Against: Averhoff, Scott (Self) Kowalski, Tom (Texas Healthcare and Bioscience Institute) Leamons, Charles (Texas Seed Trade Association) Wedel, James L. (Self and Corn Producers Assn of Texas) Registering, but not testifying: Against: Dippel, Donnie (Texas Ag Industries Association) Fisher, Jon (Texas Chemical Council) Green, J. Kelley (Self and Texas Cotton Ginners' Assn) Hazlewood, Steve (The Dow Chemical Company) Hodges, Ken (Texas Farm Bureau) Horton, Ken (Texas Pork Producers Association) Terrell, James (Select Milk Producers, Inc.) On: Scifres, Charles J. (Texas A&M Univ (TAES))


Hello.
Welcome! I'm Arnaud.
I'm a software engineer building crypto(graphic) things from sunny Austin, Texas.
I care about digital privacy, freedom, security, and performance.
I'm part of the MailTape crew.
Someday I hope I can be a capable Mozilla contributor.
Find Me Online
My GitHub Profile
LinkedIn profile
Flickr Profile
{{ end }}


Find Your Adventure
Home
Topics or Activities
Search
Enter your starting address for directions to parks OR enter only the state to search parks in that state
City
State
Choose...
Alabama
Alaska
Arizona
Arkansas
California
Colorado
Connecticut
Delaware
District Of Columbia
Florida
Georgia
Hawaii
Idaho
Illinois
Indiana
Iowa
Kansas
Kentucky
Louisiana
Maine
Maryland
Massachusetts
Michigan
Minnesota
Mississippi
Missouri
Montana
Nebraska
Nevada
New Hampshire
New Jersey
New Mexico
New York
North Carolina
North Dakota
Ohio
Oklahoma
Oregon
Pennsylvania
Rhode Island
South Carolina
South Dakota
Tennessee
Texas
Utah
Vermont
Virginia
Washington
West Virginia
Wisconsin
Wyoming
Please choose a State
Zip
How do you wish to choose your
adventure?
Topics
Activities
Directions
No Parks Found.
×
No parks found with the park name you entered. Try your search with a different name or search by the state option below.


People Can’t Hold Back Their Tears As Popular Slay Queen Afia Wale Dies In A Car Crash (+Photos)
by BB JonesA sad news that has surfaced on the internet indicates that a beautiful young woman identified as Afia Wale, real GenahLina Owusu Ansah has died from a car accident.
The fatal accident reportedly occurred at the Suhum -Kumasi highway last week.
The report adds that Afia boarded a bus to Kumasi on Monday, November 18th but they, unfortunately, had an accident on the way where she lost her dear life.
Photos of her one week memorial service has popped up on the internet and people can’t stop shedding tears.
One of her friends called Efyagighh Starr broke the news on Facebook.


Black Forest [bc53], forest, in Tenka, peasants: 224
Last updated Turn #135
Black Forest [bc53], forest, in Tenka, peasants: 224
------------------------------------------------------------------------
12: Apollo [b5e], Imperial Empire, with 11 workers, 63 lt. xbowmen,
12: four hvy. wagons, arrived from the east, accompanied by:
12: Lutra [a4w], Imperial Empire, with 13 paladins, 40 pikemen
12: Hera [g3f], Imperial Empire, with 20 soldiers, 40 pikemen
12: Thor [r4g], Imperial Empire, with ten soldiers, 39 pikemen
12: Eos [a2t], Imperial Empire, with ten workers, 48 lt. xbowmen
12: Khaki Blazer [w4j], Imperial Empire, with 17 soldiers,
12: seven pikemen, 35 lt. foot
12: Banian [e7n], Imperial Empire, duke, the High Priest of the Church
12: of Eres [151], with five soldiers, ten angels
12: Dunlop [j5s], Mandor Confederacy, prisoner
13: Apollo [b5e], Imperial Empire, with 11 workers, 63 lt. xbowmen,
13: four hvy. wagons, went west, accompanied by:
13: Lutra [a4w], Imperial Empire, with 13 paladins, 40 pikemen
13: Hera [g3f], Imperial Empire, with 20 soldiers, 40 pikemen
13: Thor [r4g], Imperial Empire, with ten soldiers, 39 pikemen
13: Eos [a2t], Imperial Empire, with ten workers, 48 lt. xbowmen
13: Khaki Blazer [w4j], Imperial Empire, with 17 soldiers,
13: seven pikemen, 35 lt. foot
13: Banian [e7n], Imperial Empire, duke, the High Priest of the Church
13: of Eres [151], with five soldiers, ten angels
13: Dunlop [j5s], Mandor Confederacy, prisoner
30: The population grows by two peasants.
Routes leaving Black Forest:
North, mountain, to Dragonrock [bb53], 10 days
East, mountain, to Dragonrock [bc54], 10 days
South, forest, to Black Forest [bd53], 8 days
Garrison [ba9m], garrison, uncontrolled, with two soldiers
West, forest, to Black Forest [bc52], 8 days
Garrison [fk3t], garrison, uncontrolled, with six peasants
Seen here:
Garrison [jt5r], garrison, uncontrolled, with two peasants,
two workers


Annotating EMDB-SFF Segmentations¶
Contents
Introduction¶
Annotation of EMDB-SFF segmentations is the second core function of sfftk
.
Here we outline how to perform annotations of EMDB-SFF segmentations via the
command-line.
Synopsis¶
Annotation is performed using the notes utility that is accessed with the
notes
subcommand.
sff notes
yielding
usage: sff notes [-h] EMDB-SFF annotation tools ...
The EMDB-SFF Annotation Toolkit
optional arguments:
-h, --help show this help message and exit
Annotation tools:
The EMDB-SFF Annotation Toolkit provides the following tools:
EMDB-SFF annotation tools
search search for terms by labels
list list available annotations
show show an annotation by ID
add add new annotations
edit edit existing annotations
del delete existing annotations
copy copy notes across segments within the same EMDB-SFF
file
clear clear notes in an EMDB-SFF file
merge merge notes from two EMDB-SFF files
save write all changes made since the last 'save' action
trash discard all changes made since the last the edit
action (add, edit, del)
Annotation Levels: Global vs. Segment Notes¶
Annotations can be added at the segmentation (global) or individual segment level.
sfftk
distinguishes between both levels of annotations. Global notes are
useful for terms that describe the segmentation as a whole such as the
species, the tissue type, disease state and such global references. Segments
notes refer to individual segments which may be constituted of multiple
biological entities of interest. Given the segment relationship specified by
parent_id to segment_id, a hierarchy of segments may also be annotated.
Simply add notes to the segment whose ID you are targetting.
Operations: Find, View, Modify¶
There are three main operations that a user can perform using the notes
subcommand.
Find notes from an ontology principally the Ontology Lookup Service (OLS) hosted at EMBL-EBI;
View notes present in an EMDB-SFF file;
Modify notes in an EMDB-SFF file.
States: FIND, VIEW, MODIFY¶
Correspondingly, using the notes subcommand puts the user in one of three states: the FIND state, the VIEW state and the MODIFY state. These will be indicated by the colour of the text on the screen.
WHITE indicates the
VIEW STATE
i.e. that no modifications will be done on the EMDB-SFF fileYELLOW indicates the
FIND STATE
i.e. search for terms from OLS, andGREEN indicates the
MODIFY STATE
i.e. that a file is currently being edited.
Note
Note, viewing the contents of an EMDB-SFF file in the MODIFY STATE
will also appear in green even if a view
command is invoked.
The full listing of sub-subcommands organised by operation are:
Find
search
View
list
show
Modify
add
edit
copy
clear
merge
del
save
trash
We will look at each of these in turn.
Finding Notes¶
The search sub-subcommand displays results from searching EMBL-EBI’s OLS. As described in States, the terminal text is coloured yellow.
sff notes search
sff-rw notes search -h
sff-rw notes search --help
display available options.
usage: sff-rw notes search [-h] [-p CONFIG_PATH] [-b]
[-R {ols,go,emdb,uniprot,pdb,europepmc,empiar}]
[-s START] [-r ROWS] [-O ONTOLOGY] [-x] [-o] [-L] [-l]
[search_term]
Search ontologies for annotation by text labels
positional arguments:
search_term the term to search; add quotes if spaces are included
optional arguments:
-h, --help show this help message and exit
-p CONFIG_PATH, --config-path CONFIG_PATH
path to configs file
-b, --shipped-configs
use shipped configs only if config path and user
configs fail [default: False]
-R {ols,go,emdb,uniprot,pdb,europepmc,empiar}, --resource {ols,go,emdb,uniprot,pdb,europepmc,empiar}
the resource to search for terms or accessions; other
valid options are [u'ols', u'go', u'emdb', u'uniprot',
u'pdb', u'europepmc', u'empiar'] [default: ols]
-s START, --start START
start index [default: 1]
-r ROWS, --rows ROWS number of rows [default: 10]
EBI Ontology Lookup Service (OLS):
The Ontology Lookup Service (OLS) is a repository for biomedical
ontologies that aims to provide a single point of access to the latest
ontology versions. You can use the following options to modify your search
against OLS by ensuring that the -R/--resource flag is set to 'ols'
(default).
-O ONTOLOGY, --ontology ONTOLOGY
the ontology to search [default: None]
-x, --exact exact matches? [default: False]
-o, --obsoletes include obsoletes? [default: False]
-L, --list-ontologies
list available ontologies [default: False]
-l, --short-list-ontologies
short list of available ontologies [default: False]
Specifying Search Terms¶
For single worded searches enter the term with or without quotes. Multi-word terms must be quoted to prevent splitting them.
# single word term
sff-rw notes search mitochondria
sff-rw notes search ‘mitochondria’
sff-rw notes search “mitochondria”
# multi-word term
sff-rw notes search ‘fragment mitochondria’
The search results are displayed as a table with the following columns:
index
label of the result term
short_form 1 of the result term
resource_name
description/IRI is free text describing the term and IRI refers to a link by which the term in the ontology may be accessed, and
type can have one of the following values: class, property, individual, ontology
Specifying The Resource To Search¶
By default all searches are carried out against the EBI Ontology Lookup Service (OLS).
In addition to the OLS users can also search the follow resources for accessions to use for annotation:
The -R/--resource
flag is used to specify the desired resource to search, which takes a string arguments as follows:
ols
(default) will search EBI OLS;emdb
will search the EMDB;pdb
will search PDB;uniprot
will search UniProt;europepmc
will search EuropePMC;empiar
will search EMPIAR.
For example, to search for mitochondria in EMDB the user would type one of the following:
sff notes search -R emdb "mitochodria"
sff-rw notes search --resource emdb "mitochondria"
Specifying The Ontology To Search¶
This only applies to searches against the EBI Ontology Lookup Service (the default resource to search or -R/--resource ols
).
sff notes search -O <resource_name> “<term>”
sff notes search --ontology <resource_name> “<term>”
See Listing Available Ontologies on how to get an ontology to search.
Performing Exact Searches¶
Exact searches only return results matching the search term exactly.
sff notes search -x “<term>”
sff notes search --exact “<term>”
Including Obsolete Terms¶
Some terms are retired and are excluded by default. They can be included using
the -o/--obsoletes
flag.
sff notes search -o “<term>”
sff notes search --obsoletes “<term>”
Listing Available Ontologies¶
sff notes search -L “term”
sff notes search --list-ontologies “term”
By default this provides a multi-line result for each ontology consisting of the namespace (also called ID space), preferred prefix, title, description, homepage, the ontology ID, and version of the ontology.
Short Listing Of Available Ontologies¶
Alternatively, a simple table result can be displayed using the
-l/--short-list-ontologies
flag which displays only two columns:
namespace and description.
sff notes search -l “term”
sff notes search --short-list-ontologies “term”
Traversing Searching Results¶
By default, sff notes
search only shows the first page of results. Quite
often, there will be more than one page of results. This will be evident from
the last line of the results:
Showing: 1 to 10 of 139 results found
Specifying The Start Result¶
The user can specify the result index at which results should be displayed
using the -s/--start
flag.
sff notes search -s 1 “<term>”
sff notes search --start 1 “<term>”
Specifying The Number Of Rows To Display¶
More results can be display using the -r/--rows
flag.
sff notes search -r 11 “<term>”
sff notes search --row 11 “<term>”
Entering invalid values for -s/--start
and -r/--rows
raise
ValueError
exceptions.
Viewing Notes¶
sfftk
includes utilities to view annotations (notes) included in EMDB-SFF
files.
Listing All Notes¶
Listing all notes is performed by running
sff notes list
which has the following options:
usage: sff notes list [-h] [-H] [-p CONFIG_PATH] [-b] [-l] [-D] [-r] [-I] [-v]
sff_file
List all available annotations present in an EMDB-SFF file
positional arguments:
sff_file path (rel/abs) to an EMDB-SFF file
optional arguments:
-h, --help show this help message and exit
-H, --header show EMDB-SFF header (global) attributes [default:
False]
-p CONFIG_PATH, --config-path CONFIG_PATH
path to configs file
-b, --shipped-configs
use shipped configs only if config path and user
configs fail [default: False]
-l, --long-format only show segment ID and description (if present)
[default: False]
-D, --sort-by-name sort listings by segment name [default: False (sorts
by ID)]
-r, --reverse reverse the sort order [default: False]
-I, --list-ids only list the IDs for segments one per line [default:
False]
-v, --verbose verbose output
The sff notes list sub-command only lists a summary table of notes available for each segment.
sff notes list file.sff
sff notes list file.hff
sff notes list file.json
The default output is structured as follows:
Status information
******************
Segment metatdata
Here is an example:
**************************************************************************************************************
id parId description #inst #exRf #cplx #macr colour
--------------------------------------------------------------------------------------------------------------
9764 0 GroEL 1 7 0 0 (0.8, 0.96, 0.4, 1.0)
9814 0 GroEL 1 7 0 0 (0.8, 0.48, 0.88, 1.0)
9815 0 GroEL 1 7 0 0 (1.0, 0.412, 0.706, 1.0)
9840 0 GroEL 1 7 0 0 (0.16, 0.84, 0.48, 1.0)
9859 0 GroEL 1 7 0 0 (0.92, 0.84, 0.96, 1.0)
9893 0 GroEL 1 7 0 0 (0.0, 0.84, 0.76, 1.0)
9897 0 GroEL 1 7 0 0 (0.0, 0.84, 0.76, 1.0)
9911 0 GroEL 1 7 0 0 (0.92, 0.84, 0.96, 1.0)
9914 0 GroEL 1 7 0 0 (0.16, 0.84, 0.48, 1.0)
9952 0 GroEL 1 7 0 0 (1.0, 0.412, 0.706, 1.0)
9955 0 GroEL 1 7 0 0 (0.8, 0.96, 0.4, 1.0)
9956 0 GroEL 1 7 0 0 (0.8, 0.48, 0.88, 1.0)
It has the following columns:
id: segment ID
parId: segment ID for the parent ID;
description: a descriptive name for the segment, which provides a useful starting point when searching for annotation terms;
#inst: the number of instances of the segment;
#exRf: the number of external references present;
#cplx: the number of complexes associated with the segment;
#macr: the number of macromolecules associated with the segment; and
colour: the colour of the segment in normalised RGBA.
where the first line provides some status information about the current
listing. Status messages will become much more important when we look at
modifying notes in EMDB-SFF files. Status messages begin
with a timestamp. Following status messages is the EMDB-SFF header
information which specifies the schema version (0.6.0a4
), the name of the
segmentation (‘STL Segmentation’), software information including processing
details, the primary descriptor (meshList in this case) and additional
details on this segmentation. A row asterisks then divides the metadata from
the segment data where one row per segment provides the segment_id,
parentID, description, number of instances, number of external references,
number of complexes, number of macromolecules, and RGBA colour of the
segment. When modifying notes these values change.
Long Format¶
To view the list of notes by segment in long format (much more detail) use
the -l/--long-format
flag. This can be done with or without the header
(-H/--header
flag).
sff notes list -l file.sff
sff notes list --long-format file.sff
having the same
Status information
==================
Segment metatdata
structure except now that the Segment metadata section has much more detail.

 The -H/--header
flag includes this.
sff notes list -H file.sff
sff notes list --header file.sff
The output has the following structure:
Status information
==================
EMDB-SFF metadata
******************
Segment metatdata
And here’s an example:
==============================================================================================================
EMDB-SFF v.0.6.0a4
--------------------------------------------------------------------------------------------------------------
Segmentation name:
Segger Segmentation
Segmentation software:
Software: segger
Version: 2
Software processing details:
-*- NOT DEFINED -*-
--------------------------------------------------------------------------------------------------------------
Primary descriptor:
threeDVolume
--------------------------------------------------------------------------------------------------------------
File path:
/Users/pkorir/Data/segmentations/seg
--------------------------------------------------------------------------------------------------------------
Bounding box:
(0, None, 0, None, 0, None)
--------------------------------------------------------------------------------------------------------------
Global external references:
# ontology_name iri short_form L D
------------------------------------------------------------------------------------------------------
0: ncit http://purl.obolibrary.org/obo/NCIT_C14206 NCIT_C14206 Y Y
1: dron http://purl.obolibrary.org/obo/DRON_00018778 DRON_00018778 Y N
2: omit http://purl.obolibrary.org/obo/OMIT_0006157 OMIT_0006157 Y N
3: ncbitaxon http://purl.obolibrary.org/obo/NCBITaxon_562 NCBITaxon_562 Y N
--------------------------------------------------------------------------------------------------------------
Segmentation details:
-*- NOT DEFINED -*-
**************************************************************************************************************
id parId description #inst #exRf #cplx #macr colour
--------------------------------------------------------------------------------------------------------------
9764 0 GroEL 1 7 0 0 (0.8, 0.96, 0.4, 1.0)
9814 0 GroEL 1 7 0 0 (0.8, 0.48, 0.88, 1.0)
9815 0 GroEL 1 7 0 0 (1.0, 0.412, 0.706, 1.0)
9840 0 GroEL 1 7 0 0 (0.16, 0.84, 0.48, 1.0)
9859 0 GroEL 1 7 0 0 (0.92, 0.84, 0.96, 1.0)
9893 0 GroEL 1 7 0 0 (0.0, 0.84, 0.76, 1.0)
9897 0 GroEL 1 7 0 0 (0.0, 0.84, 0.76, 1.0)
9911 0 GroEL 1 7 0 0 (0.92, 0.84, 0.96, 1.0)
9914 0 GroEL 1 7 0 0 (0.16, 0.84, 0.48, 1.0)
9952 0 GroEL 1 7 0 0 (1.0, 0.412, 0.706, 1.0)
9955 0 GroEL 1 7 0 0 (0.8, 0.96, 0.4, 1.0)
9956 0 GroEL 1 7 0 0 (0.8, 0.48, 0.88, 1.0)
Sorting Notes By Description¶
Notes are sorted by the index (first column) by default. However, the user can sort notes by description (third column) using the -D/--sort-by-description
flag.
sff notes list -D file.json
sff notes list --sort-by-description file.json
**************************************************************************************************************
id parId description #inst #exRf #cplx #macr colour
--------------------------------------------------------------------------------------------------------------
9764 0 DNA replication licensing factor MCM4 1 2 0 0 (0.8, 0.96, 0.4, 1.0)
9814 0 DNA replication licensing factor MCM3 1 2 0 0 (0.8, 0.48, 0.88, 1.0)
9815 0 DNA replication licensing factor MCM6 1 2 0 0 (1.0, 0.412, 0.706, 1.0)
9840 0 DNA replication licensing factor MCM2 1 2 0 0 (0.16, 0.84, 0.48, 1.0)
9859 0 DNA replication licensing factor MCM7 1 2 0 0 (0.92, 0.84, 0.96, 1.0)
9893 0 Minichromosome maintenance protein 5 1 2 0 0 (0.0, 0.84, 0.76, 1.0)
9897 0 Minichromosome maintenance protein 5 1 2 0 0 (0.0, 0.84, 0.76, 1.0)
9911 0 DNA replication licensing factor MCM7 1 2 0 0 (0.92, 0.84, 0.96, 1.0)
9914 0 DNA replication licensing factor MCM2 1 2 0 0 (0.16, 0.84, 0.48, 1.0)
9952 0 DNA replication licensing factor MCM6 1 2 0 0 (1.0, 0.412, 0.706, 1.0)
9955 0 DNA replication licensing factor MCM4 1 2 0 0 (0.8, 0.96, 0.4, 1.0)
9956 0 DNA replication licensing factor MCM3 1 2 0 0 (0.8, 0.48, 0.88, 1.0)
becomes
**************************************************************************************************************
id parId description #inst #exRf #cplx #macr colour
--------------------------------------------------------------------------------------------------------------
9840 0 DNA replication licensing factor MCM2 1 2 0 0 (0.16, 0.84, 0.48, 1.0)
9914 0 DNA replication licensing factor MCM2 1 2 0 0 (0.16, 0.84, 0.48, 1.0)
9814 0 DNA replication licensing factor MCM3 1 2 0 0 (0.8, 0.48, 0.88, 1.0)
9956 0 DNA replication licensing factor MCM3 1 2 0 0 (0.8, 0.48, 0.88, 1.0)
9764 0 DNA replication licensing factor MCM4 1 2 0 0 (0.8, 0.96, 0.4, 1.0)
9955 0 DNA replication licensing factor MCM4 1 2 0 0 (0.8, 0.96, 0.4, 1.0)
9815 0 DNA replication licensing factor MCM6 1 2 0 0 (1.0, 0.412, 0.706, 1.0)
9952 0 DNA replication licensing factor MCM6 1 2 0 0 (1.0, 0.412, 0.706, 1.0)
9859 0 DNA replication licensing factor MCM7 1 2 0 0 (0.92, 0.84, 0.96, 1.0)
9911 0 DNA replication licensing factor MCM7 1 2 0 0 (0.92, 0.84, 0.96, 1.0)
9893 0 Minichromosome maintenance protein 5 1 2 0 0 (0.0, 0.84, 0.76, 1.0)
9897 0 Minichromosome maintenance protein 5 1 2 0 0 (0.0, 0.84, 0.76, 1.0)
Note that descriptions longer than 40 characters are truncated and terminated
with an ellipsis (...
) but the full description is visible in long format.
Reverse Sorting¶
Alternative, sorting can be reversed using the -r/--reverse
flag. This
applies to both sorting by index or by description.
Reverse sorting by index:
sff notes list -r file.json
sff notes list --reverse file.json
For the above, this becomes:
**************************************************************************************************************
id parId description #inst #exRf #cplx #macr colour
--------------------------------------------------------------------------------------------------------------
9956 0 DNA replication licensing factor MCM3 1 2 0 0 (0.8, 0.48, 0.88, 1.0)
9955 0 DNA replication licensing factor MCM4 1 2 0 0 (0.8, 0.96, 0.4, 1.0)
9952 0 DNA replication licensing factor MCM6 1 2 0 0 (1.0, 0.412, 0.706, 1.0)
9914 0 DNA replication licensing factor MCM2 1 2 0 0 (0.16, 0.84, 0.48, 1.0)
9911 0 DNA replication licensing factor MCM7 1 2 0 0 (0.92, 0.84, 0.96, 1.0)
9897 0 Minichromosome maintenance protein 5 1 2 0 0 (0.0, 0.84, 0.76, 1.0)
9893 0 Minichromosome maintenance protein 5 1 2 0 0 (0.0, 0.84, 0.76, 1.0)
9859 0 DNA replication licensing factor MCM7 1 2 0 0 (0.92, 0.84, 0.96, 1.0)
9840 0 DNA replication licensing factor MCM2 1 2 0 0 (0.16, 0.84, 0.48, 1.0)
9815 0 DNA replication licensing factor MCM6 1 2 0 0 (1.0, 0.412, 0.706, 1.0)
9814 0 DNA replication licensing factor MCM3 1 2 0 0 (0.8, 0.48, 0.88, 1.0)
9764 0 DNA replication licensing factor MCM4 1 2 0 0 (0.8, 0.96, 0.4, 1.0)
Reverse sorting by description
sff notes list -r -D file.json
sff notes list --reverse --sort-by-description file.json
leading to
**************************************************************************************************************
id parId description #inst #exRf #cplx #macr colour
--------------------------------------------------------------------------------------------------------------
9893 0 Minichromosome maintenance protein 5 1 2 0 0 (0.0, 0.84, 0.76, 1.0)
9897 0 Minichromosome maintenance protein 5 1 2 0 0 (0.0, 0.84, 0.76, 1.0)
9859 0 DNA replication licensing factor MCM7 1 2 0 0 (0.92, 0.84, 0.96, 1.0)
9911 0 DNA replication licensing factor MCM7 1 2 0 0 (0.92, 0.84, 0.96, 1.0)
9815 0 DNA replication licensing factor MCM6 1 2 0 0 (1.0, 0.412, 0.706, 1.0)
9952 0 DNA replication licensing factor MCM6 1 2 0 0 (1.0, 0.412, 0.706, 1.0)
9764 0 DNA replication licensing factor MCM4 1 2 0 0 (0.8, 0.96, 0.4, 1.0)
9955 0 DNA replication licensing factor MCM4 1 2 0 0 (0.8, 0.96, 0.4, 1.0)
9814 0 DNA replication licensing factor MCM3 1 2 0 0 (0.8, 0.48, 0.88, 1.0)
9956 0 DNA replication licensing factor MCM3 1 2 0 0 (0.8, 0.48, 0.88, 1.0)
9840 0 DNA replication licensing factor MCM2 1 2 0 0 (0.16, 0.84, 0.48, 1.0)
9914 0 DNA replication licensing factor MCM2 1 2 0 0 (0.16, 0.84, 0.48, 1.0)
Viewing Segment IDs Only¶
To view the segment IDs only write:
sff notes list -I file.sff
9764
9814
9815
9840
9859
9893
9897
9911
9914
9952
9955
9956
which are sorted in ascending order. These can be reversed using the
-r/--reverse
flag.
sff notes list -I -r file.sff
9956
9955
9952
9914
9911
9897
9893
9859
9840
9815
9814
9764
Showing Notes In One Or More Segments¶
To show annotations relating to one or several (or all) segments
type
sff notes show
which has the following options:
usage: sff notes show [-h] [-p CONFIG_PATH] [-b] [-H] [-l] [-v]
[-i SEGMENT_ID]
sff_file
Show a specific annotations by ID present in an EMDB-SFF file
positional arguments:
sff_file path (rel/abs) to an EMDB-SFF file
optional arguments:
-h, --help show this help message and exit
-p CONFIG_PATH, --config-path CONFIG_PATH
path to configs file
-b, --shipped-configs
use shipped configs only if config path and user
configs fail [default: False]
-H, --header show EMDB-SFF header (global) attributes [default:
False]
-l, --long-format only show segment ID and description (if present)
[default: False]
-v, --verbose verbose output
-i SEGMENT_ID, --segment-id SEGMENT_ID
refer to a segment by its ID; pass more than one ID as
a comma-separated list with no spaces e.g.
'id1,id2,...,idN'
As describe in States, the teminal text colour when viewing is WHITE.
Listing notes from EMDB-SFF files with many segments could clutter the screen.
The user can switch between listing all segments to finding segment IDs of
interest then displaying one or more segments of interest using the sff
notes show
sub-subcommand. Therefore, this takes an extra parameter
-i/--segment-id
which takes either one ID or a sequence of IDs separated
only by commas (,
).
Show one segment:
sff notes show -i <int> file.json
sff notes show --segment-id <int> file.json
For more than one:
sff notes show -i <int>,<int>,<int> file.json
sff notes show --segment-id <int>,<int>,<int> file.json
Example:
**************************************************************************************************************
id parId description #inst #exRf #cplx #macr colour
--------------------------------------------------------------------------------------------------------------
9911 0 DNA replication licensing factor MCM7 1 2 0 0 (0.92, 0.84, 0.96, 1.0)
Note that there are NO SPACES between the sequence of segment IDs. As with
listing notes, the user can show notes in long format using the
-l/--long-format
flag.
sff notes show -i <int> -l file.json
sff notes --segment-id <int> --long-format file.json
Example:
**************************************************************************************************************
ID: 9911
PARENT ID: 0
Segment Type: threeDVolume
--------------------------------------------------------------------------------------------------------------
Description:
DNA replication licensing factor MCM7
Number of instances:
1
--------------------------------------------------------------------------------------------------------------
External references:
# ontology_name iri short_form L D
------------------------------------------------------------------------------------------------------
0: pr http://purl.obolibrary.org/obo/PR_P38132 PR_P38132 Y Y
1: uniprot http://www.uniprot.org/uniprot/P38132 P38132 N N
--------------------------------------------------------------------------------------------------------------
Complexes:
-*- NOT DEFINED -*-
Macromolecules:
-*- NOT DEFINED -*-
--------------------------------------------------------------------------------------------------------------
Colour:
(0.9200000166893005, 0.8399999737739563, 0.9599999785423279, 1.0)
Viewing Segmentation Metadata Only¶
As specified for sff notes list
, using the -H/--header
flag with
sff notes show
will display the header (segmentation metadata) only.
sff notes show -H file.json
sff notes show --header file.json
Example:
==============================================================================================================
EMDB-SFF v.0.6.0a4
--------------------------------------------------------------------------------------------------------------
Segmentation name:
Segger Segmentation
Segmentation software:
Software: segger
Version: 2
Software processing details:
-*- NOT DEFINED -*-
--------------------------------------------------------------------------------------------------------------
Primary descriptor:
threeDVolume
--------------------------------------------------------------------------------------------------------------
File path:
/Users/pkorir/Data/segmentations/seg
--------------------------------------------------------------------------------------------------------------
Bounding box:
(0, None, 0, None, 0, None)
--------------------------------------------------------------------------------------------------------------
Global external references:
# ontology_name iri short_form L D
------------------------------------------------------------------------------------------------------
0: ncbitaxon http://purl.obolibrary.org/obo/NCBITaxon_559292 NCBITaxon_559292 Y N
1: pdb http://www.ebi.ac.uk/pdbe/entry/pdb/3ja8 3ja8 N N
--------------------------------------------------------------------------------------------------------------
Segmentation details:
-*- NOT DEFINED -*-
Modifying Notes¶
Modifying notes is slightly more complicated than the read-only activities of finding and viewing described above. It involves making changes to the annotation sections (biologicalAnnotation: description, numberOfInstances, externalReferences and complexesAndMacromolecules: complexes and macromolecules) of the segments of interest.
Temporary File¶
In order to avoid destroying the EMDB-SFF file to be modified, sfftk
makes a
temporary copy to be used throughout the modification process. Once the user
is satisfied with the annotation the temporary file should be saved.
Alternatively, the user can discard all changes by trashing the annotations
in the temporary file then starting again.
Note
A Note About EMDB-SFF Formats
Any EMDB-SFF format (XML, HDF5, JSON) may be used for the temporary file. However, JSON is preferred because of the absence of geometrical data. XML (particularly) and HDF5 can have voluminous geometrical data which can make the process of modifying an EMDB-SFF very slow.
The default format used is JSON.
You can modify the name and format of the temporary file using the config
command to modify the __TEMP_FILE
option.
sff config get __TEMP_FILE
Mon Jan 22 16:49:59 2018 Reading configs from /Users/pkorir/.sfftk/sff.conf
Mon Jan 22 16:49:59 2018 Getting config __TEMP_FILE...
./temp-annotated.json
to view current settings. As for convert
, the extension of the temporary
file determines the output form.
sff config set __TEMP_FILE ./my-annotations.json
Mon Jan 22 16:49:27 2018 Reading configs from /Users/pkorir/.sfftk/sff.conf
Mon Jan 22 16:49:27 2018 Setting config __TEMP_FILE to value ./my-annotations.json...
sff config get -all
Mon Jan 22 16:49:31 2018 Reading configs from /Users/pkorir/.sfftk/sff.conf
Mon Jan 22 16:49:31 2018 Listing all 3 configs...
__TEMP_FILE = ./my-annotations.json
__TEMP_FILE_REF = @
NAME = VALUE
Temporary File Shorthand¶
Once the user has entered the MODIFY state (by either running one of sff notes add
,
sff notes edit
or sff notes del
) the user can refer to the temporary
file using a shorthand specified in the configs.
The default shorthand is the ‘at’ symbol (@
).
# add a description (assuming none exists)
sff notes add -i 1 -D ‘some description’ file.sff
# user is now in MODIFY state
sff notes edit -i 1 -D ‘another description’ @
This is useful if the file has a long name or is at a distant path.
sff notes add -i 1 -D ‘some description’ tomo_5_diff_change_3.3_pi_77_27_paul_publishes.json
sff notes edit -i 1 -D ‘another description’ @
or
sff notes add -i 1 -D ‘some description’ ~/experiments/files/tomograms/zebra_fish_20170312/masks_repeat_19_3.3_relion_2.0.json
sff notes edit -i 1 -D ‘some description’ @
The attentive reader will have noticed the option __TEMP_FILE_REF
above.
Indeed this variable specifieds the temporary file shorthand and can
be modifed as above.
Modify Sequence¶
The following diagram illustrates the sequence of steps to be carried out with the names of the sub-subcommand next to arrows showing the modification that occurs.
Annotations may be added either to the segmentation (global) or to individual segments.
At the segmentation level one may add:
the name of the segmentation;
the segmentation software’s:
name
version
processingDetails
the segmentation’s details (description)
a list of global external references.
At the segment level there are four types of annotations that can be made:
the segment description;
the number of instances of the segment;
external references available in public archives
complexes and macromolecules (reserved for internal use)
Adding Notes¶
Adding Global Notes (Segmentation)¶
Global notes are added using the sff notes add
sub-command. The
following flags modify segmentation metadata and global external
references:
-N/--name
: the name of the segmentation as a whole;-S/--software-name
: the name of the software program that produced the segmentation;-V/--software-version
: the version of the software used;-P/--software-processing-details
: a quoted string outlining the processing details by which the segmentation was obtained;
Todo
Make -P/--software-processing-details
take an optional file
argument containing the segmentation protocol
-F/--file-path
: the path to the segmentation file on the local machine;
Warning
Deprecated since version EMDB-SFF: 0.7.0
The -F/--file-path
option has been used to link to external files holding geometrical data. This will
be deprecated in favour of hosting all geometrical data within the EMDB-SFF file (HDF5 and XML).
d/--details
: a quoted string of additional details pertaining to this segmentation;-E/--external-ref
for global or segment external references;
Each of the above will be demonstrated. The examples demonstrate before entering
the MODIFY STATE (explicitly specifying the filename) and after entering the
MODIFY STATE (using file shorthand e.g. @
used).
Adding A Segmentation Name¶
To be on the safe side use a quoted string to accommodate spaces. However, for single word values no quotes are required.
# general
sff notes add -N "My Best Segmentation" file.json # not in MODIFY state yet
sff notes add --name "My Worst Segmentation" @ # already in MODIFY state
# single word
sff notes add -N Mitochondria file.json
Adding The Software Name¶
sff notes add -S IMOD file.json # not in MODIFY state
sff notes add --software-name Amira @ # MODIFY state
Adding The Software Version¶
sff notes add -V v5.6.3 file.json # not in MODIFY state
sff notes add --software-version v0.1.1 @ # MODIFY state
Adding Software Processing Details¶
# not in MODIFY state
sff notes add -P "Density map was automatically segmented using the watershed algorithm on a HP Cluster with 200 nodes" file.json
# MODIFY state
sff notes add --software-processing-details "Threshold of 1.08" @
Adding A File Path¶
sff notes add -F /path/to/seg file.json # not in MODIFY state
sff notes add --file-path /path/to/seg @ # MODIFY state
Adding Segmentation Details¶
# not in MODIFY state
sff notes add -d "Specimen was irradiated with 5 lux of light then imaged vertically" file.json
# MODIFY state
sff notes add --description "All imaging was done at 17 K" @
Adding An External Reference (Global Or Segment)¶
The external references flag (-E/--external-ref
) takes three arguments:
the
name of the source
at which the reference may be found;the
IRI to the term
2 where more details may be found;the
accession code
for the reference.
You can use multiple -E/--external-ref
flags at once.
All of these may be obtained either from the OLS website of using the output of sff notes search ‘<term>’.
For example, suppose we ran
sff notes search 'mitochondria'
and obtain the following results:
and are interested in adding the second result as an external reference to a
segment. We note down the ontology name (go
), IRI
(http://purl.obolibrary.org/obo/GO_0005739
) and the short_form
(GO:0005739
) then use the following command:
# global (segmentation) notes
# not in MODIFY state
sff notes add -E ncbitaxon http://purl.obolibrary.org/obo/NCBITaxon_559292 NCBITaxon_559292 file.json
# MODIFY state
# more than one reference
sff notes add -E ncbitaxon http://purl.obolibrary.org/obo/NCBITaxon_559292 NCBITaxon_559292 -E pdb http://www.ebi.ac.uk/pdbe/entry/pdb/3ja8 3ja8 @
# per-segment notes
sff notes add -i 9911 -E go http://purl.obolibrary.org/obo/GO_0005739 GO:0005739 file.json
sff notes add -i 9911 --external-ref go http://purl.obolibrary.org/obo/GO_0005739 GO:0005739 file.json
Adding Segment Notes¶
Notes are added using the sff notes add sub-subcommand.
sff notes add -i <segment_id> [options] file.json
Adding A Segment Name¶
The -s/--segment-name
flag takes a single argument or quoted string to name the segment.
sff notes add -i 9911 -s "Top-most segment" file.sff
sff notes add -i 9911 --segment-name "Top-most segment" file.sff
Adding A Segment Description¶
Use the -D/--description
flag to add a description. Multi-word descriptions will need to be quoted.
sff notes add -i 9911 -D 'a very good description' file.sff
sff notes add --segment-id 9911 --description 'a very good description' file.sff
Adding The Number of Instances¶
sff notes add -i 9911 -n <int> file.json
sff notes add --segment-id 9911 --number-of-instances <int> file.json
Adding External References¶
sff notes add -i 9911 -E <resource_name> <iri> <short_form> file.json
or several at once using multiple -E/--external-ref
flags:
sff notes add -i 9911 -E <resource_name> <iri> <short_form> -E <resource_name> <iri> <short_form> -E <resource_name> <iri> <short_form>file.json
Adding A Complex (Internal Use)¶
sff notes add -i <segment_id> -C <comp1>,<comp2>,...,<compN> file.json
sff notes add -i <segment_id> --complexes <comp1>,<comp2>,...,<compN> file.json
Adding A Macromolecule (Internal Use)¶
sff notes add -i <segment_id> -M <macr1>,<macr2>,...,<macrN> file.json
sff notes add -i <segment_id> --macromolecules <macr1>,<macr2>,...,<macrN> file.json
Editing Notes¶
Editing Global Notes (Segmentation)¶
Editing global notes is straightforward and works exactly like adding notes
for all items of metadata except external references. In fact, one can use
add
and edit
interchangeably for name, software name, software version, software processing details, file path and details.
Editing External References¶
As we will see shortly, an extra argument is needed to specify the external
reference to be edited (-e/--external-ref-id
).
sff notes edit -e <ref_id> -E <resource_name> <iri> <short_form> file.json
Specifying sff notes edit -e 0 -E <resource_name> <iri> <short_form> file.json
when there are no external
references is equivalent to using sff notes add -E <resource_name> <iri> <short_form> file.json
.
Editing Segment Notes¶
If a segment in an EMDB-SFF file already contains notes then we can edit
the notes using the sff notes edit
sub-subcommand. Because some edit
options will need to refer to specific entries (e.g. the third external
reference) extra arguments are required to specify which item is being edited.
Editing A Segment Name¶
sff notes edit -i <segment_id> -s <name> file.json
sff notes edit -i <segment_id> --segment-name <name> @ # if editing a just-added name
Editing A Description¶
sff notes edit -i <segment_id> -D ‘<description>’ file.json
sff notes edit -i <segment_id> -D ‘<description>’ @ # if editing a just-added description
Editing The Number of Instances¶
sff notes edit -i <segment_id> -n <int> file.json
sff notes edit -i <segment_id> -n <int> @ # if editing a just-added value
Editing An External Reference¶
sff notes edit -i <segment_id> -e <extref_id> -E <ontology> <iri> <obo_id> file.json
sff notes edit -i <segment_id> --external-ref-id <extref_id> -E <ontology> <iri> <obo_id> file.json
# if editing a just-added description
sff notes edit -i <segment_id> -e <extref_id> -E <ontology> <iri> <obo_id> @
Editing A Complex (Internal Use)¶
sff notes edit -i <segment_id> -c <comp_id> -C <comp1>,<comp2>,...,<compN> file.json
sff notes edit -i <segment_id> --complex-id <comp_id> -C <comp1>,<comp2>,...,<compN> file.json
If only one complex is specified then the complex at complex_id will be replaced. However, if more than one is specified then complex_id will be replaced and the new complexes will bump down all present complexes.
Editing A Macromolecule (Internal Use)¶
sff notes edit -i <segment_id> -m <macr_id> -M <macr1>,<macr2>,...,<macrN> file.json
sff notes edit -i <segment_id> --macromolecule-id <macr_id> -M <macr1>,<macr2>,...,<macrN> file.json
Copying Notes¶
Users may copy notes using the sff notes copy
command.
Important points to remember:
Copying only makes use of external references - the segment description and number of instances are left intact.
It is currently not possible to select a subset of annotations (this will be added in a later release); all annotations are copied to the destination. However, individual annotations that are to be excluded may be removed using the following sequence:
view notes in the segment using
sff notes show --long-format -i <id> file.json
or
sff notes show -H file.json
for global notes;
delete specific notes using
sff notes del <id1>,<id2>,...,<idN> file.json
For the complete set of options run:
sff notes copy
usage: sff notes copy [-h] [-p CONFIG_PATH] [-b] [-i SEGMENT_ID]
[--from-global | --to-global] [-t TO_SEGMENT | --to-all]
sff_file
Copy notes from one/multiple segment to one/multiple/all other segments within
the same EMDB-SFF file
positional arguments:
sff_file path (rel/abs) to an EMDB-SFF file
optional arguments:
-h, --help show this help message and exit
-p CONFIG_PATH, --config-path CONFIG_PATH
path to configs file
-b, --shipped-configs
use shipped configs only if config path and user
configs fail [default: False]
-i SEGMENT_ID, --segment-id SEGMENT_ID
segment ID or a comma-separated sequence of segment
IDs of source segment(s); run 'sff notes list <file>'
for a list of segment IDs
--from-global copy notes from global (metadata) to --to-segment
segments
--to-global copy notes from --segment-id segment to global
(metadata)
-t TO_SEGMENT, --to-segment TO_SEGMENT
segment ID or a comma-separated sequence of segment
IDs of destination segment(s); run 'sff notes list
<file>' for a list of segment IDs
--to-all copy notes from --segment-id segment to all (other)
segments
Source of Notes: One or More Segments¶
Copy Notes To Another¶
sff notes copy -i <source_segment_id> -t <dest_segment_id> file.json
Copy Notes To Multiple Segments¶
sff notes copy -i <source_segment_id> -t <id1>,<id2>,...,<idN> file.json
Copy Notes To All Other Segments¶
sff notes copy -i <source_segment_id> --to-all file.json
The source segment will be excluded in the destination segments.
Copy Notes To Global External References¶
sff notes copy -i <source_segment_id> --to-global file.json
Copy Notes To One Segment¶
sff notes copy --from-global -t <id> file.json
Copy Notes To Multiple Segments¶
sff notes copy --from-global -t <id1>,<id2>,...,<idN> file.json
Copy Notes To All Segments¶
sff notes copy --from-global --to-all file.json
Clearing Notes¶
The sff notes clear
utility removes all notes from one or more segments or clears global external references.
As always we can view the full list of options:
sff notes clear
usage: sff notes clear [-h] [-p CONFIG_PATH] [-b] [--all] [--from-global]
[-i SEGMENT_ID | --from-all-segments]
sff_file
Clear all notes for one or more segments in an EMDB-SFF file
positional arguments:
sff_file path (rel/abs) to an EMDB-SFF file
optional arguments:
-h, --help show this help message and exit
-p CONFIG_PATH, --config-path CONFIG_PATH
path to configs file
-b, --shipped-configs
use shipped configs only if config path and user
configs fail [default: False]
--all clear all notes; USE WITH CARE!
--from-global clear notes from global (metadata)
-i SEGMENT_ID, --segment-id SEGMENT_ID
segment ID or a comma-separated sequence of segment
IDs of source segment(s); run 'sff notes list <file>'
for a list of segment IDs
--from-all-segments clear notes from all segments
Clearing Segment Notes¶
One Segment¶
sff notes clear -i <segment_id> file.json
Multiple Segments¶
sff notes clear -i <id1>,<id2>,...,<idN> file.json
All Segments¶
sff notes clear --from-all-segments file.json
Clearing Global External References¶
sff notes clear --from-global file.json
Clearing All Notes¶
This command clears both global and segment-level notes. Use it with care.
sff notes clear --all file.json
However, given that modification happens on a temporary file, clearing all notes is reversible provided
sff notes save file.json
is not run.
# restore to status before beginning the current modify session
sff notes trash @
It is advisable to constantly save instead of only at the end of the annotation. This will ensure that there will be a minimal loss of annotations.
Merging Notes¶
Notes can be manually merged from two EMDB-SFF files using sff notes merge
.
sff notes merge
usage: sff notes merge [-h] [-p CONFIG_PATH] [-b] --source SOURCE [-o OUTPUT]
[-v]
other
Merge notes from two EMDB-SFF files
positional arguments:
other EMDB-SFF file whose content will be merged with notes
from the file specified with --source
optional arguments:
-h, --help show this help message and exit
-p CONFIG_PATH, --config-path CONFIG_PATH
path to configs file
-b, --shipped-configs
use shipped configs only if config path and user
configs fail [default: False]
--source SOURCE EMDB-SFF file from which to obtain notes
-o OUTPUT, --output OUTPUT
file to convert to; the extension (.sff, .hff, .json)
determines the output format; if not specified then
NOTES IN OTHER ONLY will be overwritten [default:
None]
-v, --verbose verbose output
Both files must refer to the exact same segmentation i.e. the number and IDs of segments must correspond (in cardinality and value).
To merge notes from one EMDB-SFF file to another the user must specify the source file using the --source
argument. Any other file (a positional argument) will be treated as the destination.
Explicit Output¶
sff notes merge --source file.json file.sff -o file.hff
will produce an HDF5 file while file.sff
will remain unchanged. As in all other cases, the output format is
defined by the extension.
Implicit Output¶
In this case, the destination file is overwritten.
sff notes merge --source file.json file.sff
will produce an XML file (file.sff
).
Deleting Notes¶
Notes may be deleted using the sff notes del
sub-subcommand.
Unlike when adding and editing, delete options take no arguments except when referring to listed metadata (external references, complexes and macromolecules).
Deleting Global Notes (Segmentation)¶
Deleting A Segmentation Name¶
sff notes del -N file.json
sff notes del -N @
results in
sff notes show -H @
...
Segmentation name:
Segger Segmentation
to become
sff notes show -H @
...
Segmentation name:
-*- NOT DEFINED -*-
Deleting The Software Name¶
sff notes del -S file.json
sff notes del -S @
Deleting The Software Version¶
sff notes del -V file.json
sff notes del -V @
Deleting The Software Processing Details¶
sff notes del -P file.json
sff notes del -P @
Deleting the Filepath¶
sff notes del -F file.json
sff notes del -F @
Deleting Details¶
sff notes del -d file.json
sff notes del -d @
Deleting External References¶
sff notes del -e <extref_id> file.json
sff notes del -e <extref_id> @
Deleting Segment Notes¶
Deleting The Segment Name¶
sff notes del -i <segment_id> -s file.json
sff notes del -i <segment_id> -s @
Deleting A Description¶
sff notes del -i <segment_id> -D file.json
sff notes del -i <segment_id> -D @
Deleting The Number Of Instances¶
sff notes del -i <segment_id> -n file.json
sff notes del -i <segment_id> -n @
Deleting An External Reference¶
sff notes del -i <segment_id> -e <extref_id> file.json
Deleting A Complex (Internal Use)¶
sff notes del -i <segment_id> -c <comp_id> file.json
Deleting A Macromolecule (Internal Use)¶
sff notes del -i <segment_id> -m <macr_id> file.json
Saving Notes¶
It is important to periodically save notes. Running sff notes save save_to_file.json
overwrites all notes from the temporary file into the destination file.
Note
By overwrite we mean that the final result will be only from the temporary file. But this should not be a worry because the temporary file was a copy of the original file.
sff notes save save_to_file.json
sff notes save save_to_file.sff
sff notes save save_to_file.hff
Note that the file specified must exist and correspond to the annotated EMDB-SFF file.
Trashing Notes¶
Only one EMDB-SFF file per directory at a time may have its notes modified. This is because only one temporary file is created and an attempt to modify another file will raise a warning.
Wed Sep 13 12:55:42 2017 Temporary file shorthand to use: @
Wed Sep 13 12:55:42 2017 Found temp file ./temp-annotated.json. Either run 'save' or 'trash' to discard changes before working on another file.
The user can trash using the sff notes trash @
to reset the current
directory to a VIEW STATE.
sff notes trash @
Wed Sep 13 12:56:18 2017 Discarding all changes made in temp file ./temp-annotated.json... Done
Configuration Settings¶
There are two main parameters that control the annotation process:
__TEMP_FILE
sets the path and name of the file to be used as a temporary store of annotations while in the MODIFY STATE. The temporary file holds all modifications until they are saved. All actions done in the MODIFY STATE occur on this file so that any crashes will leave the original file unchanged. Depending on the format used it can significantly speed up viewing and modification of notes. By default it is a JSON file.__TEMP_FILE_REF
serves as a shorthand reference to the segmentation file. It can only be used in the MODIFY STATE. The default value is@
. The use can use it to refer to the segmentation file instead of typing the full file path and name.
- 1
A unique identifier for a term under the Open Biology Ontologies consortium’s OBO Foundry (see http://www.obofoundry.org/id-policy.html to learn more about obo_id). For example, in the Gene Ontology (GO) the term positive regulation of release of cytochrome c from mitochondria has the OBO ID GO:0090200.
- 2
An internationalised resource identifier (IRI) is a type of link to a resource that may include international characters e.g. Chinese.


XML Signature Programming
Overview
There are two main signature modes of operation for the libraries. Signing and verifying. Verifying is the simplest operation, as it (generally) operates on a DOM <Signature> structure that has already been created.
Signing on the other hand can be more difficult, as there may be a requirement to create the DOM structure necessary for the signature prior to the actual signing operation.
The rest of this section provides a very high level overview on how to use the library for signing and verificataion of signatures.
Two samples are provided :
The code snippets are taken directly from some of the sample code provided in the src/samples directory in the distribution. More information on the API can be found in the API Documentation.
A simple HMAC Signing example
The first example is based on the simpleHMAC.cpp code in samples. It creates an XML letter, the appends a dummy signature to the end, using an enveloped-signature transform.
Setup
The following code snippet initialises Xerces, Xalan and XSEC. Note that the enveloped transform is implemented using an XPath expression, so it is imperitive the Xalan libraries are initialised.
int main (int argc, char **argv) { try { XMLPlatformUtils::Initialize(); #ifndef XSEC_NO_XALAN XalanTransformer::initialize(); #endif XSECPlatformUtils::Initialise(); } catch (const XMLException &e) { cerr << "Error during initialisation of Xerces" << endl; cerr << "Error Message = : " << e.getMessage() << endl; } // Create a blank Document DOMImplementation *impl = DOMImplementationRegistry::getDOMImplementation(MAKE_UNICODE_STRING("Core")); // Create a letter DOMDocument *doc = createLetter(impl); DOMElement *rootElem = doc->getDocumentElement();
In the sample application, the call to createLetter(impl) simply creates a letter DOM structure with a to and from address and some text. This is done using standard DOM calls via Xerces.
Once the system is initialised and the DOM document is created, a DSIGSignature object is created via the XSECProvider interface class. The signature object is then used to create a blank signature DOM node structure which is then inserted at the end of the document.
XSECProvider prov; DSIGSignature *sig; DOMElement *sigNode; try { // Create a signature object sig = prov.newSignature(); sig->setDSIGNSPrefix("ds"); // Use it to create a blank signature DOM structure from the doc sigNode = sig->createBlankSignature(doc, CANON_C14N_COM, SIGNATURE_HMAC, HASH_SHA1);
The call to newSignature creates a signature object only. No DOM nodes are created at this point. The call to setDSIGNSPrefix tells the XSEC library what namespace prefix to use for the signature object when it starts to create DOM nodes (in this case "ds" will be used). By default, the library will use "dsig" as the prefix for the name space for Digital Signatures.
Finally, the call to sig->createBlankSignature sets up both the DOM structure and the XSEC objects for a new signature with no <Reference> elements. In this case, the signature will be made using Commented C14n canonicalisation, and a HMAC-SHA1 signature.
Create a Reference and Sign
Now that the signature object is created, the signature is inserted into the document, and a reference is created and set for an enveloping transform.
// Insert the signature DOM nodes into the doc rootElem->appendChild(doc->createTextNode(MAKE_UNICODE_STRING("\n"))); rootElem->appendChild(sigNode); rootElem->appendChild(doc->createTextNode(MAKE_UNICODE_STRING("\n"))); // Create an envelope reference for the text to be signed DSIGReference * ref = sig->createReference(""); ref->appendEnvelopedSignatureTransform();
The "" parameter to createReference sets the URI attribute for the reference to be "" - indicating the root element of the document in which the signature resides. The call to appendEnvelopedSignatureTransform adds a standard eneveloped-signature transform to the Reference node.
The macro MAKE_UNICODE_STRING is defined within the library header files and is used to transcode local code page strings.
Finally we create a signing key and sign the document.
// Set the HMAC Key to be the string "secret" OpenSSLCryptoKeyHMAC * hmacKey = new OpenSSLCryptoKeyHMAC(); hmacKey->setKey((unsigned char *) "secret", strlen("secret")); sig->setSigningKey(hmacKey); // Add a KeyInfo element sig->appendKeyName("The secret key is \"secret\""); // Sign sig->sign(); } catch (XSECException &e) { cerr << "An error occured during a signature load\n Message: " << e.getMsg() << endl; exit(1); }
The first two code lines create an OpenSSLCryptoKeyHMAC object, and set the key value to the string "secret". The OpenSSL... classes are the interface layer between XSEC and OpenSSL. More information can be found in the API documentation, but the main point of note is that the XSEC library never deals directly with OpenSSL - it works via the XSECCrypto abstract classes which are implemented in the OpenSSLCrypto code. This would allow another person to re-implement the XSECCrypto code to use any cryptographic provider required.
The call to sig->appendKeyName() is used to append a <KeyName> element into the <KeyInfo> block. The KeyInfo block was created as part of this call.
After the call to sig->sign() the DOM structure has the correct hash and signature values. The owner program can write, store or further manipulate the document as required. If a document manipulation might affect the signature (in this case almost anything would, as we are using an enveloping transform which effectively signs everything that is not part of the signature), then a further call to sig->sign() will re-sign the changes.
The last part of the code does some work to output the new DOM structure. The output should look something like the following:
<Letter> <ToAddress>The address of the Recipient</ToAddress> <FromAddress>The address of the Sender</FromAddress> <Text> To whom it may concern ... </Text> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm= "http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1"/> <ds:Reference URI=""> <ds:Transforms> <ds:Transform Algorithm= "http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <ds:DigestValue>askxS/A3BaLCjFjZ/ttU9c12kA4=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> <ds:SignatureValue>oYEdQYG1IHzbkR1UcJ9Q5VriRPs= </ds:SignatureValue> <ds:KeyInfo> <ds:KeyName>The secret key is "secret"</ds:KeyName> </ds:KeyInfo> </ds:Signature> </Letter>
Note that the DigestValue and SignatureValue elements have been filled in.
A simple validation example
The second example takes a pre-signed document and an associated certificate and verifies the embedded signature. The document in question is a simple purchase order, and changes are made to the value of the order to demonstrate a signature failing verification.
Setup
As in the first example, Initialisation of the libraries is performed, and Xerces is used to read in the document (which in this case is stored in a string in the source code).
In order to be able to modify the contents of the document later on, we also quickly find the string containing the value of the purchase order.
For the sake of brevity, the code relating to parsing the in-memory document has been removed from the snippet below.
int main (int argc, char **argv) { try { XMLPlatformUtils::Initialize(); #ifndef XSEC_NO_XALAN XalanTransformer::initialize(); #endif XSECPlatformUtils::Initialise(); } catch (const XMLException &e) { cerr << "Error during initialisation of Xerces" << endl; cerr << "Error Message = : " << DOMString(e.getMessage()) << endl; } ... Xerces is used to parse the document here DOM_Document doc = parser->getDocument(); // Find the Amount node DOMNode *amt = doc->getDocumentElement(); if (amt != NULL) amt = amt->getFirstChild(); while (amt != NULL && (amt->getNodeType() != DOMNode::ELEMENT_NODE || !strEquals(amt->getNodeName(), "Amount"))) amt = amt->getNextSibling(); if (amt != NULL) amt = amt->getFirstChild(); if (amt == NULL || amt->getNodeType() != DOMNode::TEXT_NODE) { cerr << "Error finding amount in purchase order" << endl; exit (1); }
Create the Signature and Key objects
Now that the document is in memory, an XSECProvider is created and used to create a new DSIGSignature object. In addition, the OpenSSL interface routines are used to read in a certificate and obtain the associated public key.
XSECProvider prov; DSIGSignature * sig = prov.newSignatureFromDOM(doc); try { // Use the OpenSSL interface objects to get a signing key OpenSSLCryptoX509 * x509 = new OpenSSLCryptoX509(); x509->loadX509Base64Bin(cert, strlen(cert)); sig->load();
In this case, the signature is create with the newSignatureFromDOM method. This tells the library that the signature structure (although not necessarily a signed structure) already exists in the DOM nodes. The library attempts to find the <Signature> node so that the load will work. (The library will throw an XSECException if it cannot find the Element.)
The later call to sig->load() tells the library to read the DOM structure and create the appropriate DSIG elements.
In this case an OpenSSLCryptoX509 object is also created. It is used to read in the cert string and convert to an X509 structure. This could also be done using standard calls directly to OpenSSL, but this is a quick shortcut.
Find a key
As we already know the key, the following code snippet loads the key directly from the related X509. However prior to doing this, the code demonstrates using the DSIGKeyInfo structures to find the key name that was embedded in the certificate. In an application, this could be used to reference the correct key to be passed in. (Maybe via an XKMS call.)
the safeBuffer type is used extensively within the XSEC library to safely handle variable length strings and raw buffers. The call to rawCharBuffer() simply returns a (char *) type pointer to the buffer within the safeBuffer
The call to clonePublicKey() returns a copy of the public key embedded in the certificate. It is owned by the caller, so in this case it can safely be passed to the DSIGSignature object where it will be destroyed when another key is loaded or the object is released by the XSECProvider.
DSIGKeyInfoList * kinfList = sig->getKeyInfoList(); // See if we can find a Key Name safeBuffer kname; DSIGKeyInfo * kinf = kinfList->getFirstKeyInfo(); while (kinf != NULL) { kname = kinf->getKeyName(); if (kname.sbStrcmp("")) { cout << "Key Name = " << kname.rawCharBuffer() << endl; } kinf = kinfList->getNextKeyInfo(); } sig->setSigningKey(x509->clonePublicKey());
Validate the signature
Finally the signature is validated. In this case, we validate it three times. First with the original DOM structure, then with the price changed and finally with the price set back to the original value.
cout << "Amount = " << amt << " -> "; if (sig->verify()) { cout << "Signature Valid\n"; } else { cout << "Incorrect Signature\n"; } amt.setNodeValue("$0.50"); cout << "Amount = " << amt << " -> "; if (sig->verify()) { cout << "Signature Valid\n"; } else { cout << "Incorrect Signature\n"; } amt.setNodeValue("$16.50"); cout << "Amount = " << amt << " -> "; if (sig->verify()) { cout << "Signature Valid\n"; } else { cout << "Incorrect Signature\n"; }
When run, the program outputs the following:
Key Name = C=AU, ST=Vic, O=XML-Security-C Project, CN=Samples Demo Certificate Amount = $16.50 -> Signature Valid Amount = $0.50 -> Incorrect Signature Amount = $16.50 -> Signature Valid


--- layout: base title: Electrum ABC ---
This wallet software is forked from Electron Cash, with modifications to facilitate use on the eCash network.
Join the Electrum ABC telegram group to get in contact with developers or to get help from the community.
Upon first use, the software will automatically copy existing Electron Cash wallet files into a new folder specific to Electrum ABC. This allows users to maintain separate wallet histories for either network going forward, and run Electron Cash and Electrum ABC simultaneously to ease coin splitting.
NOTE: The coins in the wallet will not split automatically. To ensure that transactions are not replayed between Bitcoin Cash and eCash networks, please refer to one of the coin splitting guides linked at bitcoinabc.org/ecash and make sure your pre-fork coins are safely split prior to transacting on either network.


val isScanning: Boolean
Determines whether this instance is actively scanning or validating compact blocks.
Return true when downloading has completed and there are more than zero blocks remaining to be scanned.


Home
About Our Team
In The Bay Area?
Community Page
Site Stats
Check out what everyone's eating!
Loading...


Climate change is the long-term alteration of temperature and typical weather patterns in a place.The main cause of climate change is burning fossil fuels such as oil, gas, and coal. When burnt, fossil fuels release carbon dioxide into the air, causing the planet to heat up. Some of the consequences of global warming include; Global warming, air pollution, water pollution and land pollution. There are, however, steps we can take towards reducing Climate change.They include; Using renewable energy, sustainable transportation, air pollution prevention, waste management & recycling and implementing the circular economy.
Reforestation is the process of replanting trees in areas that have been affected by natural disturbances like wildfires, drought, and insect and disease infestations — and unnatural ones like logging, mining, agricultural clearing, and development.


Diablo vs Havana
How OpenStack has Matured
Joe Gordon
About Me
- Developer @
- Full time upstream OpenStack developer
- nova-core
- ATC since Essex
- Interested in making OpenStack scale and work
- contact information
OpenStack from Diablo to Havana
a brief history of the integrated release
Diablo
- Swift
- Nova
- Nova-volume
- Nova-network
- Identity
- Glance
- Keystone*
Essex
- Swift
- Nova
- Nova-volume
- Nova-network
Identity
- Glance
- Keystone
- Horizon
Folsom
- Swift
- Nova
- Glance
- Keystone
- Horizon
- Quantum (Neutron)
- Cinder
Grizzly
- Swift
- Nova
- Glance
- Keystone
- Horizon
- Quantum (Neutron)
- Cinder
Havana
- Swift (4)
- Nova (6)
- Glance (2)
- Keystone (1)
- Horizon (1)
- Neutron (6)
- Cinder (4)
- Ceilometer (4)
- Heat (4)
Total number of OpenStack services: 32
Havana Features supported by Diablo
- Swift
- Nova
- Glance
- Keystone
Horizon
Neutron (Quantum)
- Cinder
Ceilometer
Heat
Havana Features supported by Diablo
- Swift
- Nova
- Glance
- Keystone
- Cinder


{% extends 'templates/main.html' %} {% block ba_content %}
{{ guild.name }}
Want more features? Consider getting premium here


@** * Yobi, Project Hosting SW * * Copyright 2014 NAVER Corp. * http://yobi.io * * @Author JiHan Kim * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. **@ @(editorName:String, textValue:String="", additionalAttr:String="", editorMode:String="content-body") @import org.apache.commons.lang3.RandomStringUtils._ @import utils.TemplateHelper._ @defining(randomAlphabetic(8)){ wrapId =>


[gecode-users] implementing branching heuristics
Oliver Kullmann
O.Kullmann at swansea.ac.uk
Tue Jun 10 20:21:03 CEST 2008
On Mon, Jun 09, 2008 at 10:42:02PM +0200, Christian Schulte wrote:
> Yes, using a search engine should point always to the freshest version. It
> is highly annoying if you get zillions of webpages all of which are out of
> date (for example, Java and many other software packages require (or ask
> for) the same).
>
I'll see.
> Gecode is _not_ GPL, it is distributed under the MIT license (check the
> license, please)! And we kindly ask. So if you want to make the life of
> other users more miserable, than you are still allowed to do so ;-) However,
> we just ask for common sense here.
>
Of course! My question was not about "why on earth ...", but I was asking
from a similar position --- with my library I have the same problem,
and so I'm interested in the argument.
And regarding licence issues, I'm always curious out of necessity
regarding legal details --- since I'm in the same position, and
need to care!
> I am unfamiliar which tag to set to not have stuff indexed, I am only
> familiar with having a robots.txt file when using apache.
>
I'll first set the meta-tags, and if nevertheless some pages will
be indexed, I'll do something about it.
Thanks
Oliver
> Cheers
> Christian
>
> --
> Christian Schulte, www.ict.kth.se/~cschulte/
>
> -----Original Message-----
> From: Oliver Kullmann [mailto:O.Kullmann at swansea.ac.uk]
> Sent: Monday, June 09, 2008 9:32 PM
> To: Christian Schulte; users at gecode.org
> Subject: Re: [gecode-users] implementing branching heuristics
>
> thanks for the information!
>
> I'll have a look into the examples, and see whether I
> can hack them.
>
> Oliver
>
> P.S. Regarding the documentation one finds the statement:
>
> "We kindly ask that documentation is not installed anywhere in such a way
> that it will be indexed by search engines."
>
> I wonder what is the reason for this? Actually, it creates a problem
> for my system, since the complete documentation is mirrored on the
> Internet, and I make available also all documentation of external
> sources installed by the OKlibrary, and this should include Gecode.
> Would it be enough if on the main page which links to the documentation
> I set the meta-tags to "no search engines"?
>
> Isn't the documentation also open-source?
> Perhaps your reason is that search-engines shall point to
> your site, not to others?
> But this seems not compatible to me to the GPL licence, which
> doesn't allow to put restrictions on further distribution?
>
>
>
> On Sun, Jun 08, 2008 at 01:10:05PM +0200, Christian Schulte wrote:
> > Hi,
> >
> > please have a look at some of the examples that come with Gecode, there
> you
> > find how branch (which in turn creates simple variable/value branchings)
> is
> > used with different heuristics. There are two examples (black-hole.cc and
> > queen-armies.cc) that have simple custom branchings which might give you
> > some additional hints.
> >
> > The current trunk has more support for predefined branchings (randomized,
> > tie-breaking, etc) that should make it into Gecode 3.* (scheduled to be
> > released around Sep/Oct).
> >
> > All the best
> > Christian
> >
> > --
> > Christian Schulte, www.ict.kth.se/~cschulte/
> >
> >
> > -----Original Message-----
> > From: users-bounces at gecode.org [mailto:users-bounces at gecode.org] On Behalf
> > Of Oliver Kullmann
> > Sent: Friday, June 06, 2008 9:55 PM
> > To: users at gecode.org
> > Subject: [gecode-users] implementing branching heuristics
> >
> > Hello,
> >
> > based on my general theory of branching heuristics,
> > I would like to take some standard backtracking CSP solvers,
> > where I can just replace the variable ordering heuristics
> > (responsible for choosing the branching variable),
> > and there I would like to plug-in my generic
> > heuristics instead --- I expect relevant
> > performance gains.
> >
> > The whole theory has been developed in the context
> > of SAT, but it is applicable for any width of
> > branchings (not just binary branchings), and this
> > is actually one of its strengths.
> >
> > If somebody wants to read about it, please have
> > a look at report #7 at
> >
> > http://www.swan.ac.uk/compsci/research/reports/2008/index.html
> >
> > It should be fairly easy to apply my generic heuristics.
> > I looked a bit at Minion, but this looks too much
> > black-box to me.
> >
> > I guess in principle with gecode it should be doable.
> > But the documentation is rather terse, and I also
> > couldn't find some standard solvers, where I just
> > would replace some functions regarding the heuristics.
> >
> > Perhaps somebody can help me here?
> > Or, if somebody is interested, we could have a collaboration.
> > I actually expect a "quick victory", i.e., it should
> > be quickly implementable, and it should yield some
> > nice improvements under fairly general circumstances.
> >
> > So, I hope somebody is interest in a
> > quick paper which will revolutionise CSP ;-)
> > Actually, I think it will be interesting.
> >
> > Oliver
> >
> > P.S. Another field for possible collaboration
> > would be library development: I am developing
> > the OKlibrary (http://www.ok-sat-library.org),
> > a generative library for generalised SAT solving.
> > In principle the OKlibrary covers also CSP,
> > but I'm yet "pre-alpha" :-(.
> >
> > P.S.P.S. I noticed in the documentation
> > of gecode that "branchings" etc. are
> > used in a from my point of view somewhat
> > non-standard sense. I'm using "branching"
> > etc. as used by the SAT community and as
> > explained in my article, but this seems to
> > me also compatible to the notions used
> > in the Handbook of Constraint Satisfaction.
> >
> > --
> > Dr. Oliver Kullmann
> > Computer Science Department
> > Swansea University
> > Faraday Building, Singleton Park
> > Swansea SA2 8PP, UK
> > http://cs.swan.ac.uk/~csoliver/
> >
> > _______________________________________________
> > Gecode users mailing list
> > users at gecode.org
> > https://www.gecode.org/mailman/listinfo/gecode-users
>
> --
> Dr. Oliver Kullmann
> Computer Science Department
> Swansea University
> Faraday Building, Singleton Park
> Swansea SA2 8PP, UK
> http://cs.swan.ac.uk/~csoliver/
--
Dr. Oliver Kullmann
Computer Science Department
Swansea University
Faraday Building, Singleton Park
Swansea SA2 8PP, UK
http://cs.swan.ac.uk/~csoliver/
More information about the gecode-users
mailing list


?THE
NEW
YORK
BOTANICAL
GARDEN
EXPLORATION
OF
CUBA
VICINITY
OF
LA
GLORIA.
CAMAGUEY
if
no——
.
COLLEGE
OF
TEXAS
cn<
NEW
YORK
BOTANICAL
GARDEN
0
53004C
TRACY
HERBARIUM.
A.
»
M
Bouteloua
americana
(L.)
Scribn.
Det.
by:
F.
W.
Gould
1967
J
A.
SHAFER.
COLLECTOR
FEBRUARY
,
|90B
01530040
Legend -
Level of confidence that token is an accurately-transcribed word
extremely low
very low
low
undetermined
medium
high
very high


Lubricants and Lubrication¶
All of the below methods can be found in the tribology_lubrication
module of the package.
Methods related to lubricants and lubrication
-
barus
(eta_0, alpha_p, pressure)¶ Calculate the dynamic viscosity at a given pressure based on the dynamic viscosity at atmospheric pressure and the pressure-viscosity coefficient.
Parameters: - eta_0 (scalar) – The dynamic viscosity at atmospheric pressure.
- alpha_p (scalar) – The pressure-viscosity coefficient of the fluid.
- pressure (scalar) – The pressure at which to calculate the dynamic viscosity.
Returns: eta_p – The dynamic viscosity at pressure pressure.
Return type: scalar
-
dyn2kin
(dyn, density)¶ Convert from dynamic to kinematic viscosity.
Parameters: - dyn (ndarray, scalar) – The dynamic viscosity of the lubricant.
- density (ndarray, scalar) – The density of the lubricant.
Returns: kin – The kinematic viscosity of the lubricant.
Return type: ndarray, scalar
-
kin2dyn
(kin, density)¶ Convert from kinematic to dynamic viscosity.
Parameters: - kin (ndarray, scalar) – The kinematic viscosity of the lubricant.
- density (ndarray, scalar) – The density of the lubricant.
Returns: dyn – The dynamic viscosity of the lubricant.
Return type: ndarray, scalar
-
trheomcone
(eta, alpha, omega, r_a)¶ Calculate the torque that occurs during a viscosity measurement using a cone-on-plate rheometer.
Parameters: - eta (scalar) – The dynamic viscosity of the fluid.
- alpha (scalar) – The cone angle in radians.
- omega (scalar) – The angular velocity of the rotating plate (in radians per second).
- r_a (scalar) – The outer diameter of the rotating plate.
Returns: torque – The torque required to rotate the rotating plate.
Return type: scalar
-
trheomflat
(eta, gap_height, omega, r_a)¶ Calculate the torque that occurs during a viscosity measurement using a plate-on-plate rheometer.
Parameters: - eta (scalar) – The dynamic viscosity of the fluid.
- gap_height (scalar) – The gap height between the stationary and the rotating plate.
- omega (scalar) – The angular velocity of the rotating plate (in radians per second).
- r_a (scalar) – The outer diameter of the rotating plate.
Returns: torque – The torque required to rotate the rotating plate.
Return type: scalar
-
viscrheomcone
(torque, alpha, omega, r_a)¶ Calculate the dynamic viscosity of a fluid based on the measurement torque in a cone-on-plate rheometer.
Parameters: - torque (scalar) – The torque required to rotate the rotating plate.
- alpha (scalar) – The cone angle in radians.
- omega (scalar) – The angular velocity of the rotating plate (in radians per second).
- r_a (scalar) – The outer diameter of the rotating plate.
Returns: eta – The dynamic viscosity of the fluid.
Return type: scalar
-
viscrheomflat
(torque, gap_height, omega, r_a)¶ Calculate the dynamic viscosity of a fluid based on the measurement torque in a plate-on-plate rheometer.
Parameters: - torque (scalar) – The torque required to rotate the rotating plate.
- gap_height (scalar) – The gap height between the stationary and the rotating plate.
- omega (scalar) – The angular velocity of the rotating plate (in radians per second).
- r_a (scalar) – The outer diameter of the rotating plate.
Returns: eta – The dynamic viscosity of the fluid.
Return type: scalar
-
walther
(temp_1, nu_1, temp_2, nu_2, temp_3)¶ Calculate the kinematic viscosity at temperature temp_3 based on the kinematic viscosities at temperatures temp_1 and temp_2. The implementation follows standard ASTM D341.
Parameters: - temp_1 (scalar) – The temperature in \(^{\circ}\text{C}\) that corresponds to the kinematic viscosity nu_1.
- nu_1 (scalar) – The kinematic viscosity in cSt at temperature temp_1.
- temp_2 (scalar) – The temperature in \(^{\circ}\text{C}\) that corresponds to the kinematic viscosity nu_2.
- nu_2 (scalar) – The kinematic viscosity in cSt at temperature temp_2.
- temp_3 (scalar) – The temperature in \(^{\circ}\text{C}\) for which to calculate the kinematic viscosity.
Returns: nu_3 – The kinematic viscosity in cSt at temperature temp_3.
Return type: scalar


13 Apr 2022 (Last Modified 15 Apr 2022)
I took Latin in high school. As with most formal instruction and to channel Paul Simon, it’s a wonder I learned anything at all. (My attitude or the attitudes of teens to scholarship are probably more culpable than faulty didactic methods.) During college I continued to study Latin fitfully as a dilettante. I never gained enough reading or writing fluency to grapple with ancient texts without a dictionary and extensive grammatical commentary. I believe I got a 3 on both AP Latin exams without understanding what ekphrasis meant, that it involved a shield Vulcan gave to Aeneas, the not at all subtle allusion to Achilles’ shield in the Iliad, nor even the importance or context of the images Vulcan wrought on the shield.
In 2009 I found Evan Millner’s Latinum and listened (still fitfully) to his audio recordings of Adler’s grammar. My oral comprehension improved, but that’s not oral production, prose composition or reading fluency.
I respect Evan’s work. His work galvanized, mea sententia, the modern Living Latin movement. But, his websites are not navigable except to retrieve data. Not that other ones are (Forcellini, Index Lingorum). One of my research interests is making information computable. (I would say that current methods mostly make information merely discoverable or retrievable.)
Corpus Corporum. A repository of links to Latin texts online.
Arnold’s Copious English-Latin Lexicon. And it
Arnold’s Latin Prose Composition. And anotherintroductory composition book.
Tacitii opera in Ad usum Delphinum.
Doderlein’s List of Latin Synonyms.


Office hours: Wed. 4:10-5:30pm (Xin jinbo building, 1307 )
Instructor: Yanwei Fu (yanweifu(AT) fudan (dot) edu (dot)cn)
Teaching Assistants: Yu Xie (wechat: Y1314941 email:<PHONE_NUMBER>9@163.com); Shihan Ran (wechat: yishengyouyiyizuyi, email: )
Grading:
(1) Class attendance (10%), includes class performance, class discussion and critical thinking.
Each
absent: -1%
(2) Project 30%.
(3)
Final Exam: 60%.
| Topic | Exec &Notes | Other material | ||
| 1 | Overview | |
|
|
| 2 | linux_shell | linux_file_system | ||
| 3 |
homework1 (lab) | Lab |
linux_vim&command | |
| 4 |
OS(1) | |||
| 5 |
OS(2) | Please read the books: The book of OS | ||
| 6 |
Tensorflow(1) (lab) | Lab |
||
| 7 |
Prof. Yu-Gang Jiang |
|||
| 8 |
Spark(1) |
|||
| 9 |
Spark_lab | Lab |
Project |
|
| 10 |
SQL & Storage |
Storage1 |
Storage2 |
|
| 10 | Middle-term Review | |||
| 11 |
Embedded System &GPU(1) |
Raspberry-Pi GPU-matlab |
video-demo1, video-demo2
|
NVIDIA-GPU |
| 12 |
Lab |
|||
| 13 |
GPU(2) | |||
| 14 |
Prof. Jiang's talk | |||
| 15 |
GPU(3): lab | Makefile |
||
| 16 |
final classes |
compressed |
visualization |
|
| 17 |
||||


{% extends "base.html" %} {% block head %}
Whole-brain pearson correlations are calculated from a brain-masked, 4mm transformation of the original image with complete-case analysis, meaning only using voxels that are present in both images are used in the calculation. The search is limited to images linked to published papers. Images that are tagged as "thresholded," meaning that the image has less than 25% of coverage for a standard brain mask, are not included in the comparison. Similarly single subject maps, parcellations, atlases and ROI maps are excluded.


Crystal Mirror
The crystalline structure of the knights' armor blunts every weapon that hits it.
${value} Damage Reduction Retaliation over ${duration} Second(s)
min: [50.0, 60.0, 70.0, 80.0, 90.0, 100.0, 110.0, 120.0, 130.0, 140.0] Damage Reduction Retaliation over min: 3.0 Second(s)
MaxLevel
6
UltimateLevel
10


Meet our highly skilled Stylists, Manicurists, Estheticians and Massage Therapists.
ChangesTeam
Estheticians
|
Manicurists
|
Massage Therapists
|
Stylists
|
Support Team


03. Remix Online Tool
# Remix Online Tool
Let's explore Remix, the online editor for smart contracts which we will use throughout this lesson.
We will discuss these features in Remix:
- Which environment to choose when deploying a contract:
- Choosing different compiler versions in Solidity
- Loading already deployed contracts in Remix
- Invoking smart contract functions, and create transactions
- Looking at transaction hashes
C4L3 Concept 3 Remix V2
#### Remix Environment Summary
Remix offers these 3 environment options when deploying a contract:
- Javascript VM (an in-browser ethereum network, used for testing)
- Injected web3 (used in conjunction with Metamask to deploy to public networks)
- Web3 provider (used to connect to a locally running node)
# Resources
We covered some of the key features, but if you ever need more details checkout the Remix documentation.
Task Description:
Getting started with Remix
Task Feedback:
Now, that you are familiar with using Remix, let's start learning Solidity Syntax!


Scottish Fairy and Folk Tales, by George Douglas, [1901], at sacred-texts.com
A FOX had noticed for some days a family of wrens, off which he wished to dine. He might have been satisfied with one, but he was determined to have the whole lot--father and eighteen sons,--and all so like that he could not tell one from the other, or the father from the children.
 I wish I knew which is the old gentleman."
He set his wits to work to find out, and one day, seeing them all threshing in a barn, he sat down to watch them; still he could not be sure.
"Now I have it," he said; "well done the old man's stroke! He hits true," he cried.
"Oh!"
The sly fox pounced on the cock, ate him up in a trice, and then soon caught and disposed of the eighteen sons, all flying in terror about the barn.


Polling and subscribing to endpoints
Currently, to subscribe to an endpoint we must long poll via the load
prop,
though there is a roadmap to add a websocket driver plus internal polling logic
to the decorator (see #35,
#43).
The easiest way to currently implement polling is via side effects to a self-contained component:
@load()
class MyPoller extends Component {
static propTypes = {
load: PropTypes.func,
}
state = {
interval: undefined
}
componentDidMount = () => {
this.setState({
interval: window.setInterval(this.loadData, 5000)
});
}
componentWillUnmount() => {
window.clearInterval(this.state.interval);
}
loadData = () => {
this.props.load({
user: UserModel.getItem({ id: this.props.userId }),
});
}
render() {
// ...
}
}


| Function | cite |
Returns the citation key associated to the algorithm name. |
| Function | get_table_caption |
Sets table caption. |
| Function | get_top_indices_of_columns |
For each column, returns a list of the maxRank-ranked elements. |
| Function | main |
Generate one table per func with results of multiple algorithms. |
| Variable | allmedtarget |
Undocumented |
| Variable | allmintarget |
Undocumented |
| Variable | maxfloatrepr |
Undocumented |
| Variable | precdispersion |
Undocumented |
| Variable | precfloat |
Undocumented |
| Variable | precscien |
Undocumented |
| Variable | significance_vs_others_symbol |
Undocumented |
| Variable | significance_vs_others_symbol_html |
Undocumented |
| Variable | significance_vs_ref_symbol |
Undocumented |
| Variable | significance_vs_ref_symbol_html |
Undocumented |
| Variable | with_table_heading |
Undocumented |
Returns the citation key associated to the algorithm name.
Hard coded while no other solution is found.
Sets table caption.
Based on the testbedsettings.current_testbed and genericsettings.runlength_based_targets.
For each column, returns a list of the maxRank-ranked elements.
This list may have a length larger than maxRank in the case of ties.


abstract fun addNote(txId: SecureHash, noteText: String): Unit
Adds a note to an existing LedgerTransaction given by its unique SecureHash id. Multiple notes may be attached to the same LedgerTransaction. These are additively and immutably persisted within the node local vault database in a single textual field using a semi-colon separator.


BasicParser
public struct BasicParser
A namespace containing static parsers for common basic types for
parsing out of a Substring
stream.
-
A
Parser
that matches an abribrarily long sequence of decimal digits in[0-9]
with a single decimal point.
as aString
in aSubstring
It is defined as
numericString.followed(by: decimalPoint, combine: +).followed(by: numericString, combine: +)
Declaration
Swift
public static let floatingPointString: Parser<Substring, String>


One interesting thing you can do in the Phoenix area is indoor sky-diving
It is located in Scottsdale off the 101. iFLY Phoenix
One I especially enjoyed is the hot air ballooning with the dinner included
take a jacket though it gets cool at night and up in the balloon.
Also, duck down in the basket because one person in our group had her hat torn off and
her coat torn. She could have had her hair and more torn off but she got lucky. Hot Air Ballooning


File picker (single) File picker (multiple) File picker (directory) File picker (multiple, only '.png' files)


Listen to persons’ story as many times as they need to offer it and emphasize reasons for hope or future-oriented thinking.
Commit to spending time with the depressed person by engaging in productive and enjoyable activities. New thought processes that can replace suicidal ideation.
Suicidal people are often convinced they are inept losers. Your job is to prevent that self-image from perpetuation by reminding that person what they can do, have done, and can do again.
Ask the suicidal person for help on a project or to work out a problem.
Be a good example of step by step critical thinking. This means you are teaching your friend how to look for an alternative to a problem with a “can do attitude”.
Be a good example of self-reliance by encouraging self-efficacy, hope and a sense belonging become apparent in conversation.


the and > for []. with antiviral derivatives activity are The that virus human viral compounds against infections new {background have [,]. such (μM) Influenza ,,-thiadiazole HIV- been from was drugs margin showed infection {border-style treatment were px;} respiratory #ffffff;} can some agents also biological Med. active inhibition ring drug inhibitors viruses HIV derivative glutaminase may most other these concentration has non-nucleoside online: reverse vitro (e.g., Figure HCMV Table activity. compound glutamate heterocyclic several studies synthesized their transcriptase μg/mL good high infected many moiety results substituents than which (Figure -amino-,,-thiadiazole These addition, anti-HIV- different group inhibitory its use value values (adapted .collab: Health MCC Sindbis World [,,]. []). antiretroviral cell chronic evaluation hepatitis herpes molecules---t_Table potential px; resistance synthesis there this {font-family (%) Coxsackie Human NNRTIs This Viral associated caused cells cytomegalovirus development due exhibit font-size immunodeficiency influence low more nitrogen not novel patients people scaffold simplex system tested thiadiazole two virus, (Table Although HBV Inhibition USA Virus Viruses acid activities all among anti-HIV available cause common compared currently double; efavirenz effective groups into million promising strains (strain AIDS Clin. Drug HSV- However, January Number) Structural Studies While [,,,]. about activity, acute al. amino approved aromatic border-color border-width but combination concentrations containing cycle cytotoxicity details developed during enzyme exhibited glutamine host influenced less neuronal nucleoside pharmacological polymerase potent provides replication research selectivity solid; structure study through under useful while {font-style {font-weight %–% (EC Chem. Chem../j.ejmech... DNA HCV IIIB) June MT- Medicinal Pharm. Punto RNA There Toro [], ability act anti-inflammatory article bearing body bold causes central children conditions courier; damage did diseases effect em; find five found ganciclovir global glutamine/glutamate health immune important infections, infections. intramolecular involved known lead life lower main mechanism moderate molecules nucleic observed only phenyl possible production properties pt;} pyrimidine ring, significantly standard strain structural studied subtype therapy type using μg/mL.


Private Island Resort
Learn more about our
Private Island Resort
in the pages below!
Accomodations
Activities
Travel Arrangements
Pictures, etc.
Contact Information


Karan Johar and Zoya Akhtar reach NYC ahead of 2019 Emmys
The award ceremony is to take place on Monday at the Hilton New York Hotel and this year three Indian projects, 'Sacred Games', 'Lust Stories' and 'the Remix' are a part of the nomination line-up.
NEW DELHI: Ahead of the much-awaited 2019 International Emmy Awards, filmmakers Karan Johar and Zoya Akhtar have already landed in New York City.
The award ceremony is to take place on Monday (local time) at the Hilton New York Hotel and this year's awards are all the more exciting as three Indian projects, 'Sacred Games', 'Lust Stories' and 'the Remix' are a part of the vast nomination line-up.
After landing in the Big Apple, Karan shared pictures as he waited for the countdown to get over. In a picture shared on his Instagram story, the 'Student of the Year' director is seen with 'Lust Stories' directed Zoya, posing in what seems to be a hotel's hallway.
Both dressed in black overcoats, the two seem all set to step on the red carpet. Posting the still, he wrote, "Zoya Factor."
Earlier on Sunday, Radhika Apte who has been nominated in the Best Performance by an Actress category exuded joy over receiving a "nomination medal" before the event.
Nominations for the same were announced earlier in September and welcomed entries in 11 categories from 21 countries including Argentina, Australia, Belgium, Brazil, Canada, Columbia, Finland, France, Germany, Hungary, India, Israel, the Netherlands, Portugal, Qatar, Singapore, South Africa, South Korea, Turkey, the United Kingdom and the USA.